@golocalinteractive/golocal-cloud-wrapper 1.0.54 → 1.0.56

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 (312) hide show
  1. package/dist/golocal-cloud-wrapper.css +2 -1
  2. package/dist/golocal-cloud-wrapper.es.js +88 -17632
  3. package/dist/golocal-cloud-wrapper.es10.js +66 -0
  4. package/dist/golocal-cloud-wrapper.es100.js +4 -0
  5. package/dist/golocal-cloud-wrapper.es101.js +62 -0
  6. package/dist/golocal-cloud-wrapper.es102.js +77 -0
  7. package/dist/golocal-cloud-wrapper.es103.js +4 -0
  8. package/dist/golocal-cloud-wrapper.es104.js +41 -0
  9. package/dist/golocal-cloud-wrapper.es105.js +4 -0
  10. package/dist/golocal-cloud-wrapper.es106.js +106 -0
  11. package/dist/golocal-cloud-wrapper.es107.js +148 -0
  12. package/dist/golocal-cloud-wrapper.es108.js +28 -0
  13. package/dist/golocal-cloud-wrapper.es109.js +51 -0
  14. package/dist/golocal-cloud-wrapper.es11.js +233 -0
  15. package/dist/golocal-cloud-wrapper.es110.js +25 -0
  16. package/dist/golocal-cloud-wrapper.es111.js +30 -0
  17. package/dist/golocal-cloud-wrapper.es112.js +82 -0
  18. package/dist/golocal-cloud-wrapper.es113.js +125 -0
  19. package/dist/golocal-cloud-wrapper.es114.js +39 -0
  20. package/dist/golocal-cloud-wrapper.es115.js +38 -0
  21. package/dist/golocal-cloud-wrapper.es116.js +7 -0
  22. package/dist/golocal-cloud-wrapper.es117.js +4 -0
  23. package/dist/golocal-cloud-wrapper.es118.js +4 -0
  24. package/dist/golocal-cloud-wrapper.es119.js +4 -0
  25. package/dist/golocal-cloud-wrapper.es12.js +23 -0
  26. package/dist/golocal-cloud-wrapper.es120.js +208 -0
  27. package/dist/golocal-cloud-wrapper.es121.js +145 -0
  28. package/dist/golocal-cloud-wrapper.es122.js +58 -0
  29. package/dist/golocal-cloud-wrapper.es123.js +34 -0
  30. package/dist/golocal-cloud-wrapper.es124.js +4 -0
  31. package/dist/golocal-cloud-wrapper.es125.js +39 -0
  32. package/dist/golocal-cloud-wrapper.es126.js +4 -0
  33. package/dist/golocal-cloud-wrapper.es127.js +4 -0
  34. package/dist/golocal-cloud-wrapper.es128.js +224 -0
  35. package/dist/golocal-cloud-wrapper.es129.js +4 -0
  36. package/dist/golocal-cloud-wrapper.es13.js +24 -0
  37. package/dist/golocal-cloud-wrapper.es130.js +4 -0
  38. package/dist/golocal-cloud-wrapper.es131.js +35 -0
  39. package/dist/golocal-cloud-wrapper.es132.js +4 -0
  40. package/dist/golocal-cloud-wrapper.es133.js +23 -0
  41. package/dist/golocal-cloud-wrapper.es134.js +123 -0
  42. package/dist/golocal-cloud-wrapper.es135.js +469 -0
  43. package/dist/golocal-cloud-wrapper.es136.js +46 -0
  44. package/dist/golocal-cloud-wrapper.es137.js +71 -0
  45. package/dist/golocal-cloud-wrapper.es138.js +66 -0
  46. package/dist/golocal-cloud-wrapper.es139.js +4 -0
  47. package/dist/golocal-cloud-wrapper.es14.js +115 -0
  48. package/dist/golocal-cloud-wrapper.es140.js +27 -0
  49. package/dist/golocal-cloud-wrapper.es141.js +66 -0
  50. package/dist/golocal-cloud-wrapper.es142.js +27 -0
  51. package/dist/golocal-cloud-wrapper.es143.js +5 -0
  52. package/dist/golocal-cloud-wrapper.es144.js +650 -0
  53. package/dist/golocal-cloud-wrapper.es145.js +301 -0
  54. package/dist/golocal-cloud-wrapper.es146.js +90 -0
  55. package/dist/golocal-cloud-wrapper.es147.js +83 -0
  56. package/dist/golocal-cloud-wrapper.es148.js +65 -0
  57. package/dist/golocal-cloud-wrapper.es149.js +1230 -0
  58. package/dist/golocal-cloud-wrapper.es15.js +641 -0
  59. package/dist/golocal-cloud-wrapper.es150.js +8 -0
  60. package/dist/golocal-cloud-wrapper.es151.js +15 -0
  61. package/dist/golocal-cloud-wrapper.es152.js +139 -0
  62. package/dist/golocal-cloud-wrapper.es153.js +23 -0
  63. package/dist/golocal-cloud-wrapper.es154.js +132 -0
  64. package/dist/golocal-cloud-wrapper.es155.js +19 -0
  65. package/dist/golocal-cloud-wrapper.es156.js +37 -0
  66. package/dist/golocal-cloud-wrapper.es157.js +49 -0
  67. package/dist/golocal-cloud-wrapper.es158.js +10 -0
  68. package/dist/golocal-cloud-wrapper.es159.js +5 -0
  69. package/dist/golocal-cloud-wrapper.es16.js +17 -0
  70. package/dist/golocal-cloud-wrapper.es160.js +35 -0
  71. package/dist/golocal-cloud-wrapper.es161.js +174 -0
  72. package/dist/golocal-cloud-wrapper.es162.js +21 -0
  73. package/dist/golocal-cloud-wrapper.es163.js +4 -0
  74. package/dist/golocal-cloud-wrapper.es164.js +330 -0
  75. package/dist/golocal-cloud-wrapper.es165.js +4 -0
  76. package/dist/golocal-cloud-wrapper.es166.js +34 -0
  77. package/dist/golocal-cloud-wrapper.es167.js +40 -0
  78. package/dist/golocal-cloud-wrapper.es168.js +30 -0
  79. package/dist/golocal-cloud-wrapper.es169.js +62 -0
  80. package/dist/golocal-cloud-wrapper.es17.js +26 -0
  81. package/dist/golocal-cloud-wrapper.es170.js +4 -0
  82. package/dist/golocal-cloud-wrapper.es171.js +340 -0
  83. package/dist/golocal-cloud-wrapper.es172.js +4 -0
  84. package/dist/golocal-cloud-wrapper.es173.js +4 -0
  85. package/dist/golocal-cloud-wrapper.es174.js +4 -0
  86. package/dist/golocal-cloud-wrapper.es175.js +4 -0
  87. package/dist/golocal-cloud-wrapper.es176.js +4 -0
  88. package/dist/golocal-cloud-wrapper.es177.js +24 -0
  89. package/dist/golocal-cloud-wrapper.es178.js +4 -0
  90. package/dist/golocal-cloud-wrapper.es179.js +24 -0
  91. package/dist/golocal-cloud-wrapper.es18.js +5 -0
  92. package/dist/golocal-cloud-wrapper.es180.js +98 -0
  93. package/dist/golocal-cloud-wrapper.es181.js +4 -0
  94. package/dist/golocal-cloud-wrapper.es182.js +46 -0
  95. package/dist/golocal-cloud-wrapper.es183.js +35 -0
  96. package/dist/golocal-cloud-wrapper.es184.js +61 -0
  97. package/dist/golocal-cloud-wrapper.es185.js +4 -0
  98. package/dist/golocal-cloud-wrapper.es186.js +4 -0
  99. package/dist/golocal-cloud-wrapper.es187.js +4 -0
  100. package/dist/golocal-cloud-wrapper.es188.js +23 -0
  101. package/dist/golocal-cloud-wrapper.es189.js +4 -0
  102. package/dist/golocal-cloud-wrapper.es19.js +110 -0
  103. package/dist/golocal-cloud-wrapper.es190.js +4 -0
  104. package/dist/golocal-cloud-wrapper.es191.js +720 -0
  105. package/dist/golocal-cloud-wrapper.es192.js +153 -0
  106. package/dist/golocal-cloud-wrapper.es193.js +166 -0
  107. package/dist/golocal-cloud-wrapper.es194.js +49 -0
  108. package/dist/golocal-cloud-wrapper.es195.js +71 -0
  109. package/dist/golocal-cloud-wrapper.es196.js +25 -0
  110. package/dist/golocal-cloud-wrapper.es197.js +5 -0
  111. package/dist/golocal-cloud-wrapper.es198.js +118 -0
  112. package/dist/golocal-cloud-wrapper.es199.js +16 -0
  113. package/dist/golocal-cloud-wrapper.es20.js +12 -0
  114. package/dist/golocal-cloud-wrapper.es200.js +4 -0
  115. package/dist/golocal-cloud-wrapper.es201.js +429 -0
  116. package/dist/golocal-cloud-wrapper.es202.js +335 -0
  117. package/dist/golocal-cloud-wrapper.es203.js +235 -0
  118. package/dist/golocal-cloud-wrapper.es204.js +38 -0
  119. package/dist/golocal-cloud-wrapper.es205.js +88 -0
  120. package/dist/golocal-cloud-wrapper.es206.js +47 -0
  121. package/dist/golocal-cloud-wrapper.es207.js +13 -0
  122. package/dist/golocal-cloud-wrapper.es208.js +19 -0
  123. package/dist/golocal-cloud-wrapper.es209.js +102 -0
  124. package/dist/golocal-cloud-wrapper.es21.js +185 -0
  125. package/dist/golocal-cloud-wrapper.es210.js +4 -0
  126. package/dist/golocal-cloud-wrapper.es211.js +4 -0
  127. package/dist/golocal-cloud-wrapper.es212.js +24 -0
  128. package/dist/golocal-cloud-wrapper.es213.js +30 -0
  129. package/dist/golocal-cloud-wrapper.es214.js +30 -0
  130. package/dist/golocal-cloud-wrapper.es215.js +34 -0
  131. package/dist/golocal-cloud-wrapper.es216.js +4 -0
  132. package/dist/golocal-cloud-wrapper.es217.js +4 -0
  133. package/dist/golocal-cloud-wrapper.es218.js +48 -0
  134. package/dist/golocal-cloud-wrapper.es219.js +33 -0
  135. package/dist/golocal-cloud-wrapper.es22.js +23 -0
  136. package/dist/golocal-cloud-wrapper.es220.js +30 -0
  137. package/dist/golocal-cloud-wrapper.es221.js +4 -0
  138. package/dist/golocal-cloud-wrapper.es222.js +4 -0
  139. package/dist/golocal-cloud-wrapper.es223.js +78 -0
  140. package/dist/golocal-cloud-wrapper.es224.js +4 -0
  141. package/dist/golocal-cloud-wrapper.es225.js +4 -0
  142. package/dist/golocal-cloud-wrapper.es226.js +4 -0
  143. package/dist/golocal-cloud-wrapper.es227.js +4 -0
  144. package/dist/golocal-cloud-wrapper.es228.js +4 -0
  145. package/dist/golocal-cloud-wrapper.es229.js +24 -0
  146. package/dist/golocal-cloud-wrapper.es23.js +38 -0
  147. package/dist/golocal-cloud-wrapper.es230.js +4 -0
  148. package/dist/golocal-cloud-wrapper.es231.js +4 -0
  149. package/dist/golocal-cloud-wrapper.es232.js +202 -0
  150. package/dist/golocal-cloud-wrapper.es233.js +97 -0
  151. package/dist/golocal-cloud-wrapper.es234.js +4 -0
  152. package/dist/golocal-cloud-wrapper.es235.js +173 -0
  153. package/dist/golocal-cloud-wrapper.es236.js +4 -0
  154. package/dist/golocal-cloud-wrapper.es237.js +21 -0
  155. package/dist/golocal-cloud-wrapper.es238.js +30 -0
  156. package/dist/golocal-cloud-wrapper.es239.js +154 -0
  157. package/dist/golocal-cloud-wrapper.es24.js +16 -0
  158. package/dist/golocal-cloud-wrapper.es240.js +131 -0
  159. package/dist/golocal-cloud-wrapper.es241.js +61 -0
  160. package/dist/golocal-cloud-wrapper.es242.js +42 -0
  161. package/dist/golocal-cloud-wrapper.es243.js +89 -0
  162. package/dist/golocal-cloud-wrapper.es244.js +24 -0
  163. package/dist/golocal-cloud-wrapper.es245.js +19 -0
  164. package/dist/golocal-cloud-wrapper.es246.js +127 -0
  165. package/dist/golocal-cloud-wrapper.es247.js +24 -0
  166. package/dist/golocal-cloud-wrapper.es248.js +33 -0
  167. package/dist/golocal-cloud-wrapper.es249.js +12 -0
  168. package/dist/golocal-cloud-wrapper.es25.js +17 -0
  169. package/dist/golocal-cloud-wrapper.es250.js +24 -0
  170. package/dist/golocal-cloud-wrapper.es251.js +17 -0
  171. package/dist/golocal-cloud-wrapper.es252.js +78 -0
  172. package/dist/golocal-cloud-wrapper.es253.js +19 -0
  173. package/dist/golocal-cloud-wrapper.es254.js +102 -0
  174. package/dist/golocal-cloud-wrapper.es255.js +29 -0
  175. package/dist/golocal-cloud-wrapper.es256.js +151 -0
  176. package/dist/golocal-cloud-wrapper.es257.js +4 -0
  177. package/dist/golocal-cloud-wrapper.es258.js +76 -0
  178. package/dist/golocal-cloud-wrapper.es259.js +92 -0
  179. package/dist/golocal-cloud-wrapper.es26.js +102 -0
  180. package/dist/golocal-cloud-wrapper.es260.js +71 -0
  181. package/dist/golocal-cloud-wrapper.es261.js +124 -0
  182. package/dist/golocal-cloud-wrapper.es262.js +35 -0
  183. package/dist/golocal-cloud-wrapper.es263.js +7 -0
  184. package/dist/golocal-cloud-wrapper.es264.js +23 -0
  185. package/dist/golocal-cloud-wrapper.es265.js +102 -0
  186. package/dist/golocal-cloud-wrapper.es266.js +106 -0
  187. package/dist/golocal-cloud-wrapper.es267.js +4 -0
  188. package/dist/golocal-cloud-wrapper.es268.js +4 -0
  189. package/dist/golocal-cloud-wrapper.es269.js +38 -0
  190. package/dist/golocal-cloud-wrapper.es27.js +45 -0
  191. package/dist/golocal-cloud-wrapper.es270.js +4 -0
  192. package/dist/golocal-cloud-wrapper.es271.js +4 -0
  193. package/dist/golocal-cloud-wrapper.es272.js +4 -0
  194. package/dist/golocal-cloud-wrapper.es273.js +4 -0
  195. package/dist/golocal-cloud-wrapper.es274.js +4 -0
  196. package/dist/golocal-cloud-wrapper.es275.js +4 -0
  197. package/dist/golocal-cloud-wrapper.es276.js +4 -0
  198. package/dist/golocal-cloud-wrapper.es277.js +11 -0
  199. package/dist/golocal-cloud-wrapper.es278.js +29 -0
  200. package/dist/golocal-cloud-wrapper.es279.js +4 -0
  201. package/dist/golocal-cloud-wrapper.es28.js +8 -0
  202. package/dist/golocal-cloud-wrapper.es280.js +4 -0
  203. package/dist/golocal-cloud-wrapper.es281.js +4 -0
  204. package/dist/golocal-cloud-wrapper.es282.js +4 -0
  205. package/dist/golocal-cloud-wrapper.es283.js +5 -0
  206. package/dist/golocal-cloud-wrapper.es284.js +36 -0
  207. package/dist/golocal-cloud-wrapper.es285.js +46 -0
  208. package/dist/golocal-cloud-wrapper.es286.js +55 -0
  209. package/dist/golocal-cloud-wrapper.es287.js +41 -0
  210. package/dist/golocal-cloud-wrapper.es288.js +70 -0
  211. package/dist/golocal-cloud-wrapper.es289.js +20 -0
  212. package/dist/golocal-cloud-wrapper.es29.js +13 -0
  213. package/dist/golocal-cloud-wrapper.es290.js +8 -0
  214. package/dist/golocal-cloud-wrapper.es291.js +4 -0
  215. package/dist/golocal-cloud-wrapper.es292.js +58 -0
  216. package/dist/golocal-cloud-wrapper.es293.js +31 -0
  217. package/dist/golocal-cloud-wrapper.es294.js +6 -0
  218. package/dist/golocal-cloud-wrapper.es295.js +11 -0
  219. package/dist/golocal-cloud-wrapper.es296.js +24 -0
  220. package/dist/golocal-cloud-wrapper.es297.js +32 -0
  221. package/dist/golocal-cloud-wrapper.es298.js +12 -0
  222. package/dist/golocal-cloud-wrapper.es299.js +10 -0
  223. package/dist/golocal-cloud-wrapper.es3.js +22 -0
  224. package/dist/golocal-cloud-wrapper.es30.js +13 -0
  225. package/dist/golocal-cloud-wrapper.es300.js +10 -0
  226. package/dist/golocal-cloud-wrapper.es301.js +159 -0
  227. package/dist/golocal-cloud-wrapper.es302.js +24 -0
  228. package/dist/golocal-cloud-wrapper.es303.js +21 -0
  229. package/dist/golocal-cloud-wrapper.es304.js +16 -0
  230. package/dist/golocal-cloud-wrapper.es305.js +48 -0
  231. package/dist/golocal-cloud-wrapper.es306.js +9 -0
  232. package/dist/golocal-cloud-wrapper.es307.js +37 -0
  233. package/dist/golocal-cloud-wrapper.es308.js +8 -0
  234. package/dist/golocal-cloud-wrapper.es309.js +9 -0
  235. package/dist/golocal-cloud-wrapper.es31.js +299 -0
  236. package/dist/golocal-cloud-wrapper.es310.js +15 -0
  237. package/dist/golocal-cloud-wrapper.es32.js +13 -0
  238. package/dist/golocal-cloud-wrapper.es33.js +13 -0
  239. package/dist/golocal-cloud-wrapper.es34.js +30 -0
  240. package/dist/golocal-cloud-wrapper.es35.js +342 -0
  241. package/dist/golocal-cloud-wrapper.es36.js +16 -0
  242. package/dist/golocal-cloud-wrapper.es37.js +16 -0
  243. package/dist/golocal-cloud-wrapper.es38.js +16 -0
  244. package/dist/golocal-cloud-wrapper.es39.js +491 -0
  245. package/dist/golocal-cloud-wrapper.es4.js +20 -0
  246. package/dist/golocal-cloud-wrapper.es40.js +17 -0
  247. package/dist/golocal-cloud-wrapper.es41.js +4 -0
  248. package/dist/golocal-cloud-wrapper.es42.js +41 -0
  249. package/dist/golocal-cloud-wrapper.es43.js +274 -0
  250. package/dist/golocal-cloud-wrapper.es44.js +4 -0
  251. package/dist/golocal-cloud-wrapper.es45.js +30 -0
  252. package/dist/golocal-cloud-wrapper.es46.js +22 -0
  253. package/dist/golocal-cloud-wrapper.es47.js +16 -0
  254. package/dist/golocal-cloud-wrapper.es48.js +18 -0
  255. package/dist/golocal-cloud-wrapper.es49.js +22 -0
  256. package/dist/golocal-cloud-wrapper.es5.js +12 -0
  257. package/dist/golocal-cloud-wrapper.es50.js +22 -0
  258. package/dist/golocal-cloud-wrapper.es51.js +26 -0
  259. package/dist/golocal-cloud-wrapper.es52.js +22 -0
  260. package/dist/golocal-cloud-wrapper.es53.js +17 -0
  261. package/dist/golocal-cloud-wrapper.es54.js +4 -0
  262. package/dist/golocal-cloud-wrapper.es55.js +4 -0
  263. package/dist/golocal-cloud-wrapper.es56.js +39 -0
  264. package/dist/golocal-cloud-wrapper.es57.js +17 -0
  265. package/dist/golocal-cloud-wrapper.es58.js +2959 -0
  266. package/dist/golocal-cloud-wrapper.es59.js +417 -0
  267. package/dist/golocal-cloud-wrapper.es6.js +68 -0
  268. package/dist/golocal-cloud-wrapper.es60.js +25 -0
  269. package/dist/golocal-cloud-wrapper.es61.js +28 -0
  270. package/dist/golocal-cloud-wrapper.es62.js +32 -0
  271. package/dist/golocal-cloud-wrapper.es63.js +41 -0
  272. package/dist/golocal-cloud-wrapper.es64.js +20 -0
  273. package/dist/golocal-cloud-wrapper.es65.js +11 -0
  274. package/dist/golocal-cloud-wrapper.es66.js +81 -0
  275. package/dist/golocal-cloud-wrapper.es67.js +14 -0
  276. package/dist/golocal-cloud-wrapper.es68.js +71 -0
  277. package/dist/golocal-cloud-wrapper.es69.js +212 -0
  278. package/dist/golocal-cloud-wrapper.es7.js +16 -0
  279. package/dist/golocal-cloud-wrapper.es70.js +208 -0
  280. package/dist/golocal-cloud-wrapper.es71.js +18 -0
  281. package/dist/golocal-cloud-wrapper.es72.js +129 -0
  282. package/dist/golocal-cloud-wrapper.es73.js +43 -0
  283. package/dist/golocal-cloud-wrapper.es74.js +29 -0
  284. package/dist/golocal-cloud-wrapper.es75.js +11 -0
  285. package/dist/golocal-cloud-wrapper.es76.js +122 -0
  286. package/dist/golocal-cloud-wrapper.es77.js +880 -0
  287. package/dist/golocal-cloud-wrapper.es78.js +288 -0
  288. package/dist/golocal-cloud-wrapper.es79.js +36 -0
  289. package/dist/golocal-cloud-wrapper.es8.js +48 -0
  290. package/dist/golocal-cloud-wrapper.es80.js +12 -0
  291. package/dist/golocal-cloud-wrapper.es81.js +334 -0
  292. package/dist/golocal-cloud-wrapper.es82.js +5 -0
  293. package/dist/golocal-cloud-wrapper.es83.js +8 -0
  294. package/dist/golocal-cloud-wrapper.es84.js +58 -0
  295. package/dist/golocal-cloud-wrapper.es85.js +5 -0
  296. package/dist/golocal-cloud-wrapper.es86.js +104 -0
  297. package/dist/golocal-cloud-wrapper.es87.js +468 -0
  298. package/dist/golocal-cloud-wrapper.es88.js +10 -0
  299. package/dist/golocal-cloud-wrapper.es89.js +6 -0
  300. package/dist/golocal-cloud-wrapper.es9.js +90 -0
  301. package/dist/golocal-cloud-wrapper.es90.js +14 -0
  302. package/dist/golocal-cloud-wrapper.es91.js +17 -0
  303. package/dist/golocal-cloud-wrapper.es92.js +70 -0
  304. package/dist/golocal-cloud-wrapper.es93.js +10 -0
  305. package/dist/golocal-cloud-wrapper.es94.js +227 -0
  306. package/dist/golocal-cloud-wrapper.es95.js +297 -0
  307. package/dist/golocal-cloud-wrapper.es96.js +25 -0
  308. package/dist/golocal-cloud-wrapper.es97.js +39 -0
  309. package/dist/golocal-cloud-wrapper.es98.js +616 -0
  310. package/dist/golocal-cloud-wrapper.es99.js +17 -0
  311. package/package.json +1 -1
  312. package/dist/golocal-cloud-wrapper.umd.js +0 -197
