@rpcbase/ui 0.238.0 → 0.240.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 (439) hide show
  1. package/dist/components/AddressAutocompleteInput/index.d.ts.map +1 -1
  2. package/dist/components/I18nField/index.d.ts +2 -1
  3. package/dist/components/I18nField/index.d.ts.map +1 -1
  4. package/dist/helpers/useMapsLibrary.d.ts.map +1 -1
  5. package/dist/index106.js +36 -36
  6. package/dist/index11.js +373 -335
  7. package/dist/index11.js.map +1 -1
  8. package/dist/index118.js +6 -6
  9. package/dist/index121.js +10 -10
  10. package/dist/index123.js +2 -2
  11. package/dist/index124.js +3 -3
  12. package/dist/index125.js +1 -1
  13. package/dist/index127.js +2 -2
  14. package/dist/index129.js +2 -2
  15. package/dist/index172.js +3 -3
  16. package/dist/index175.js +1 -1
  17. package/dist/index176.js +4 -4
  18. package/dist/index178.js +1 -1
  19. package/dist/index182.js +2 -2
  20. package/dist/index184.js +12 -12
  21. package/dist/index185.js +1 -1
  22. package/dist/index187.js +6 -6
  23. package/dist/index189.js +6 -6
  24. package/dist/index190.js +5 -5
  25. package/dist/index193.js +3 -3
  26. package/dist/index194.js +5 -5
  27. package/dist/index196.js +20 -59
  28. package/dist/index196.js.map +1 -1
  29. package/dist/index197.js +66 -8
  30. package/dist/index197.js.map +1 -1
  31. package/dist/index198.js +6 -87
  32. package/dist/index198.js.map +1 -1
  33. package/dist/index199.js +11 -19
  34. package/dist/index199.js.map +1 -1
  35. package/dist/index200.js +48 -14
  36. package/dist/index200.js.map +1 -1
  37. package/dist/index201.js +4 -6
  38. package/dist/index201.js.map +1 -1
  39. package/dist/index202.js +29 -5
  40. package/dist/index202.js.map +1 -1
  41. package/dist/index203.js +16 -6
  42. package/dist/index203.js.map +1 -1
  43. package/dist/index204.js +5 -4
  44. package/dist/index204.js.map +1 -1
  45. package/dist/index205.js +21 -6
  46. package/dist/index205.js.map +1 -1
  47. package/dist/index206.js +51 -16
  48. package/dist/index206.js.map +1 -1
  49. package/dist/index207.js +25 -4
  50. package/dist/index207.js.map +1 -1
  51. package/dist/index208.js +41 -4
  52. package/dist/index208.js.map +1 -1
  53. package/dist/index209.js +39 -12
  54. package/dist/index209.js.map +1 -1
  55. package/dist/index210.js +45 -10
  56. package/dist/index210.js.map +1 -1
  57. package/dist/index211.js +20 -13
  58. package/dist/index211.js.map +1 -1
  59. package/dist/index212.js +70 -13
  60. package/dist/index212.js.map +1 -1
  61. package/dist/index213.js +17 -4
  62. package/dist/index213.js.map +1 -1
  63. package/dist/index214.js +11 -5
  64. package/dist/index214.js.map +1 -1
  65. package/dist/index215.js +27 -6
  66. package/dist/index215.js.map +1 -1
  67. package/dist/index216.js +13 -5
  68. package/dist/index216.js.map +1 -1
  69. package/dist/index217.js +17 -53
  70. package/dist/index217.js.map +1 -1
  71. package/dist/index218.js +36 -8
  72. package/dist/index218.js.map +1 -1
  73. package/dist/index219.js +262 -4
  74. package/dist/index219.js.map +1 -1
  75. package/dist/index22.js.map +1 -1
  76. package/dist/index220.js +278 -4
  77. package/dist/index220.js.map +1 -1
  78. package/dist/index221.js +68 -8
  79. package/dist/index221.js.map +1 -1
  80. package/dist/index222.js +99 -4
  81. package/dist/index222.js.map +1 -1
  82. package/dist/index223.js +83 -4
  83. package/dist/index223.js.map +1 -1
  84. package/dist/index224.js +3 -3
  85. package/dist/index224.js.map +1 -1
  86. package/dist/index225.js +29 -10
  87. package/dist/index225.js.map +1 -1
  88. package/dist/index226.js +16 -9
  89. package/dist/index226.js.map +1 -1
  90. package/dist/index227.js +35 -10
  91. package/dist/index227.js.map +1 -1
  92. package/dist/index228.js +16 -10
  93. package/dist/index228.js.map +1 -1
  94. package/dist/index229.js +3 -10
  95. package/dist/index229.js.map +1 -1
  96. package/dist/index230.js +26 -9
  97. package/dist/index230.js.map +1 -1
  98. package/dist/index231.js +28 -6
  99. package/dist/index231.js.map +1 -1
  100. package/dist/index232.js +4 -6
  101. package/dist/index232.js.map +1 -1
  102. package/dist/index233.js +78 -4
  103. package/dist/index233.js.map +1 -1
  104. package/dist/index234.js +269 -5
  105. package/dist/index234.js.map +1 -1
  106. package/dist/index235.js +11 -6
  107. package/dist/index235.js.map +1 -1
  108. package/dist/index236.js +10 -5
  109. package/dist/index236.js.map +1 -1
  110. package/dist/index237.js +25 -29
  111. package/dist/index237.js.map +1 -1
  112. package/dist/index238.js +16 -12
  113. package/dist/index238.js.map +1 -1
  114. package/dist/index239.js +124 -24
  115. package/dist/index239.js.map +1 -1
  116. package/dist/index240.js +5 -5
  117. package/dist/index240.js.map +1 -1
  118. package/dist/index241.js +40 -16
  119. package/dist/index241.js.map +1 -1
  120. package/dist/index242.js +65 -7
  121. package/dist/index242.js.map +1 -1
  122. package/dist/index243.js +13 -10
  123. package/dist/index243.js.map +1 -1
  124. package/dist/index244.js +7 -10
  125. package/dist/index244.js.map +1 -1
  126. package/dist/index245.js +5 -21
  127. package/dist/index245.js.map +1 -1
  128. package/dist/index246.js +3 -10
  129. package/dist/index246.js.map +1 -1
  130. package/dist/index247.js +10 -9
  131. package/dist/index247.js.map +1 -1
  132. package/dist/index248.js +7 -9
  133. package/dist/index248.js.map +1 -1
  134. package/dist/index249.js +133 -4
  135. package/dist/index249.js.map +1 -1
  136. package/dist/index250.js +399 -5
  137. package/dist/index250.js.map +1 -1
  138. package/dist/index251.js +52 -16
  139. package/dist/index251.js.map +1 -1
  140. package/dist/index252.js +11 -9
  141. package/dist/index252.js.map +1 -1
  142. package/dist/index253.js +11 -18
  143. package/dist/index253.js.map +1 -1
  144. package/dist/index254.js +16 -15
  145. package/dist/index254.js.map +1 -1
  146. package/dist/index255.js +5 -12
  147. package/dist/index255.js.map +1 -1
  148. package/dist/index256.js +6 -20
  149. package/dist/index256.js.map +1 -1
  150. package/dist/index257.js +57 -65
  151. package/dist/index257.js.map +1 -1
  152. package/dist/index258.js +87 -6
  153. package/dist/index258.js.map +1 -1
  154. package/dist/index259.js +6 -11
  155. package/dist/index259.js.map +1 -1
  156. package/dist/index260.js +4 -50
  157. package/dist/index260.js.map +1 -1
  158. package/dist/index261.js +7 -4
  159. package/dist/index261.js.map +1 -1
  160. package/dist/index262.js +16 -29
  161. package/dist/index262.js.map +1 -1
  162. package/dist/index263.js +4 -16
  163. package/dist/index263.js.map +1 -1
  164. package/dist/index264.js +4 -5
  165. package/dist/index264.js.map +1 -1
  166. package/dist/index265.js +12 -21
  167. package/dist/index265.js.map +1 -1
  168. package/dist/index266.js +9 -51
  169. package/dist/index266.js.map +1 -1
  170. package/dist/index267.js +13 -25
  171. package/dist/index267.js.map +1 -1
  172. package/dist/index268.js +13 -41
  173. package/dist/index268.js.map +1 -1
  174. package/dist/index269.js +4 -39
  175. package/dist/index269.js.map +1 -1
  176. package/dist/index270.js +6 -45
  177. package/dist/index270.js.map +1 -1
  178. package/dist/index271.js +6 -20
  179. package/dist/index271.js.map +1 -1
  180. package/dist/index272.js +5 -70
  181. package/dist/index272.js.map +1 -1
  182. package/dist/index273.js +53 -16
  183. package/dist/index273.js.map +1 -1
  184. package/dist/index274.js +8 -11
  185. package/dist/index274.js.map +1 -1
  186. package/dist/index275.js +4 -27
  187. package/dist/index275.js.map +1 -1
  188. package/dist/index276.js +4 -13
  189. package/dist/index276.js.map +1 -1
  190. package/dist/index277.js +8 -18
  191. package/dist/index277.js.map +1 -1
  192. package/dist/index278.js +4 -36
  193. package/dist/index278.js.map +1 -1
  194. package/dist/index279.js +4 -262
  195. package/dist/index279.js.map +1 -1
  196. package/dist/index280.js +3 -278
  197. package/dist/index280.js.map +1 -1
  198. package/dist/index281.js +10 -68
  199. package/dist/index281.js.map +1 -1
  200. package/dist/index282.js +9 -99
  201. package/dist/index282.js.map +1 -1
  202. package/dist/index283.js +9 -83
  203. package/dist/index283.js.map +1 -1
  204. package/dist/index284.js +10 -3
  205. package/dist/index284.js.map +1 -1
  206. package/dist/index285.js +10 -29
  207. package/dist/index285.js.map +1 -1
  208. package/dist/index286.js +9 -16
  209. package/dist/index286.js.map +1 -1
  210. package/dist/index287.js +7 -35
  211. package/dist/index287.js.map +1 -1
  212. package/dist/index288.js +5 -16
  213. package/dist/index288.js.map +1 -1
  214. package/dist/index289.js +4 -3
  215. package/dist/index289.js.map +1 -1
  216. package/dist/index290.js +5 -26
  217. package/dist/index290.js.map +1 -1
  218. package/dist/index291.js +6 -28
  219. package/dist/index291.js.map +1 -1
  220. package/dist/index292.js +6 -4
  221. package/dist/index292.js.map +1 -1
  222. package/dist/index293.js +8 -78
  223. package/dist/index293.js.map +1 -1
  224. package/dist/index294.js +18 -268
  225. package/dist/index294.js.map +1 -1
  226. package/dist/index295.js +15 -10
  227. package/dist/index295.js.map +1 -1
  228. package/dist/index296.js +7 -10
  229. package/dist/index296.js.map +1 -1
  230. package/dist/index297.js +10 -25
  231. package/dist/index297.js.map +1 -1
  232. package/dist/index298.js +10 -16
  233. package/dist/index298.js.map +1 -1
  234. package/dist/index299.js +21 -125
  235. package/dist/index299.js.map +1 -1
  236. package/dist/index3.js.map +1 -1
  237. package/dist/index300.js +10 -5
  238. package/dist/index300.js.map +1 -1
  239. package/dist/index301.js +9 -40
  240. package/dist/index301.js.map +1 -1
  241. package/dist/index302.js +9 -65
  242. package/dist/index302.js.map +1 -1
  243. package/dist/index303.js +5 -14
  244. package/dist/index303.js.map +1 -1
  245. package/dist/index304.js +5 -7
  246. package/dist/index304.js.map +1 -1
  247. package/dist/index305.js +16 -5
  248. package/dist/index305.js.map +1 -1
  249. package/dist/index306.js +9 -3
  250. package/dist/index306.js.map +1 -1
  251. package/dist/index307.js +18 -10
  252. package/dist/index307.js.map +1 -1
  253. package/dist/index308.js +15 -7
  254. package/dist/index308.js.map +1 -1
  255. package/dist/index309.js +11 -132
  256. package/dist/index309.js.map +1 -1
  257. package/dist/index310.js +29 -399
  258. package/dist/index310.js.map +1 -1
  259. package/dist/index311.js +12 -52
  260. package/dist/index311.js.map +1 -1
  261. package/dist/index312.js +25 -11
  262. package/dist/index312.js.map +1 -1
  263. package/dist/index313.js +5 -11
  264. package/dist/index313.js.map +1 -1
  265. package/dist/index321.js +1 -1
  266. package/dist/index329.js +1 -1
  267. package/dist/index330.js +1 -1
  268. package/dist/index334.js +7 -8
  269. package/dist/index334.js.map +1 -1
  270. package/dist/index335.js +8 -7
  271. package/dist/index335.js.map +1 -1
  272. package/dist/index339.js +1 -1
  273. package/dist/index345.js +51 -17
  274. package/dist/index345.js.map +1 -1
  275. package/dist/index346.js +17 -51
  276. package/dist/index346.js.map +1 -1
  277. package/dist/index347.js +5 -122
  278. package/dist/index347.js.map +1 -1
  279. package/dist/index348.js +121 -31
  280. package/dist/index348.js.map +1 -1
  281. package/dist/index349.js +31 -72
  282. package/dist/index349.js.map +1 -1
  283. package/dist/index350.js +70 -139
  284. package/dist/index350.js.map +1 -1
  285. package/dist/index351.js +116 -35
  286. package/dist/index351.js.map +1 -1
  287. package/dist/index352.js +56 -44
  288. package/dist/index352.js.map +1 -1
  289. package/dist/index353.js +49 -14
  290. package/dist/index353.js.map +1 -1
  291. package/dist/index354.js +15 -6
  292. package/dist/index354.js.map +1 -1
  293. package/dist/index359.js +11 -4
  294. package/dist/index359.js.map +1 -1
  295. package/dist/index360.js +17 -18
  296. package/dist/index360.js.map +1 -1
  297. package/dist/index361.js +4 -13
  298. package/dist/index361.js.map +1 -1
  299. package/dist/index362.js +5 -11
  300. package/dist/index362.js.map +1 -1
  301. package/dist/index363.js +19 -15
  302. package/dist/index363.js.map +1 -1
  303. package/dist/index364.js +45 -6
  304. package/dist/index364.js.map +1 -1
  305. package/dist/index365.js +18 -4
  306. package/dist/index365.js.map +1 -1
  307. package/dist/index366.js +5 -21
  308. package/dist/index366.js.map +1 -1
  309. package/dist/index367.js +200 -44
  310. package/dist/index367.js.map +1 -1
  311. package/dist/index368.js +77 -17
  312. package/dist/index368.js.map +1 -1
  313. package/dist/index369.js +5 -5
  314. package/dist/index369.js.map +1 -1
  315. package/dist/index370.js +16 -199
  316. package/dist/index370.js.map +1 -1
  317. package/dist/index371.js +12 -77
  318. package/dist/index371.js.map +1 -1
  319. package/dist/index374.js +3 -3
  320. package/dist/index375.js +1 -1
  321. package/dist/index376.js +3 -3
  322. package/dist/index378.js +2 -2
  323. package/dist/index380.js +1 -1
  324. package/dist/index381.js +2 -2
  325. package/dist/index384.js +2 -2
  326. package/dist/index386.js +1 -1
  327. package/dist/index387.js +3 -5
  328. package/dist/index387.js.map +1 -1
  329. package/dist/index388.js +3 -5
  330. package/dist/index388.js.map +1 -1
  331. package/dist/index389.js +5 -4
  332. package/dist/index389.js.map +1 -1
  333. package/dist/index390.js +4 -15
  334. package/dist/index390.js.map +1 -1
  335. package/dist/index391.js +4 -9
  336. package/dist/index391.js.map +1 -1
  337. package/dist/index392.js +15 -5
  338. package/dist/index392.js.map +1 -1
  339. package/dist/index393.js +8 -4
  340. package/dist/index393.js.map +1 -1
  341. package/dist/index394.js +5 -545
  342. package/dist/index394.js.map +1 -1
  343. package/dist/index395.js +5 -47
  344. package/dist/index395.js.map +1 -1
  345. package/dist/index396.js +543 -15
  346. package/dist/index396.js.map +1 -1
  347. package/dist/index397.js +47 -6
  348. package/dist/index397.js.map +1 -1
  349. package/dist/index398.js +17 -7
  350. package/dist/index398.js.map +1 -1
  351. package/dist/index399.js +5 -6
  352. package/dist/index399.js.map +1 -1
  353. package/dist/index400.js +7 -7
  354. package/dist/index400.js.map +1 -1
  355. package/dist/index401.js +6 -11
  356. package/dist/index401.js.map +1 -1
  357. package/dist/index402.js +7 -8
  358. package/dist/index402.js.map +1 -1
  359. package/dist/index403.js +11 -12
  360. package/dist/index403.js.map +1 -1
  361. package/dist/index404.js +9 -3
  362. package/dist/index404.js.map +1 -1
  363. package/dist/index405.js +13 -3
  364. package/dist/index405.js.map +1 -1
  365. package/dist/index407.js +1 -1
  366. package/dist/index408.js +7 -4
  367. package/dist/index408.js.map +1 -1
  368. package/dist/index409.js +2 -56
  369. package/dist/index409.js.map +1 -1
  370. package/dist/index410.js +43 -67
  371. package/dist/index410.js.map +1 -1
  372. package/dist/index411.js +56 -31
  373. package/dist/index411.js.map +1 -1
  374. package/dist/index412.js +8 -9
  375. package/dist/index412.js.map +1 -1
  376. package/dist/index413.js +2 -153
  377. package/dist/index413.js.map +1 -1
  378. package/dist/index414.js +54 -107
  379. package/dist/index414.js.map +1 -1
  380. package/dist/index415.js +55 -7
  381. package/dist/index415.js.map +1 -1
  382. package/dist/index416.js +5 -2
  383. package/dist/index416.js.map +1 -1
  384. package/dist/index417.js +54 -42
  385. package/dist/index417.js.map +1 -1
  386. package/dist/index418.js +68 -56
  387. package/dist/index418.js.map +1 -1
  388. package/dist/index419.js +31 -8
  389. package/dist/index419.js.map +1 -1
  390. package/dist/index420.js +9 -2
  391. package/dist/index420.js.map +1 -1
  392. package/dist/index421.js +152 -54
  393. package/dist/index421.js.map +1 -1
  394. package/dist/index422.js +108 -56
  395. package/dist/index422.js.map +1 -1
  396. package/dist/index423.js +2 -16
  397. package/dist/index423.js.map +1 -1
  398. package/dist/index424.js +2 -29
  399. package/dist/index424.js.map +1 -1
  400. package/dist/index425.js +2 -13
  401. package/dist/index425.js.map +1 -1
  402. package/dist/index426.js +2 -7
  403. package/dist/index426.js.map +1 -1
  404. package/dist/index427.js +16 -2
  405. package/dist/index427.js.map +1 -1
  406. package/dist/index428.js +29 -2
  407. package/dist/index428.js.map +1 -1
  408. package/dist/index429.js +13 -2
  409. package/dist/index429.js.map +1 -1
  410. package/dist/index430.js +7 -2
  411. package/dist/index430.js.map +1 -1
  412. package/dist/index44.js +1 -1
  413. package/dist/index45.js +2 -2
  414. package/dist/index49.js +28 -28
  415. package/dist/index50.js +21 -21
  416. package/dist/index51.js +1 -1
  417. package/dist/index52.js +8 -8
  418. package/dist/index53.js +2 -2
  419. package/dist/index55.js +17 -17
  420. package/dist/index56.js +4 -4
  421. package/dist/index57.js +3 -3
  422. package/dist/index58.js +7 -7
  423. package/dist/index59.js +4 -4
  424. package/dist/index60.js +12 -12
  425. package/dist/index61.js +2 -2
  426. package/dist/index62.js +2 -2
  427. package/dist/index70.js +1 -1
  428. package/dist/index71.js +1 -1
  429. package/dist/index74.js +6 -2
  430. package/dist/index74.js.map +1 -1
  431. package/dist/index75.js +8 -2
  432. package/dist/index75.js.map +1 -1
  433. package/dist/index76.js +5 -5
  434. package/dist/index76.js.map +1 -1
  435. package/dist/index77.js +2 -8
  436. package/dist/index77.js.map +1 -1
  437. package/dist/index78.js +2 -6
  438. package/dist/index78.js.map +1 -1
  439. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index350.js","sources":["../../../node_modules/@base-ui/utils/esm/store/ReactStore.js"],"sourcesContent":["/* False positives - ESLint thinks we're calling a hook from a class component. */\n/* eslint-disable react-hooks/rules-of-hooks */\n'use client';\n\nimport * as React from 'react';\nimport { Store } from \"./Store.js\";\nimport { useStore } from \"./useStore.js\";\nimport { useStableCallback } from \"../useStableCallback.js\";\nimport { useIsoLayoutEffect } from \"../useIsoLayoutEffect.js\";\nimport { NOOP } from \"../empty.js\";\n\n/**\n * A Store that supports controlled state keys, non-reactive values and provides utility methods for React.\n */\nexport class ReactStore extends Store {\n /**\n * Creates a new ReactStore instance.\n *\n * @param state Initial state of the store.\n * @param context Non-reactive context values.\n * @param selectors Optional selectors for use with `useState`.\n */\n constructor(state, context = {}, selectors) {\n super(state);\n this.context = context;\n this.selectors = selectors;\n }\n\n /**\n * Non-reactive values such as refs, callbacks, etc.\n */\n\n /**\n * Synchronizes a single external value into the store.\n *\n * Note that the while the value in `state` is updated immediately, the value returned\n * by `useState` is updated before the next render (similarly to React's `useState`).\n */\n useSyncedValue(key, value) {\n React.useDebugValue(key);\n useIsoLayoutEffect(() => {\n if (this.state[key] !== value) {\n this.set(key, value);\n }\n }, [key, value]);\n }\n\n /**\n * Synchronizes a single external value into the store and\n * cleans it up (sets to `undefined`) on unmount.\n *\n * Note that the while the value in `state` is updated immediately, the value returned\n * by `useState` is updated before the next render (similarly to React's `useState`).\n */\n useSyncedValueWithCleanup(key, value) {\n // eslint-disable-next-line consistent-this\n const store = this;\n useIsoLayoutEffect(() => {\n if (store.state[key] !== value) {\n store.set(key, value);\n }\n return () => {\n store.set(key, undefined);\n };\n }, [store, key, value]);\n }\n\n /**\n * Synchronizes multiple external values into the store.\n *\n * Note that the while the values in `state` are updated immediately, the values returned\n * by `useState` are updated before the next render (similarly to React's `useState`).\n */\n useSyncedValues(statePart) {\n // eslint-disable-next-line consistent-this\n const store = this;\n if (process.env.NODE_ENV !== 'production') {\n // Check that an object with the same shape is passed on every render\n React.useDebugValue(statePart, p => Object.keys(p));\n const keys = React.useRef(Object.keys(statePart)).current;\n const nextKeys = Object.keys(statePart);\n if (keys.length !== nextKeys.length || keys.some((key, index) => key !== nextKeys[index])) {\n console.error('ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.');\n }\n }\n const dependencies = Object.values(statePart);\n useIsoLayoutEffect(() => {\n store.update(statePart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store, ...dependencies]);\n }\n\n /**\n * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`\n * is non-undefined, the store's state at `key` is updated to match `controlled`.\n */\n useControlledProp(key, controlled) {\n React.useDebugValue(key);\n const isControlled = controlled !== undefined;\n useIsoLayoutEffect(() => {\n if (isControlled && !Object.is(this.state[key], controlled)) {\n // Set the internal state to match the controlled value.\n super.setState({\n ...this.state,\n [key]: controlled\n });\n }\n }, [key, controlled, isControlled]);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n const cache = this.controlledValues ??= new Map();\n if (!cache.has(key)) {\n cache.set(key, isControlled);\n }\n const previouslyControlled = cache.get(key);\n if (previouslyControlled !== undefined && previouslyControlled !== isControlled) {\n console.error(`A component is changing the ${isControlled ? '' : 'un'}controlled state of ${key.toString()} to be ${isControlled ? 'un' : ''}controlled. Elements should not switch from uncontrolled to controlled (or vice versa).`);\n }\n }\n }\n\n /** Gets the current value from the store using a selector with the provided key.\n *\n * @param key Key of the selector to use.\n */\n\n select(key, a1, a2, a3) {\n const selector = this.selectors[key];\n return selector(this.state, a1, a2, a3);\n }\n\n /**\n * Returns a value from the store's state using a selector function.\n * Used to subscribe to specific parts of the state.\n * This methods causes a rerender whenever the selected state changes.\n *\n * @param key Key of the selector to use.\n */\n\n useState(key, a1, a2, a3) {\n React.useDebugValue(key);\n return useStore(this, this.selectors[key], a1, a2, a3);\n }\n\n /**\n * Wraps a function with `useStableCallback` to ensure it has a stable reference\n * and assigns it to the context.\n *\n * @param key Key of the event callback. Must be a function in the context.\n * @param fn Function to assign.\n */\n useContextCallback(key, fn) {\n React.useDebugValue(key);\n const stableFunction = useStableCallback(fn ?? NOOP);\n this.context[key] = stableFunction;\n }\n\n /**\n * Returns a stable setter function for a specific key in the store's state.\n * It's commonly used to pass as a ref callback to React elements.\n *\n * @param key Key of the state to set.\n */\n useStateSetter(key) {\n const ref = React.useRef(undefined);\n if (ref.current === undefined) {\n ref.current = value => {\n this.set(key, value);\n };\n }\n return ref.current;\n }\n\n /**\n * Observes changes derived from the store's selectors and calls the listener when the selected value changes.\n *\n * @param key Key of the selector to observe.\n * @param listener Listener function called when the selector result changes.\n */\n\n observe(selector, listener) {\n let selectFn;\n if (typeof selector === 'function') {\n selectFn = selector;\n } else {\n selectFn = this.selectors[selector];\n }\n let prevValue = selectFn(this.state);\n listener(prevValue, prevValue, this);\n return this.subscribe(nextState => {\n const nextValue = selectFn(nextState);\n if (!Object.is(prevValue, nextValue)) {\n const oldValue = prevValue;\n prevValue = nextValue;\n listener(nextValue, oldValue, this);\n }\n });\n }\n}"],"names":["ReactStore","Store","state","context","selectors","key","value","React","useIsoLayoutEffect","store","statePart","p","keys","nextKeys","index","dependencies","controlled","isControlled","cache","previouslyControlled","a1","a2","a3","selector","useStore","fn","stableFunction","useStableCallback","NOOP","ref","listener","selectFn","prevValue","nextState","nextValue","oldValue"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index350.js","sources":["../../../node_modules/@base-ui/react/esm/floating-ui-react/hooks/useRole.js"],"sourcesContent":["import * as React from 'react';\nimport { useId } from '@base-ui/utils/useId';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { getFloatingFocusElement } from \"../utils/element.js\";\nimport { useFloatingParentNodeId } from \"../components/FloatingTree.js\";\nconst componentRoleToAriaRoleMap = new Map([['select', 'listbox'], ['combobox', 'listbox'], ['label', false]]);\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nexport function useRole(context, props = {}) {\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const defaultFloatingId = store.useState('floatingId');\n const domReference = store.useState('domReferenceElement');\n const floatingElement = store.useState('floatingElement');\n const {\n role = 'dialog'\n } = props;\n const defaultReferenceId = useId();\n const referenceId = domReference?.id || defaultReferenceId;\n const floatingId = React.useMemo(() => getFloatingFocusElement(floatingElement)?.id || defaultFloatingId, [floatingElement, defaultFloatingId]);\n const ariaRole = componentRoleToAriaRoleMap.get(role) ?? role;\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n const trigger = React.useMemo(() => {\n if (ariaRole === 'tooltip' || role === 'label') {\n return EMPTY_OBJECT;\n }\n return {\n 'aria-haspopup': ariaRole === 'alertdialog' ? 'dialog' : ariaRole,\n 'aria-expanded': 'false',\n ...(ariaRole === 'listbox' && {\n role: 'combobox'\n }),\n ...(ariaRole === 'menu' && isNested && {\n role: 'menuitem'\n }),\n ...(role === 'select' && {\n 'aria-autocomplete': 'none'\n }),\n ...(role === 'combobox' && {\n 'aria-autocomplete': 'list'\n })\n };\n }, [ariaRole, isNested, role]);\n const reference = React.useMemo(() => {\n if (ariaRole === 'tooltip' || role === 'label') {\n return {\n [`aria-${role === 'label' ? 'labelledby' : 'describedby'}`]: open ? floatingId : undefined\n };\n }\n const triggerProps = trigger;\n return {\n ...triggerProps,\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-controls': open ? floatingId : undefined,\n ...(ariaRole === 'menu' && {\n id: referenceId\n })\n };\n }, [ariaRole, floatingId, open, referenceId, role, trigger]);\n const floating = React.useMemo(() => {\n const floatingProps = {\n id: floatingId,\n ...(ariaRole && {\n role: ariaRole\n })\n };\n if (ariaRole === 'tooltip' || role === 'label') {\n return floatingProps;\n }\n return {\n ...floatingProps,\n ...(ariaRole === 'menu' && {\n 'aria-labelledby': referenceId\n })\n };\n }, [ariaRole, floatingId, referenceId, role]);\n const item = React.useCallback(({\n active,\n selected\n }) => {\n const commonProps = {\n role: 'option',\n ...(active && {\n id: `${floatingId}-fui-option`\n })\n };\n\n // For `menu`, we are unable to tell if the item is a `menuitemradio`\n // or `menuitemcheckbox`. For backwards-compatibility reasons, also\n // avoid defaulting to `menuitem` as it may overwrite custom role props.\n switch (role) {\n case 'select':\n case 'combobox':\n return {\n ...commonProps,\n 'aria-selected': selected\n };\n default:\n }\n return {};\n }, [floatingId, role]);\n return React.useMemo(() => ({\n reference,\n floating,\n item,\n trigger\n }), [reference, floating, trigger, item]);\n}"],"names":["componentRoleToAriaRoleMap","useRole","context","props","store","open","defaultFloatingId","domReference","floatingElement","role","defaultReferenceId","useId","referenceId","floatingId","React","getFloatingFocusElement","ariaRole","isNested","useFloatingParentNodeId","trigger","EMPTY_OBJECT","reference","floating","floatingProps","item","active","selected","commonProps"],"mappings":";;;;;AAKA,MAAMA,IAA6B,oBAAI,IAAI,CAAC,CAAC,UAAU,SAAS,GAAG,CAAC,YAAY,SAAS,GAAG,CAAC,SAAS,EAAK,CAAC,CAAC;AAOtG,SAASC,EAAQC,GAASC,IAAQ,IAAI;AAC3C,QAAMC,IAAQ,eAAeF,IAAUA,EAAQ,YAAYA,GACrDG,IAAOD,EAAM,SAAS,MAAM,GAC5BE,IAAoBF,EAAM,SAAS,YAAY,GAC/CG,IAAeH,EAAM,SAAS,qBAAqB,GACnDI,IAAkBJ,EAAM,SAAS,iBAAiB,GAClD;AAAA,IACJ,MAAAK,IAAO;AAAA,EACX,IAAMN,GACEO,IAAqBC,EAAK,GAC1BC,IAAcL,GAAc,MAAMG,GAClCG,IAAaC,EAAM,QAAQ,MAAMC,EAAwBP,CAAe,GAAG,MAAMF,GAAmB,CAACE,GAAiBF,CAAiB,CAAC,GACxIU,IAAWhB,EAA2B,IAAIS,CAAI,KAAKA,GAEnDQ,IADWC,EAAuB,KACX,MACvBC,IAAUL,EAAM,QAAQ,MACxBE,MAAa,aAAaP,MAAS,UAC9BW,IAEF;AAAA,IACL,iBAAiBJ,MAAa,gBAAgB,WAAWA;AAAA,IACzD,iBAAiB;AAAA,IACjB,GAAIA,MAAa,aAAa;AAAA,MAC5B,MAAM;AAAA,IACd;AAAA,IACM,GAAIA,MAAa,UAAUC,KAAY;AAAA,MACrC,MAAM;AAAA,IACd;AAAA,IACM,GAAIR,MAAS,YAAY;AAAA,MACvB,qBAAqB;AAAA,IAC7B;AAAA,IACM,GAAIA,MAAS,cAAc;AAAA,MACzB,qBAAqB;AAAA,IAC7B;AAAA,EACA,GACK,CAACO,GAAUC,GAAUR,CAAI,CAAC,GACvBY,IAAYP,EAAM,QAAQ,MAC1BE,MAAa,aAAaP,MAAS,UAC9B;AAAA,IACL,CAAC,QAAQA,MAAS,UAAU,eAAe,aAAa,EAAE,GAAGJ,IAAOQ,IAAa;AAAA,EACzF,IAGW;AAAA,IACL,GAFmBM;AAAA,IAGnB,iBAAiBd,IAAO,SAAS;AAAA,IACjC,iBAAiBA,IAAOQ,IAAa;AAAA,IACrC,GAAIG,MAAa,UAAU;AAAA,MACzB,IAAIJ;AAAA,IACZ;AAAA,EACA,GACK,CAACI,GAAUH,GAAYR,GAAMO,GAAaH,GAAMU,CAAO,CAAC,GACrDG,IAAWR,EAAM,QAAQ,MAAM;AACnC,UAAMS,IAAgB;AAAA,MACpB,IAAIV;AAAA,MACJ,GAAIG,KAAY;AAAA,QACd,MAAMA;AAAA,MACd;AAAA,IACA;AACI,WAAIA,MAAa,aAAaP,MAAS,UAC9Bc,IAEF;AAAA,MACL,GAAGA;AAAA,MACH,GAAIP,MAAa,UAAU;AAAA,QACzB,mBAAmBJ;AAAA,MAC3B;AAAA,IACA;AAAA,EACE,GAAG,CAACI,GAAUH,GAAYD,GAAaH,CAAI,CAAC,GACtCe,IAAOV,EAAM,YAAY,CAAC;AAAA,IAC9B,QAAAW;AAAA,IACA,UAAAC;AAAA,EACJ,MAAQ;AACJ,UAAMC,IAAc;AAAA,MAClB,MAAM;AAAA,MACN,GAAIF,KAAU;AAAA,QACZ,IAAI,GAAGZ,CAAU;AAAA,MACzB;AAAA,IACA;AAKI,YAAQJ,GAAI;AAAA,MACV,KAAK;AAAA,MACL,KAAK;AACH,eAAO;AAAA,UACL,GAAGkB;AAAA,UACH,iBAAiBD;AAAA,QAC3B;AAAA,IAEA;AACI,WAAO,CAAA;AAAA,EACT,GAAG,CAACb,GAAYJ,CAAI,CAAC;AACrB,SAAOK,EAAM,QAAQ,OAAO;AAAA,IAC1B,WAAAO;AAAA,IACA,UAAAC;AAAA,IACA,MAAAE;AAAA,IACA,SAAAL;AAAA,EACJ,IAAM,CAACE,GAAWC,GAAUH,GAASK,CAAI,CAAC;AAC1C;","x_google_ignoreList":[0]}
