@easyops-cn/a2ui-react 0.0.2 → 0.0.4

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 (385) hide show
  1. package/dist/{a2ui-react3.js → 0.8/A2UIRenderer.js} +5 -5
  2. package/dist/0.8/components/ComponentRenderer.js +76 -0
  3. package/dist/{a2ui-react16.js → 0.8/components/display/AudioPlayerComponent.js} +2 -2
  4. package/dist/{a2ui-react17.js → 0.8/components/display/DividerComponent.js} +1 -1
  5. package/dist/0.8/components/display/IconComponent.js +68 -0
  6. package/dist/{a2ui-react13.js → 0.8/components/display/ImageComponent.js} +2 -2
  7. package/dist/{a2ui-react12.js → 0.8/components/display/TextComponent.js} +2 -2
  8. package/dist/{a2ui-react15.js → 0.8/components/display/VideoComponent.js} +2 -2
  9. package/dist/{a2ui-react24.js → 0.8/components/interactive/ButtonComponent.js} +3 -3
  10. package/dist/{a2ui-react25.js → 0.8/components/interactive/CheckBoxComponent.js} +4 -4
  11. package/dist/0.8/components/interactive/DateTimeInputComponent.js +98 -0
  12. package/dist/{a2ui-react28.js → 0.8/components/interactive/MultipleChoiceComponent.js} +5 -5
  13. package/dist/{a2ui-react29.js → 0.8/components/interactive/SliderComponent.js} +3 -3
  14. package/dist/{a2ui-react26.js → 0.8/components/interactive/TextFieldComponent.js} +5 -5
  15. package/dist/{a2ui-react21.js → 0.8/components/layout/CardComponent.js} +2 -2
  16. package/dist/{a2ui-react19.js → 0.8/components/layout/ColumnComponent.js} +4 -4
  17. package/dist/{a2ui-react20.js → 0.8/components/layout/ListComponent.js} +4 -4
  18. package/dist/{a2ui-react23.js → 0.8/components/layout/ModalComponent.js} +2 -2
  19. package/dist/{a2ui-react18.js → 0.8/components/layout/RowComponent.js} +4 -4
  20. package/dist/{a2ui-react22.js → 0.8/components/layout/TabsComponent.js} +3 -3
  21. package/dist/{a2ui-react7.js → 0.8/contexts/A2UIProvider.js} +3 -3
  22. package/dist/{a2ui-react30.js → 0.8/contexts/ActionContext.js} +2 -2
  23. package/dist/{a2ui-react31.js → 0.8/contexts/DataModelContext.js} +1 -1
  24. package/dist/{a2ui-react10.js → 0.8/hooks/useA2UIMessageHandler.js} +3 -3
  25. package/dist/{a2ui-react11.js → 0.8/hooks/useComponent.js} +1 -1
  26. package/dist/0.8/hooks/useDataBinding.js +23 -0
  27. package/dist/{a2ui-react5.js → 0.8/hooks/useDispatchAction.js} +1 -1
  28. package/dist/0.8/index.js +11 -0
  29. package/dist/{a2ui-react32.js → 0.8/utils/dataBinding.js} +1 -1
  30. package/dist/index.js +4 -0
  31. package/package.json +1 -1
  32. package/dist/a2ui-react.js +0 -4
  33. package/dist/a2ui-react100.js +0 -24
  34. package/dist/a2ui-react101.js +0 -255
  35. package/dist/a2ui-react102.js +0 -163
  36. package/dist/a2ui-react103.js +0 -19
  37. package/dist/a2ui-react104.js +0 -251
  38. package/dist/a2ui-react105.js +0 -61
  39. package/dist/a2ui-react106.js +0 -35
  40. package/dist/a2ui-react107.js +0 -436
  41. package/dist/a2ui-react108.js +0 -16
  42. package/dist/a2ui-react109.js +0 -234
  43. package/dist/a2ui-react110.js +0 -6
  44. package/dist/a2ui-react111.js +0 -6
  45. package/dist/a2ui-react112.js +0 -6
  46. package/dist/a2ui-react113.js +0 -239
  47. package/dist/a2ui-react114.js +0 -845
  48. package/dist/a2ui-react115.js +0 -6
  49. package/dist/a2ui-react116.js +0 -10
  50. package/dist/a2ui-react117.js +0 -8
  51. package/dist/a2ui-react118.js +0 -8
  52. package/dist/a2ui-react119.js +0 -20
  53. package/dist/a2ui-react120.js +0 -8
  54. package/dist/a2ui-react121.js +0 -8
  55. package/dist/a2ui-react122.js +0 -9
  56. package/dist/a2ui-react123.js +0 -16
  57. package/dist/a2ui-react124.js +0 -18
  58. package/dist/a2ui-react125.js +0 -11
  59. package/dist/a2ui-react126.js +0 -9
  60. package/dist/a2ui-react127.js +0 -13
  61. package/dist/a2ui-react128.js +0 -17
  62. package/dist/a2ui-react129.js +0 -8
  63. package/dist/a2ui-react130.js +0 -17
  64. package/dist/a2ui-react131.js +0 -8
  65. package/dist/a2ui-react132.js +0 -10
  66. package/dist/a2ui-react133.js +0 -9
  67. package/dist/a2ui-react134.js +0 -7
  68. package/dist/a2ui-react135.js +0 -9
  69. package/dist/a2ui-react136.js +0 -548
  70. package/dist/a2ui-react137.js +0 -49
  71. package/dist/a2ui-react138.js +0 -20
  72. package/dist/a2ui-react139.js +0 -21
  73. package/dist/a2ui-react14.js +0 -114
  74. package/dist/a2ui-react140.js +0 -11
  75. package/dist/a2ui-react141.js +0 -9
  76. package/dist/a2ui-react142.js +0 -10
  77. package/dist/a2ui-react143.js +0 -8
  78. package/dist/a2ui-react144.js +0 -9
  79. package/dist/a2ui-react145.js +0 -12
  80. package/dist/a2ui-react146.js +0 -8
  81. package/dist/a2ui-react147.js +0 -11
  82. package/dist/a2ui-react148.js +0 -15
  83. package/dist/a2ui-react149.js +0 -8
  84. package/dist/a2ui-react150.js +0 -12
  85. package/dist/a2ui-react151.js +0 -10
  86. package/dist/a2ui-react152.js +0 -12
  87. package/dist/a2ui-react153.js +0 -16
  88. package/dist/a2ui-react154.js +0 -8
  89. package/dist/a2ui-react155.js +0 -8
  90. package/dist/a2ui-react156.js +0 -8
  91. package/dist/a2ui-react157.js +0 -7
  92. package/dist/a2ui-react158.js +0 -14
  93. package/dist/a2ui-react159.js +0 -13
  94. package/dist/a2ui-react160.js +0 -13
  95. package/dist/a2ui-react161.js +0 -14
  96. package/dist/a2ui-react162.js +0 -14
  97. package/dist/a2ui-react163.js +0 -35
  98. package/dist/a2ui-react164.js +0 -67
  99. package/dist/a2ui-react165.js +0 -11
  100. package/dist/a2ui-react166.js +0 -11
  101. package/dist/a2ui-react167.js +0 -10
  102. package/dist/a2ui-react168.js +0 -13
  103. package/dist/a2ui-react169.js +0 -10
  104. package/dist/a2ui-react170.js +0 -10
  105. package/dist/a2ui-react171.js +0 -9
  106. package/dist/a2ui-react172.js +0 -17
  107. package/dist/a2ui-react173.js +0 -21
  108. package/dist/a2ui-react174.js +0 -18
  109. package/dist/a2ui-react175.js +0 -35
  110. package/dist/a2ui-react176.js +0 -14
  111. package/dist/a2ui-react177.js +0 -7
  112. package/dist/a2ui-react178.js +0 -58
  113. package/dist/a2ui-react179.js +0 -25
  114. package/dist/a2ui-react180.js +0 -43
  115. package/dist/a2ui-react181.js +0 -63
  116. package/dist/a2ui-react182.js +0 -34
  117. package/dist/a2ui-react183.js +0 -15
  118. package/dist/a2ui-react184.js +0 -67
  119. package/dist/a2ui-react185.js +0 -67
  120. package/dist/a2ui-react186.js +0 -69
  121. package/dist/a2ui-react187.js +0 -69
  122. package/dist/a2ui-react188.js +0 -42
  123. package/dist/a2ui-react189.js +0 -43
  124. package/dist/a2ui-react190.js +0 -55
  125. package/dist/a2ui-react191.js +0 -45
  126. package/dist/a2ui-react192.js +0 -41
  127. package/dist/a2ui-react193.js +0 -72
  128. package/dist/a2ui-react194.js +0 -72
  129. package/dist/a2ui-react195.js +0 -97
  130. package/dist/a2ui-react196.js +0 -42
  131. package/dist/a2ui-react197.js +0 -42
  132. package/dist/a2ui-react198.js +0 -42
  133. package/dist/a2ui-react199.js +0 -27
  134. package/dist/a2ui-react2.js +0 -11
  135. package/dist/a2ui-react200.js +0 -26
  136. package/dist/a2ui-react201.js +0 -26
  137. package/dist/a2ui-react202.js +0 -27
  138. package/dist/a2ui-react203.js +0 -26
  139. package/dist/a2ui-react204.js +0 -26
  140. package/dist/a2ui-react205.js +0 -16
  141. package/dist/a2ui-react206.js +0 -41
  142. package/dist/a2ui-react207.js +0 -41
  143. package/dist/a2ui-react208.js +0 -16
  144. package/dist/a2ui-react209.js +0 -16
  145. package/dist/a2ui-react210.js +0 -32
  146. package/dist/a2ui-react211.js +0 -32
  147. package/dist/a2ui-react212.js +0 -6
  148. package/dist/a2ui-react213.js +0 -9
  149. package/dist/a2ui-react214.js +0 -50
  150. package/dist/a2ui-react215.js +0 -29
  151. package/dist/a2ui-react216.js +0 -68
  152. package/dist/a2ui-react217.js +0 -10
  153. package/dist/a2ui-react218.js +0 -127
  154. package/dist/a2ui-react219.js +0 -17
  155. package/dist/a2ui-react220.js +0 -136
  156. package/dist/a2ui-react221.js +0 -13
  157. package/dist/a2ui-react222.js +0 -219
  158. package/dist/a2ui-react223.js +0 -15
  159. package/dist/a2ui-react224.js +0 -36
  160. package/dist/a2ui-react225.js +0 -49
  161. package/dist/a2ui-react226.js +0 -10
  162. package/dist/a2ui-react227.js +0 -52
  163. package/dist/a2ui-react228.js +0 -6
  164. package/dist/a2ui-react229.js +0 -8
  165. package/dist/a2ui-react230.js +0 -30
  166. package/dist/a2ui-react231.js +0 -52
  167. package/dist/a2ui-react232.js +0 -11
  168. package/dist/a2ui-react233.js +0 -70
  169. package/dist/a2ui-react234.js +0 -49
  170. package/dist/a2ui-react235.js +0 -27
  171. package/dist/a2ui-react236.js +0 -49
  172. package/dist/a2ui-react237.js +0 -183
  173. package/dist/a2ui-react238.js +0 -70
  174. package/dist/a2ui-react239.js +0 -33
  175. package/dist/a2ui-react240.js +0 -11
  176. package/dist/a2ui-react241.js +0 -155
  177. package/dist/a2ui-react242.js +0 -110
  178. package/dist/a2ui-react243.js +0 -22
  179. package/dist/a2ui-react244.js +0 -100
  180. package/dist/a2ui-react245.js +0 -49
  181. package/dist/a2ui-react246.js +0 -14
  182. package/dist/a2ui-react247.js +0 -208
  183. package/dist/a2ui-react248.js +0 -24
  184. package/dist/a2ui-react249.js +0 -402
  185. package/dist/a2ui-react250.js +0 -49
  186. package/dist/a2ui-react251.js +0 -49
  187. package/dist/a2ui-react252.js +0 -54
  188. package/dist/a2ui-react253.js +0 -7
  189. package/dist/a2ui-react254.js +0 -7
  190. package/dist/a2ui-react255.js +0 -18
  191. package/dist/a2ui-react256.js +0 -8
  192. package/dist/a2ui-react257.js +0 -10
  193. package/dist/a2ui-react258.js +0 -19
  194. package/dist/a2ui-react259.js +0 -7
  195. package/dist/a2ui-react260.js +0 -7
  196. package/dist/a2ui-react261.js +0 -8
  197. package/dist/a2ui-react262.js +0 -8
  198. package/dist/a2ui-react263.js +0 -7
  199. package/dist/a2ui-react264.js +0 -7
  200. package/dist/a2ui-react265.js +0 -9
  201. package/dist/a2ui-react266.js +0 -27
  202. package/dist/a2ui-react267.js +0 -9
  203. package/dist/a2ui-react268.js +0 -7
  204. package/dist/a2ui-react269.js +0 -9
  205. package/dist/a2ui-react27.js +0 -100
  206. package/dist/a2ui-react270.js +0 -8
  207. package/dist/a2ui-react271.js +0 -7
  208. package/dist/a2ui-react272.js +0 -8
  209. package/dist/a2ui-react273.js +0 -7
  210. package/dist/a2ui-react274.js +0 -11
  211. package/dist/a2ui-react275.js +0 -8
  212. package/dist/a2ui-react276.js +0 -7
  213. package/dist/a2ui-react277.js +0 -7
  214. package/dist/a2ui-react278.js +0 -9
  215. package/dist/a2ui-react279.js +0 -148
  216. package/dist/a2ui-react280.js +0 -42
  217. package/dist/a2ui-react281.js +0 -7
  218. package/dist/a2ui-react282.js +0 -10
  219. package/dist/a2ui-react283.js +0 -16
  220. package/dist/a2ui-react284.js +0 -10
  221. package/dist/a2ui-react285.js +0 -34
  222. package/dist/a2ui-react286.js +0 -13
  223. package/dist/a2ui-react287.js +0 -13
  224. package/dist/a2ui-react288.js +0 -11
  225. package/dist/a2ui-react289.js +0 -16
  226. package/dist/a2ui-react290.js +0 -104
  227. package/dist/a2ui-react291.js +0 -22
  228. package/dist/a2ui-react292.js +0 -56
  229. package/dist/a2ui-react293.js +0 -75
  230. package/dist/a2ui-react294.js +0 -12
  231. package/dist/a2ui-react295.js +0 -23
  232. package/dist/a2ui-react296.js +0 -19
  233. package/dist/a2ui-react297.js +0 -26
  234. package/dist/a2ui-react298.js +0 -9
  235. package/dist/a2ui-react299.js +0 -8
  236. package/dist/a2ui-react300.js +0 -26
  237. package/dist/a2ui-react301.js +0 -37
  238. package/dist/a2ui-react302.js +0 -18
  239. package/dist/a2ui-react303.js +0 -9
  240. package/dist/a2ui-react304.js +0 -7
  241. package/dist/a2ui-react305.js +0 -7
  242. package/dist/a2ui-react306.js +0 -7
  243. package/dist/a2ui-react307.js +0 -7
  244. package/dist/a2ui-react308.js +0 -6
  245. package/dist/a2ui-react309.js +0 -9
  246. package/dist/a2ui-react310.js +0 -26
  247. package/dist/a2ui-react311.js +0 -10
  248. package/dist/a2ui-react312.js +0 -9
  249. package/dist/a2ui-react313.js +0 -8
  250. package/dist/a2ui-react314.js +0 -6
  251. package/dist/a2ui-react315.js +0 -6
  252. package/dist/a2ui-react316.js +0 -7
  253. package/dist/a2ui-react317.js +0 -6
  254. package/dist/a2ui-react318.js +0 -7
  255. package/dist/a2ui-react319.js +0 -6
  256. package/dist/a2ui-react320.js +0 -6
  257. package/dist/a2ui-react321.js +0 -6
  258. package/dist/a2ui-react322.js +0 -9
  259. package/dist/a2ui-react323.js +0 -18
  260. package/dist/a2ui-react324.js +0 -31
  261. package/dist/a2ui-react325.js +0 -15
  262. package/dist/a2ui-react326.js +0 -27
  263. package/dist/a2ui-react327.js +0 -31
  264. package/dist/a2ui-react328.js +0 -7
  265. package/dist/a2ui-react329.js +0 -19
  266. package/dist/a2ui-react330.js +0 -8
  267. package/dist/a2ui-react331.js +0 -8
  268. package/dist/a2ui-react332.js +0 -61
  269. package/dist/a2ui-react333.js +0 -69
  270. package/dist/a2ui-react334.js +0 -9
  271. package/dist/a2ui-react335.js +0 -7
  272. package/dist/a2ui-react336.js +0 -26
  273. package/dist/a2ui-react337.js +0 -19
  274. package/dist/a2ui-react338.js +0 -10
  275. package/dist/a2ui-react339.js +0 -13
  276. package/dist/a2ui-react34.js +0 -8
  277. package/dist/a2ui-react340.js +0 -13
  278. package/dist/a2ui-react341.js +0 -24
  279. package/dist/a2ui-react342.js +0 -13
  280. package/dist/a2ui-react343.js +0 -12
  281. package/dist/a2ui-react344.js +0 -12
  282. package/dist/a2ui-react345.js +0 -7
  283. package/dist/a2ui-react346.js +0 -8
  284. package/dist/a2ui-react347.js +0 -19
  285. package/dist/a2ui-react348.js +0 -12
  286. package/dist/a2ui-react349.js +0 -21
  287. package/dist/a2ui-react35.js +0 -16
  288. package/dist/a2ui-react350.js +0 -18
  289. package/dist/a2ui-react351.js +0 -15
  290. package/dist/a2ui-react352.js +0 -32
  291. package/dist/a2ui-react353.js +0 -15
  292. package/dist/a2ui-react354.js +0 -28
  293. package/dist/a2ui-react355.js +0 -8
  294. package/dist/a2ui-react356.js +0 -11
  295. package/dist/a2ui-react357.js +0 -22
  296. package/dist/a2ui-react358.js +0 -7
  297. package/dist/a2ui-react359.js +0 -5
  298. package/dist/a2ui-react36.js +0 -23
  299. package/dist/a2ui-react360.js +0 -26
  300. package/dist/a2ui-react361.js +0 -115
  301. package/dist/a2ui-react362.js +0 -18
  302. package/dist/a2ui-react363.js +0 -527
  303. package/dist/a2ui-react364.js +0 -130
  304. package/dist/a2ui-react365.js +0 -136
  305. package/dist/a2ui-react366.js +0 -7
  306. package/dist/a2ui-react367.js +0 -15
  307. package/dist/a2ui-react368.js +0 -67
  308. package/dist/a2ui-react369.js +0 -71
  309. package/dist/a2ui-react37.js +0 -15
  310. package/dist/a2ui-react370.js +0 -11
  311. package/dist/a2ui-react371.js +0 -16
  312. package/dist/a2ui-react372.js +0 -68
  313. package/dist/a2ui-react373.js +0 -6
  314. package/dist/a2ui-react374.js +0 -25
  315. package/dist/a2ui-react375.js +0 -15
  316. package/dist/a2ui-react376.js +0 -30
  317. package/dist/a2ui-react377.js +0 -7
  318. package/dist/a2ui-react378.js +0 -25
  319. package/dist/a2ui-react38.js +0 -10
  320. package/dist/a2ui-react39.js +0 -10
  321. package/dist/a2ui-react4.js +0 -76
  322. package/dist/a2ui-react40.js +0 -14
  323. package/dist/a2ui-react41.js +0 -14
  324. package/dist/a2ui-react42.js +0 -16
  325. package/dist/a2ui-react43.js +0 -12
  326. package/dist/a2ui-react44.js +0 -15
  327. package/dist/a2ui-react45.js +0 -15
  328. package/dist/a2ui-react46.js +0 -9
  329. package/dist/a2ui-react47.js +0 -11
  330. package/dist/a2ui-react48.js +0 -16
  331. package/dist/a2ui-react49.js +0 -10
  332. package/dist/a2ui-react50.js +0 -14
  333. package/dist/a2ui-react51.js +0 -9
  334. package/dist/a2ui-react52.js +0 -9
  335. package/dist/a2ui-react53.js +0 -15
  336. package/dist/a2ui-react54.js +0 -17
  337. package/dist/a2ui-react55.js +0 -10
  338. package/dist/a2ui-react56.js +0 -10
  339. package/dist/a2ui-react57.js +0 -10
  340. package/dist/a2ui-react58.js +0 -9
  341. package/dist/a2ui-react59.js +0 -9
  342. package/dist/a2ui-react6.js +0 -28
  343. package/dist/a2ui-react60.js +0 -9
  344. package/dist/a2ui-react61.js +0 -15
  345. package/dist/a2ui-react62.js +0 -10
  346. package/dist/a2ui-react63.js +0 -15
  347. package/dist/a2ui-react64.js +0 -10
  348. package/dist/a2ui-react65.js +0 -14
  349. package/dist/a2ui-react66.js +0 -22
  350. package/dist/a2ui-react67.js +0 -14
  351. package/dist/a2ui-react68.js +0 -10
  352. package/dist/a2ui-react69.js +0 -17
  353. package/dist/a2ui-react70.js +0 -15
  354. package/dist/a2ui-react71.js +0 -10
  355. package/dist/a2ui-react72.js +0 -12
  356. package/dist/a2ui-react73.js +0 -9
  357. package/dist/a2ui-react74.js +0 -6
  358. package/dist/a2ui-react75.js +0 -15
  359. package/dist/a2ui-react76.js +0 -11
  360. package/dist/a2ui-react77.js +0 -14
  361. package/dist/a2ui-react78.js +0 -9
  362. package/dist/a2ui-react79.js +0 -9
  363. package/dist/a2ui-react80.js +0 -9
  364. package/dist/a2ui-react81.js +0 -10
  365. package/dist/a2ui-react82.js +0 -26
  366. package/dist/a2ui-react83.js +0 -29
  367. package/dist/a2ui-react84.js +0 -67
  368. package/dist/a2ui-react85.js +0 -77
  369. package/dist/a2ui-react86.js +0 -53
  370. package/dist/a2ui-react87.js +0 -31
  371. package/dist/a2ui-react88.js +0 -22
  372. package/dist/a2ui-react89.js +0 -21
  373. package/dist/a2ui-react90.js +0 -18
  374. package/dist/a2ui-react91.js +0 -176
  375. package/dist/a2ui-react92.js +0 -38
  376. package/dist/a2ui-react93.js +0 -88
  377. package/dist/a2ui-react94.js +0 -9
  378. package/dist/a2ui-react95.js +0 -58
  379. package/dist/a2ui-react96.js +0 -146
  380. package/dist/a2ui-react97.js +0 -63
  381. package/dist/a2ui-react98.js +0 -17
  382. package/dist/a2ui-react99.js +0 -2765
  383. /package/dist/{a2ui-react8.js → 0.8/contexts/ComponentsMapContext.js} +0 -0
  384. /package/dist/{a2ui-react9.js → 0.8/contexts/SurfaceContext.js} +0 -0
  385. /package/dist/{a2ui-react33.js → 0.8/utils/pathUtils.js} +0 -0