@@ -0,0 +1,720 @@
1
+ import { evaluate, getSideAxis, getSide, clamp, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, getAlignmentSides, getAlignment, min, max, getPaddingObject, rectToClientRect, getOppositeAxis, getAlignmentAxis, sides, getAxisLength } from "./golocal-cloud-wrapper.es192.js";
2
+ function computeCoordsFromPlacement(_ref, placement, rtl) {
3
+ let {
4
+ reference,
5
+ floating
6
+ } = _ref;
7
+ const sideAxis = getSideAxis(placement);
8
+ const alignmentAxis = getAlignmentAxis(placement);
9
+ const alignLength = getAxisLength(alignmentAxis);
10
+ const side = getSide(placement);
11
+ const isVertical = sideAxis === "y";
12
+ const commonX = reference.x + reference.width / 2 - floating.width / 2;
13
+ const commonY = reference.y + reference.height / 2 - floating.height / 2;
14
+ const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
15
+ let coords;
16
+ switch (side) {
17
+ case "top":
18
+ coords = {
19
+ x: commonX,
20
+ y: reference.y - floating.height
21
+ };
22
+ break;
23
+ case "bottom":
24
+ coords = {
25
+ x: commonX,
26
+ y: reference.y + reference.height
27
+ };
28
+ break;
29
+ case "right":
30
+ coords = {
31
+ x: reference.x + reference.width,
32
+ y: commonY
33
+ };
34
+ break;
35
+ case "left":
36
+ coords = {
37
+ x: reference.x - floating.width,
38
+ y: commonY
39
+ };
40
+ break;
41
+ default:
42
+ coords = {
43
+ x: reference.x,
44
+ y: reference.y
45
+ };
46
+ }
47
+ switch (getAlignment(placement)) {
48
+ case "start":
49
+ coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
50
+ break;
51
+ case "end":
52
+ coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
53
+ break;
54
+ }
55
+ return coords;
56
+ }
57
+ const computePosition = async (reference, floating, config) => {
58
+ const {
59
+ placement = "bottom",
60
+ strategy = "absolute",
61
+ middleware = [],
62
+ platform
63
+ } = config;
64
+ const validMiddleware = middleware.filter(Boolean);
65
+ const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
66
+ let rects = await platform.getElementRects({
67
+ reference,
68
+ floating,
69
+ strategy
70
+ });
71
+ let {
72
+ x,
73
+ y
74
+ } = computeCoordsFromPlacement(rects, placement, rtl);
75
+ let statefulPlacement = placement;
76
+ let middlewareData = {};
77
+ let resetCount = 0;
78
+ for (let i = 0; i < validMiddleware.length; i++) {
79
+ const {
80
+ name,
81
+ fn
82
+ } = validMiddleware[i];
83
+ const {
84
+ x: nextX,
85
+ y: nextY,
86
+ data,
87
+ reset
88
+ } = await fn({
89
+ x,
90
+ y,
91
+ initialPlacement: placement,
92
+ placement: statefulPlacement,
93
+ strategy,
94
+ middlewareData,
95
+ rects,
96
+ platform,
97
+ elements: {
98
+ reference,
99
+ floating
100
+ }
101
+ });
102
+ x = nextX != null ? nextX : x;
103
+ y = nextY != null ? nextY : y;
104
+ middlewareData = {
105
+ ...middlewareData,
106
+ [name]: {
107
+ ...middlewareData[name],
108
+ ...data
109
+ }
110
+ };
111
+ if (reset && resetCount <= 50) {
112
+ resetCount++;
113
+ if (typeof reset === "object") {
114
+ if (reset.placement) {
115
+ statefulPlacement = reset.placement;
116
+ }
117
+ if (reset.rects) {
118
+ rects = reset.rects === true ? await platform.getElementRects({
119
+ reference,
120
+ floating,
121
+ strategy
122
+ }) : reset.rects;
123
+ }
124
+ ({
125
+ x,
126
+ y
127
+ } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
128
+ }
129
+ i = -1;
130
+ }
131
+ }
132
+ return {
133
+ x,
134
+ y,
135
+ placement: statefulPlacement,
136
+ strategy,
137
+ middlewareData
138
+ };
139
+ };
140
+ async function detectOverflow(state, options) {
141
+ var _await$platform$isEle;
142
+ if (options === void 0) {
143
+ options = {};
144
+ }
145
+ const {
146
+ x,
147
+ y,
148
+ platform,
149
+ rects,
150
+ elements,
151
+ strategy
152
+ } = state;
153
+ const {
154
+ boundary = "clippingAncestors",
155
+ rootBoundary = "viewport",
156
+ elementContext = "floating",
157
+ altBoundary = false,
158
+ padding = 0
159
+ } = evaluate(options, state);
160
+ const paddingObject = getPaddingObject(padding);
161
+ const altContext = elementContext === "floating" ? "reference" : "floating";
162
+ const element = elements[altBoundary ? altContext : elementContext];
163
+ const clippingClientRect = rectToClientRect(await platform.getClippingRect({
164
+ element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating)),
165
+ boundary,
166
+ rootBoundary,
167
+ strategy
168
+ }));
169
+ const rect = elementContext === "floating" ? {
170
+ x,
171
+ y,
172
+ width: rects.floating.width,
173
+ height: rects.floating.height
174
+ } : rects.reference;
175
+ const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
176
+ const offsetScale = await (platform.isElement == null ? void 0 : platform.isElement(offsetParent)) ? await (platform.getScale == null ? void 0 : platform.getScale(offsetParent)) || {
177
+ x: 1,
178
+ y: 1
179
+ } : {
180
+ x: 1,
181
+ y: 1
182
+ };
183
+ const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
184
+ elements,
185
+ rect,
186
+ offsetParent,
187
+ strategy
188
+ }) : rect);
189
+ return {
190
+ top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
191
+ bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
192
+ left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
193
+ right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
194
+ };
195
+ }
196
+ const arrow = (options) => ({
197
+ name: "arrow",
198
+ options,
199
+ async fn(state) {
200
+ const {
201
+ x,
202
+ y,
203
+ placement,
204
+ rects,
205
+ platform,
206
+ elements,
207
+ middlewareData
208
+ } = state;
209
+ const {
210
+ element,
211
+ padding = 0
212
+ } = evaluate(options, state) || {};
213
+ if (element == null) {
214
+ return {};
215
+ }
216
+ const paddingObject = getPaddingObject(padding);
217
+ const coords = {
218
+ x,
219
+ y
220
+ };
221
+ const axis = getAlignmentAxis(placement);
222
+ const length = getAxisLength(axis);
223
+ const arrowDimensions = await platform.getDimensions(element);
224
+ const isYAxis = axis === "y";
225
+ const minProp = isYAxis ? "top" : "left";
226
+ const maxProp = isYAxis ? "bottom" : "right";
227
+ const clientProp = isYAxis ? "clientHeight" : "clientWidth";
228
+ const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
229
+ const startDiff = coords[axis] - rects.reference[axis];
230
+ const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));
231
+ let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;
232
+ if (!clientSize || !await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent))) {
233
+ clientSize = elements.floating[clientProp] || rects.floating[length];
234
+ }
235
+ const centerToReference = endDiff / 2 - startDiff / 2;
236
+ const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
237
+ const minPadding = min(paddingObject[minProp], largestPossiblePadding);
238
+ const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);
239
+ const min$1 = minPadding;
240
+ const max2 = clientSize - arrowDimensions[length] - maxPadding;
241
+ const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
242
+ const offset2 = clamp(min$1, center, max2);
243
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset2 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
244
+ const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max2 : 0;
245
+ return {
246
+ [axis]: coords[axis] + alignmentOffset,
247
+ data: {
248
+ [axis]: offset2,
249
+ centerOffset: center - offset2 - alignmentOffset,
250
+ ...shouldAddOffset && {
251
+ alignmentOffset
252
+ }
253
+ },
254
+ reset: shouldAddOffset
255
+ };
256
+ }
257
+ });
258
+ const flip = function(options) {
259
+ if (options === void 0) {
260
+ options = {};
261
+ }
262
+ return {
263
+ name: "flip",
264
+ options,
265
+ async fn(state) {
266
+ var _middlewareData$arrow, _middlewareData$flip;
267
+ const {
268
+ placement,
269
+ middlewareData,
270
+ rects,
271
+ initialPlacement,
272
+ platform,
273
+ elements
274
+ } = state;
275
+ const {
276
+ mainAxis: checkMainAxis = true,
277
+ crossAxis: checkCrossAxis = true,
278
+ fallbackPlacements: specifiedFallbackPlacements,
279
+ fallbackStrategy = "bestFit",
280
+ fallbackAxisSideDirection = "none",
281
+ flipAlignment = true,
282
+ ...detectOverflowOptions
283
+ } = evaluate(options, state);
284
+ if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
285
+ return {};
286
+ }
287
+ const side = getSide(placement);
288
+ const initialSideAxis = getSideAxis(initialPlacement);
289
+ const isBasePlacement = getSide(initialPlacement) === initialPlacement;
290
+ const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
291
+ const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
292
+ const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
293
+ if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
294
+ fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
295
+ }
296
+ const placements = [initialPlacement, ...fallbackPlacements];
297
+ const overflow = await detectOverflow(state, detectOverflowOptions);
298
+ const overflows = [];
299
+ let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
300
+ if (checkMainAxis) {
301
+ overflows.push(overflow[side]);
302
+ }
303
+ if (checkCrossAxis) {
304
+ const sides2 = getAlignmentSides(placement, rects, rtl);
305
+ overflows.push(overflow[sides2[0]], overflow[sides2[1]]);
306
+ }
307
+ overflowsData = [...overflowsData, {
308
+ placement,
309
+ overflows
310
+ }];
311
+ if (!overflows.every((side2) => side2 <= 0)) {
312
+ var _middlewareData$flip2, _overflowsData$filter;
313
+ const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
314
+ const nextPlacement = placements[nextIndex];
315
+ if (nextPlacement) {
316
+ const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
317
+ if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
318
+ // overflows the main axis.
319
+ overflowsData.every((d) => d.overflows[0] > 0 && getSideAxis(d.placement) === initialSideAxis)) {
320
+ return {
321
+ data: {
322
+ index: nextIndex,
323
+ overflows: overflowsData
324
+ },
325
+ reset: {
326
+ placement: nextPlacement
327
+ }
328
+ };
329
+ }
330
+ }
331
+ let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
332
+ if (!resetPlacement) {
333
+ switch (fallbackStrategy) {
334
+ case "bestFit": {
335
+ var _overflowsData$filter2;
336
+ const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {
337
+ if (hasFallbackAxisSideDirection) {
338
+ const currentSideAxis = getSideAxis(d.placement);
339
+ return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
340
+ // reading directions favoring greater width.
341
+ currentSideAxis === "y";
342
+ }
343
+ return true;
344
+ }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
345
+ if (placement2) {
346
+ resetPlacement = placement2;
347
+ }
348
+ break;
349
+ }
350
+ case "initialPlacement":
351
+ resetPlacement = initialPlacement;
352
+ break;
353
+ }
354
+ }
355
+ if (placement !== resetPlacement) {
356
+ return {
357
+ reset: {
358
+ placement: resetPlacement
359
+ }
360
+ };
361
+ }
362
+ }
363
+ return {};
364
+ }
365
+ };
366
+ };
367
+ function getSideOffsets(overflow, rect) {
368
+ return {
369
+ top: overflow.top - rect.height,
370
+ right: overflow.right - rect.width,
371
+ bottom: overflow.bottom - rect.height,
372
+ left: overflow.left - rect.width
373
+ };
374
+ }
375
+ function isAnySideFullyClipped(overflow) {
376
+ return sides.some((side) => overflow[side] >= 0);
377
+ }
378
+ const hide = function(options) {
379
+ if (options === void 0) {
380
+ options = {};
381
+ }
382
+ return {
383
+ name: "hide",
384
+ options,
385
+ async fn(state) {
386
+ const {
387
+ rects
388
+ } = state;
389
+ const {
390
+ strategy = "referenceHidden",
391
+ ...detectOverflowOptions
392
+ } = evaluate(options, state);
393
+ switch (strategy) {
394
+ case "referenceHidden": {
395
+ const overflow = await detectOverflow(state, {
396
+ ...detectOverflowOptions,
397
+ elementContext: "reference"
398
+ });
399
+ const offsets = getSideOffsets(overflow, rects.reference);
400
+ return {
401
+ data: {
402
+ referenceHiddenOffsets: offsets,
403
+ referenceHidden: isAnySideFullyClipped(offsets)
404
+ }
405
+ };
406
+ }
407
+ case "escaped": {
408
+ const overflow = await detectOverflow(state, {
409
+ ...detectOverflowOptions,
410
+ altBoundary: true
411
+ });
412
+ const offsets = getSideOffsets(overflow, rects.floating);
413
+ return {
414
+ data: {
415
+ escapedOffsets: offsets,
416
+ escaped: isAnySideFullyClipped(offsets)
417
+ }
418
+ };
419
+ }
420
+ default: {
421
+ return {};
422
+ }
423
+ }
424
+ }
425
+ };
426
+ };
427
+ async function convertValueToCoords(state, options) {
428
+ const {
429
+ placement,
430
+ platform,
431
+ elements
432
+ } = state;
433
+ const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
434
+ const side = getSide(placement);
435
+ const alignment = getAlignment(placement);
436
+ const isVertical = getSideAxis(placement) === "y";
437
+ const mainAxisMulti = ["left", "top"].includes(side) ? -1 : 1;
438
+ const crossAxisMulti = rtl && isVertical ? -1 : 1;
439
+ const rawValue = evaluate(options, state);
440
+ let {
441
+ mainAxis,
442
+ crossAxis,
443
+ alignmentAxis
444
+ } = typeof rawValue === "number" ? {
445
+ mainAxis: rawValue,
446
+ crossAxis: 0,
447
+ alignmentAxis: null
448
+ } : {
449
+ mainAxis: rawValue.mainAxis || 0,
450
+ crossAxis: rawValue.crossAxis || 0,
451
+ alignmentAxis: rawValue.alignmentAxis
452
+ };
453
+ if (alignment && typeof alignmentAxis === "number") {
454
+ crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
455
+ }
456
+ return isVertical ? {
457
+ x: crossAxis * crossAxisMulti,
458
+ y: mainAxis * mainAxisMulti
459
+ } : {
460
+ x: mainAxis * mainAxisMulti,
461
+ y: crossAxis * crossAxisMulti
462
+ };
463
+ }
464
+ const offset = function(options) {
465
+ if (options === void 0) {
466
+ options = 0;
467
+ }
468
+ return {
469
+ name: "offset",
470
+ options,
471
+ async fn(state) {
472
+ var _middlewareData$offse, _middlewareData$arrow;
473
+ const {
474
+ x,
475
+ y,
476
+ placement,
477
+ middlewareData
478
+ } = state;
479
+ const diffCoords = await convertValueToCoords(state, options);
480
+ if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
481
+ return {};
482
+ }
483
+ return {
484
+ x: x + diffCoords.x,
485
+ y: y + diffCoords.y,
486
+ data: {
487
+ ...diffCoords,
488
+ placement
489
+ }
490
+ };
491
+ }
492
+ };
493
+ };
494
+ const shift = function(options) {
495
+ if (options === void 0) {
496
+ options = {};
497
+ }
498
+ return {
499
+ name: "shift",
500
+ options,
501
+ async fn(state) {
502
+ const {
503
+ x,
504
+ y,
505
+ placement
506
+ } = state;
507
+ const {
508
+ mainAxis: checkMainAxis = true,
509
+ crossAxis: checkCrossAxis = false,
510
+ limiter = {
511
+ fn: (_ref) => {
512
+ let {
513
+ x: x2,
514
+ y: y2
515
+ } = _ref;
516
+ return {
517
+ x: x2,
518
+ y: y2
519
+ };
520
+ }
521
+ },
522
+ ...detectOverflowOptions
523
+ } = evaluate(options, state);
524
+ const coords = {
525
+ x,
526
+ y
527
+ };
528
+ const overflow = await detectOverflow(state, detectOverflowOptions);
529
+ const crossAxis = getSideAxis(getSide(placement));
530
+ const mainAxis = getOppositeAxis(crossAxis);
531
+ let mainAxisCoord = coords[mainAxis];
532
+ let crossAxisCoord = coords[crossAxis];
533
+ if (checkMainAxis) {
534
+ const minSide = mainAxis === "y" ? "top" : "left";
535
+ const maxSide = mainAxis === "y" ? "bottom" : "right";
536
+ const min2 = mainAxisCoord + overflow[minSide];
537
+ const max2 = mainAxisCoord - overflow[maxSide];
538
+ mainAxisCoord = clamp(min2, mainAxisCoord, max2);
539
+ }
540
+ if (checkCrossAxis) {
541
+ const minSide = crossAxis === "y" ? "top" : "left";
542
+ const maxSide = crossAxis === "y" ? "bottom" : "right";
543
+ const min2 = crossAxisCoord + overflow[minSide];
544
+ const max2 = crossAxisCoord - overflow[maxSide];
545
+ crossAxisCoord = clamp(min2, crossAxisCoord, max2);
546
+ }
547
+ const limitedCoords = limiter.fn({
548
+ ...state,
549
+ [mainAxis]: mainAxisCoord,
550
+ [crossAxis]: crossAxisCoord
551
+ });
552
+ return {
553
+ ...limitedCoords,
554
+ data: {
555
+ x: limitedCoords.x - x,
556
+ y: limitedCoords.y - y,
557
+ enabled: {
558
+ [mainAxis]: checkMainAxis,
559
+ [crossAxis]: checkCrossAxis
560
+ }
561
+ }
562
+ };
563
+ }
564
+ };
565
+ };
566
+ const limitShift = function(options) {
567
+ if (options === void 0) {
568
+ options = {};
569
+ }
570
+ return {
571
+ options,
572
+ fn(state) {
573
+ const {
574
+ x,
575
+ y,
576
+ placement,
577
+ rects,
578
+ middlewareData
579
+ } = state;
580
+ const {
581
+ offset: offset2 = 0,
582
+ mainAxis: checkMainAxis = true,
583
+ crossAxis: checkCrossAxis = true
584
+ } = evaluate(options, state);
585
+ const coords = {
586
+ x,
587
+ y
588
+ };
589
+ const crossAxis = getSideAxis(placement);
590
+ const mainAxis = getOppositeAxis(crossAxis);
591
+ let mainAxisCoord = coords[mainAxis];
592
+ let crossAxisCoord = coords[crossAxis];
593
+ const rawOffset = evaluate(offset2, state);
594
+ const computedOffset = typeof rawOffset === "number" ? {
595
+ mainAxis: rawOffset,
596
+ crossAxis: 0
597
+ } : {
598
+ mainAxis: 0,
599
+ crossAxis: 0,
600
+ ...rawOffset
601
+ };
602
+ if (checkMainAxis) {
603
+ const len = mainAxis === "y" ? "height" : "width";
604
+ const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
605
+ const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
606
+ if (mainAxisCoord < limitMin) {
607
+ mainAxisCoord = limitMin;
608
+ } else if (mainAxisCoord > limitMax) {
609
+ mainAxisCoord = limitMax;
610
+ }
611
+ }
612
+ if (checkCrossAxis) {
613
+ var _middlewareData$offse, _middlewareData$offse2;
614
+ const len = mainAxis === "y" ? "width" : "height";
615
+ const isOriginSide = ["top", "left"].includes(getSide(placement));
616
+ const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
617
+ const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
618
+ if (crossAxisCoord < limitMin) {
619
+ crossAxisCoord = limitMin;
620
+ } else if (crossAxisCoord > limitMax) {
621
+ crossAxisCoord = limitMax;
622
+ }
623
+ }
624
+ return {
625
+ [mainAxis]: mainAxisCoord,
626
+ [crossAxis]: crossAxisCoord
627
+ };
628
+ }
629
+ };
630
+ };
631
+ const size = function(options) {
632
+ if (options === void 0) {
633
+ options = {};
634
+ }
635
+ return {
636
+ name: "size",
637
+ options,
638
+ async fn(state) {
639
+ var _state$middlewareData, _state$middlewareData2;
640
+ const {
641
+ placement,
642
+ rects,
643
+ platform,
644
+ elements
645
+ } = state;
646
+ const {
647
+ apply = () => {
648
+ },
649
+ ...detectOverflowOptions
650
+ } = evaluate(options, state);
651
+ const overflow = await detectOverflow(state, detectOverflowOptions);
652
+ const side = getSide(placement);
653
+ const alignment = getAlignment(placement);
654
+ const isYAxis = getSideAxis(placement) === "y";
655
+ const {
656
+ width,
657
+ height
658
+ } = rects.floating;
659
+ let heightSide;
660
+ let widthSide;
661
+ if (side === "top" || side === "bottom") {
662
+ heightSide = side;
663
+ widthSide = alignment === (await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
664
+ } else {
665
+ widthSide = side;
666
+ heightSide = alignment === "end" ? "top" : "bottom";
667
+ }
668
+ const maximumClippingHeight = height - overflow.top - overflow.bottom;
669
+ const maximumClippingWidth = width - overflow.left - overflow.right;
670
+ const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
671
+ const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
672
+ const noShift = !state.middlewareData.shift;
673
+ let availableHeight = overflowAvailableHeight;
674
+ let availableWidth = overflowAvailableWidth;
675
+ if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {
676
+ availableWidth = maximumClippingWidth;
677
+ }
678
+ if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {
679
+ availableHeight = maximumClippingHeight;
680
+ }
681
+ if (noShift && !alignment) {
682
+ const xMin = max(overflow.left, 0);
683
+ const xMax = max(overflow.right, 0);
684
+ const yMin = max(overflow.top, 0);
685
+ const yMax = max(overflow.bottom, 0);
686
+ if (isYAxis) {
687
+ availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
688
+ } else {
689
+ availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
690
+ }
691
+ }
692
+ await apply({
693
+ ...state,
694
+ availableWidth,
695
+ availableHeight
696
+ });
697
+ const nextDimensions = await platform.getDimensions(elements.floating);
698
+ if (width !== nextDimensions.width || height !== nextDimensions.height) {
699
+ return {
700
+ reset: {
701
+ rects: true
702
+ }
703
+ };
704
+ }
705
+ return {};
706
+ }
707
+ };
708
+ };
709
+ export {
710
+ arrow,
711
+ computePosition,
712
+ detectOverflow,
713
+ flip,
714
+ hide,
715
+ limitShift,
716
+ offset,
717
+ rectToClientRect,
718
+ shift,
719
+ size
720
+ };