package/dist/index351.js CHANGED
@@ -1,65 +1,146 @@
1
- class n {
2
- constructor() {
3
- this.elementsSet = /* @__PURE__ */ new Set(), this.idMap = /* @__PURE__ */ new Map();
1
+ import * as u from "react";
2
+ import { Store as l } from "./index223.js";
3
+ import { useStore as a } from "./index217.js";
4
+ import { useStableCallback as f } from "./index202.js";
5
+ import { useIsoLayoutEffect as c } from "./index201.js";
6
+ import { NOOP as h } from "./index204.js";
7
+ class g extends l {
8
+ /**
9
+ * Creates a new ReactStore instance.
10
+ *
11
+ * @param state Initial state of the store.
12
+ * @param context Non-reactive context values.
13
+ * @param selectors Optional selectors for use with `useState`.
14
+ */
15
+ constructor(e, t = {}, s) {
16
+ super(e), this.context = t, this.selectors = s;
4
17
  }
5
18
  /**
6
- * Adds a trigger element with the given ID.
19
+ * Non-reactive values such as refs, callbacks, etc.
20
+ */
21
+ /**
22
+ * Synchronizes a single external value into the store.
7
23
  *
8
- * Note: The provided element is assumed to not be registered under multiple IDs.
24
+ * Note that the while the value in `state` is updated immediately, the value returned
25
+ * by `useState` is updated before the next render (similarly to React's `useState`).
9
26
  */
10
- add(e, t) {
11
- const s = this.idMap.get(e);
12
- if (s !== t && (s !== void 0 && this.elementsSet.delete(s), this.elementsSet.add(t), this.idMap.set(e, t), process.env.NODE_ENV !== "production" && this.elementsSet.size !== this.idMap.size))
13
- throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.");
27
+ useSyncedValue(e, t) {
28
+ u.useDebugValue(e), c(() => {
29
+ this.state[e] !== t && this.set(e, t);
30
+ }, [e, t]);
14
31
  }
15
32
  /**
16
- * Removes the trigger element with the given ID.
33
+ * Synchronizes a single external value into the store and
34
+ * cleans it up (sets to `undefined`) on unmount.
35
+ *
36
+ * Note that the while the value in `state` is updated immediately, the value returned
37
+ * by `useState` is updated before the next render (similarly to React's `useState`).
17
38
  */
18
- delete(e) {
19
- const t = this.idMap.get(e);
20
- t && (this.elementsSet.delete(t), this.idMap.delete(e));
39
+ useSyncedValueWithCleanup(e, t) {
40
+ const s = this;
41
+ c(() => (s.state[e] !== t && s.set(e, t), () => {
42
+ s.set(e, void 0);
43
+ }), [s, e, t]);
21
44
  }
22
45
  /**
23
- * Whether the given element is registered as a trigger.
46
+ * Synchronizes multiple external values into the store.
47
+ *
48
+ * Note that the while the values in `state` are updated immediately, the values returned
49
+ * by `useState` are updated before the next render (similarly to React's `useState`).
24
50
  */
25
- hasElement(e) {
26
- return this.elementsSet.has(e);
51
+ useSyncedValues(e) {
52
+ const t = this;
53
+ if (process.env.NODE_ENV !== "production") {
54
+ u.useDebugValue(e, (r) => Object.keys(r));
55
+ const o = u.useRef(Object.keys(e)).current, n = Object.keys(e);
56
+ (o.length !== n.length || o.some((r, i) => r !== n[i])) && console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.");
57
+ }
58
+ const s = Object.values(e);
59
+ c(() => {
60
+ t.update(e);
61
+ }, [t, ...s]);
27
62
  }
28
63
  /**
29
- * Whether there is a registered trigger element matching the given predicate.
64
+ * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`
65
+ * is non-undefined, the store's state at `key` is updated to match `controlled`.
30
66
  */
31
- hasMatchingElement(e) {
32
- for (const t of this.elementsSet)
33
- if (e(t))
34
- return !0;
35
- return !1;
67
+ useControlledProp(e, t) {
68
+ u.useDebugValue(e);
69
+ const s = t !== void 0;
70
+ if (c(() => {
71
+ s && !Object.is(this.state[e], t) && super.setState({
72
+ ...this.state,
73
+ [e]: t
74
+ });
75
+ }, [e, t, s]), process.env.NODE_ENV !== "production") {
76
+ const o = this.controlledValues ??= /* @__PURE__ */ new Map();
77
+ o.has(e) || o.set(e, s);
78
+ const n = o.get(e);
79
+ n !== void 0 && n !== s && console.error(`A component is changing the ${s ? "" : "un"}controlled state of ${e.toString()} to be ${s ? "un" : ""}controlled. Elements should not switch from uncontrolled to controlled (or vice versa).`);
80
+ }
81
+ }
82
+ /** Gets the current value from the store using a selector with the provided key.
83
+ *
84
+ * @param key Key of the selector to use.
85
+ */
86
+ select(e, t, s, o) {
87
+ const n = this.selectors[e];
88
+ return n(this.state, t, s, o);
36
89
  }
37
90
  /**
38
- * Returns the trigger element associated with the given ID, or undefined if no such element exists.
91
+ * Returns a value from the store's state using a selector function.
92
+ * Used to subscribe to specific parts of the state.
93
+ * This methods causes a rerender whenever the selected state changes.
94
+ *
95
+ * @param key Key of the selector to use.
39
96
  */
40
- getById(e) {
41
- return this.idMap.get(e);
97
+ useState(e, t, s, o) {
98
+ return u.useDebugValue(e), a(this, this.selectors[e], t, s, o);
42
99
  }
43
100
  /**
44
- * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].
101
+ * Wraps a function with `useStableCallback` to ensure it has a stable reference
102
+ * and assigns it to the context.
103
+ *
104
+ * @param key Key of the event callback. Must be a function in the context.
105
+ * @param fn Function to assign.
45
106
  */
46
- entries() {
47
- return this.idMap.entries();
107
+ useContextCallback(e, t) {
108
+ u.useDebugValue(e);
109
+ const s = f(t ?? h);
110
+ this.context[e] = s;
48
111
  }
49
112
  /**
50
- * Returns an iterable of all registered trigger elements.
113
+ * Returns a stable setter function for a specific key in the store's state.
114
+ * It's commonly used to pass as a ref callback to React elements.
115
+ *
116
+ * @param key Key of the state to set.
51
117
  */
52
- elements() {
53
- return this.elementsSet.values();
118
+ useStateSetter(e) {
119
+ const t = u.useRef(void 0);
120
+ return t.current === void 0 && (t.current = (s) => {
121
+ this.set(e, s);
122
+ }), t.current;
54
123
  }
55
124
  /**
56
- * Returns the number of registered trigger elements.
125
+ * Observes changes derived from the store's selectors and calls the listener when the selected value changes.
126
+ *
127
+ * @param key Key of the selector to observe.
128
+ * @param listener Listener function called when the selector result changes.
57
129
  */
58
- get size() {
59
- return this.idMap.size;
130
+ observe(e, t) {
131
+ let s;
132
+ typeof e == "function" ? s = e : s = this.selectors[e];
133
+ let o = s(this.state);
134
+ return t(o, o, this), this.subscribe((n) => {
135
+ const r = s(n);
136
+ if (!Object.is(o, r)) {
137
+ const i = o;
138
+ o = r, t(r, i, this);
139
+ }
140
+ });
60
141
  }
61
142
  }
62
143
  export {
63
- n as PopupTriggerMap
144
+ g as ReactStore
64
145
  };
65
146
  //# sourceMappingURL=index351.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index351.js","sources":["../../../node_modules/@base-ui/react/esm/utils/popups/popupTriggerMap.js"],"sourcesContent":["/**\n * Data structure to keep track of popup trigger elements by their IDs.\n * Uses both a set of Elements and a map of IDs to Elements for efficient lookups.\n */\nexport class PopupTriggerMap {\n constructor() {\n this.elementsSet = new Set();\n this.idMap = new Map();\n }\n\n /**\n * Adds a trigger element with the given ID.\n *\n * Note: The provided element is assumed to not be registered under multiple IDs.\n */\n add(id, element) {\n const existingElement = this.idMap.get(id);\n if (existingElement === element) {\n return;\n }\n if (existingElement !== undefined) {\n // We assume that the same element won't be registered under multiple ids.\n // This is safe considering how useTriggerRegistration is implemented.\n this.elementsSet.delete(existingElement);\n }\n this.elementsSet.add(element);\n this.idMap.set(id, element);\n if (process.env.NODE_ENV !== 'production') {\n if (this.elementsSet.size !== this.idMap.size) {\n throw new Error('Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.');\n }\n }\n }\n\n /**\n * Removes the trigger element with the given ID.\n */\n delete(id) {\n const element = this.idMap.get(id);\n if (element) {\n this.elementsSet.delete(element);\n this.idMap.delete(id);\n }\n }\n\n /**\n * Whether the given element is registered as a trigger.\n */\n hasElement(element) {\n return this.elementsSet.has(element);\n }\n\n /**\n * Whether there is a registered trigger element matching the given predicate.\n */\n hasMatchingElement(predicate) {\n for (const element of this.elementsSet) {\n if (predicate(element)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Returns the trigger element associated with the given ID, or undefined if no such element exists.\n */\n getById(id) {\n return this.idMap.get(id);\n }\n\n /**\n * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].\n */\n entries() {\n return this.idMap.entries();\n }\n\n /**\n * Returns an iterable of all registered trigger elements.\n */\n elements() {\n return this.elementsSet.values();\n }\n\n /**\n * Returns the number of registered trigger elements.\n */\n get size() {\n return this.idMap.size;\n }\n}"],"names":["PopupTriggerMap","id","element","existingElement","predicate"],"mappings":"AAIO,MAAMA,EAAgB;AAAA,EAC3B,cAAc;AACZ,SAAK,cAAc,oBAAI,IAAG,GAC1B,KAAK,QAAQ,oBAAI,IAAG;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAIC,GAAIC,GAAS;AACf,UAAMC,IAAkB,KAAK,MAAM,IAAIF,CAAE;AACzC,QAAIE,MAAoBD,MAGpBC,MAAoB,UAGtB,KAAK,YAAY,OAAOA,CAAe,GAEzC,KAAK,YAAY,IAAID,CAAO,GAC5B,KAAK,MAAM,IAAID,GAAIC,CAAO,GACtB,QAAQ,IAAI,aAAa,gBACvB,KAAK,YAAY,SAAS,KAAK,MAAM;AACvC,YAAM,IAAI,MAAM,wFAAwF;AAAA,EAG9G;AAAA;AAAA;AAAA;AAAA,EAKA,OAAOD,GAAI;AACT,UAAMC,IAAU,KAAK,MAAM,IAAID,CAAE;AACjC,IAAIC,MACF,KAAK,YAAY,OAAOA,CAAO,GAC/B,KAAK,MAAM,OAAOD,CAAE;AAAA,EAExB;AAAA;AAAA;AAAA;AAAA,EAKA,WAAWC,GAAS;AAClB,WAAO,KAAK,YAAY,IAAIA,CAAO;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmBE,GAAW;AAC5B,eAAWF,KAAW,KAAK;AACzB,UAAIE,EAAUF,CAAO;AACnB,eAAO;AAGX,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQD,GAAI;AACV,WAAO,KAAK,MAAM,IAAIA,CAAE;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,WAAO,KAAK,MAAM,QAAO;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACT,WAAO,KAAK,YAAY,OAAM;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACT,WAAO,KAAK,MAAM;AAAA,EACpB;AACF;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index351.js","sources":["../../../node_modules/@base-ui/utils/esm/store/ReactStore.js"],"sourcesContent":["/* False positives - ESLint thinks we're calling a hook from a class component. */\n/* eslint-disable react-hooks/rules-of-hooks */\n'use client';\n\nimport * as React from 'react';\nimport { Store } from \"./Store.js\";\nimport { useStore } from \"./useStore.js\";\nimport { useStableCallback } from \"../useStableCallback.js\";\nimport { useIsoLayoutEffect } from \"../useIsoLayoutEffect.js\";\nimport { NOOP } from \"../empty.js\";\n\n/**\n * A Store that supports controlled state keys, non-reactive values and provides utility methods for React.\n */\nexport class ReactStore extends Store {\n /**\n * Creates a new ReactStore instance.\n *\n * @param state Initial state of the store.\n * @param context Non-reactive context values.\n * @param selectors Optional selectors for use with `useState`.\n */\n constructor(state, context = {}, selectors) {\n super(state);\n this.context = context;\n this.selectors = selectors;\n }\n\n /**\n * Non-reactive values such as refs, callbacks, etc.\n */\n\n /**\n * Synchronizes a single external value into the store.\n *\n * Note that the while the value in `state` is updated immediately, the value returned\n * by `useState` is updated before the next render (similarly to React's `useState`).\n */\n useSyncedValue(key, value) {\n React.useDebugValue(key);\n useIsoLayoutEffect(() => {\n if (this.state[key] !== value) {\n this.set(key, value);\n }\n }, [key, value]);\n }\n\n /**\n * Synchronizes a single external value into the store and\n * cleans it up (sets to `undefined`) on unmount.\n *\n * Note that the while the value in `state` is updated immediately, the value returned\n * by `useState` is updated before the next render (similarly to React's `useState`).\n */\n useSyncedValueWithCleanup(key, value) {\n // eslint-disable-next-line consistent-this\n const store = this;\n useIsoLayoutEffect(() => {\n if (store.state[key] !== value) {\n store.set(key, value);\n }\n return () => {\n store.set(key, undefined);\n };\n }, [store, key, value]);\n }\n\n /**\n * Synchronizes multiple external values into the store.\n *\n * Note that the while the values in `state` are updated immediately, the values returned\n * by `useState` are updated before the next render (similarly to React's `useState`).\n */\n useSyncedValues(statePart) {\n // eslint-disable-next-line consistent-this\n const store = this;\n if (process.env.NODE_ENV !== 'production') {\n // Check that an object with the same shape is passed on every render\n React.useDebugValue(statePart, p => Object.keys(p));\n const keys = React.useRef(Object.keys(statePart)).current;\n const nextKeys = Object.keys(statePart);\n if (keys.length !== nextKeys.length || keys.some((key, index) => key !== nextKeys[index])) {\n console.error('ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.');\n }\n }\n const dependencies = Object.values(statePart);\n useIsoLayoutEffect(() => {\n store.update(statePart);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [store, ...dependencies]);\n }\n\n /**\n * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`\n * is non-undefined, the store's state at `key` is updated to match `controlled`.\n */\n useControlledProp(key, controlled) {\n React.useDebugValue(key);\n const isControlled = controlled !== undefined;\n useIsoLayoutEffect(() => {\n if (isControlled && !Object.is(this.state[key], controlled)) {\n // Set the internal state to match the controlled value.\n super.setState({\n ...this.state,\n [key]: controlled\n });\n }\n }, [key, controlled, isControlled]);\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n const cache = this.controlledValues ??= new Map();\n if (!cache.has(key)) {\n cache.set(key, isControlled);\n }\n const previouslyControlled = cache.get(key);\n if (previouslyControlled !== undefined && previouslyControlled !== isControlled) {\n console.error(`A component is changing the ${isControlled ? '' : 'un'}controlled state of ${key.toString()} to be ${isControlled ? 'un' : ''}controlled. Elements should not switch from uncontrolled to controlled (or vice versa).`);\n }\n }\n }\n\n /** Gets the current value from the store using a selector with the provided key.\n *\n * @param key Key of the selector to use.\n */\n\n select(key, a1, a2, a3) {\n const selector = this.selectors[key];\n return selector(this.state, a1, a2, a3);\n }\n\n /**\n * Returns a value from the store's state using a selector function.\n * Used to subscribe to specific parts of the state.\n * This methods causes a rerender whenever the selected state changes.\n *\n * @param key Key of the selector to use.\n */\n\n useState(key, a1, a2, a3) {\n React.useDebugValue(key);\n return useStore(this, this.selectors[key], a1, a2, a3);\n }\n\n /**\n * Wraps a function with `useStableCallback` to ensure it has a stable reference\n * and assigns it to the context.\n *\n * @param key Key of the event callback. Must be a function in the context.\n * @param fn Function to assign.\n */\n useContextCallback(key, fn) {\n React.useDebugValue(key);\n const stableFunction = useStableCallback(fn ?? NOOP);\n this.context[key] = stableFunction;\n }\n\n /**\n * Returns a stable setter function for a specific key in the store's state.\n * It's commonly used to pass as a ref callback to React elements.\n *\n * @param key Key of the state to set.\n */\n useStateSetter(key) {\n const ref = React.useRef(undefined);\n if (ref.current === undefined) {\n ref.current = value => {\n this.set(key, value);\n };\n }\n return ref.current;\n }\n\n /**\n * Observes changes derived from the store's selectors and calls the listener when the selected value changes.\n *\n * @param key Key of the selector to observe.\n * @param listener Listener function called when the selector result changes.\n */\n\n observe(selector, listener) {\n let selectFn;\n if (typeof selector === 'function') {\n selectFn = selector;\n } else {\n selectFn = this.selectors[selector];\n }\n let prevValue = selectFn(this.state);\n listener(prevValue, prevValue, this);\n return this.subscribe(nextState => {\n const nextValue = selectFn(nextState);\n if (!Object.is(prevValue, nextValue)) {\n const oldValue = prevValue;\n prevValue = nextValue;\n listener(nextValue, oldValue, this);\n }\n });\n }\n}"],"names":["ReactStore","Store","state","context","selectors","key","value","React","useIsoLayoutEffect","store","statePart","p","keys","nextKeys","index","dependencies","controlled","isControlled","cache","previouslyControlled","a1","a2","a3","selector","useStore","fn","stableFunction","useStableCallback","NOOP","ref","listener","selectFn","prevValue","nextState","nextValue","oldValue"],"mappings":";;;;;;AAcO,MAAMA,UAAmBC,EAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQpC,YAAYC,GAAOC,IAAU,CAAA,GAAIC,GAAW;AAC1C,UAAMF,CAAK,GACX,KAAK,UAAUC,GACf,KAAK,YAAYC;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,eAAeC,GAAKC,GAAO;AACzB,IAAAC,EAAM,cAAcF,CAAG,GACvBG,EAAmB,MAAM;AACvB,MAAI,KAAK,MAAMH,CAAG,MAAMC,KACtB,KAAK,IAAID,GAAKC,CAAK;AAAA,IAEvB,GAAG,CAACD,GAAKC,CAAK,CAAC;AAAA,EACjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,0BAA0BD,GAAKC,GAAO;AAEpC,UAAMG,IAAQ;AACd,IAAAD,EAAmB,OACbC,EAAM,MAAMJ,CAAG,MAAMC,KACvBG,EAAM,IAAIJ,GAAKC,CAAK,GAEf,MAAM;AACX,MAAAG,EAAM,IAAIJ,GAAK,MAAS;AAAA,IAC1B,IACC,CAACI,GAAOJ,GAAKC,CAAK,CAAC;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,gBAAgBI,GAAW;AAEzB,UAAMD,IAAQ;AACd,QAAI,QAAQ,IAAI,aAAa,cAAc;AAEzC,MAAAF,EAAM,cAAcG,GAAW,CAAAC,MAAK,OAAO,KAAKA,CAAC,CAAC;AAClD,YAAMC,IAAOL,EAAM,OAAO,OAAO,KAAKG,CAAS,CAAC,EAAE,SAC5CG,IAAW,OAAO,KAAKH,CAAS;AACtC,OAAIE,EAAK,WAAWC,EAAS,UAAUD,EAAK,KAAK,CAACP,GAAKS,MAAUT,MAAQQ,EAASC,CAAK,CAAC,MACtF,QAAQ,MAAM,+FAA+F;AAAA,IAEjH;AACA,UAAMC,IAAe,OAAO,OAAOL,CAAS;AAC5C,IAAAF,EAAmB,MAAM;AACvB,MAAAC,EAAM,OAAOC,CAAS;AAAA,IAExB,GAAG,CAACD,GAAO,GAAGM,CAAY,CAAC;AAAA,EAC7B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,kBAAkBV,GAAKW,GAAY;AACjC,IAAAT,EAAM,cAAcF,CAAG;AACvB,UAAMY,IAAeD,MAAe;AAUpC,QATAR,EAAmB,MAAM;AACvB,MAAIS,KAAgB,CAAC,OAAO,GAAG,KAAK,MAAMZ,CAAG,GAAGW,CAAU,KAExD,MAAM,SAAS;AAAA,QACb,GAAG,KAAK;AAAA,QACR,CAACX,CAAG,GAAGW;AAAA,MACjB,CAAS;AAAA,IAEL,GAAG,CAACX,GAAKW,GAAYC,CAAY,CAAC,GAC9B,QAAQ,IAAI,aAAa,cAAc;AAEzC,YAAMC,IAAQ,KAAK,qBAAqB,oBAAI,IAAG;AAC/C,MAAKA,EAAM,IAAIb,CAAG,KAChBa,EAAM,IAAIb,GAAKY,CAAY;AAE7B,YAAME,IAAuBD,EAAM,IAAIb,CAAG;AAC1C,MAAIc,MAAyB,UAAaA,MAAyBF,KACjE,QAAQ,MAAM,+BAA+BA,IAAe,KAAK,IAAI,uBAAuBZ,EAAI,SAAQ,CAAE,UAAUY,IAAe,OAAO,EAAE,yFAAyF;AAAA,IAEzO;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,OAAOZ,GAAKe,GAAIC,GAAIC,GAAI;AACtB,UAAMC,IAAW,KAAK,UAAUlB,CAAG;AACnC,WAAOkB,EAAS,KAAK,OAAOH,GAAIC,GAAIC,CAAE;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,SAASjB,GAAKe,GAAIC,GAAIC,GAAI;AACxB,WAAAf,EAAM,cAAcF,CAAG,GAChBmB,EAAS,MAAM,KAAK,UAAUnB,CAAG,GAAGe,GAAIC,GAAIC,CAAE;AAAA,EACvD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,mBAAmBjB,GAAKoB,GAAI;AAC1B,IAAAlB,EAAM,cAAcF,CAAG;AACvB,UAAMqB,IAAiBC,EAAkBF,KAAMG,CAAI;AACnD,SAAK,QAAQvB,CAAG,IAAIqB;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,eAAerB,GAAK;AAClB,UAAMwB,IAAMtB,EAAM,OAAO,MAAS;AAClC,WAAIsB,EAAI,YAAY,WAClBA,EAAI,UAAU,CAAAvB,MAAS;AACrB,WAAK,IAAID,GAAKC,CAAK;AAAA,IACrB,IAEKuB,EAAI;AAAA,EACb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,QAAQN,GAAUO,GAAU;AAC1B,QAAIC;AACJ,IAAI,OAAOR,KAAa,aACtBQ,IAAWR,IAEXQ,IAAW,KAAK,UAAUR,CAAQ;AAEpC,QAAIS,IAAYD,EAAS,KAAK,KAAK;AACnC,WAAAD,EAASE,GAAWA,GAAW,IAAI,GAC5B,KAAK,UAAU,CAAAC,MAAa;AACjC,YAAMC,IAAYH,EAASE,CAAS;AACpC,UAAI,CAAC,OAAO,GAAGD,GAAWE,CAAS,GAAG;AACpC,cAAMC,IAAWH;AACjB,QAAAA,IAAYE,GACZJ,EAASI,GAAWC,GAAU,IAAI;AAAA,MACpC;AAAA,IACF,CAAC;AAAA,EACH;AACF;","x_google_ignoreList":[0]}
package/dist/index352.js CHANGED
@@ -1,53 +1,65 @@
1
- import { EMPTY_OBJECT as r } from "./index264.js";
2
- import { getEmptyRootContext as i } from "./index386.js";
3
- import { createSelector as n } from "./index353.js";
4
- function u() {
5
- return {
6
- open: !1,
7
- openProp: void 0,
8
- mounted: !1,
9
- transitionStatus: void 0,
10
- floatingRootContext: i(),
11
- preventUnmountingOnClose: !1,
12
- payload: void 0,
13
- activeTriggerId: null,
14
- activeTriggerElement: null,
15
- triggerIdProp: void 0,
16
- popupElement: null,
17
- positionerElement: null,
18
- activeTriggerProps: r,
19
- inactiveTriggerProps: r,
20
- popupProps: r
21
- };
22
- }
23
- const t = n((e) => e.triggerIdProp ?? e.activeTriggerId), a = {
24
- open: n((e) => e.openProp ?? e.open),
25
- mounted: n((e) => e.mounted),
26
- transitionStatus: n((e) => e.transitionStatus),
27
- floatingRootContext: n((e) => e.floatingRootContext),
28
- preventUnmountingOnClose: n((e) => e.preventUnmountingOnClose),
29
- payload: n((e) => e.payload),
30
- activeTriggerId: t,
31
- activeTriggerElement: n((e) => e.mounted ? e.activeTriggerElement : null),
1
+ class n {
2
+ constructor() {
3
+ this.elementsSet = /* @__PURE__ */ new Set(), this.idMap = /* @__PURE__ */ new Map();
4
+ }
32
5
  /**
33
- * Whether the trigger with the given ID was used to open the popup.
6
+ * Adds a trigger element with the given ID.
7
+ *
8
+ * Note: The provided element is assumed to not be registered under multiple IDs.
34
9
  */
35
- isTriggerActive: n((e, o) => o !== void 0 && t(e) === o),
10
+ add(e, t) {
11
+ const s = this.idMap.get(e);
12
+ if (s !== t && (s !== void 0 && this.elementsSet.delete(s), this.elementsSet.add(t), this.idMap.set(e, t), process.env.NODE_ENV !== "production" && this.elementsSet.size !== this.idMap.size))
13
+ throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.");
14
+ }
36
15
  /**
37
- * Whether the popup is open and was activated by a trigger with the given ID.
16
+ * Removes the trigger element with the given ID.
38
17
  */
39
- isOpenedByTrigger: n((e, o) => o !== void 0 && t(e) === o && e.open),
18
+ delete(e) {
19
+ const t = this.idMap.get(e);
20
+ t && (this.elementsSet.delete(t), this.idMap.delete(e));
21
+ }
40
22
  /**
41
- * Whether the popup is mounted and was activated by a trigger with the given ID.
23
+ * Whether the given element is registered as a trigger.
42
24
  */
43
- isMountedByTrigger: n((e, o) => o !== void 0 && t(e) === o && e.mounted),
44
- triggerProps: n((e, o) => o ? e.activeTriggerProps : e.inactiveTriggerProps),
45
- popupProps: n((e) => e.popupProps),
46
- popupElement: n((e) => e.popupElement),
47
- positionerElement: n((e) => e.positionerElement)
48
- };
25
+ hasElement(e) {
26
+ return this.elementsSet.has(e);
27
+ }
28
+ /**
29
+ * Whether there is a registered trigger element matching the given predicate.
30
+ */
31
+ hasMatchingElement(e) {
32
+ for (const t of this.elementsSet)
33
+ if (e(t))
34
+ return !0;
35
+ return !1;
36
+ }
37
+ /**
38
+ * Returns the trigger element associated with the given ID, or undefined if no such element exists.
39
+ */
40
+ getById(e) {
41
+ return this.idMap.get(e);
42
+ }
43
+ /**
44
+ * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].
45
+ */
46
+ entries() {
47
+ return this.idMap.entries();
48
+ }
49
+ /**
50
+ * Returns an iterable of all registered trigger elements.
51
+ */
52
+ elements() {
53
+ return this.elementsSet.values();
54
+ }
55
+ /**
56
+ * Returns the number of registered trigger elements.
57
+ */
58
+ get size() {
59
+ return this.idMap.size;
60
+ }
61
+ }
49
62
  export {
50
- u as createInitialPopupStoreState,
51
- a as popupStoreSelectors
63
+ n as PopupTriggerMap
52
64
  };
53
65
  //# sourceMappingURL=index352.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index352.js","sources":["../../../node_modules/@base-ui/react/esm/utils/popups/store.js"],"sourcesContent":["import { createSelector } from '@base-ui/utils/store';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { getEmptyRootContext } from \"../../floating-ui-react/utils/getEmptyRootContext.js\";\n\n/**\n * State common to all popup stores.\n */\n\nexport function createInitialPopupStoreState() {\n return {\n open: false,\n openProp: undefined,\n mounted: false,\n transitionStatus: undefined,\n floatingRootContext: getEmptyRootContext(),\n preventUnmountingOnClose: false,\n payload: undefined,\n activeTriggerId: null,\n activeTriggerElement: null,\n triggerIdProp: undefined,\n popupElement: null,\n positionerElement: null,\n activeTriggerProps: EMPTY_OBJECT,\n inactiveTriggerProps: EMPTY_OBJECT,\n popupProps: EMPTY_OBJECT\n };\n}\nconst activeTriggerIdSelector = createSelector(state => state.triggerIdProp ?? state.activeTriggerId);\nexport const popupStoreSelectors = {\n open: createSelector(state => state.openProp ?? state.open),\n mounted: createSelector(state => state.mounted),\n transitionStatus: createSelector(state => state.transitionStatus),\n floatingRootContext: createSelector(state => state.floatingRootContext),\n preventUnmountingOnClose: createSelector(state => state.preventUnmountingOnClose),\n payload: createSelector(state => state.payload),\n activeTriggerId: activeTriggerIdSelector,\n activeTriggerElement: createSelector(state => state.mounted ? state.activeTriggerElement : null),\n /**\n * Whether the trigger with the given ID was used to open the popup.\n */\n isTriggerActive: createSelector((state, triggerId) => triggerId !== undefined && activeTriggerIdSelector(state) === triggerId),\n /**\n * Whether the popup is open and was activated by a trigger with the given ID.\n */\n isOpenedByTrigger: createSelector((state, triggerId) => triggerId !== undefined && activeTriggerIdSelector(state) === triggerId && state.open),\n /**\n * Whether the popup is mounted and was activated by a trigger with the given ID.\n */\n isMountedByTrigger: createSelector((state, triggerId) => triggerId !== undefined && activeTriggerIdSelector(state) === triggerId && state.mounted),\n triggerProps: createSelector((state, isActive) => isActive ? state.activeTriggerProps : state.inactiveTriggerProps),\n popupProps: createSelector(state => state.popupProps),\n popupElement: createSelector(state => state.popupElement),\n positionerElement: createSelector(state => state.positionerElement)\n};"],"names":["createInitialPopupStoreState","getEmptyRootContext","EMPTY_OBJECT","activeTriggerIdSelector","createSelector","state","popupStoreSelectors","triggerId","isActive"],"mappings":";;;AAQO,SAASA,IAA+B;AAC7C,SAAO;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,qBAAqBC,EAAmB;AAAA,IACxC,0BAA0B;AAAA,IAC1B,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,eAAe;AAAA,IACf,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,oBAAoBC;AAAA,IACpB,sBAAsBA;AAAA,IACtB,YAAYA;AAAA,EAChB;AACA;AACA,MAAMC,IAA0BC,EAAe,CAAAC,MAASA,EAAM,iBAAiBA,EAAM,eAAe,GACvFC,IAAsB;AAAA,EACjC,MAAMF,EAAe,CAAAC,MAASA,EAAM,YAAYA,EAAM,IAAI;AAAA,EAC1D,SAASD,EAAe,CAAAC,MAASA,EAAM,OAAO;AAAA,EAC9C,kBAAkBD,EAAe,CAAAC,MAASA,EAAM,gBAAgB;AAAA,EAChE,qBAAqBD,EAAe,CAAAC,MAASA,EAAM,mBAAmB;AAAA,EACtE,0BAA0BD,EAAe,CAAAC,MAASA,EAAM,wBAAwB;AAAA,EAChF,SAASD,EAAe,CAAAC,MAASA,EAAM,OAAO;AAAA,EAC9C,iBAAiBF;AAAA,EACjB,sBAAsBC,EAAe,CAAAC,MAASA,EAAM,UAAUA,EAAM,uBAAuB,IAAI;AAAA;AAAA;AAAA;AAAA,EAI/F,iBAAiBD,EAAe,CAACC,GAAOE,MAAcA,MAAc,UAAaJ,EAAwBE,CAAK,MAAME,CAAS;AAAA;AAAA;AAAA;AAAA,EAI7H,mBAAmBH,EAAe,CAACC,GAAOE,MAAcA,MAAc,UAAaJ,EAAwBE,CAAK,MAAME,KAAaF,EAAM,IAAI;AAAA;AAAA;AAAA;AAAA,EAI7I,oBAAoBD,EAAe,CAACC,GAAOE,MAAcA,MAAc,UAAaJ,EAAwBE,CAAK,MAAME,KAAaF,EAAM,OAAO;AAAA,EACjJ,cAAcD,EAAe,CAACC,GAAOG,MAAaA,IAAWH,EAAM,qBAAqBA,EAAM,oBAAoB;AAAA,EAClH,YAAYD,EAAe,CAAAC,MAASA,EAAM,UAAU;AAAA,EACpD,cAAcD,EAAe,CAAAC,MAASA,EAAM,YAAY;AAAA,EACxD,mBAAmBD,EAAe,CAAAC,MAASA,EAAM,iBAAiB;AACpE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index352.js","sources":["../../../node_modules/@base-ui/react/esm/utils/popups/popupTriggerMap.js"],"sourcesContent":["/**\n * Data structure to keep track of popup trigger elements by their IDs.\n * Uses both a set of Elements and a map of IDs to Elements for efficient lookups.\n */\nexport class PopupTriggerMap {\n constructor() {\n this.elementsSet = new Set();\n this.idMap = new Map();\n }\n\n /**\n * Adds a trigger element with the given ID.\n *\n * Note: The provided element is assumed to not be registered under multiple IDs.\n */\n add(id, element) {\n const existingElement = this.idMap.get(id);\n if (existingElement === element) {\n return;\n }\n if (existingElement !== undefined) {\n // We assume that the same element won't be registered under multiple ids.\n // This is safe considering how useTriggerRegistration is implemented.\n this.elementsSet.delete(existingElement);\n }\n this.elementsSet.add(element);\n this.idMap.set(id, element);\n if (process.env.NODE_ENV !== 'production') {\n if (this.elementsSet.size !== this.idMap.size) {\n throw new Error('Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.');\n }\n }\n }\n\n /**\n * Removes the trigger element with the given ID.\n */\n delete(id) {\n const element = this.idMap.get(id);\n if (element) {\n this.elementsSet.delete(element);\n this.idMap.delete(id);\n }\n }\n\n /**\n * Whether the given element is registered as a trigger.\n */\n hasElement(element) {\n return this.elementsSet.has(element);\n }\n\n /**\n * Whether there is a registered trigger element matching the given predicate.\n */\n hasMatchingElement(predicate) {\n for (const element of this.elementsSet) {\n if (predicate(element)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Returns the trigger element associated with the given ID, or undefined if no such element exists.\n */\n getById(id) {\n return this.idMap.get(id);\n }\n\n /**\n * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].\n */\n entries() {\n return this.idMap.entries();\n }\n\n /**\n * Returns an iterable of all registered trigger elements.\n */\n elements() {\n return this.elementsSet.values();\n }\n\n /**\n * Returns the number of registered trigger elements.\n */\n get size() {\n return this.idMap.size;\n }\n}"],"names":["PopupTriggerMap","id","element","existingElement","predicate"],"mappings":"AAIO,MAAMA,EAAgB;AAAA,EAC3B,cAAc;AACZ,SAAK,cAAc,oBAAI,IAAG,GAC1B,KAAK,QAAQ,oBAAI,IAAG;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAIC,GAAIC,GAAS;AACf,UAAMC,IAAkB,KAAK,MAAM,IAAIF,CAAE;AACzC,QAAIE,MAAoBD,MAGpBC,MAAoB,UAGtB,KAAK,YAAY,OAAOA,CAAe,GAEzC,KAAK,YAAY,IAAID,CAAO,GAC5B,KAAK,MAAM,IAAID,GAAIC,CAAO,GACtB,QAAQ,IAAI,aAAa,gBACvB,KAAK,YAAY,SAAS,KAAK,MAAM;AACvC,YAAM,IAAI,MAAM,wFAAwF;AAAA,EAG9G;AAAA;AAAA;AAAA;AAAA,EAKA,OAAOD,GAAI;AACT,UAAMC,IAAU,KAAK,MAAM,IAAID,CAAE;AACjC,IAAIC,MACF,KAAK,YAAY,OAAOA,CAAO,GAC/B,KAAK,MAAM,OAAOD,CAAE;AAAA,EAExB;AAAA;AAAA;AAAA;AAAA,EAKA,WAAWC,GAAS;AAClB,WAAO,KAAK,YAAY,IAAIA,CAAO;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmBE,GAAW;AAC5B,eAAWF,KAAW,KAAK;AACzB,UAAIE,EAAUF,CAAO;AACnB,eAAO;AAGX,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQD,GAAI;AACV,WAAO,KAAK,MAAM,IAAIA,CAAE;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,WAAO,KAAK,MAAM,QAAO;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACT,WAAO,KAAK,YAAY,OAAM;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAO;AACT,WAAO,KAAK,MAAM;AAAA,EACpB;AACF;","x_google_ignoreList":[0]}
package/dist/index353.js CHANGED
@@ -1,18 +1,53 @@
1
- import t from "./index191.js";
2
- const p = (r, s, n, c, f, i, ...o) => {
3
- if (o.length > 0)
4
- throw new Error(process.env.NODE_ENV !== "production" ? "Unsupported number of selectors" : t(1));
5
- let e;
6
- if (r)
7
- e = r;
8
- else
9
- throw (
10
- /* minify-error-disabled */
11
- new Error("Missing arguments")
12
- );
13
- return e;
1
+ import { EMPTY_OBJECT as r } from "./index204.js";
2
+ import { getEmptyRootContext as i } from "./index386.js";
3
+ import { createSelector as n } from "./index354.js";
4
+ function u() {
5
+ return {
6
+ open: !1,
7
+ openProp: void 0,
8
+ mounted: !1,
9
+ transitionStatus: void 0,
10
+ floatingRootContext: i(),
11
+ preventUnmountingOnClose: !1,
12
+ payload: void 0,
13
+ activeTriggerId: null,
14
+ activeTriggerElement: null,
15
+ triggerIdProp: void 0,
16
+ popupElement: null,
17
+ positionerElement: null,
18
+ activeTriggerProps: r,
19
+ inactiveTriggerProps: r,
20
+ popupProps: r
21
+ };
22
+ }
23
+ const t = n((e) => e.triggerIdProp ?? e.activeTriggerId), a = {
24
+ open: n((e) => e.openProp ?? e.open),
25
+ mounted: n((e) => e.mounted),
26
+ transitionStatus: n((e) => e.transitionStatus),
27
+ floatingRootContext: n((e) => e.floatingRootContext),
28
+ preventUnmountingOnClose: n((e) => e.preventUnmountingOnClose),
29
+ payload: n((e) => e.payload),
30
+ activeTriggerId: t,
31
+ activeTriggerElement: n((e) => e.mounted ? e.activeTriggerElement : null),
32
+ /**
33
+ * Whether the trigger with the given ID was used to open the popup.
34
+ */
35
+ isTriggerActive: n((e, o) => o !== void 0 && t(e) === o),
36
+ /**
37
+ * Whether the popup is open and was activated by a trigger with the given ID.
38
+ */
39
+ isOpenedByTrigger: n((e, o) => o !== void 0 && t(e) === o && e.open),
40
+ /**
41
+ * Whether the popup is mounted and was activated by a trigger with the given ID.
42
+ */
43
+ isMountedByTrigger: n((e, o) => o !== void 0 && t(e) === o && e.mounted),
44
+ triggerProps: n((e, o) => o ? e.activeTriggerProps : e.inactiveTriggerProps),
45
+ popupProps: n((e) => e.popupProps),
46
+ popupElement: n((e) => e.popupElement),
47
+ positionerElement: n((e) => e.positionerElement)
14
48
  };
15
49
  export {
16
- p as createSelector
50
+ u as createInitialPopupStoreState,
51
+ a as popupStoreSelectors
17
52
  };
18
53
  //# sourceMappingURL=index353.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index353.js","sources":["../../../node_modules/@base-ui/utils/esm/store/createSelector.js"],"sourcesContent":["import _formatErrorMessage from \"../formatErrorMessage.js\";\n/**\n * The NoOptionalParams type is a utility type that checks if a function has optional or default parameters.\n * If the function has optional or default parameters, it returns a string literal type with an error message.\n * Otherwise, it returns the original function type.\n *\n * This is used to enforce that the combiner function passed to createSelector does not have optional or default parameters,\n * as memoization relies on the Function.length property, which does not account for optional or default parameters.\n */\n\n/**\n * Creates a selector function that can be used to derive values from the store's state.\n *\n * The combiner function can have up to three additional parameters, but it **cannot have optional or default parameters**.\n *\n * This function accepts up to six functions and combines them into a single selector function.\n * The resulting selector will take the state from the combined selectors and any additional parameters required by the combiner.\n *\n * The return type of the resulting selector is determined by the return type of the combiner function.\n *\n * @example\n * const selector = createSelector(\n * (state) => state.disabled\n * );\n *\n * @example\n * const selector = createSelector(\n * (state) => state.disabled,\n * (state) => state.open,\n * (disabled, open) => ({ disabled, open })\n * );\n */\n/* eslint-disable id-denylist */\nexport const createSelector = (a, b, c, d, e, f, ...other) => {\n if (other.length > 0) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Unsupported number of selectors' : _formatErrorMessage(1));\n }\n let selector;\n if (a && b && c && d && e && f) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n const vb = b(state, a1, a2, a3);\n const vc = c(state, a1, a2, a3);\n const vd = d(state, a1, a2, a3);\n const ve = e(state, a1, a2, a3);\n return f(va, vb, vc, vd, ve, a1, a2, a3);\n };\n } else if (a && b && c && d && e) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n const vb = b(state, a1, a2, a3);\n const vc = c(state, a1, a2, a3);\n const vd = d(state, a1, a2, a3);\n return e(va, vb, vc, vd, a1, a2, a3);\n };\n } else if (a && b && c && d) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n const vb = b(state, a1, a2, a3);\n const vc = c(state, a1, a2, a3);\n return d(va, vb, vc, a1, a2, a3);\n };\n } else if (a && b && c) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n const vb = b(state, a1, a2, a3);\n return c(va, vb, a1, a2, a3);\n };\n } else if (a && b) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n return b(va, a1, a2, a3);\n };\n } else if (a) {\n selector = a;\n } else {\n throw /* minify-error-disabled */new Error('Missing arguments');\n }\n return selector;\n};\n/* eslint-enable id-denylist */"],"names":["createSelector","a","b","c","d","e","f","other","_formatErrorMessage","selector"],"mappings":";AAiCY,MAACA,IAAiB,CAACC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,MAAMC,MAAU;AAC5D,MAAIA,EAAM,SAAS;AACjB,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,oCAAoCC,EAAoB,CAAC,CAAC;AAEpH,MAAIC;AAoCG,MAAIR;AACT,IAAAQ,IAAWR;AAAA;AAEX;AAAA;AAAA,MAAiC,IAAI,MAAM,mBAAmB;AAAA;AAEhE,SAAOQ;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index353.js","sources":["../../../node_modules/@base-ui/react/esm/utils/popups/store.js"],"sourcesContent":["import { createSelector } from '@base-ui/utils/store';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { getEmptyRootContext } from \"../../floating-ui-react/utils/getEmptyRootContext.js\";\n\n/**\n * State common to all popup stores.\n */\n\nexport function createInitialPopupStoreState() {\n return {\n open: false,\n openProp: undefined,\n mounted: false,\n transitionStatus: undefined,\n floatingRootContext: getEmptyRootContext(),\n preventUnmountingOnClose: false,\n payload: undefined,\n activeTriggerId: null,\n activeTriggerElement: null,\n triggerIdProp: undefined,\n popupElement: null,\n positionerElement: null,\n activeTriggerProps: EMPTY_OBJECT,\n inactiveTriggerProps: EMPTY_OBJECT,\n popupProps: EMPTY_OBJECT\n };\n}\nconst activeTriggerIdSelector = createSelector(state => state.triggerIdProp ?? state.activeTriggerId);\nexport const popupStoreSelectors = {\n open: createSelector(state => state.openProp ?? state.open),\n mounted: createSelector(state => state.mounted),\n transitionStatus: createSelector(state => state.transitionStatus),\n floatingRootContext: createSelector(state => state.floatingRootContext),\n preventUnmountingOnClose: createSelector(state => state.preventUnmountingOnClose),\n payload: createSelector(state => state.payload),\n activeTriggerId: activeTriggerIdSelector,\n activeTriggerElement: createSelector(state => state.mounted ? state.activeTriggerElement : null),\n /**\n * Whether the trigger with the given ID was used to open the popup.\n */\n isTriggerActive: createSelector((state, triggerId) => triggerId !== undefined && activeTriggerIdSelector(state) === triggerId),\n /**\n * Whether the popup is open and was activated by a trigger with the given ID.\n */\n isOpenedByTrigger: createSelector((state, triggerId) => triggerId !== undefined && activeTriggerIdSelector(state) === triggerId && state.open),\n /**\n * Whether the popup is mounted and was activated by a trigger with the given ID.\n */\n isMountedByTrigger: createSelector((state, triggerId) => triggerId !== undefined && activeTriggerIdSelector(state) === triggerId && state.mounted),\n triggerProps: createSelector((state, isActive) => isActive ? state.activeTriggerProps : state.inactiveTriggerProps),\n popupProps: createSelector(state => state.popupProps),\n popupElement: createSelector(state => state.popupElement),\n positionerElement: createSelector(state => state.positionerElement)\n};"],"names":["createInitialPopupStoreState","getEmptyRootContext","EMPTY_OBJECT","activeTriggerIdSelector","createSelector","state","popupStoreSelectors","triggerId","isActive"],"mappings":";;;AAQO,SAASA,IAA+B;AAC7C,SAAO;AAAA,IACL,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,qBAAqBC,EAAmB;AAAA,IACxC,0BAA0B;AAAA,IAC1B,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,eAAe;AAAA,IACf,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,oBAAoBC;AAAA,IACpB,sBAAsBA;AAAA,IACtB,YAAYA;AAAA,EAChB;AACA;AACA,MAAMC,IAA0BC,EAAe,CAAAC,MAASA,EAAM,iBAAiBA,EAAM,eAAe,GACvFC,IAAsB;AAAA,EACjC,MAAMF,EAAe,CAAAC,MAASA,EAAM,YAAYA,EAAM,IAAI;AAAA,EAC1D,SAASD,EAAe,CAAAC,MAASA,EAAM,OAAO;AAAA,EAC9C,kBAAkBD,EAAe,CAAAC,MAASA,EAAM,gBAAgB;AAAA,EAChE,qBAAqBD,EAAe,CAAAC,MAASA,EAAM,mBAAmB;AAAA,EACtE,0BAA0BD,EAAe,CAAAC,MAASA,EAAM,wBAAwB;AAAA,EAChF,SAASD,EAAe,CAAAC,MAASA,EAAM,OAAO;AAAA,EAC9C,iBAAiBF;AAAA,EACjB,sBAAsBC,EAAe,CAAAC,MAASA,EAAM,UAAUA,EAAM,uBAAuB,IAAI;AAAA;AAAA;AAAA;AAAA,EAI/F,iBAAiBD,EAAe,CAACC,GAAOE,MAAcA,MAAc,UAAaJ,EAAwBE,CAAK,MAAME,CAAS;AAAA;AAAA;AAAA;AAAA,EAI7H,mBAAmBH,EAAe,CAACC,GAAOE,MAAcA,MAAc,UAAaJ,EAAwBE,CAAK,MAAME,KAAaF,EAAM,IAAI;AAAA;AAAA;AAAA;AAAA,EAI7I,oBAAoBD,EAAe,CAACC,GAAOE,MAAcA,MAAc,UAAaJ,EAAwBE,CAAK,MAAME,KAAaF,EAAM,OAAO;AAAA,EACjJ,cAAcD,EAAe,CAACC,GAAOG,MAAaA,IAAWH,EAAM,qBAAqBA,EAAM,oBAAoB;AAAA,EAClH,YAAYD,EAAe,CAAAC,MAASA,EAAM,UAAU;AAAA,EACpD,cAAcD,EAAe,CAAAC,MAASA,EAAM,YAAY;AAAA,EACxD,mBAAmBD,EAAe,CAAAC,MAASA,EAAM,iBAAiB;AACpE;","x_google_ignoreList":[0]}
package/dist/index354.js CHANGED
@@ -1,9 +1,18 @@
1
- import * as t from "react";
2
- const e = parseInt(t.version, 10);
3
- function o(r) {
4
- return e >= r;
5
- }
1
+ import t from "./index191.js";
2
+ const p = (r, s, n, c, f, i, ...o) => {
3
+ if (o.length > 0)
4
+ throw new Error(process.env.NODE_ENV !== "production" ? "Unsupported number of selectors" : t(1));
5
+ let e;
6
+ if (r)
7
+ e = r;
8
+ else
9
+ throw (
10
+ /* minify-error-disabled */
11
+ new Error("Missing arguments")
12
+ );
13
+ return e;
14
+ };
6
15
  export {
7
- o as isReactVersionAtLeast
16
+ p as createSelector
8
17
  };
9
18
  //# sourceMappingURL=index354.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index354.js","sources":["../../../node_modules/@base-ui/utils/esm/reactVersion.js"],"sourcesContent":["import * as React from 'react';\nconst majorVersion = parseInt(React.version, 10);\nexport function isReactVersionAtLeast(reactVersionToCheck) {\n return majorVersion >= reactVersionToCheck;\n}"],"names":["majorVersion","React","isReactVersionAtLeast","reactVersionToCheck"],"mappings":";AACA,MAAMA,IAAe,SAASC,EAAM,SAAS,EAAE;AACxC,SAASC,EAAsBC,GAAqB;AACzD,SAAOH,KAAgBG;AACzB;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index354.js","sources":["../../../node_modules/@base-ui/utils/esm/store/createSelector.js"],"sourcesContent":["import _formatErrorMessage from \"../formatErrorMessage.js\";\n/**\n * The NoOptionalParams type is a utility type that checks if a function has optional or default parameters.\n * If the function has optional or default parameters, it returns a string literal type with an error message.\n * Otherwise, it returns the original function type.\n *\n * This is used to enforce that the combiner function passed to createSelector does not have optional or default parameters,\n * as memoization relies on the Function.length property, which does not account for optional or default parameters.\n */\n\n/**\n * Creates a selector function that can be used to derive values from the store's state.\n *\n * The combiner function can have up to three additional parameters, but it **cannot have optional or default parameters**.\n *\n * This function accepts up to six functions and combines them into a single selector function.\n * The resulting selector will take the state from the combined selectors and any additional parameters required by the combiner.\n *\n * The return type of the resulting selector is determined by the return type of the combiner function.\n *\n * @example\n * const selector = createSelector(\n * (state) => state.disabled\n * );\n *\n * @example\n * const selector = createSelector(\n * (state) => state.disabled,\n * (state) => state.open,\n * (disabled, open) => ({ disabled, open })\n * );\n */\n/* eslint-disable id-denylist */\nexport const createSelector = (a, b, c, d, e, f, ...other) => {\n if (other.length > 0) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Unsupported number of selectors' : _formatErrorMessage(1));\n }\n let selector;\n if (a && b && c && d && e && f) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n const vb = b(state, a1, a2, a3);\n const vc = c(state, a1, a2, a3);\n const vd = d(state, a1, a2, a3);\n const ve = e(state, a1, a2, a3);\n return f(va, vb, vc, vd, ve, a1, a2, a3);\n };\n } else if (a && b && c && d && e) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n const vb = b(state, a1, a2, a3);\n const vc = c(state, a1, a2, a3);\n const vd = d(state, a1, a2, a3);\n return e(va, vb, vc, vd, a1, a2, a3);\n };\n } else if (a && b && c && d) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n const vb = b(state, a1, a2, a3);\n const vc = c(state, a1, a2, a3);\n return d(va, vb, vc, a1, a2, a3);\n };\n } else if (a && b && c) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n const vb = b(state, a1, a2, a3);\n return c(va, vb, a1, a2, a3);\n };\n } else if (a && b) {\n selector = (state, a1, a2, a3) => {\n const va = a(state, a1, a2, a3);\n return b(va, a1, a2, a3);\n };\n } else if (a) {\n selector = a;\n } else {\n throw /* minify-error-disabled */new Error('Missing arguments');\n }\n return selector;\n};\n/* eslint-enable id-denylist */"],"names":["createSelector","a","b","c","d","e","f","other","_formatErrorMessage","selector"],"mappings":";AAiCY,MAACA,IAAiB,CAACC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,MAAMC,MAAU;AAC5D,MAAIA,EAAM,SAAS;AACjB,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,oCAAoCC,EAAoB,CAAC,CAAC;AAEpH,MAAIC;AAoCG,MAAIR;AACT,IAAAQ,IAAWR;AAAA;AAEX;AAAA;AAAA,MAAiC,IAAI,MAAM,mBAAmB;AAAA;AAEhE,SAAOQ;AACT;","x_google_ignoreList":[0]}
package/dist/index359.js CHANGED
@@ -1,8 +1,15 @@
1
- function r(s, t) {
2
- const e = t.startOfMonth(s), n = e.getDay() > 0 ? e.getDay() : 7, a = t.addDays(s, -n + 1), o = t.addDays(a, 34);
3
- return t.getMonth(s) === t.getMonth(o) ? 5 : 4;
1
+ function t(r) {
2
+ if (r == null)
3
+ return "";
4
+ if (typeof r == "string")
5
+ return r;
6
+ try {
7
+ return JSON.stringify(r);
8
+ } catch {
9
+ return String(r);
10
+ }
4
11
  }
5
12
  export {
6
- r as getBroadcastWeeksInMonth
13
+ t as serializeValue
7
14
  };
8
15
  //# sourceMappingURL=index359.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index359.js","sources":["../../../node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.js"],"sourcesContent":["const FIVE_WEEKS = 5;\nconst FOUR_WEEKS = 4;\n/**\n * Returns the number of weeks to display in the broadcast calendar for a given\n * month.\n *\n * The broadcast calendar may have either 4 or 5 weeks in a month, depending on\n * the start and end dates of the broadcast weeks.\n *\n * @since 9.4.0\n * @param month The month for which to calculate the number of weeks.\n * @param dateLib The date library to use for date manipulation.\n * @returns The number of weeks in the broadcast calendar (4 or 5).\n */\nexport function getBroadcastWeeksInMonth(month, dateLib) {\n // Get the first day of the month\n const firstDayOfMonth = dateLib.startOfMonth(month);\n // Get the day of the week for the first day of the month (1-7, where 1 is Monday)\n const firstDayOfWeek = firstDayOfMonth.getDay() > 0 ? firstDayOfMonth.getDay() : 7;\n const broadcastStartDate = dateLib.addDays(month, -firstDayOfWeek + 1);\n const lastDateOfLastWeek = dateLib.addDays(broadcastStartDate, FIVE_WEEKS * 7 - 1);\n const numberOfWeeks = dateLib.getMonth(month) === dateLib.getMonth(lastDateOfLastWeek)\n ? FIVE_WEEKS\n : FOUR_WEEKS;\n return numberOfWeeks;\n}\n"],"names":["getBroadcastWeeksInMonth","month","dateLib","firstDayOfMonth","firstDayOfWeek","broadcastStartDate","lastDateOfLastWeek"],"mappings":"AAcO,SAASA,EAAyBC,GAAOC,GAAS;AAErD,QAAMC,IAAkBD,EAAQ,aAAaD,CAAK,GAE5CG,IAAiBD,EAAgB,OAAM,IAAK,IAAIA,EAAgB,OAAM,IAAK,GAC3EE,IAAqBH,EAAQ,QAAQD,GAAO,CAACG,IAAiB,CAAC,GAC/DE,IAAqBJ,EAAQ,QAAQG,GAAoB,EAAkB;AAIjF,SAHsBH,EAAQ,SAASD,CAAK,MAAMC,EAAQ,SAASI,CAAkB,IAC/E,IACA;AAEV;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index359.js","sources":["../../../node_modules/@base-ui/react/esm/internals/serializeValue.js"],"sourcesContent":["export function serializeValue(value) {\n if (value == null) {\n return '';\n }\n if (typeof value === 'string') {\n return value;\n }\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}"],"names":["serializeValue","value"],"mappings":"AAAO,SAASA,EAAeC,GAAO;AACpC,MAAIA,KAAS;AACX,WAAO;AAET,MAAI,OAAOA,KAAU;AACnB,WAAOA;AAET,MAAI;AACF,WAAO,KAAK,UAAUA,CAAK;AAAA,EAC7B,QAAQ;AACN,WAAO,OAAOA,CAAK;AAAA,EACrB;AACF;","x_google_ignoreList":[0]}
package/dist/index360.js CHANGED
@@ -1,21 +1,20 @@
1
- import { formatDistance as o } from "./index410.js";
2
- import { formatLong as t } from "./index411.js";
3
- import { formatRelative as r } from "./index412.js";
4
- import { localize as m } from "./index413.js";
5
- import { match as a } from "./index414.js";
6
- const p = {
7
- code: "en-US",
8
- formatDistance: o,
9
- formatLong: t,
10
- formatRelative: r,
11
- localize: m,
12
- match: a,
13
- options: {
14
- weekStartsOn: 0,
15
- firstWeekContainsDate: 1
16
- }
17
- };
1
+ import * as e from "react";
2
+ function t(i) {
3
+ const o = e.useRef(""), n = e.useCallback((r) => {
4
+ r.defaultPrevented || (o.current = r.pointerType, i(r, r.pointerType));
5
+ }, [i]);
6
+ return {
7
+ onClick: e.useCallback((r) => {
8
+ if (r.detail === 0) {
9
+ i(r, "keyboard");
10
+ return;
11
+ }
12
+ "pointerType" in r ? i(r, r.pointerType) : i(r, o.current), o.current = "";
13
+ }, [i]),
14
+ onPointerDown: n
15
+ };
16
+ }
18
17
  export {
19
- p as enUS
18
+ t as useEnhancedClickHandler
20
19
  };
21
20
  //# sourceMappingURL=index360.js.map