@@ -1,845 +0,0 @@
1
- import * as t from "react";
2
- import * as be from "react-dom";
3
- import { clamp as Re } from "./a2ui-react212.js";
4
- import { composeEventHandlers as R } from "./a2ui-react213.js";
5
- import { createCollection as ot } from "./a2ui-react214.js";
6
- import { useComposedRefs as k } from "./a2ui-react215.js";
7
- import { createContextScope as nt } from "./a2ui-react216.js";
8
- import { useDirection as rt } from "./a2ui-react217.js";
9
- import { DismissableLayer as lt } from "./a2ui-react218.js";
10
- import { useFocusGuards as ct } from "./a2ui-react219.js";
11
- import { FocusScope as st } from "./a2ui-react220.js";
12
- import { useId as Ie } from "./a2ui-react221.js";
13
- import { createPopperScope as _e, Root as it, Anchor as at, Content as dt, Arrow as ut } from "./a2ui-react222.js";
14
- import { Portal as pt } from "./a2ui-react223.js";
15
- import { Primitive as M } from "./a2ui-react224.js";
16
- import { createSlot as ft } from "./a2ui-react225.js";
17
- import { useCallbackRef as mt } from "./a2ui-react226.js";
18
- import { useControllableState as Ee } from "./a2ui-react227.js";
19
- import { useLayoutEffect as Y } from "./a2ui-react228.js";
20
- import { usePrevious as ht } from "./a2ui-react229.js";
21
- import { VISUALLY_HIDDEN_STYLES as vt } from "./a2ui-react230.js";
22
- import { hideOthers as gt } from "./a2ui-react231.js";
23
- import St from "./a2ui-react232.js";
24
- import { jsx as p, jsxs as se, Fragment as Te } from "react/jsx-runtime";
25
- var wt = [" ", "Enter", "ArrowUp", "ArrowDown"], Ct = [" ", "Enter"], J = "Select", [ae, de, xt] = ot(J), [te] = nt(J, [
26
- xt,
27
- _e
28
- ]), ue = _e(), [yt, j] = te(J), [It, Tt] = te(J), Ne = (o) => {
29
- const {
30
- __scopeSelect: s,
31
- children: e,
32
- open: i,
33
- defaultOpen: l,
34
- onOpenChange: d,
35
- value: n,
36
- defaultValue: r,
37
- onValueChange: c,
38
- dir: f,
39
- name: g,
40
- autoComplete: C,
41
- disabled: E,
42
- required: T,
43
- form: y
44
- } = o, a = ue(s), [h, S] = t.useState(null), [m, v] = t.useState(null), [F, A] = t.useState(!1), oe = rt(f), [b, D] = Ee({
45
- prop: i,
46
- defaultProp: l ?? !1,
47
- onChange: d,
48
- caller: J
49
- }), [K, X] = Ee({
50
- prop: n,
51
- defaultProp: r,
52
- onChange: c,
53
- caller: J
54
- }), B = t.useRef(null), V = h ? y || !!h.closest("form") : !0, [G, H] = t.useState(/* @__PURE__ */ new Set()), U = Array.from(G).map((_) => _.props.value).join(";");
55
- return /* @__PURE__ */ p(it, { ...a, children: /* @__PURE__ */ se(
56
- yt,
57
- {
58
- required: T,
59
- scope: s,
60
- trigger: h,
61
- onTriggerChange: S,
62
- valueNode: m,
63
- onValueNodeChange: v,
64
- valueNodeHasChildren: F,
65
- onValueNodeHasChildrenChange: A,
66
- contentId: Ie(),
67
- value: K,
68
- onValueChange: X,
69
- open: b,
70
- onOpenChange: D,
71
- dir: oe,
72
- triggerPointerDownPosRef: B,
73
- disabled: E,
74
- children: [
75
- /* @__PURE__ */ p(ae.Provider, { scope: s, children: /* @__PURE__ */ p(
76
- It,
77
- {
78
- scope: o.__scopeSelect,
79
- onNativeOptionAdd: t.useCallback((_) => {
80
- H((L) => new Set(L).add(_));
81
- }, []),
82
- onNativeOptionRemove: t.useCallback((_) => {
83
- H((L) => {
84
- const W = new Set(L);
85
- return W.delete(_), W;
86
- });
87
- }, []),
88
- children: e
89
- }
90
- ) }),
91
- V ? /* @__PURE__ */ se(
92
- Je,
93
- {
94
- "aria-hidden": !0,
95
- required: T,
96
- tabIndex: -1,
97
- name: g,
98
- autoComplete: C,
99
- value: K,
100
- onChange: (_) => X(_.target.value),
101
- disabled: E,
102
- form: y,
103
- children: [
104
- K === void 0 ? /* @__PURE__ */ p("option", { value: "" }) : null,
105
- Array.from(G)
106
- ]
107
- },
108
- U
109
- ) : null
110
- ]
111
- }
112
- ) });
113
- };
114
- Ne.displayName = J;
115
- var Me = "SelectTrigger", Ae = t.forwardRef(
116
- (o, s) => {
117
- const { __scopeSelect: e, disabled: i = !1, ...l } = o, d = ue(e), n = j(Me, e), r = n.disabled || i, c = k(s, n.onTriggerChange), f = de(e), g = t.useRef("touch"), [C, E, T] = et((a) => {
118
- const h = f().filter((v) => !v.disabled), S = h.find((v) => v.value === n.value), m = tt(h, a, S);
119
- m !== void 0 && n.onValueChange(m.value);
120
- }), y = (a) => {
121
- r || (n.onOpenChange(!0), T()), a && (n.triggerPointerDownPosRef.current = {
122
- x: Math.round(a.pageX),
123
- y: Math.round(a.pageY)
124
- });
125
- };
126
- return /* @__PURE__ */ p(at, { asChild: !0, ...d, children: /* @__PURE__ */ p(
127
- M.button,
128
- {
129
- type: "button",
130
- role: "combobox",
131
- "aria-controls": n.contentId,
132
- "aria-expanded": n.open,
133
- "aria-required": n.required,
134
- "aria-autocomplete": "none",
135
- dir: n.dir,
136
- "data-state": n.open ? "open" : "closed",
137
- disabled: r,
138
- "data-disabled": r ? "" : void 0,
139
- "data-placeholder": Qe(n.value) ? "" : void 0,
140
- ...l,
141
- ref: c,
142
- onClick: R(l.onClick, (a) => {
143
- a.currentTarget.focus(), g.current !== "mouse" && y(a);
144
- }),
145
- onPointerDown: R(l.onPointerDown, (a) => {
146
- g.current = a.pointerType;
147
- const h = a.target;
148
- h.hasPointerCapture(a.pointerId) && h.releasePointerCapture(a.pointerId), a.button === 0 && a.ctrlKey === !1 && a.pointerType === "mouse" && (y(a), a.preventDefault());
149
- }),
150
- onKeyDown: R(l.onKeyDown, (a) => {
151
- const h = C.current !== "";
152
- !(a.ctrlKey || a.altKey || a.metaKey) && a.key.length === 1 && E(a.key), !(h && a.key === " ") && wt.includes(a.key) && (y(), a.preventDefault());
153
- })
154
- }
155
- ) });
156
- }
157
- );
158
- Ae.displayName = Me;
159
- var Oe = "SelectValue", De = t.forwardRef(
160
- (o, s) => {
161
- const { __scopeSelect: e, className: i, style: l, children: d, placeholder: n = "", ...r } = o, c = j(Oe, e), { onValueNodeHasChildrenChange: f } = c, g = d !== void 0, C = k(s, c.onValueNodeChange);
162
- return Y(() => {
163
- f(g);
164
- }, [f, g]), /* @__PURE__ */ p(
165
- M.span,
166
- {
167
- ...r,
168
- ref: C,
169
- style: { pointerEvents: "none" },
170
- children: Qe(c.value) ? /* @__PURE__ */ p(Te, { children: n }) : d
171
- }
172
- );
173
- }
174
- );
175
- De.displayName = Oe;
176
- var Pt = "SelectIcon", Le = t.forwardRef(
177
- (o, s) => {
178
- const { __scopeSelect: e, children: i, ...l } = o;
179
- return /* @__PURE__ */ p(M.span, { "aria-hidden": !0, ...l, ref: s, children: i || "▼" });
180
- }
181
- );
182
- Le.displayName = Pt;
183
- var Rt = "SelectPortal", ke = (o) => /* @__PURE__ */ p(pt, { asChild: !0, ...o });
184
- ke.displayName = Rt;
185
- var Q = "SelectContent", Be = t.forwardRef(
186
- (o, s) => {
187
- const e = j(Q, o.__scopeSelect), [i, l] = t.useState();
188
- if (Y(() => {
189
- l(new DocumentFragment());
190
- }, []), !e.open) {
191
- const d = i;
192
- return d ? be.createPortal(
193
- /* @__PURE__ */ p(Ve, { scope: o.__scopeSelect, children: /* @__PURE__ */ p(ae.Slot, { scope: o.__scopeSelect, children: /* @__PURE__ */ p("div", { children: o.children }) }) }),
194
- d
195
- ) : null;
196
- }
197
- return /* @__PURE__ */ p(He, { ...o, ref: s });
198
- }
199
- );
200
- Be.displayName = Q;
201
- var O = 10, [Ve, q] = te(Q), Et = "SelectContentImpl", bt = ft("SelectContent.RemoveScroll"), He = t.forwardRef(
202
- (o, s) => {
203
- const {
204
- __scopeSelect: e,
205
- position: i = "item-aligned",
206
- onCloseAutoFocus: l,
207
- onEscapeKeyDown: d,
208
- onPointerDownOutside: n,
209
- //
210
- // PopperContent props
211
- side: r,
212
- sideOffset: c,
213
- align: f,
214
- alignOffset: g,
215
- arrowPadding: C,
216
- collisionBoundary: E,
217
- collisionPadding: T,
218
- sticky: y,
219
- hideWhenDetached: a,
220
- avoidCollisions: h,
221
- //
222
- ...S
223
- } = o, m = j(Q, e), [v, F] = t.useState(null), [A, oe] = t.useState(null), b = k(s, (u) => F(u)), [D, K] = t.useState(null), [X, B] = t.useState(
224
- null
225
- ), V = de(e), [G, H] = t.useState(!1), U = t.useRef(!1);
226
- t.useEffect(() => {
227
- if (v) return gt(v);
228
- }, [v]), ct();
229
- const _ = t.useCallback(
230
- (u) => {
231
- const [I, ...N] = V().map((P) => P.ref.current), [w] = N.slice(-1), x = document.activeElement;
232
- for (const P of u)
233
- if (P === x || (P?.scrollIntoView({ block: "nearest" }), P === I && A && (A.scrollTop = 0), P === w && A && (A.scrollTop = A.scrollHeight), P?.focus(), document.activeElement !== x)) return;
234
- },
235
- [V, A]
236
- ), L = t.useCallback(
237
- () => _([D, v]),
238
- [_, D, v]
239
- );
240
- t.useEffect(() => {
241
- G && L();
242
- }, [G, L]);
243
- const { onOpenChange: W, triggerPointerDownPosRef: z } = m;
244
- t.useEffect(() => {
245
- if (v) {
246
- let u = { x: 0, y: 0 };
247
- const I = (w) => {
248
- u = {
249
- x: Math.abs(Math.round(w.pageX) - (z.current?.x ?? 0)),
250
- y: Math.abs(Math.round(w.pageY) - (z.current?.y ?? 0))
251
- };
252
- }, N = (w) => {
253
- u.x <= 10 && u.y <= 10 ? w.preventDefault() : v.contains(w.target) || W(!1), document.removeEventListener("pointermove", I), z.current = null;
254
- };
255
- return z.current !== null && (document.addEventListener("pointermove", I), document.addEventListener("pointerup", N, { capture: !0, once: !0 })), () => {
256
- document.removeEventListener("pointermove", I), document.removeEventListener("pointerup", N, { capture: !0 });
257
- };
258
- }
259
- }, [v, W, z]), t.useEffect(() => {
260
- const u = () => W(!1);
261
- return window.addEventListener("blur", u), window.addEventListener("resize", u), () => {
262
- window.removeEventListener("blur", u), window.removeEventListener("resize", u);
263
- };
264
- }, [W]);
265
- const [pe, le] = et((u) => {
266
- const I = V().filter((x) => !x.disabled), N = I.find((x) => x.ref.current === document.activeElement), w = tt(I, u, N);
267
- w && setTimeout(() => w.ref.current.focus());
268
- }), fe = t.useCallback(
269
- (u, I, N) => {
270
- const w = !U.current && !N;
271
- (m.value !== void 0 && m.value === I || w) && (K(u), w && (U.current = !0));
272
- },
273
- [m.value]
274
- ), me = t.useCallback(() => v?.focus(), [v]), ee = t.useCallback(
275
- (u, I, N) => {
276
- const w = !U.current && !N;
277
- (m.value !== void 0 && m.value === I || w) && B(u);
278
- },
279
- [m.value]
280
- ), ce = i === "popper" ? Se : Ue, ne = ce === Se ? {
281
- side: r,
282
- sideOffset: c,
283
- align: f,
284
- alignOffset: g,
285
- arrowPadding: C,
286
- collisionBoundary: E,
287
- collisionPadding: T,
288
- sticky: y,
289
- hideWhenDetached: a,
290
- avoidCollisions: h
291
- } : {};
292
- return /* @__PURE__ */ p(
293
- Ve,
294
- {
295
- scope: e,
296
- content: v,
297
- viewport: A,
298
- onViewportChange: oe,
299
- itemRefCallback: fe,
300
- selectedItem: D,
301
- onItemLeave: me,
302
- itemTextRefCallback: ee,
303
- focusSelectedItem: L,
304
- selectedItemText: X,
305
- position: i,
306
- isPositioned: G,
307
- searchRef: pe,
308
- children: /* @__PURE__ */ p(St, { as: bt, allowPinchZoom: !0, children: /* @__PURE__ */ p(
309
- st,
310
- {
311
- asChild: !0,
312
- trapped: m.open,
313
- onMountAutoFocus: (u) => {
314
- u.preventDefault();
315
- },
316
- onUnmountAutoFocus: R(l, (u) => {
317
- m.trigger?.focus({ preventScroll: !0 }), u.preventDefault();
318
- }),
319
- children: /* @__PURE__ */ p(
320
- lt,
321
- {
322
- asChild: !0,
323
- disableOutsidePointerEvents: !0,
324
- onEscapeKeyDown: d,
325
- onPointerDownOutside: n,
326
- onFocusOutside: (u) => u.preventDefault(),
327
- onDismiss: () => m.onOpenChange(!1),
328
- children: /* @__PURE__ */ p(
329
- ce,
330
- {
331
- role: "listbox",
332
- id: m.contentId,
333
- "data-state": m.open ? "open" : "closed",
334
- dir: m.dir,
335
- onContextMenu: (u) => u.preventDefault(),
336
- ...S,
337
- ...ne,
338
- onPlaced: () => H(!0),
339
- ref: b,
340
- style: {
341
- // flex layout so we can place the scroll buttons properly
342
- display: "flex",
343
- flexDirection: "column",
344
- // reset the outline by default as the content MAY get focused
345
- outline: "none",
346
- ...S.style
347
- },
348
- onKeyDown: R(S.onKeyDown, (u) => {
349
- const I = u.ctrlKey || u.altKey || u.metaKey;
350
- if (u.key === "Tab" && u.preventDefault(), !I && u.key.length === 1 && le(u.key), ["ArrowUp", "ArrowDown", "Home", "End"].includes(u.key)) {
351
- let w = V().filter((x) => !x.disabled).map((x) => x.ref.current);
352
- if (["ArrowUp", "End"].includes(u.key) && (w = w.slice().reverse()), ["ArrowUp", "ArrowDown"].includes(u.key)) {
353
- const x = u.target, P = w.indexOf(x);
354
- w = w.slice(P + 1);
355
- }
356
- setTimeout(() => _(w)), u.preventDefault();
357
- }
358
- })
359
- }
360
- )
361
- }
362
- )
363
- }
364
- ) })
365
- }
366
- );
367
- }
368
- );
369
- He.displayName = Et;
370
- var _t = "SelectItemAlignedPosition", Ue = t.forwardRef((o, s) => {
371
- const { __scopeSelect: e, onPlaced: i, ...l } = o, d = j(Q, e), n = q(Q, e), [r, c] = t.useState(null), [f, g] = t.useState(null), C = k(s, (b) => g(b)), E = de(e), T = t.useRef(!1), y = t.useRef(!0), { viewport: a, selectedItem: h, selectedItemText: S, focusSelectedItem: m } = n, v = t.useCallback(() => {
372
- if (d.trigger && d.valueNode && r && f && a && h && S) {
373
- const b = d.trigger.getBoundingClientRect(), D = f.getBoundingClientRect(), K = d.valueNode.getBoundingClientRect(), X = S.getBoundingClientRect();
374
- if (d.dir !== "rtl") {
375
- const x = X.left - D.left, P = K.left - x, Z = b.left - P, $ = b.width + Z, he = Math.max($, D.width), ve = window.innerWidth - O, ge = Re(P, [
376
- O,
377
- // Prevents the content from going off the starting edge of the
378
- // viewport. It may still go off the ending edge, but this can be
379
- // controlled by the user since they may want to manage overflow in a
380
- // specific way.
381
- // https://github.com/radix-ui/primitives/issues/2049
382
- Math.max(O, ve - he)
383
- ]);
384
- r.style.minWidth = $ + "px", r.style.left = ge + "px";
385
- } else {
386
- const x = D.right - X.right, P = window.innerWidth - K.right - x, Z = window.innerWidth - b.right - P, $ = b.width + Z, he = Math.max($, D.width), ve = window.innerWidth - O, ge = Re(P, [
387
- O,
388
- Math.max(O, ve - he)
389
- ]);
390
- r.style.minWidth = $ + "px", r.style.right = ge + "px";
391
- }
392
- const B = E(), V = window.innerHeight - O * 2, G = a.scrollHeight, H = window.getComputedStyle(f), U = parseInt(H.borderTopWidth, 10), _ = parseInt(H.paddingTop, 10), L = parseInt(H.borderBottomWidth, 10), W = parseInt(H.paddingBottom, 10), z = U + _ + G + W + L, pe = Math.min(h.offsetHeight * 5, z), le = window.getComputedStyle(a), fe = parseInt(le.paddingTop, 10), me = parseInt(le.paddingBottom, 10), ee = b.top + b.height / 2 - O, ce = V - ee, ne = h.offsetHeight / 2, u = h.offsetTop + ne, I = U + _ + u, N = z - I;
393
- if (I <= ee) {
394
- const x = B.length > 0 && h === B[B.length - 1].ref.current;
395
- r.style.bottom = "0px";
396
- const P = f.clientHeight - a.offsetTop - a.offsetHeight, Z = Math.max(
397
- ce,
398
- ne + // viewport might have padding bottom, include it to avoid a scrollable viewport
399
- (x ? me : 0) + P + L
400
- ), $ = I + Z;
401
- r.style.height = $ + "px";
402
- } else {
403
- const x = B.length > 0 && h === B[0].ref.current;
404
- r.style.top = "0px";
405
- const Z = Math.max(
406
- ee,
407
- U + a.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport
408
- (x ? fe : 0) + ne
409
- ) + N;
410
- r.style.height = Z + "px", a.scrollTop = I - ee + a.offsetTop;
411
- }
412
- r.style.margin = `${O}px 0`, r.style.minHeight = pe + "px", r.style.maxHeight = V + "px", i?.(), requestAnimationFrame(() => T.current = !0);
413
- }
414
- }, [
415
- E,
416
- d.trigger,
417
- d.valueNode,
418
- r,
419
- f,
420
- a,
421
- h,
422
- S,
423
- d.dir,
424
- i
425
- ]);
426
- Y(() => v(), [v]);
427
- const [F, A] = t.useState();
428
- Y(() => {
429
- f && A(window.getComputedStyle(f).zIndex);
430
- }, [f]);
431
- const oe = t.useCallback(
432
- (b) => {
433
- b && y.current === !0 && (v(), m?.(), y.current = !1);
434
- },
435
- [v, m]
436
- );
437
- return /* @__PURE__ */ p(
438
- Mt,
439
- {
440
- scope: e,
441
- contentWrapper: r,
442
- shouldExpandOnScrollRef: T,
443
- onScrollButtonChange: oe,
444
- children: /* @__PURE__ */ p(
445
- "div",
446
- {
447
- ref: c,
448
- style: {
449
- display: "flex",
450
- flexDirection: "column",
451
- position: "fixed",
452
- zIndex: F
453
- },
454
- children: /* @__PURE__ */ p(
455
- M.div,
456
- {
457
- ...l,
458
- ref: C,
459
- style: {
460
- // When we get the height of the content, it includes borders. If we were to set
461
- // the height without having `boxSizing: 'border-box'` it would be too big.
462
- boxSizing: "border-box",
463
- // We need to ensure the content doesn't get taller than the wrapper
464
- maxHeight: "100%",
465
- ...l.style
466
- }
467
- }
468
- )
469
- }
470
- )
471
- }
472
- );
473
- });
474
- Ue.displayName = _t;
475
- var Nt = "SelectPopperPosition", Se = t.forwardRef((o, s) => {
476
- const {
477
- __scopeSelect: e,
478
- align: i = "start",
479
- collisionPadding: l = O,
480
- ...d
481
- } = o, n = ue(e);
482
- return /* @__PURE__ */ p(
483
- dt,
484
- {
485
- ...n,
486
- ...d,
487
- ref: s,
488
- align: i,
489
- collisionPadding: l,
490
- style: {
491
- // Ensure border-box for floating-ui calculations
492
- boxSizing: "border-box",
493
- ...d.style,
494
- "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
495
- "--radix-select-content-available-width": "var(--radix-popper-available-width)",
496
- "--radix-select-content-available-height": "var(--radix-popper-available-height)",
497
- "--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
498
- "--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
499
- }
500
- }
501
- );
502
- });
503
- Se.displayName = Nt;
504
- var [Mt, Pe] = te(Q, {}), we = "SelectViewport", We = t.forwardRef(
505
- (o, s) => {
506
- const { __scopeSelect: e, nonce: i, ...l } = o, d = q(we, e), n = Pe(we, e), r = k(s, d.onViewportChange), c = t.useRef(0);
507
- return /* @__PURE__ */ se(Te, { children: [
508
- /* @__PURE__ */ p(
509
- "style",
510
- {
511
- dangerouslySetInnerHTML: {
512
- __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"
513
- },
514
- nonce: i
515
- }
516
- ),
517
- /* @__PURE__ */ p(ae.Slot, { scope: e, children: /* @__PURE__ */ p(
518
- M.div,
519
- {
520
- "data-radix-select-viewport": "",
521
- role: "presentation",
522
- ...l,
523
- ref: r,
524
- style: {
525
- // we use position: 'relative' here on the `viewport` so that when we call
526
- // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
527
- // (independent of the scrollUpButton).
528
- position: "relative",
529
- flex: 1,
530
- // Viewport should only be scrollable in the vertical direction.
531
- // This won't work in vertical writing modes, so we'll need to
532
- // revisit this if/when that is supported
533
- // https://developer.chrome.com/blog/vertical-form-controls
534
- overflow: "hidden auto",
535
- ...l.style
536
- },
537
- onScroll: R(l.onScroll, (f) => {
538
- const g = f.currentTarget, { contentWrapper: C, shouldExpandOnScrollRef: E } = n;
539
- if (E?.current && C) {
540
- const T = Math.abs(c.current - g.scrollTop);
541
- if (T > 0) {
542
- const y = window.innerHeight - O * 2, a = parseFloat(C.style.minHeight), h = parseFloat(C.style.height), S = Math.max(a, h);
543
- if (S < y) {
544
- const m = S + T, v = Math.min(y, m), F = m - v;
545
- C.style.height = v + "px", C.style.bottom === "0px" && (g.scrollTop = F > 0 ? F : 0, C.style.justifyContent = "flex-end");
546
- }
547
- }
548
- }
549
- c.current = g.scrollTop;
550
- })
551
- }
552
- ) })
553
- ] });
554
- }
555
- );
556
- We.displayName = we;
557
- var Fe = "SelectGroup", [At, Ot] = te(Fe), Dt = t.forwardRef(
558
- (o, s) => {
559
- const { __scopeSelect: e, ...i } = o, l = Ie();
560
- return /* @__PURE__ */ p(At, { scope: e, id: l, children: /* @__PURE__ */ p(M.div, { role: "group", "aria-labelledby": l, ...i, ref: s }) });
561
- }
562
- );
563
- Dt.displayName = Fe;
564
- var Ke = "SelectLabel", Lt = t.forwardRef(
565
- (o, s) => {
566
- const { __scopeSelect: e, ...i } = o, l = Ot(Ke, e);
567
- return /* @__PURE__ */ p(M.div, { id: l.id, ...i, ref: s });
568
- }
569
- );
570
- Lt.displayName = Ke;
571
- var ie = "SelectItem", [kt, Ge] = te(ie), ze = t.forwardRef(
572
- (o, s) => {
573
- const {
574
- __scopeSelect: e,
575
- value: i,
576
- disabled: l = !1,
577
- textValue: d,
578
- ...n
579
- } = o, r = j(ie, e), c = q(ie, e), f = r.value === i, [g, C] = t.useState(d ?? ""), [E, T] = t.useState(!1), y = k(
580
- s,
581
- (m) => c.itemRefCallback?.(m, i, l)
582
- ), a = Ie(), h = t.useRef("touch"), S = () => {
583
- l || (r.onValueChange(i), r.onOpenChange(!1));
584
- };
585
- if (i === "")
586
- throw new Error(
587
- "A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder."
588
- );
589
- return /* @__PURE__ */ p(
590
- kt,
591
- {
592
- scope: e,
593
- value: i,
594
- disabled: l,
595
- textId: a,
596
- isSelected: f,
597
- onItemTextChange: t.useCallback((m) => {
598
- C((v) => v || (m?.textContent ?? "").trim());
599
- }, []),
600
- children: /* @__PURE__ */ p(
601
- ae.ItemSlot,
602
- {
603
- scope: e,
604
- value: i,
605
- disabled: l,
606
- textValue: g,
607
- children: /* @__PURE__ */ p(
608
- M.div,
609
- {
610
- role: "option",
611
- "aria-labelledby": a,
612
- "data-highlighted": E ? "" : void 0,
613
- "aria-selected": f && E,
614
- "data-state": f ? "checked" : "unchecked",
615
- "aria-disabled": l || void 0,
616
- "data-disabled": l ? "" : void 0,
617
- tabIndex: l ? void 0 : -1,
618
- ...n,
619
- ref: y,
620
- onFocus: R(n.onFocus, () => T(!0)),
621
- onBlur: R(n.onBlur, () => T(!1)),
622
- onClick: R(n.onClick, () => {
623
- h.current !== "mouse" && S();
624
- }),
625
- onPointerUp: R(n.onPointerUp, () => {
626
- h.current === "mouse" && S();
627
- }),
628
- onPointerDown: R(n.onPointerDown, (m) => {
629
- h.current = m.pointerType;
630
- }),
631
- onPointerMove: R(n.onPointerMove, (m) => {
632
- h.current = m.pointerType, l ? c.onItemLeave?.() : h.current === "mouse" && m.currentTarget.focus({ preventScroll: !0 });
633
- }),
634
- onPointerLeave: R(n.onPointerLeave, (m) => {
635
- m.currentTarget === document.activeElement && c.onItemLeave?.();
636
- }),
637
- onKeyDown: R(n.onKeyDown, (m) => {
638
- c.searchRef?.current !== "" && m.key === " " || (Ct.includes(m.key) && S(), m.key === " " && m.preventDefault());
639
- })
640
- }
641
- )
642
- }
643
- )
644
- }
645
- );
646
- }
647
- );
648
- ze.displayName = ie;
649
- var re = "SelectItemText", Ye = t.forwardRef(
650
- (o, s) => {
651
- const { __scopeSelect: e, className: i, style: l, ...d } = o, n = j(re, e), r = q(re, e), c = Ge(re, e), f = Tt(re, e), [g, C] = t.useState(null), E = k(
652
- s,
653
- (S) => C(S),
654
- c.onItemTextChange,
655
- (S) => r.itemTextRefCallback?.(S, c.value, c.disabled)
656
- ), T = g?.textContent, y = t.useMemo(
657
- () => /* @__PURE__ */ p("option", { value: c.value, disabled: c.disabled, children: T }, c.value),
658
- [c.disabled, c.value, T]
659
- ), { onNativeOptionAdd: a, onNativeOptionRemove: h } = f;
660
- return Y(() => (a(y), () => h(y)), [a, h, y]), /* @__PURE__ */ se(Te, { children: [
661
- /* @__PURE__ */ p(M.span, { id: c.textId, ...d, ref: E }),
662
- c.isSelected && n.valueNode && !n.valueNodeHasChildren ? be.createPortal(d.children, n.valueNode) : null
663
- ] });
664
- }
665
- );
666
- Ye.displayName = re;
667
- var je = "SelectItemIndicator", qe = t.forwardRef(
668
- (o, s) => {
669
- const { __scopeSelect: e, ...i } = o;
670
- return Ge(je, e).isSelected ? /* @__PURE__ */ p(M.span, { "aria-hidden": !0, ...i, ref: s }) : null;
671
- }
672
- );
673
- qe.displayName = je;
674
- var Ce = "SelectScrollUpButton", Xe = t.forwardRef((o, s) => {
675
- const e = q(Ce, o.__scopeSelect), i = Pe(Ce, o.__scopeSelect), [l, d] = t.useState(!1), n = k(s, i.onScrollButtonChange);
676
- return Y(() => {
677
- if (e.viewport && e.isPositioned) {
678
- let r = function() {
679
- const f = c.scrollTop > 0;
680
- d(f);
681
- };
682
- const c = e.viewport;
683
- return r(), c.addEventListener("scroll", r), () => c.removeEventListener("scroll", r);
684
- }
685
- }, [e.viewport, e.isPositioned]), l ? /* @__PURE__ */ p(
686
- $e,
687
- {
688
- ...o,
689
- ref: n,
690
- onAutoScroll: () => {
691
- const { viewport: r, selectedItem: c } = e;
692
- r && c && (r.scrollTop = r.scrollTop - c.offsetHeight);
693
- }
694
- }
695
- ) : null;
696
- });
697
- Xe.displayName = Ce;
698
- var xe = "SelectScrollDownButton", Ze = t.forwardRef((o, s) => {
699
- const e = q(xe, o.__scopeSelect), i = Pe(xe, o.__scopeSelect), [l, d] = t.useState(!1), n = k(s, i.onScrollButtonChange);
700
- return Y(() => {
701
- if (e.viewport && e.isPositioned) {
702
- let r = function() {
703
- const f = c.scrollHeight - c.clientHeight, g = Math.ceil(c.scrollTop) < f;
704
- d(g);
705
- };
706
- const c = e.viewport;
707
- return r(), c.addEventListener("scroll", r), () => c.removeEventListener("scroll", r);
708
- }
709
- }, [e.viewport, e.isPositioned]), l ? /* @__PURE__ */ p(
710
- $e,
711
- {
712
- ...o,
713
- ref: n,
714
- onAutoScroll: () => {
715
- const { viewport: r, selectedItem: c } = e;
716
- r && c && (r.scrollTop = r.scrollTop + c.offsetHeight);
717
- }
718
- }
719
- ) : null;
720
- });
721
- Ze.displayName = xe;
722
- var $e = t.forwardRef((o, s) => {
723
- const { __scopeSelect: e, onAutoScroll: i, ...l } = o, d = q("SelectScrollButton", e), n = t.useRef(null), r = de(e), c = t.useCallback(() => {
724
- n.current !== null && (window.clearInterval(n.current), n.current = null);
725
- }, []);
726
- return t.useEffect(() => () => c(), [c]), Y(() => {
727
- r().find((g) => g.ref.current === document.activeElement)?.ref.current?.scrollIntoView({ block: "nearest" });
728
- }, [r]), /* @__PURE__ */ p(
729
- M.div,
730
- {
731
- "aria-hidden": !0,
732
- ...l,
733
- ref: s,
734
- style: { flexShrink: 0, ...l.style },
735
- onPointerDown: R(l.onPointerDown, () => {
736
- n.current === null && (n.current = window.setInterval(i, 50));
737
- }),
738
- onPointerMove: R(l.onPointerMove, () => {
739
- d.onItemLeave?.(), n.current === null && (n.current = window.setInterval(i, 50));
740
- }),
741
- onPointerLeave: R(l.onPointerLeave, () => {
742
- c();
743
- })
744
- }
745
- );
746
- }), Bt = "SelectSeparator", Vt = t.forwardRef(
747
- (o, s) => {
748
- const { __scopeSelect: e, ...i } = o;
749
- return /* @__PURE__ */ p(M.div, { "aria-hidden": !0, ...i, ref: s });
750
- }
751
- );
752
- Vt.displayName = Bt;
753
- var ye = "SelectArrow", Ht = t.forwardRef(
754
- (o, s) => {
755
- const { __scopeSelect: e, ...i } = o, l = ue(e), d = j(ye, e), n = q(ye, e);
756
- return d.open && n.position === "popper" ? /* @__PURE__ */ p(ut, { ...l, ...i, ref: s }) : null;
757
- }
758
- );
759
- Ht.displayName = ye;
760
- var Ut = "SelectBubbleInput", Je = t.forwardRef(
761
- ({ __scopeSelect: o, value: s, ...e }, i) => {
762
- const l = t.useRef(null), d = k(i, l), n = ht(s);
763
- return t.useEffect(() => {
764
- const r = l.current;
765
- if (!r) return;
766
- const c = window.HTMLSelectElement.prototype, g = Object.getOwnPropertyDescriptor(
767
- c,
768
- "value"
769
- ).set;
770
- if (n !== s && g) {
771
- const C = new Event("change", { bubbles: !0 });
772
- g.call(r, s), r.dispatchEvent(C);
773
- }
774
- }, [n, s]), /* @__PURE__ */ p(
775
- M.select,
776
- {
777
- ...e,
778
- style: { ...vt, ...e.style },
779
- ref: d,
780
- defaultValue: s
781
- }
782
- );
783
- }
784
- );
785
- Je.displayName = Ut;
786
- function Qe(o) {
787
- return o === "" || o === void 0;
788
- }
789
- function et(o) {
790
- const s = mt(o), e = t.useRef(""), i = t.useRef(0), l = t.useCallback(
791
- (n) => {
792
- const r = e.current + n;
793
- s(r), (function c(f) {
794
- e.current = f, window.clearTimeout(i.current), f !== "" && (i.current = window.setTimeout(() => c(""), 1e3));
795
- })(r);
796
- },
797
- [s]
798
- ), d = t.useCallback(() => {
799
- e.current = "", window.clearTimeout(i.current);
800
- }, []);
801
- return t.useEffect(() => () => window.clearTimeout(i.current), []), [e, l, d];
802
- }
803
- function tt(o, s, e) {
804
- const l = s.length > 1 && Array.from(s).every((f) => f === s[0]) ? s[0] : s, d = e ? o.indexOf(e) : -1;
805
- let n = Wt(o, Math.max(d, 0));
806
- l.length === 1 && (n = n.filter((f) => f !== e));
807
- const c = n.find(
808
- (f) => f.textValue.toLowerCase().startsWith(l.toLowerCase())
809
- );
810
- return c !== e ? c : void 0;
811
- }
812
- function Wt(o, s) {
813
- return o.map((e, i) => o[(s + i) % o.length]);
814
- }
815
- var uo = Ne, po = Ae, fo = De, mo = Le, ho = ke, vo = Be, go = We, So = ze, wo = Ye, Co = qe, xo = Xe, yo = Ze;
816
- export {
817
- vo as Content,
818
- mo as Icon,
819
- So as Item,
820
- Co as ItemIndicator,
821
- wo as ItemText,
822
- ho as Portal,
823
- uo as Root,
824
- yo as ScrollDownButton,
825
- xo as ScrollUpButton,
826
- Ne as Select,
827
- Ht as SelectArrow,
828
- Be as SelectContent,
829
- Dt as SelectGroup,
830
- Le as SelectIcon,
831
- ze as SelectItem,
832
- qe as SelectItemIndicator,
833
- Ye as SelectItemText,
834
- Lt as SelectLabel,
835
- ke as SelectPortal,
836
- Ze as SelectScrollDownButton,
837
- Xe as SelectScrollUpButton,
838
- Vt as SelectSeparator,
839
- Ae as SelectTrigger,
840
- De as SelectValue,
841
- We as SelectViewport,
842
- po as Trigger,
843
- fo as Value,
844
- go as Viewport
845
- };