@beeq/core 1.8.0-beta.3 → 1.8.0-beta.5

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 (644) hide show
  1. package/dist/beeq/beeq.css +1 -1
  2. package/dist/beeq/beeq.esm.js +43 -1
  3. package/dist/beeq/beeq.esm.js.map +1 -1
  4. package/dist/beeq/index.esm.js +64 -1
  5. package/dist/beeq/index.esm.js.map +1 -1
  6. package/dist/beeq/p-01df4baa.js +1826 -0
  7. package/dist/beeq/p-01df4baa.js.map +1 -0
  8. package/dist/beeq/p-01fe8efb.entry.js +182 -0
  9. package/dist/beeq/p-01fe8efb.entry.js.map +1 -0
  10. package/dist/beeq/p-03373320.entry.js +318 -0
  11. package/dist/beeq/p-03373320.entry.js.map +1 -0
  12. package/dist/beeq/{p-b7f02fb6.entry.js → p-03c586df.entry.js} +288 -2
  13. package/dist/beeq/p-03c586df.entry.js.map +1 -0
  14. package/dist/beeq/{p-b994054a.entry.js → p-0a981080.entry.js} +150 -2
  15. package/dist/beeq/{p-6823479d.entry.js.map → p-0a981080.entry.js.map} +1 -1
  16. package/dist/beeq/{p-010fb578.entry.js → p-0ce76c54.entry.js} +99 -2
  17. package/dist/beeq/{p-45b7b5cf.entry.js.map → p-0ce76c54.entry.js.map} +1 -1
  18. package/dist/beeq/p-115ed5b2.js +25 -1
  19. package/dist/beeq/p-115ed5b2.js.map +1 -1
  20. package/dist/beeq/p-1c8b6eb4.js +12 -1
  21. package/dist/beeq/p-1c8b6eb4.js.map +1 -1
  22. package/dist/beeq/p-1defeea3.js +69 -0
  23. package/dist/beeq/{p-951ba558.js.map → p-1defeea3.js.map} +1 -1
  24. package/dist/beeq/p-1f3a4359.js +11 -1
  25. package/dist/beeq/p-1f3a4359.js.map +1 -1
  26. package/dist/beeq/p-2bb049ae.entry.js +334 -0
  27. package/dist/beeq/p-2bb049ae.entry.js.map +1 -0
  28. package/dist/beeq/p-3043c826.entry.js +133 -0
  29. package/dist/beeq/p-3043c826.entry.js.map +1 -0
  30. package/dist/beeq/p-38e70f78.entry.js +133 -0
  31. package/dist/beeq/p-38e70f78.entry.js.map +1 -0
  32. package/dist/beeq/p-398bfb48.entry.js +242 -0
  33. package/dist/beeq/{p-7871f3f0.entry.js.map → p-398bfb48.entry.js.map} +1 -1
  34. package/dist/beeq/p-3f9a348a.entry.js +272 -0
  35. package/dist/beeq/{p-2e61db84.entry.js.map → p-3f9a348a.entry.js.map} +1 -1
  36. package/dist/beeq/p-3fd0d92d.js +1228 -1
  37. package/dist/beeq/p-3fd0d92d.js.map +1 -1
  38. package/dist/beeq/p-41ac1d84.entry.js +195 -0
  39. package/dist/beeq/p-41ac1d84.entry.js.map +1 -0
  40. package/dist/beeq/p-4eabcd51.entry.js +82 -0
  41. package/dist/beeq/{p-d5992d3d.entry.js.map → p-4eabcd51.entry.js.map} +1 -1
  42. package/dist/beeq/p-544deac1.entry.js +528 -0
  43. package/dist/beeq/p-544deac1.entry.js.map +1 -0
  44. package/dist/beeq/p-57621be1.js +9 -1
  45. package/dist/beeq/p-57621be1.js.map +1 -1
  46. package/dist/beeq/p-5ff6621d.entry.js +134 -0
  47. package/dist/beeq/p-5ff6621d.entry.js.map +1 -0
  48. package/dist/beeq/p-60cbc966.entry.js +85 -0
  49. package/dist/beeq/{p-95d0abdc.entry.js.map → p-60cbc966.entry.js.map} +1 -1
  50. package/dist/beeq/p-687da041.js +20 -1
  51. package/dist/beeq/p-687da041.js.map +1 -1
  52. package/dist/beeq/p-68ff188d.entry.js +144 -0
  53. package/dist/beeq/p-68ff188d.entry.js.map +1 -0
  54. package/dist/beeq/p-69c766a3.entry.js +213 -0
  55. package/dist/beeq/p-69c766a3.entry.js.map +1 -0
  56. package/dist/beeq/p-76486949.entry.js +347 -0
  57. package/dist/beeq/p-76486949.entry.js.map +1 -0
  58. package/dist/beeq/p-83d6d9ad.js +14 -0
  59. package/dist/beeq/{p-513bab02.js.map → p-83d6d9ad.js.map} +1 -1
  60. package/dist/beeq/p-8b16f130.entry.js +210 -0
  61. package/dist/beeq/{p-010fb578.entry.js.map → p-8b16f130.entry.js.map} +1 -1
  62. package/dist/beeq/p-8e1c6978.entry.js +443 -0
  63. package/dist/beeq/p-8e1c6978.entry.js.map +1 -0
  64. package/dist/beeq/p-8f1c68c0.js +71 -0
  65. package/dist/beeq/p-8f1c68c0.js.map +1 -0
  66. package/dist/beeq/p-99829fc7.js +8 -1
  67. package/dist/beeq/p-99829fc7.js.map +1 -1
  68. package/dist/beeq/p-9cab14ee.entry.js +119 -0
  69. package/dist/beeq/{p-f7a0a316.entry.js.map → p-9cab14ee.entry.js.map} +1 -1
  70. package/dist/beeq/p-a23b23c4.entry.js +213 -0
  71. package/dist/beeq/p-a23b23c4.entry.js.map +1 -0
  72. package/dist/beeq/p-a5dc1c94.js +118 -1
  73. package/dist/beeq/p-a5dc1c94.js.map +1 -1
  74. package/dist/beeq/p-a608a4fb.entry.js +112 -0
  75. package/dist/beeq/{p-9da0e8d7.entry.js.map → p-a608a4fb.entry.js.map} +1 -1
  76. package/dist/beeq/p-a8cad5ab.js +5 -1
  77. package/dist/beeq/p-a8cad5ab.js.map +1 -1
  78. package/dist/beeq/p-aacaaa35.entry.js +209 -0
  79. package/dist/beeq/{p-ded1aed2.entry.js.map → p-aacaaa35.entry.js.map} +1 -1
  80. package/dist/beeq/p-af062402.js +7 -1
  81. package/dist/beeq/p-af062402.js.map +1 -1
  82. package/dist/beeq/p-b2df1479.entry.js +270 -0
  83. package/dist/beeq/p-b2df1479.entry.js.map +1 -0
  84. package/dist/beeq/p-b77b52f2.entry.js +188 -0
  85. package/dist/beeq/{p-0cbec77b.entry.js.map → p-b77b52f2.entry.js.map} +1 -1
  86. package/dist/beeq/p-c78ae3c2.js +1983 -0
  87. package/dist/beeq/p-c78ae3c2.js.map +1 -0
  88. package/dist/beeq/p-c83bc7fd.entry.js +157 -0
  89. package/dist/beeq/p-c83bc7fd.entry.js.map +1 -0
  90. package/dist/beeq/p-cb2b0014.entry.js +363 -0
  91. package/dist/beeq/p-cb2b0014.entry.js.map +1 -0
  92. package/dist/beeq/p-cb917e68.entry.js +177 -0
  93. package/dist/beeq/p-cb917e68.entry.js.map +1 -0
  94. package/dist/beeq/p-cfb8829b.entry.js +100 -0
  95. package/dist/beeq/{p-b2acd8f3.entry.js.map → p-cfb8829b.entry.js.map} +1 -1
  96. package/dist/beeq/p-d7067dae.entry.js +151 -0
  97. package/dist/beeq/{p-1202161d.entry.js.map → p-d7067dae.entry.js.map} +1 -1
  98. package/dist/beeq/p-d7ce7165.js +91 -0
  99. package/dist/beeq/p-d7ce7165.js.map +1 -0
  100. package/dist/beeq/p-d7dc7086.entry.js +267 -0
  101. package/dist/beeq/p-d7dc7086.entry.js.map +1 -0
  102. package/dist/beeq/p-ecd27cf2.js +11 -1
  103. package/dist/beeq/p-ecd27cf2.js.map +1 -1
  104. package/dist/beeq/p-edfd9767.js +31 -0
  105. package/dist/beeq/p-edfd9767.js.map +1 -0
  106. package/dist/beeq/p-f11a3beb.entry.js +90 -0
  107. package/dist/beeq/{p-fbf6b04b.entry.js.map → p-f11a3beb.entry.js.map} +1 -1
  108. package/dist/beeq/p-f1d6a960.entry.js +271 -0
  109. package/dist/beeq/p-f1d6a960.entry.js.map +1 -0
  110. package/dist/beeq/p-f350516b.entry.js +154 -0
  111. package/dist/beeq/p-f350516b.entry.js.map +1 -0
  112. package/dist/beeq/p-f979d79a.entry.js +120 -0
  113. package/dist/beeq/{p-83207939.entry.js.map → p-f979d79a.entry.js.map} +1 -1
  114. package/dist/beeq/{p-d5992d3d.entry.js → p-faa3be41.entry.js} +155 -2
  115. package/dist/beeq/{p-e7ede06e.entry.js.map → p-faa3be41.entry.js.map} +1 -1
  116. package/dist/beeq/p-fb20c6eb.entry.js +458 -0
  117. package/dist/beeq/p-fb20c6eb.entry.js.map +1 -0
  118. package/dist/beeq/p-fe278ecc.entry.js +267 -0
  119. package/dist/beeq/p-fe278ecc.entry.js.map +1 -0
  120. package/dist/cjs/assetsPath-8bd8d221.js +77 -0
  121. package/dist/cjs/assetsPath-8bd8d221.js.map +1 -0
  122. package/dist/cjs/beeq.cjs.js +3 -3
  123. package/dist/cjs/beeq.cjs.js.map +1 -1
  124. package/dist/cjs/bq-accordion-group.cjs.entry.js +3 -4
  125. package/dist/cjs/bq-accordion-group.cjs.entry.js.map +1 -1
  126. package/dist/cjs/bq-accordion.cjs.entry.js +83 -48
  127. package/dist/cjs/bq-accordion.cjs.entry.js.map +1 -1
  128. package/dist/cjs/bq-alert.cjs.entry.js +57 -43
  129. package/dist/cjs/bq-alert.cjs.entry.js.map +1 -1
  130. package/dist/cjs/bq-avatar.cjs.entry.js +40 -40
  131. package/dist/cjs/bq-avatar.cjs.entry.js.map +1 -1
  132. package/dist/cjs/bq-badge.cjs.entry.js +42 -42
  133. package/dist/cjs/bq-badge.cjs.entry.js.map +1 -1
  134. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js +39 -29
  135. package/dist/cjs/bq-breadcrumb-item.cjs.entry.js.map +1 -1
  136. package/dist/cjs/bq-breadcrumb.cjs.entry.js +45 -30
  137. package/dist/cjs/bq-breadcrumb.cjs.entry.js.map +1 -1
  138. package/dist/cjs/bq-button_2.cjs.entry.js +138 -90
  139. package/dist/cjs/bq-button_2.cjs.entry.js.map +1 -1
  140. package/dist/cjs/bq-card.cjs.entry.js +3 -4
  141. package/dist/cjs/bq-card.cjs.entry.js.map +1 -1
  142. package/dist/cjs/bq-checkbox.cjs.entry.js +63 -54
  143. package/dist/cjs/bq-checkbox.cjs.entry.js.map +1 -1
  144. package/dist/cjs/bq-date-picker.cjs.entry.js +160 -140
  145. package/dist/cjs/bq-date-picker.cjs.entry.js.map +1 -1
  146. package/dist/cjs/bq-dialog.cjs.entry.js +71 -50
  147. package/dist/cjs/bq-dialog.cjs.entry.js.map +1 -1
  148. package/dist/cjs/bq-divider.cjs.entry.js +23 -21
  149. package/dist/cjs/bq-divider.cjs.entry.js.map +1 -1
  150. package/dist/cjs/bq-drawer.cjs.entry.js +48 -34
  151. package/dist/cjs/bq-drawer.cjs.entry.js.map +1 -1
  152. package/dist/cjs/bq-dropdown_2.cjs.entry.js +44 -34
  153. package/dist/cjs/bq-dropdown_2.cjs.entry.js.map +1 -1
  154. package/dist/cjs/bq-empty-state.cjs.entry.js +25 -22
  155. package/dist/cjs/bq-empty-state.cjs.entry.js.map +1 -1
  156. package/dist/cjs/bq-input.cjs.entry.js +116 -90
  157. package/dist/cjs/bq-input.cjs.entry.js.map +1 -1
  158. package/dist/cjs/bq-notification.cjs.entry.js +63 -49
  159. package/dist/cjs/bq-notification.cjs.entry.js.map +1 -1
  160. package/dist/cjs/bq-option-group.cjs.entry.js +3 -3
  161. package/dist/cjs/bq-option-group.cjs.entry.js.map +1 -1
  162. package/dist/cjs/bq-option-list_2.cjs.entry.js +73 -54
  163. package/dist/cjs/bq-option-list_2.cjs.entry.js.map +1 -1
  164. package/dist/cjs/bq-option.cjs.entry.js +61 -45
  165. package/dist/cjs/bq-option.cjs.entry.js.map +1 -1
  166. package/dist/cjs/bq-page-title.cjs.entry.js +36 -32
  167. package/dist/cjs/bq-page-title.cjs.entry.js.map +1 -1
  168. package/dist/cjs/bq-progress.cjs.entry.js +3 -4
  169. package/dist/cjs/bq-progress.cjs.entry.js.map +1 -1
  170. package/dist/cjs/bq-radio-group.cjs.entry.js +12 -7
  171. package/dist/cjs/bq-radio-group.cjs.entry.js.map +1 -1
  172. package/dist/cjs/bq-radio.cjs.entry.js +43 -37
  173. package/dist/cjs/bq-radio.cjs.entry.js.map +1 -1
  174. package/dist/cjs/bq-select.cjs.entry.js +185 -168
  175. package/dist/cjs/bq-select.cjs.entry.js.map +1 -1
  176. package/dist/cjs/bq-side-menu-item.cjs.entry.js +68 -55
  177. package/dist/cjs/bq-side-menu-item.cjs.entry.js.map +1 -1
  178. package/dist/cjs/bq-side-menu.cjs.entry.js +47 -32
  179. package/dist/cjs/bq-side-menu.cjs.entry.js.map +1 -1
  180. package/dist/cjs/bq-slider.cjs.entry.js +160 -145
  181. package/dist/cjs/bq-slider.cjs.entry.js.map +1 -1
  182. package/dist/cjs/bq-spinner.cjs.entry.js +52 -51
  183. package/dist/cjs/bq-spinner.cjs.entry.js.map +1 -1
  184. package/dist/cjs/bq-status.cjs.entry.js +3 -4
  185. package/dist/cjs/bq-status.cjs.entry.js.map +1 -1
  186. package/dist/cjs/bq-step-item.cjs.entry.js +15 -11
  187. package/dist/cjs/bq-step-item.cjs.entry.js.map +1 -1
  188. package/dist/cjs/bq-steps.cjs.entry.js +12 -10
  189. package/dist/cjs/bq-steps.cjs.entry.js.map +1 -1
  190. package/dist/cjs/bq-switch.cjs.entry.js +43 -32
  191. package/dist/cjs/bq-switch.cjs.entry.js.map +1 -1
  192. package/dist/cjs/bq-tab-group.cjs.entry.js +64 -57
  193. package/dist/cjs/bq-tab-group.cjs.entry.js.map +1 -1
  194. package/dist/cjs/bq-tab.cjs.entry.js +43 -33
  195. package/dist/cjs/bq-tab.cjs.entry.js.map +1 -1
  196. package/dist/cjs/bq-textarea.cjs.entry.js +80 -58
  197. package/dist/cjs/bq-textarea.cjs.entry.js.map +1 -1
  198. package/dist/cjs/bq-toast.cjs.entry.js +44 -38
  199. package/dist/cjs/bq-toast.cjs.entry.js.map +1 -1
  200. package/dist/cjs/bq-tooltip.cjs.entry.js +46 -42
  201. package/dist/cjs/bq-tooltip.cjs.entry.js.map +1 -1
  202. package/dist/cjs/{cssVariables-a0e1e906.js → cssVariables-dd190bc2.js} +2 -2
  203. package/dist/cjs/cssVariables-dd190bc2.js.map +1 -0
  204. package/dist/cjs/{debounce-f94a239b.js → debounce-1f7e1176.js} +3 -3
  205. package/dist/cjs/debounce-1f7e1176.js.map +1 -0
  206. package/dist/cjs/{index-e6d59dbb.js → index-34edf639.js} +48 -15
  207. package/dist/cjs/index-34edf639.js.map +1 -0
  208. package/dist/cjs/{index-e4c116b6.js → index-fc7876d6.js} +63 -19
  209. package/dist/cjs/index-fc7876d6.js.map +1 -0
  210. package/dist/cjs/index.cjs.js +5 -5
  211. package/dist/cjs/{isDefined-a9dd6d5b.js → isDefined-f3968296.js} +1 -2
  212. package/dist/cjs/isDefined-f3968296.js.map +1 -0
  213. package/dist/cjs/loader.cjs.js +2 -2
  214. package/dist/cjs/{slot-dd6f7db9.js → slot-2fee189a.js} +3 -4
  215. package/dist/{beeq/p-d7a88b16.js.map → cjs/slot-2fee189a.js.map} +1 -1
  216. package/dist/collection/_storybook/foundation/helper/index.js +3 -3
  217. package/dist/collection/_storybook/foundation/helper/index.js.map +1 -1
  218. package/dist/collection/collection-manifest.json +2 -2
  219. package/dist/collection/components/accordion/bq-accordion.js +72 -39
  220. package/dist/collection/components/accordion/bq-accordion.js.map +1 -1
  221. package/dist/collection/components/accordion/helper/index.js +10 -4
  222. package/dist/collection/components/accordion/helper/index.js.map +1 -1
  223. package/dist/collection/components/accordion/scss/bq-accordion.css +1 -1
  224. package/dist/collection/components/accordion-group/bq-accordion-group.js +5 -0
  225. package/dist/collection/components/accordion-group/bq-accordion-group.js.map +1 -1
  226. package/dist/collection/components/accordion-group/scss/bq-accordion-group.css +1 -1
  227. package/dist/collection/components/alert/bq-alert.js +55 -37
  228. package/dist/collection/components/alert/bq-alert.js.map +1 -1
  229. package/dist/collection/components/alert/scss/bq-alert.css +1 -1
  230. package/dist/collection/components/avatar/bq-avatar.js +40 -36
  231. package/dist/collection/components/avatar/bq-avatar.js.map +1 -1
  232. package/dist/collection/components/avatar/scss/bq-avatar.css +1 -1
  233. package/dist/collection/components/badge/bq-badge.js +40 -36
  234. package/dist/collection/components/badge/bq-badge.js.map +1 -1
  235. package/dist/collection/components/badge/scss/bq-badge.css +1 -1
  236. package/dist/collection/components/breadcrumb/bq-breadcrumb.js +45 -26
  237. package/dist/collection/components/breadcrumb/bq-breadcrumb.js.map +1 -1
  238. package/dist/collection/components/breadcrumb/scss/bq-breadcrumb.css +1 -1
  239. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js +40 -24
  240. package/dist/collection/components/breadcrumb-item/bq-breadcrumb-item.js.map +1 -1
  241. package/dist/collection/components/breadcrumb-item/scss/bq-breadcrumb-item.css +1 -1
  242. package/dist/collection/components/button/bq-button.js +84 -43
  243. package/dist/collection/components/button/bq-button.js.map +1 -1
  244. package/dist/collection/components/button/scss/bq-button.css +1 -1
  245. package/dist/collection/components/card/bq-card.js +5 -0
  246. package/dist/collection/components/card/bq-card.js.map +1 -1
  247. package/dist/collection/components/card/scss/bq-card.css +1 -1
  248. package/dist/collection/components/checkbox/bq-checkbox.js +63 -50
  249. package/dist/collection/components/checkbox/bq-checkbox.js.map +1 -1
  250. package/dist/collection/components/checkbox/scss/bq-checkbox.css +1 -1
  251. package/dist/collection/components/date-picker/bq-date-picker.js +158 -134
  252. package/dist/collection/components/date-picker/bq-date-picker.js.map +1 -1
  253. package/dist/collection/components/date-picker/scss/bq-date-picker.css +1 -1
  254. package/dist/collection/components/dialog/bq-dialog.js +70 -45
  255. package/dist/collection/components/dialog/bq-dialog.js.map +1 -1
  256. package/dist/collection/components/dialog/scss/bq-dialog.css +1 -1
  257. package/dist/collection/components/divider/bq-divider.js +21 -15
  258. package/dist/collection/components/divider/bq-divider.js.map +1 -1
  259. package/dist/collection/components/divider/scss/bq-divider.css +1 -1
  260. package/dist/collection/components/drawer/bq-drawer.js +47 -29
  261. package/dist/collection/components/drawer/bq-drawer.js.map +1 -1
  262. package/dist/collection/components/drawer/scss/bq-drawer.css +1 -1
  263. package/dist/collection/components/dropdown/bq-dropdown.js +34 -23
  264. package/dist/collection/components/dropdown/bq-dropdown.js.map +1 -1
  265. package/dist/collection/components/empty-state/bq-empty-state.js +25 -18
  266. package/dist/collection/components/empty-state/bq-empty-state.js.map +1 -1
  267. package/dist/collection/components/icon/bq-icon.js +41 -37
  268. package/dist/collection/components/icon/bq-icon.js.map +1 -1
  269. package/dist/collection/components/icon/helper/request.js +2 -2
  270. package/dist/collection/components/icon/helper/request.js.map +1 -1
  271. package/dist/collection/components/icon/scss/bq-icon.css +1 -1
  272. package/dist/collection/components/input/bq-input.js +113 -83
  273. package/dist/collection/components/input/bq-input.js.map +1 -1
  274. package/dist/collection/components/input/scss/bq-input.css +1 -1
  275. package/dist/collection/components/notification/bq-notification.js +61 -43
  276. package/dist/collection/components/notification/bq-notification.js.map +1 -1
  277. package/dist/collection/components/notification/scss/bq-notification.css +1 -1
  278. package/dist/collection/components/option/bq-option.js +60 -40
  279. package/dist/collection/components/option/bq-option.js.map +1 -1
  280. package/dist/collection/components/option/scss/bq-option.css +1 -1
  281. package/dist/collection/components/option-group/bq-option-group.js +5 -0
  282. package/dist/collection/components/option-group/bq-option-group.js.map +1 -1
  283. package/dist/collection/components/option-group/scss/bq-option-group.css +1 -1
  284. package/dist/collection/components/option-list/bq-option-list.js +10 -0
  285. package/dist/collection/components/option-list/bq-option-list.js.map +1 -1
  286. package/dist/collection/components/option-list/scss/bq-option-list.css +1 -1
  287. package/dist/collection/components/page-title/bq-page-title.js +35 -27
  288. package/dist/collection/components/page-title/bq-page-title.js.map +1 -1
  289. package/dist/collection/components/page-title/scss/bq-page-title.css +1 -1
  290. package/dist/collection/components/panel/bq-panel.js +11 -6
  291. package/dist/collection/components/panel/bq-panel.js.map +1 -1
  292. package/dist/collection/components/panel/scss/bq-panel.css +1 -1
  293. package/dist/collection/components/progress/bq-progress.js +5 -0
  294. package/dist/collection/components/progress/bq-progress.js.map +1 -1
  295. package/dist/collection/components/progress/scss/bq-progress.css +1 -1
  296. package/dist/collection/components/radio/bq-radio.js +43 -34
  297. package/dist/collection/components/radio/bq-radio.js.map +1 -1
  298. package/dist/collection/components/radio/scss/bq-radio.css +1 -1
  299. package/dist/collection/components/radio-group/bq-radio-group.js +12 -3
  300. package/dist/collection/components/radio-group/bq-radio-group.js.map +1 -1
  301. package/dist/collection/components/select/bq-select.js +182 -161
  302. package/dist/collection/components/select/bq-select.js.map +1 -1
  303. package/dist/collection/components/select/scss/bq-select.css +1 -1
  304. package/dist/collection/components/side-menu/bq-side-menu.js +50 -29
  305. package/dist/collection/components/side-menu/bq-side-menu.js.map +1 -1
  306. package/dist/collection/components/side-menu/scss/bq-side-menu.css +1 -1
  307. package/dist/collection/components/side-menu-item/bq-side-menu-item.js +68 -51
  308. package/dist/collection/components/side-menu-item/bq-side-menu-item.js.map +1 -1
  309. package/dist/collection/components/side-menu-item/scss/bq-side-menu-item.css +1 -1
  310. package/dist/collection/components/slider/bq-slider.js +159 -140
  311. package/dist/collection/components/slider/bq-slider.js.map +1 -1
  312. package/dist/collection/components/slider/scss/bq-slider.css +1 -1
  313. package/dist/collection/components/spinner/bq-spinner.js +51 -46
  314. package/dist/collection/components/spinner/bq-spinner.js.map +1 -1
  315. package/dist/collection/components/spinner/scss/bq-spinner.css +1 -1
  316. package/dist/collection/components/status/bq-status.js +5 -0
  317. package/dist/collection/components/status/bq-status.js.map +1 -1
  318. package/dist/collection/components/status/scss/bq-status.css +1 -1
  319. package/dist/collection/components/step-item/bq-step-item.js +17 -7
  320. package/dist/collection/components/step-item/bq-step-item.js.map +1 -1
  321. package/dist/collection/components/step-item/scss/bq-step-item.css +1 -1
  322. package/dist/collection/components/steps/bq-steps.js +12 -6
  323. package/dist/collection/components/steps/bq-steps.js.map +1 -1
  324. package/dist/collection/components/steps/scss/bq-steps.css +1 -1
  325. package/dist/collection/components/switch/bq-switch.js +42 -27
  326. package/dist/collection/components/switch/bq-switch.js.map +1 -1
  327. package/dist/collection/components/switch/scss/bq-switch.css +1 -1
  328. package/dist/collection/components/tab/bq-tab.js +42 -28
  329. package/dist/collection/components/tab/bq-tab.js.map +1 -1
  330. package/dist/collection/components/tab/scss/bq-tab.css +1 -1
  331. package/dist/collection/components/tab-group/bq-tab-group.js +64 -53
  332. package/dist/collection/components/tab-group/bq-tab-group.js.map +1 -1
  333. package/dist/collection/components/tag/bq-tag.js +64 -46
  334. package/dist/collection/components/tag/bq-tag.js.map +1 -1
  335. package/dist/collection/components/tag/scss/bq-tag.css +1 -1
  336. package/dist/collection/components/textarea/bq-textarea.js +78 -52
  337. package/dist/collection/components/textarea/bq-textarea.js.map +1 -1
  338. package/dist/collection/components/textarea/scss/bq-textarea.css +1 -1
  339. package/dist/collection/components/toast/bq-toast.js +43 -33
  340. package/dist/collection/components/toast/bq-toast.js.map +1 -1
  341. package/dist/collection/components/toast/scss/bq-toast.css +1 -1
  342. package/dist/collection/components/tooltip/bq-tooltip.js +45 -38
  343. package/dist/collection/components/tooltip/bq-tooltip.js.map +1 -1
  344. package/dist/collection/components/tooltip/scss/bq-tooltip.css +1 -1
  345. package/dist/collection/index.js +0 -1
  346. package/dist/collection/index.js.map +1 -1
  347. package/dist/collection/services/libraries/floating-ui/index.js +4 -0
  348. package/dist/collection/services/libraries/floating-ui/index.js.map +1 -1
  349. package/dist/collection/shared/utils/assetsPath.js +45 -57
  350. package/dist/collection/shared/utils/assetsPath.js.map +1 -1
  351. package/dist/collection/shared/utils/cssVariables.js +1 -1
  352. package/dist/collection/shared/utils/cssVariables.js.map +1 -1
  353. package/dist/collection/shared/utils/debounce.js +2 -2
  354. package/dist/collection/shared/utils/debounce.js.map +1 -1
  355. package/dist/collection/shared/utils/slot.js +2 -3
  356. package/dist/collection/shared/utils/slot.js.map +1 -1
  357. package/dist/components/bq-accordion-group.js +2 -3
  358. package/dist/components/bq-accordion-group.js.map +1 -1
  359. package/dist/components/bq-accordion.js +81 -46
  360. package/dist/components/bq-accordion.js.map +1 -1
  361. package/dist/components/bq-alert.js +54 -40
  362. package/dist/components/bq-alert.js.map +1 -1
  363. package/dist/components/bq-avatar.js +39 -39
  364. package/dist/components/bq-avatar.js.map +1 -1
  365. package/dist/components/bq-badge2.js +39 -39
  366. package/dist/components/bq-badge2.js.map +1 -1
  367. package/dist/components/bq-breadcrumb-item.js +37 -27
  368. package/dist/components/bq-breadcrumb-item.js.map +1 -1
  369. package/dist/components/bq-breadcrumb.js +44 -29
  370. package/dist/components/bq-breadcrumb.js.map +1 -1
  371. package/dist/components/bq-button2.js +84 -47
  372. package/dist/components/bq-button2.js.map +1 -1
  373. package/dist/components/bq-card.js +2 -3
  374. package/dist/components/bq-card.js.map +1 -1
  375. package/dist/components/bq-checkbox.js +62 -53
  376. package/dist/components/bq-checkbox.js.map +1 -1
  377. package/dist/components/bq-date-picker.js +157 -137
  378. package/dist/components/bq-date-picker.js.map +1 -1
  379. package/dist/components/bq-dialog.js +69 -48
  380. package/dist/components/bq-dialog.js.map +1 -1
  381. package/dist/components/bq-divider2.js +20 -18
  382. package/dist/components/bq-divider2.js.map +1 -1
  383. package/dist/components/bq-drawer.js +46 -32
  384. package/dist/components/bq-drawer.js.map +1 -1
  385. package/dist/components/bq-dropdown2.js +32 -24
  386. package/dist/components/bq-dropdown2.js.map +1 -1
  387. package/dist/components/bq-empty-state.js +23 -20
  388. package/dist/components/bq-empty-state.js.map +1 -1
  389. package/dist/components/bq-icon2.js +112 -42
  390. package/dist/components/bq-icon2.js.map +1 -1
  391. package/dist/components/bq-input.js +112 -86
  392. package/dist/components/bq-input.js.map +1 -1
  393. package/dist/components/bq-notification.js +60 -46
  394. package/dist/components/bq-notification.js.map +1 -1
  395. package/dist/components/bq-option-group.js +2 -2
  396. package/dist/components/bq-option-group.js.map +1 -1
  397. package/dist/components/bq-option-list2.js +7 -3
  398. package/dist/components/bq-option-list2.js.map +1 -1
  399. package/dist/components/bq-option.js +59 -43
  400. package/dist/components/bq-option.js.map +1 -1
  401. package/dist/components/bq-page-title.js +34 -30
  402. package/dist/components/bq-page-title.js.map +1 -1
  403. package/dist/components/bq-panel2.js +10 -8
  404. package/dist/components/bq-panel2.js.map +1 -1
  405. package/dist/components/bq-progress.js +2 -3
  406. package/dist/components/bq-progress.js.map +1 -1
  407. package/dist/components/bq-radio-group.js +10 -5
  408. package/dist/components/bq-radio-group.js.map +1 -1
  409. package/dist/components/bq-radio.js +43 -37
  410. package/dist/components/bq-radio.js.map +1 -1
  411. package/dist/components/bq-select.js +181 -164
  412. package/dist/components/bq-select.js.map +1 -1
  413. package/dist/components/bq-side-menu-item.js +67 -54
  414. package/dist/components/bq-side-menu-item.js.map +1 -1
  415. package/dist/components/bq-side-menu.js +47 -31
  416. package/dist/components/bq-side-menu.js.map +1 -1
  417. package/dist/components/bq-slider.js +158 -143
  418. package/dist/components/bq-slider.js.map +1 -1
  419. package/dist/components/bq-spinner.js +49 -48
  420. package/dist/components/bq-spinner.js.map +1 -1
  421. package/dist/components/bq-status.js +2 -3
  422. package/dist/components/bq-status.js.map +1 -1
  423. package/dist/components/bq-step-item.js +14 -10
  424. package/dist/components/bq-step-item.js.map +1 -1
  425. package/dist/components/bq-steps.js +11 -9
  426. package/dist/components/bq-steps.js.map +1 -1
  427. package/dist/components/bq-switch.js +41 -30
  428. package/dist/components/bq-switch.js.map +1 -1
  429. package/dist/components/bq-tab-group.js +62 -55
  430. package/dist/components/bq-tab-group.js.map +1 -1
  431. package/dist/components/bq-tab.js +41 -31
  432. package/dist/components/bq-tab.js.map +1 -1
  433. package/dist/components/bq-tag2.js +63 -49
  434. package/dist/components/bq-tag2.js.map +1 -1
  435. package/dist/components/bq-textarea.js +77 -55
  436. package/dist/components/bq-textarea.js.map +1 -1
  437. package/dist/components/bq-toast.js +42 -36
  438. package/dist/components/bq-toast.js.map +1 -1
  439. package/dist/components/bq-tooltip2.js +44 -40
  440. package/dist/components/bq-tooltip2.js.map +1 -1
  441. package/dist/components/cssVariables.js +1 -1
  442. package/dist/components/cssVariables.js.map +1 -1
  443. package/dist/components/debounce.js +2 -2
  444. package/dist/components/debounce.js.map +1 -1
  445. package/dist/components/index.js +1 -1
  446. package/dist/components/index2.js +62 -18
  447. package/dist/components/index2.js.map +1 -1
  448. package/dist/components/isDefined.js +0 -1
  449. package/dist/components/isDefined.js.map +1 -1
  450. package/dist/components/slot.js +2 -3
  451. package/dist/components/slot.js.map +1 -1
  452. package/dist/esm/assetsPath-beeee241.js +74 -0
  453. package/dist/esm/assetsPath-beeee241.js.map +1 -0
  454. package/dist/esm/beeq.js +4 -4
  455. package/dist/esm/beeq.js.map +1 -1
  456. package/dist/esm/bq-accordion-group.entry.js +3 -4
  457. package/dist/esm/bq-accordion-group.entry.js.map +1 -1
  458. package/dist/esm/bq-accordion.entry.js +83 -48
  459. package/dist/esm/bq-accordion.entry.js.map +1 -1
  460. package/dist/esm/bq-alert.entry.js +57 -43
  461. package/dist/esm/bq-alert.entry.js.map +1 -1
  462. package/dist/esm/bq-avatar.entry.js +40 -40
  463. package/dist/esm/bq-avatar.entry.js.map +1 -1
  464. package/dist/esm/bq-badge.entry.js +42 -42
  465. package/dist/esm/bq-badge.entry.js.map +1 -1
  466. package/dist/esm/bq-breadcrumb-item.entry.js +39 -29
  467. package/dist/esm/bq-breadcrumb-item.entry.js.map +1 -1
  468. package/dist/esm/bq-breadcrumb.entry.js +45 -30
  469. package/dist/esm/bq-breadcrumb.entry.js.map +1 -1
  470. package/dist/esm/bq-button_2.entry.js +138 -90
  471. package/dist/esm/bq-button_2.entry.js.map +1 -1
  472. package/dist/esm/bq-card.entry.js +3 -4
  473. package/dist/esm/bq-card.entry.js.map +1 -1
  474. package/dist/esm/bq-checkbox.entry.js +63 -54
  475. package/dist/esm/bq-checkbox.entry.js.map +1 -1
  476. package/dist/esm/bq-date-picker.entry.js +160 -140
  477. package/dist/esm/bq-date-picker.entry.js.map +1 -1
  478. package/dist/esm/bq-dialog.entry.js +71 -50
  479. package/dist/esm/bq-dialog.entry.js.map +1 -1
  480. package/dist/esm/bq-divider.entry.js +23 -21
  481. package/dist/esm/bq-divider.entry.js.map +1 -1
  482. package/dist/esm/bq-drawer.entry.js +48 -34
  483. package/dist/esm/bq-drawer.entry.js.map +1 -1
  484. package/dist/esm/bq-dropdown_2.entry.js +44 -34
  485. package/dist/esm/bq-dropdown_2.entry.js.map +1 -1
  486. package/dist/esm/bq-empty-state.entry.js +25 -22
  487. package/dist/esm/bq-empty-state.entry.js.map +1 -1
  488. package/dist/esm/bq-input.entry.js +116 -90
  489. package/dist/esm/bq-input.entry.js.map +1 -1
  490. package/dist/esm/bq-notification.entry.js +63 -49
  491. package/dist/esm/bq-notification.entry.js.map +1 -1
  492. package/dist/esm/bq-option-group.entry.js +3 -3
  493. package/dist/esm/bq-option-group.entry.js.map +1 -1
  494. package/dist/esm/bq-option-list_2.entry.js +73 -54
  495. package/dist/esm/bq-option-list_2.entry.js.map +1 -1
  496. package/dist/esm/bq-option.entry.js +61 -45
  497. package/dist/esm/bq-option.entry.js.map +1 -1
  498. package/dist/esm/bq-page-title.entry.js +36 -32
  499. package/dist/esm/bq-page-title.entry.js.map +1 -1
  500. package/dist/esm/bq-progress.entry.js +3 -4
  501. package/dist/esm/bq-progress.entry.js.map +1 -1
  502. package/dist/esm/bq-radio-group.entry.js +12 -7
  503. package/dist/esm/bq-radio-group.entry.js.map +1 -1
  504. package/dist/esm/bq-radio.entry.js +43 -37
  505. package/dist/esm/bq-radio.entry.js.map +1 -1
  506. package/dist/esm/bq-select.entry.js +185 -168
  507. package/dist/esm/bq-select.entry.js.map +1 -1
  508. package/dist/esm/bq-side-menu-item.entry.js +68 -55
  509. package/dist/esm/bq-side-menu-item.entry.js.map +1 -1
  510. package/dist/esm/bq-side-menu.entry.js +47 -32
  511. package/dist/esm/bq-side-menu.entry.js.map +1 -1
  512. package/dist/esm/bq-slider.entry.js +160 -145
  513. package/dist/esm/bq-slider.entry.js.map +1 -1
  514. package/dist/esm/bq-spinner.entry.js +52 -51
  515. package/dist/esm/bq-spinner.entry.js.map +1 -1
  516. package/dist/esm/bq-status.entry.js +3 -4
  517. package/dist/esm/bq-status.entry.js.map +1 -1
  518. package/dist/esm/bq-step-item.entry.js +15 -11
  519. package/dist/esm/bq-step-item.entry.js.map +1 -1
  520. package/dist/esm/bq-steps.entry.js +12 -10
  521. package/dist/esm/bq-steps.entry.js.map +1 -1
  522. package/dist/esm/bq-switch.entry.js +43 -32
  523. package/dist/esm/bq-switch.entry.js.map +1 -1
  524. package/dist/esm/bq-tab-group.entry.js +64 -57
  525. package/dist/esm/bq-tab-group.entry.js.map +1 -1
  526. package/dist/esm/bq-tab.entry.js +43 -33
  527. package/dist/esm/bq-tab.entry.js.map +1 -1
  528. package/dist/esm/bq-textarea.entry.js +80 -58
  529. package/dist/esm/bq-textarea.entry.js.map +1 -1
  530. package/dist/esm/bq-toast.entry.js +44 -38
  531. package/dist/esm/bq-toast.entry.js.map +1 -1
  532. package/dist/esm/bq-tooltip.entry.js +46 -42
  533. package/dist/esm/bq-tooltip.entry.js.map +1 -1
  534. package/dist/esm/{cssVariables-23e3ca0d.js → cssVariables-000c23ad.js} +2 -2
  535. package/dist/esm/cssVariables-000c23ad.js.map +1 -0
  536. package/dist/esm/{debounce-c82e3da1.js → debounce-3e72f418.js} +3 -3
  537. package/dist/esm/debounce-3e72f418.js.map +1 -0
  538. package/dist/esm/{index-efc1c2ef.js → index-033f1efb.js} +48 -16
  539. package/dist/esm/index-033f1efb.js.map +1 -0
  540. package/dist/esm/{index-136429a6.js → index-1618c78b.js} +63 -19
  541. package/dist/esm/index-1618c78b.js.map +1 -0
  542. package/dist/esm/index.js +6 -6
  543. package/dist/esm/{isDefined-1e676215.js → isDefined-0cb07ee6.js} +1 -2
  544. package/dist/esm/isDefined-0cb07ee6.js.map +1 -0
  545. package/dist/esm/loader.js +3 -3
  546. package/dist/esm/{slot-179d109d.js → slot-58bfedb5.js} +3 -4
  547. package/dist/esm/slot-58bfedb5.js.map +1 -0
  548. package/dist/hydrate/index.d.ts +10 -4
  549. package/dist/hydrate/index.js +3857 -1984
  550. package/dist/hydrate/index.mjs +3857 -1984
  551. package/dist/types/_storybook/foundation/helper/index.d.ts +1 -3
  552. package/dist/types/components/button/bq-button.d.ts +5 -0
  553. package/dist/types/components/radio/bq-radio.d.ts +0 -5
  554. package/dist/types/index.d.ts +1 -1
  555. package/dist/types/shared/utils/assetsPath.d.ts +6 -19
  556. package/dist/types/stencil-public-runtime.d.ts +4 -0
  557. package/package.json +4 -4
  558. package/dist/beeq/p-05b44bb7.entry.js +0 -6
  559. package/dist/beeq/p-05b44bb7.entry.js.map +0 -1
  560. package/dist/beeq/p-0cbec77b.entry.js +0 -6
  561. package/dist/beeq/p-1202161d.entry.js +0 -6
  562. package/dist/beeq/p-17b341dd.entry.js +0 -6
  563. package/dist/beeq/p-17b341dd.entry.js.map +0 -1
  564. package/dist/beeq/p-1d81f9e5.entry.js +0 -6
  565. package/dist/beeq/p-1d81f9e5.entry.js.map +0 -1
  566. package/dist/beeq/p-2714ce21.entry.js +0 -6
  567. package/dist/beeq/p-2714ce21.entry.js.map +0 -1
  568. package/dist/beeq/p-2e61db84.entry.js +0 -6
  569. package/dist/beeq/p-32f74048.entry.js +0 -6
  570. package/dist/beeq/p-32f74048.entry.js.map +0 -1
  571. package/dist/beeq/p-339d14c8.entry.js +0 -6
  572. package/dist/beeq/p-339d14c8.entry.js.map +0 -1
  573. package/dist/beeq/p-35ec6cac.entry.js +0 -6
  574. package/dist/beeq/p-35ec6cac.entry.js.map +0 -1
  575. package/dist/beeq/p-38d4bd8a.js +0 -6
  576. package/dist/beeq/p-38d4bd8a.js.map +0 -1
  577. package/dist/beeq/p-3ea228d3.entry.js +0 -6
  578. package/dist/beeq/p-3ea228d3.entry.js.map +0 -1
  579. package/dist/beeq/p-45b7b5cf.entry.js +0 -6
  580. package/dist/beeq/p-45e674b4.entry.js +0 -6
  581. package/dist/beeq/p-45e674b4.entry.js.map +0 -1
  582. package/dist/beeq/p-4954154f.entry.js +0 -6
  583. package/dist/beeq/p-4954154f.entry.js.map +0 -1
  584. package/dist/beeq/p-513bab02.js +0 -6
  585. package/dist/beeq/p-5a9a73a0.js +0 -6
  586. package/dist/beeq/p-5a9a73a0.js.map +0 -1
  587. package/dist/beeq/p-5f3ce05a.entry.js +0 -6
  588. package/dist/beeq/p-5f3ce05a.entry.js.map +0 -1
  589. package/dist/beeq/p-6823479d.entry.js +0 -6
  590. package/dist/beeq/p-76e714c6.js +0 -7
  591. package/dist/beeq/p-76e714c6.js.map +0 -1
  592. package/dist/beeq/p-7871f3f0.entry.js +0 -6
  593. package/dist/beeq/p-7a049750.entry.js +0 -6
  594. package/dist/beeq/p-7a049750.entry.js.map +0 -1
  595. package/dist/beeq/p-83207939.entry.js +0 -6
  596. package/dist/beeq/p-8d8993ba.entry.js +0 -6
  597. package/dist/beeq/p-8d8993ba.entry.js.map +0 -1
  598. package/dist/beeq/p-9406afc0.entry.js +0 -6
  599. package/dist/beeq/p-9406afc0.entry.js.map +0 -1
  600. package/dist/beeq/p-94899104.entry.js +0 -6
  601. package/dist/beeq/p-94899104.entry.js.map +0 -1
  602. package/dist/beeq/p-951ba558.js +0 -6
  603. package/dist/beeq/p-95d0abdc.entry.js +0 -6
  604. package/dist/beeq/p-9da0e8d7.entry.js +0 -6
  605. package/dist/beeq/p-a535a72f.entry.js +0 -6
  606. package/dist/beeq/p-a535a72f.entry.js.map +0 -1
  607. package/dist/beeq/p-a5a17e6e.entry.js +0 -6
  608. package/dist/beeq/p-a5a17e6e.entry.js.map +0 -1
  609. package/dist/beeq/p-b2acd8f3.entry.js +0 -6
  610. package/dist/beeq/p-b7f02fb6.entry.js.map +0 -1
  611. package/dist/beeq/p-b994054a.entry.js.map +0 -1
  612. package/dist/beeq/p-be4941d0.entry.js +0 -6
  613. package/dist/beeq/p-be4941d0.entry.js.map +0 -1
  614. package/dist/beeq/p-d7a88b16.js +0 -6
  615. package/dist/beeq/p-dd206dba.entry.js +0 -6
  616. package/dist/beeq/p-dd206dba.entry.js.map +0 -1
  617. package/dist/beeq/p-ded1aed2.entry.js +0 -6
  618. package/dist/beeq/p-e08d9b52.entry.js +0 -6
  619. package/dist/beeq/p-e08d9b52.entry.js.map +0 -1
  620. package/dist/beeq/p-e572b038.entry.js +0 -6
  621. package/dist/beeq/p-e572b038.entry.js.map +0 -1
  622. package/dist/beeq/p-e5afdf8c.js +0 -6
  623. package/dist/beeq/p-e5afdf8c.js.map +0 -1
  624. package/dist/beeq/p-e7ede06e.entry.js +0 -6
  625. package/dist/beeq/p-f7a0a316.entry.js +0 -6
  626. package/dist/beeq/p-fbf6b04b.entry.js +0 -6
  627. package/dist/cjs/assetsPath-7ead23b7.js +0 -89
  628. package/dist/cjs/assetsPath-7ead23b7.js.map +0 -1
  629. package/dist/cjs/cssVariables-a0e1e906.js.map +0 -1
  630. package/dist/cjs/debounce-f94a239b.js.map +0 -1
  631. package/dist/cjs/index-e4c116b6.js.map +0 -1
  632. package/dist/cjs/index-e6d59dbb.js.map +0 -1
  633. package/dist/cjs/isDefined-a9dd6d5b.js.map +0 -1
  634. package/dist/cjs/slot-dd6f7db9.js.map +0 -1
  635. package/dist/components/assetsPath.js +0 -86
  636. package/dist/components/assetsPath.js.map +0 -1
  637. package/dist/esm/assetsPath-c02b0e16.js +0 -86
  638. package/dist/esm/assetsPath-c02b0e16.js.map +0 -1
  639. package/dist/esm/cssVariables-23e3ca0d.js.map +0 -1
  640. package/dist/esm/debounce-c82e3da1.js.map +0 -1
  641. package/dist/esm/index-136429a6.js.map +0 -1
  642. package/dist/esm/index-efc1c2ef.js.map +0 -1
  643. package/dist/esm/isDefined-1e676215.js.map +0 -1
  644. package/dist/esm/slot-179d109d.js.map +0 -1
@@ -0,0 +1,1983 @@
1
+ /*!
2
+ * Built by Endavans
3
+ * © https://beeq.design - Apache 2 License.
4
+ */
5
+ /**
6
+ * Custom positioning reference element.
7
+ * @see https://floating-ui.com/docs/virtual-elements
8
+ */
9
+ const t = [ "top", "right", "bottom", "left" ];
10
+
11
+ const e = [ "start", "end" ];
12
+
13
+ const n = t.reduce(((t, n) => t.concat(n, n + "-" + e[0], n + "-" + e[1])), []);
14
+
15
+ const o = Math.min;
16
+
17
+ const i = Math.max;
18
+
19
+ const s = Math.round;
20
+
21
+ const r = Math.floor;
22
+
23
+ const createCoords = t => ({
24
+ x: t,
25
+ y: t
26
+ });
27
+
28
+ const c = {
29
+ left: "right",
30
+ right: "left",
31
+ bottom: "top",
32
+ top: "bottom"
33
+ };
34
+
35
+ const l = {
36
+ start: "end",
37
+ end: "start"
38
+ };
39
+
40
+ function clamp(t, e, n) {
41
+ return i(t, o(e, n));
42
+ }
43
+
44
+ function evaluate(t, e) {
45
+ return typeof t === "function" ? t(e) : t;
46
+ }
47
+
48
+ function getSide(t) {
49
+ return t.split("-")[0];
50
+ }
51
+
52
+ function getAlignment(t) {
53
+ return t.split("-")[1];
54
+ }
55
+
56
+ function getOppositeAxis(t) {
57
+ return t === "x" ? "y" : "x";
58
+ }
59
+
60
+ function getAxisLength(t) {
61
+ return t === "y" ? "height" : "width";
62
+ }
63
+
64
+ function getSideAxis(t) {
65
+ return [ "top", "bottom" ].includes(getSide(t)) ? "y" : "x";
66
+ }
67
+
68
+ function getAlignmentAxis(t) {
69
+ return getOppositeAxis(getSideAxis(t));
70
+ }
71
+
72
+ function getAlignmentSides(t, e, n) {
73
+ if (n === void 0) {
74
+ n = false;
75
+ }
76
+ const o = getAlignment(t);
77
+ const i = getAlignmentAxis(t);
78
+ const s = getAxisLength(i);
79
+ let r = i === "x" ? o === (n ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top";
80
+ if (e.reference[s] > e.floating[s]) {
81
+ r = getOppositePlacement(r);
82
+ }
83
+ return [ r, getOppositePlacement(r) ];
84
+ }
85
+
86
+ function getExpandedPlacements(t) {
87
+ const e = getOppositePlacement(t);
88
+ return [ getOppositeAlignmentPlacement(t), e, getOppositeAlignmentPlacement(e) ];
89
+ }
90
+
91
+ function getOppositeAlignmentPlacement(t) {
92
+ return t.replace(/start|end/g, (t => l[t]));
93
+ }
94
+
95
+ function getSideList(t, e, n) {
96
+ const o = [ "left", "right" ];
97
+ const i = [ "right", "left" ];
98
+ const s = [ "top", "bottom" ];
99
+ const r = [ "bottom", "top" ];
100
+ switch (t) {
101
+ case "top":
102
+ case "bottom":
103
+ if (n) return e ? i : o;
104
+ return e ? o : i;
105
+
106
+ case "left":
107
+ case "right":
108
+ return e ? s : r;
109
+
110
+ default:
111
+ return [];
112
+ }
113
+ }
114
+
115
+ function getOppositeAxisPlacements(t, e, n, o) {
116
+ const i = getAlignment(t);
117
+ let s = getSideList(getSide(t), n === "start", o);
118
+ if (i) {
119
+ s = s.map((t => t + "-" + i));
120
+ if (e) {
121
+ s = s.concat(s.map(getOppositeAlignmentPlacement));
122
+ }
123
+ }
124
+ return s;
125
+ }
126
+
127
+ function getOppositePlacement(t) {
128
+ return t.replace(/left|right|bottom|top/g, (t => c[t]));
129
+ }
130
+
131
+ function expandPaddingObject(t) {
132
+ return {
133
+ top: 0,
134
+ right: 0,
135
+ bottom: 0,
136
+ left: 0,
137
+ ...t
138
+ };
139
+ }
140
+
141
+ function getPaddingObject(t) {
142
+ return typeof t !== "number" ? expandPaddingObject(t) : {
143
+ top: t,
144
+ right: t,
145
+ bottom: t,
146
+ left: t
147
+ };
148
+ }
149
+
150
+ function rectToClientRect(t) {
151
+ const {x: e, y: n, width: o, height: i} = t;
152
+ return {
153
+ width: o,
154
+ height: i,
155
+ top: n,
156
+ left: e,
157
+ right: e + o,
158
+ bottom: n + i,
159
+ x: e,
160
+ y: n
161
+ };
162
+ }
163
+
164
+ function computeCoordsFromPlacement(t, e, n) {
165
+ let {reference: o, floating: i} = t;
166
+ const s = getSideAxis(e);
167
+ const r = getAlignmentAxis(e);
168
+ const c = getAxisLength(r);
169
+ const l = getSide(e);
170
+ const a = s === "y";
171
+ const f = o.x + o.width / 2 - i.width / 2;
172
+ const u = o.y + o.height / 2 - i.height / 2;
173
+ const g = o[c] / 2 - i[c] / 2;
174
+ let d;
175
+ switch (l) {
176
+ case "top":
177
+ d = {
178
+ x: f,
179
+ y: o.y - i.height
180
+ };
181
+ break;
182
+
183
+ case "bottom":
184
+ d = {
185
+ x: f,
186
+ y: o.y + o.height
187
+ };
188
+ break;
189
+
190
+ case "right":
191
+ d = {
192
+ x: o.x + o.width,
193
+ y: u
194
+ };
195
+ break;
196
+
197
+ case "left":
198
+ d = {
199
+ x: o.x - i.width,
200
+ y: u
201
+ };
202
+ break;
203
+
204
+ default:
205
+ d = {
206
+ x: o.x,
207
+ y: o.y
208
+ };
209
+ }
210
+ switch (getAlignment(e)) {
211
+ case "start":
212
+ d[r] -= g * (n && a ? -1 : 1);
213
+ break;
214
+
215
+ case "end":
216
+ d[r] += g * (n && a ? -1 : 1);
217
+ break;
218
+ }
219
+ return d;
220
+ }
221
+
222
+ /**
223
+ * Computes the `x` and `y` coordinates that will place the floating element
224
+ * next to a given reference element.
225
+ *
226
+ * This export does not have any `platform` interface logic. You will need to
227
+ * write one for the platform you are using Floating UI with.
228
+ */ const computePosition$1 = async (t, e, n) => {
229
+ const {placement: o = "bottom", strategy: i = "absolute", middleware: s = [], platform: r} = n;
230
+ const c = s.filter(Boolean);
231
+ const l = await (r.isRTL == null ? void 0 : r.isRTL(e));
232
+ let a = await r.getElementRects({
233
+ reference: t,
234
+ floating: e,
235
+ strategy: i
236
+ });
237
+ let {x: f, y: u} = computeCoordsFromPlacement(a, o, l);
238
+ let g = o;
239
+ let d = {};
240
+ let m = 0;
241
+ for (let n = 0; n < c.length; n++) {
242
+ const {name: s, fn: p} = c[n];
243
+ const {x: h, y: w, data: y, reset: v} = await p({
244
+ x: f,
245
+ y: u,
246
+ initialPlacement: o,
247
+ placement: g,
248
+ strategy: i,
249
+ middlewareData: d,
250
+ rects: a,
251
+ platform: r,
252
+ elements: {
253
+ reference: t,
254
+ floating: e
255
+ }
256
+ });
257
+ f = h != null ? h : f;
258
+ u = w != null ? w : u;
259
+ d = {
260
+ ...d,
261
+ [s]: {
262
+ ...d[s],
263
+ ...y
264
+ }
265
+ };
266
+ if (v && m <= 50) {
267
+ m++;
268
+ if (typeof v === "object") {
269
+ if (v.placement) {
270
+ g = v.placement;
271
+ }
272
+ if (v.rects) {
273
+ a = v.rects === true ? await r.getElementRects({
274
+ reference: t,
275
+ floating: e,
276
+ strategy: i
277
+ }) : v.rects;
278
+ }
279
+ ({x: f, y: u} = computeCoordsFromPlacement(a, g, l));
280
+ }
281
+ n = -1;
282
+ }
283
+ }
284
+ return {
285
+ x: f,
286
+ y: u,
287
+ placement: g,
288
+ strategy: i,
289
+ middlewareData: d
290
+ };
291
+ };
292
+
293
+ /**
294
+ * Resolves with an object of overflow side offsets that determine how much the
295
+ * element is overflowing a given clipping boundary on each side.
296
+ * - positive = overflowing the boundary by that number of pixels
297
+ * - negative = how many pixels left before it will overflow
298
+ * - 0 = lies flush with the boundary
299
+ * @see https://floating-ui.com/docs/detectOverflow
300
+ */ async function detectOverflow(t, e) {
301
+ var n;
302
+ if (e === void 0) {
303
+ e = {};
304
+ }
305
+ const {x: o, y: i, platform: s, rects: r, elements: c, strategy: l} = t;
306
+ const {boundary: a = "clippingAncestors", rootBoundary: f = "viewport", elementContext: u = "floating", altBoundary: g = false, padding: d = 0} = evaluate(e, t);
307
+ const m = getPaddingObject(d);
308
+ const p = u === "floating" ? "reference" : "floating";
309
+ const h = c[g ? p : u];
310
+ const w = rectToClientRect(await s.getClippingRect({
311
+ element: ((n = await (s.isElement == null ? void 0 : s.isElement(h))) != null ? n : true) ? h : h.contextElement || await (s.getDocumentElement == null ? void 0 : s.getDocumentElement(c.floating)),
312
+ boundary: a,
313
+ rootBoundary: f,
314
+ strategy: l
315
+ }));
316
+ const y = u === "floating" ? {
317
+ x: o,
318
+ y: i,
319
+ width: r.floating.width,
320
+ height: r.floating.height
321
+ } : r.reference;
322
+ const v = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(c.floating));
323
+ const x = await (s.isElement == null ? void 0 : s.isElement(v)) ? await (s.getScale == null ? void 0 : s.getScale(v)) || {
324
+ x: 1,
325
+ y: 1
326
+ } : {
327
+ x: 1,
328
+ y: 1
329
+ };
330
+ const A = rectToClientRect(s.convertOffsetParentRelativeRectToViewportRelativeRect ? await s.convertOffsetParentRelativeRectToViewportRelativeRect({
331
+ elements: c,
332
+ rect: y,
333
+ offsetParent: v,
334
+ strategy: l
335
+ }) : y);
336
+ return {
337
+ top: (w.top - A.top + m.top) / x.y,
338
+ bottom: (A.bottom - w.bottom + m.bottom) / x.y,
339
+ left: (w.left - A.left + m.left) / x.x,
340
+ right: (A.right - w.right + m.right) / x.x
341
+ };
342
+ }
343
+
344
+ /**
345
+ * Provides data to position an inner element of the floating element so that it
346
+ * appears centered to the reference element.
347
+ * @see https://floating-ui.com/docs/arrow
348
+ */ const arrow$1 = t => ({
349
+ name: "arrow",
350
+ options: t,
351
+ async fn(e) {
352
+ const {x: n, y: i, placement: s, rects: r, platform: c, elements: l, middlewareData: a} = e;
353
+ // Since `element` is required, we don't Partial<> the type.
354
+ const {element: f, padding: u = 0} = evaluate(t, e) || {};
355
+ if (f == null) {
356
+ return {};
357
+ }
358
+ const g = getPaddingObject(u);
359
+ const d = {
360
+ x: n,
361
+ y: i
362
+ };
363
+ const m = getAlignmentAxis(s);
364
+ const p = getAxisLength(m);
365
+ const h = await c.getDimensions(f);
366
+ const w = m === "y";
367
+ const y = w ? "top" : "left";
368
+ const v = w ? "bottom" : "right";
369
+ const x = w ? "clientHeight" : "clientWidth";
370
+ const A = r.reference[p] + r.reference[m] - d[m] - r.floating[p];
371
+ const b = d[m] - r.reference[m];
372
+ const S = await (c.getOffsetParent == null ? void 0 : c.getOffsetParent(f));
373
+ let O = S ? S[x] : 0;
374
+ // DOM platform can return `window` as the `offsetParent`.
375
+ if (!O || !await (c.isElement == null ? void 0 : c.isElement(S))) {
376
+ O = l.floating[x] || r.floating[p];
377
+ }
378
+ const C = A / 2 - b / 2;
379
+ // If the padding is large enough that it causes the arrow to no longer be
380
+ // centered, modify the padding so that it is centered.
381
+ const R = O / 2 - h[p] / 2 - 1;
382
+ const P = o(g[y], R);
383
+ const E = o(g[v], R);
384
+ // Make sure the arrow doesn't overflow the floating element if the center
385
+ // point is outside the floating element's bounds.
386
+ const T = P;
387
+ const L = O - h[p] - E;
388
+ const N = O / 2 - h[p] / 2 + C;
389
+ const B = clamp(T, N, L);
390
+ // If the reference is small enough that the arrow's padding causes it to
391
+ // to point to nothing for an aligned placement, adjust the offset of the
392
+ // floating element itself. To ensure `shift()` continues to take action,
393
+ // a single reset is performed when this is true.
394
+ const D = !a.arrow && getAlignment(s) != null && N !== B && r.reference[p] / 2 - (N < T ? P : E) - h[p] / 2 < 0;
395
+ const W = D ? N < T ? N - T : N - L : 0;
396
+ return {
397
+ [m]: d[m] + W,
398
+ data: {
399
+ [m]: B,
400
+ centerOffset: N - B - W,
401
+ ...D && {
402
+ alignmentOffset: W
403
+ }
404
+ },
405
+ reset: D
406
+ };
407
+ }
408
+ });
409
+
410
+ function getPlacementList(t, e, n) {
411
+ const o = t ? [ ...n.filter((e => getAlignment(e) === t)), ...n.filter((e => getAlignment(e) !== t)) ] : n.filter((t => getSide(t) === t));
412
+ return o.filter((n => {
413
+ if (t) {
414
+ return getAlignment(n) === t || (e ? getOppositeAlignmentPlacement(n) !== n : false);
415
+ }
416
+ return true;
417
+ }));
418
+ }
419
+
420
+ /**
421
+ * Optimizes the visibility of the floating element by choosing the placement
422
+ * that has the most space available automatically, without needing to specify a
423
+ * preferred placement. Alternative to `flip`.
424
+ * @see https://floating-ui.com/docs/autoPlacement
425
+ */ const autoPlacement = function(t) {
426
+ if (t === void 0) {
427
+ t = {};
428
+ }
429
+ return {
430
+ name: "autoPlacement",
431
+ options: t,
432
+ async fn(e) {
433
+ var o, i, s;
434
+ const {rects: r, middlewareData: c, placement: l, platform: a, elements: f} = e;
435
+ const {crossAxis: u = false, alignment: g, allowedPlacements: d = n, autoAlignment: m = true, ...p} = evaluate(t, e);
436
+ const h = g !== undefined || d === n ? getPlacementList(g || null, m, d) : d;
437
+ const w = await detectOverflow(e, p);
438
+ const y = ((o = c.autoPlacement) == null ? void 0 : o.index) || 0;
439
+ const v = h[y];
440
+ if (v == null) {
441
+ return {};
442
+ }
443
+ const x = getAlignmentSides(v, r, await (a.isRTL == null ? void 0 : a.isRTL(f.floating)));
444
+ // Make `computeCoords` start from the right place.
445
+ if (l !== v) {
446
+ return {
447
+ reset: {
448
+ placement: h[0]
449
+ }
450
+ };
451
+ }
452
+ const A = [ w[getSide(v)], w[x[0]], w[x[1]] ];
453
+ const b = [ ...((i = c.autoPlacement) == null ? void 0 : i.overflows) || [], {
454
+ placement: v,
455
+ overflows: A
456
+ } ];
457
+ const S = h[y + 1];
458
+ // There are more placements to check.
459
+ if (S) {
460
+ return {
461
+ data: {
462
+ index: y + 1,
463
+ overflows: b
464
+ },
465
+ reset: {
466
+ placement: S
467
+ }
468
+ };
469
+ }
470
+ const O = b.map((t => {
471
+ const e = getAlignment(t.placement);
472
+ return [ t.placement, e && u ?
473
+ // Check along the mainAxis and main crossAxis side.
474
+ t.overflows.slice(0, 2).reduce(((t, e) => t + e), 0) :
475
+ // Check only the mainAxis.
476
+ t.overflows[0], t.overflows ];
477
+ })).sort(((t, e) => t[1] - e[1]));
478
+ const C = O.filter((t => t[2].slice(0,
479
+ // Aligned placements should not check their opposite crossAxis
480
+ // side.
481
+ getAlignment(t[0]) ? 2 : 3).every((t => t <= 0))));
482
+ const R = ((s = C[0]) == null ? void 0 : s[0]) || O[0][0];
483
+ if (R !== l) {
484
+ return {
485
+ data: {
486
+ index: y + 1,
487
+ overflows: b
488
+ },
489
+ reset: {
490
+ placement: R
491
+ }
492
+ };
493
+ }
494
+ return {};
495
+ }
496
+ };
497
+ };
498
+
499
+ /**
500
+ * Optimizes the visibility of the floating element by flipping the `placement`
501
+ * in order to keep it in view when the preferred placement(s) will overflow the
502
+ * clipping boundary. Alternative to `autoPlacement`.
503
+ * @see https://floating-ui.com/docs/flip
504
+ */ const flip$1 = function(t) {
505
+ if (t === void 0) {
506
+ t = {};
507
+ }
508
+ return {
509
+ name: "flip",
510
+ options: t,
511
+ async fn(e) {
512
+ var n, o;
513
+ const {placement: i, middlewareData: s, rects: r, initialPlacement: c, platform: l, elements: a} = e;
514
+ const {mainAxis: f = true, crossAxis: u = true, fallbackPlacements: g, fallbackStrategy: d = "bestFit", fallbackAxisSideDirection: m = "none", flipAlignment: p = true, ...h} = evaluate(t, e);
515
+ // If a reset by the arrow was caused due to an alignment offset being
516
+ // added, we should skip any logic now since `flip()` has already done its
517
+ // work.
518
+ // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643
519
+ if ((n = s.arrow) != null && n.alignmentOffset) {
520
+ return {};
521
+ }
522
+ const w = getSide(i);
523
+ const y = getSideAxis(c);
524
+ const v = getSide(c) === c;
525
+ const x = await (l.isRTL == null ? void 0 : l.isRTL(a.floating));
526
+ const A = g || (v || !p ? [ getOppositePlacement(c) ] : getExpandedPlacements(c));
527
+ const b = m !== "none";
528
+ if (!g && b) {
529
+ A.push(...getOppositeAxisPlacements(c, p, m, x));
530
+ }
531
+ const S = [ c, ...A ];
532
+ const O = await detectOverflow(e, h);
533
+ const C = [];
534
+ let R = ((o = s.flip) == null ? void 0 : o.overflows) || [];
535
+ if (f) {
536
+ C.push(O[w]);
537
+ }
538
+ if (u) {
539
+ const t = getAlignmentSides(i, r, x);
540
+ C.push(O[t[0]], O[t[1]]);
541
+ }
542
+ R = [ ...R, {
543
+ placement: i,
544
+ overflows: C
545
+ } ];
546
+ // One or more sides is overflowing.
547
+ if (!C.every((t => t <= 0))) {
548
+ var P, E;
549
+ const t = (((P = s.flip) == null ? void 0 : P.index) || 0) + 1;
550
+ const e = S[t];
551
+ if (e) {
552
+ // Try next placement and re-run the lifecycle.
553
+ return {
554
+ data: {
555
+ index: t,
556
+ overflows: R
557
+ },
558
+ reset: {
559
+ placement: e
560
+ }
561
+ };
562
+ }
563
+ // First, find the candidates that fit on the mainAxis side of overflow,
564
+ // then find the placement that fits the best on the main crossAxis side.
565
+ let n = (E = R.filter((t => t.overflows[0] <= 0)).sort(((t, e) => t.overflows[1] - e.overflows[1]))[0]) == null ? void 0 : E.placement;
566
+ // Otherwise fallback.
567
+ if (!n) {
568
+ switch (d) {
569
+ case "bestFit":
570
+ {
571
+ var T;
572
+ const t = (T = R.filter((t => {
573
+ if (b) {
574
+ const e = getSideAxis(t.placement);
575
+ return e === y ||
576
+ // Create a bias to the `y` side axis due to horizontal
577
+ // reading directions favoring greater width.
578
+ e === "y";
579
+ }
580
+ return true;
581
+ })).map((t => [ t.placement, t.overflows.filter((t => t > 0)).reduce(((t, e) => t + e), 0) ])).sort(((t, e) => t[1] - e[1]))[0]) == null ? void 0 : T[0];
582
+ if (t) {
583
+ n = t;
584
+ }
585
+ break;
586
+ }
587
+
588
+ case "initialPlacement":
589
+ n = c;
590
+ break;
591
+ }
592
+ }
593
+ if (i !== n) {
594
+ return {
595
+ reset: {
596
+ placement: n
597
+ }
598
+ };
599
+ }
600
+ }
601
+ return {};
602
+ }
603
+ };
604
+ };
605
+
606
+ function getSideOffsets(t, e) {
607
+ return {
608
+ top: t.top - e.height,
609
+ right: t.right - e.width,
610
+ bottom: t.bottom - e.height,
611
+ left: t.left - e.width
612
+ };
613
+ }
614
+
615
+ function isAnySideFullyClipped(e) {
616
+ return t.some((t => e[t] >= 0));
617
+ }
618
+
619
+ /**
620
+ * Provides data to hide the floating element in applicable situations, such as
621
+ * when it is not in the same clipping context as the reference element.
622
+ * @see https://floating-ui.com/docs/hide
623
+ */ const hide$1 = function(t) {
624
+ if (t === void 0) {
625
+ t = {};
626
+ }
627
+ return {
628
+ name: "hide",
629
+ options: t,
630
+ async fn(e) {
631
+ const {rects: n} = e;
632
+ const {strategy: o = "referenceHidden", ...i} = evaluate(t, e);
633
+ switch (o) {
634
+ case "referenceHidden":
635
+ {
636
+ const t = await detectOverflow(e, {
637
+ ...i,
638
+ elementContext: "reference"
639
+ });
640
+ const o = getSideOffsets(t, n.reference);
641
+ return {
642
+ data: {
643
+ referenceHiddenOffsets: o,
644
+ referenceHidden: isAnySideFullyClipped(o)
645
+ }
646
+ };
647
+ }
648
+
649
+ case "escaped":
650
+ {
651
+ const t = await detectOverflow(e, {
652
+ ...i,
653
+ altBoundary: true
654
+ });
655
+ const o = getSideOffsets(t, n.floating);
656
+ return {
657
+ data: {
658
+ escapedOffsets: o,
659
+ escaped: isAnySideFullyClipped(o)
660
+ }
661
+ };
662
+ }
663
+
664
+ default:
665
+ {
666
+ return {};
667
+ }
668
+ }
669
+ }
670
+ };
671
+ };
672
+
673
+ function getBoundingRect(t) {
674
+ const e = o(...t.map((t => t.left)));
675
+ const n = o(...t.map((t => t.top)));
676
+ const s = i(...t.map((t => t.right)));
677
+ const r = i(...t.map((t => t.bottom)));
678
+ return {
679
+ x: e,
680
+ y: n,
681
+ width: s - e,
682
+ height: r - n
683
+ };
684
+ }
685
+
686
+ function getRectsByLine(t) {
687
+ const e = t.slice().sort(((t, e) => t.y - e.y));
688
+ const n = [];
689
+ let o = null;
690
+ for (let t = 0; t < e.length; t++) {
691
+ const i = e[t];
692
+ if (!o || i.y - o.y > o.height / 2) {
693
+ n.push([ i ]);
694
+ } else {
695
+ n[n.length - 1].push(i);
696
+ }
697
+ o = i;
698
+ }
699
+ return n.map((t => rectToClientRect(getBoundingRect(t))));
700
+ }
701
+
702
+ /**
703
+ * Provides improved positioning for inline reference elements that can span
704
+ * over multiple lines, such as hyperlinks or range selections.
705
+ * @see https://floating-ui.com/docs/inline
706
+ */ const inline = function(t) {
707
+ if (t === void 0) {
708
+ t = {};
709
+ }
710
+ return {
711
+ name: "inline",
712
+ options: t,
713
+ async fn(e) {
714
+ const {placement: n, elements: s, rects: r, platform: c, strategy: l} = e;
715
+ // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a
716
+ // ClientRect's bounds, despite the event listener being triggered. A
717
+ // padding of 2 seems to handle this issue.
718
+ const {padding: a = 2, x: f, y: u} = evaluate(t, e);
719
+ const g = Array.from(await (c.getClientRects == null ? void 0 : c.getClientRects(s.reference)) || []);
720
+ const d = getRectsByLine(g);
721
+ const m = rectToClientRect(getBoundingRect(g));
722
+ const p = getPaddingObject(a);
723
+ function getBoundingClientRect() {
724
+ // There are two rects and they are disjoined.
725
+ if (d.length === 2 && d[0].left > d[1].right && f != null && u != null) {
726
+ // Find the first rect in which the point is fully inside.
727
+ return d.find((t => f > t.left - p.left && f < t.right + p.right && u > t.top - p.top && u < t.bottom + p.bottom)) || m;
728
+ }
729
+ // There are 2 or more connected rects.
730
+ if (d.length >= 2) {
731
+ if (getSideAxis(n) === "y") {
732
+ const t = d[0];
733
+ const e = d[d.length - 1];
734
+ const o = getSide(n) === "top";
735
+ const i = t.top;
736
+ const s = e.bottom;
737
+ const r = o ? t.left : e.left;
738
+ const c = o ? t.right : e.right;
739
+ const l = c - r;
740
+ const a = s - i;
741
+ return {
742
+ top: i,
743
+ bottom: s,
744
+ left: r,
745
+ right: c,
746
+ width: l,
747
+ height: a,
748
+ x: r,
749
+ y: i
750
+ };
751
+ }
752
+ const t = getSide(n) === "left";
753
+ const e = i(...d.map((t => t.right)));
754
+ const s = o(...d.map((t => t.left)));
755
+ const r = d.filter((n => t ? n.left === s : n.right === e));
756
+ const c = r[0].top;
757
+ const l = r[r.length - 1].bottom;
758
+ const a = s;
759
+ const f = e;
760
+ const u = f - a;
761
+ const g = l - c;
762
+ return {
763
+ top: c,
764
+ bottom: l,
765
+ left: a,
766
+ right: f,
767
+ width: u,
768
+ height: g,
769
+ x: a,
770
+ y: c
771
+ };
772
+ }
773
+ return m;
774
+ }
775
+ const h = await c.getElementRects({
776
+ reference: {
777
+ getBoundingClientRect
778
+ },
779
+ floating: s.floating,
780
+ strategy: l
781
+ });
782
+ if (r.reference.x !== h.reference.x || r.reference.y !== h.reference.y || r.reference.width !== h.reference.width || r.reference.height !== h.reference.height) {
783
+ return {
784
+ reset: {
785
+ rects: h
786
+ }
787
+ };
788
+ }
789
+ return {};
790
+ }
791
+ };
792
+ };
793
+
794
+ // For type backwards-compatibility, the `OffsetOptions` type was also
795
+ // Derivable.
796
+ async function convertValueToCoords(t, e) {
797
+ const {placement: n, platform: o, elements: i} = t;
798
+ const s = await (o.isRTL == null ? void 0 : o.isRTL(i.floating));
799
+ const r = getSide(n);
800
+ const c = getAlignment(n);
801
+ const l = getSideAxis(n) === "y";
802
+ const a = [ "left", "top" ].includes(r) ? -1 : 1;
803
+ const f = s && l ? -1 : 1;
804
+ const u = evaluate(e, t);
805
+ // eslint-disable-next-line prefer-const
806
+ let {mainAxis: g, crossAxis: d, alignmentAxis: m} = typeof u === "number" ? {
807
+ mainAxis: u,
808
+ crossAxis: 0,
809
+ alignmentAxis: null
810
+ } : {
811
+ mainAxis: u.mainAxis || 0,
812
+ crossAxis: u.crossAxis || 0,
813
+ alignmentAxis: u.alignmentAxis
814
+ };
815
+ if (c && typeof m === "number") {
816
+ d = c === "end" ? m * -1 : m;
817
+ }
818
+ return l ? {
819
+ x: d * f,
820
+ y: g * a
821
+ } : {
822
+ x: g * a,
823
+ y: d * f
824
+ };
825
+ }
826
+
827
+ /**
828
+ * Modifies the placement by translating the floating element along the
829
+ * specified axes.
830
+ * A number (shorthand for `mainAxis` or distance), or an axes configuration
831
+ * object may be passed.
832
+ * @see https://floating-ui.com/docs/offset
833
+ */ const offset$1 = function(t) {
834
+ if (t === void 0) {
835
+ t = 0;
836
+ }
837
+ return {
838
+ name: "offset",
839
+ options: t,
840
+ async fn(e) {
841
+ var n, o;
842
+ const {x: i, y: s, placement: r, middlewareData: c} = e;
843
+ const l = await convertValueToCoords(e, t);
844
+ // If the placement is the same and the arrow caused an alignment offset
845
+ // then we don't need to change the positioning coordinates.
846
+ if (r === ((n = c.offset) == null ? void 0 : n.placement) && (o = c.arrow) != null && o.alignmentOffset) {
847
+ return {};
848
+ }
849
+ return {
850
+ x: i + l.x,
851
+ y: s + l.y,
852
+ data: {
853
+ ...l,
854
+ placement: r
855
+ }
856
+ };
857
+ }
858
+ };
859
+ };
860
+
861
+ /**
862
+ * Optimizes the visibility of the floating element by shifting it in order to
863
+ * keep it in view when it will overflow the clipping boundary.
864
+ * @see https://floating-ui.com/docs/shift
865
+ */ const shift$1 = function(t) {
866
+ if (t === void 0) {
867
+ t = {};
868
+ }
869
+ return {
870
+ name: "shift",
871
+ options: t,
872
+ async fn(e) {
873
+ const {x: n, y: o, placement: i} = e;
874
+ const {mainAxis: s = true, crossAxis: r = false, limiter: c = {
875
+ fn: t => {
876
+ let {x: e, y: n} = t;
877
+ return {
878
+ x: e,
879
+ y: n
880
+ };
881
+ }
882
+ }, ...l} = evaluate(t, e);
883
+ const a = {
884
+ x: n,
885
+ y: o
886
+ };
887
+ const f = await detectOverflow(e, l);
888
+ const u = getSideAxis(getSide(i));
889
+ const g = getOppositeAxis(u);
890
+ let d = a[g];
891
+ let m = a[u];
892
+ if (s) {
893
+ const t = g === "y" ? "top" : "left";
894
+ const e = g === "y" ? "bottom" : "right";
895
+ const n = d + f[t];
896
+ const o = d - f[e];
897
+ d = clamp(n, d, o);
898
+ }
899
+ if (r) {
900
+ const t = u === "y" ? "top" : "left";
901
+ const e = u === "y" ? "bottom" : "right";
902
+ const n = m + f[t];
903
+ const o = m - f[e];
904
+ m = clamp(n, m, o);
905
+ }
906
+ const p = c.fn({
907
+ ...e,
908
+ [g]: d,
909
+ [u]: m
910
+ });
911
+ return {
912
+ ...p,
913
+ data: {
914
+ x: p.x - n,
915
+ y: p.y - o,
916
+ enabled: {
917
+ [g]: s,
918
+ [u]: r
919
+ }
920
+ }
921
+ };
922
+ }
923
+ };
924
+ };
925
+
926
+ /**
927
+ * Built-in `limiter` that will stop `shift()` at a certain point.
928
+ */ const limitShift = function(t) {
929
+ if (t === void 0) {
930
+ t = {};
931
+ }
932
+ return {
933
+ options: t,
934
+ fn(e) {
935
+ const {x: n, y: o, placement: i, rects: s, middlewareData: r} = e;
936
+ const {offset: c = 0, mainAxis: l = true, crossAxis: a = true} = evaluate(t, e);
937
+ const f = {
938
+ x: n,
939
+ y: o
940
+ };
941
+ const u = getSideAxis(i);
942
+ const g = getOppositeAxis(u);
943
+ let d = f[g];
944
+ let m = f[u];
945
+ const p = evaluate(c, e);
946
+ const h = typeof p === "number" ? {
947
+ mainAxis: p,
948
+ crossAxis: 0
949
+ } : {
950
+ mainAxis: 0,
951
+ crossAxis: 0,
952
+ ...p
953
+ };
954
+ if (l) {
955
+ const t = g === "y" ? "height" : "width";
956
+ const e = s.reference[g] - s.floating[t] + h.mainAxis;
957
+ const n = s.reference[g] + s.reference[t] - h.mainAxis;
958
+ if (d < e) {
959
+ d = e;
960
+ } else if (d > n) {
961
+ d = n;
962
+ }
963
+ }
964
+ if (a) {
965
+ var w, y;
966
+ const t = g === "y" ? "width" : "height";
967
+ const e = [ "top", "left" ].includes(getSide(i));
968
+ const n = s.reference[u] - s.floating[t] + (e ? ((w = r.offset) == null ? void 0 : w[u]) || 0 : 0) + (e ? 0 : h.crossAxis);
969
+ const o = s.reference[u] + s.reference[t] + (e ? 0 : ((y = r.offset) == null ? void 0 : y[u]) || 0) - (e ? h.crossAxis : 0);
970
+ if (m < n) {
971
+ m = n;
972
+ } else if (m > o) {
973
+ m = o;
974
+ }
975
+ }
976
+ return {
977
+ [g]: d,
978
+ [u]: m
979
+ };
980
+ }
981
+ };
982
+ };
983
+
984
+ /**
985
+ * Provides data that allows you to change the size of the floating element —
986
+ * for instance, prevent it from overflowing the clipping boundary or match the
987
+ * width of the reference element.
988
+ * @see https://floating-ui.com/docs/size
989
+ */ const size$1 = function(t) {
990
+ if (t === void 0) {
991
+ t = {};
992
+ }
993
+ return {
994
+ name: "size",
995
+ options: t,
996
+ async fn(e) {
997
+ var n, s;
998
+ const {placement: r, rects: c, platform: l, elements: a} = e;
999
+ const {apply: f = (() => {}), ...u} = evaluate(t, e);
1000
+ const g = await detectOverflow(e, u);
1001
+ const d = getSide(r);
1002
+ const m = getAlignment(r);
1003
+ const p = getSideAxis(r) === "y";
1004
+ const {width: h, height: w} = c.floating;
1005
+ let y;
1006
+ let v;
1007
+ if (d === "top" || d === "bottom") {
1008
+ y = d;
1009
+ v = m === (await (l.isRTL == null ? void 0 : l.isRTL(a.floating)) ? "start" : "end") ? "left" : "right";
1010
+ } else {
1011
+ v = d;
1012
+ y = m === "end" ? "top" : "bottom";
1013
+ }
1014
+ const x = w - g.top - g.bottom;
1015
+ const A = h - g.left - g.right;
1016
+ const b = o(w - g[y], x);
1017
+ const S = o(h - g[v], A);
1018
+ const O = !e.middlewareData.shift;
1019
+ let C = b;
1020
+ let R = S;
1021
+ if ((n = e.middlewareData.shift) != null && n.enabled.x) {
1022
+ R = A;
1023
+ }
1024
+ if ((s = e.middlewareData.shift) != null && s.enabled.y) {
1025
+ C = x;
1026
+ }
1027
+ if (O && !m) {
1028
+ const t = i(g.left, 0);
1029
+ const e = i(g.right, 0);
1030
+ const n = i(g.top, 0);
1031
+ const o = i(g.bottom, 0);
1032
+ if (p) {
1033
+ R = h - 2 * (t !== 0 || e !== 0 ? t + e : i(g.left, g.right));
1034
+ } else {
1035
+ C = w - 2 * (n !== 0 || o !== 0 ? n + o : i(g.top, g.bottom));
1036
+ }
1037
+ }
1038
+ await f({
1039
+ ...e,
1040
+ availableWidth: R,
1041
+ availableHeight: C
1042
+ });
1043
+ const P = await l.getDimensions(a.floating);
1044
+ if (h !== P.width || w !== P.height) {
1045
+ return {
1046
+ reset: {
1047
+ rects: true
1048
+ }
1049
+ };
1050
+ }
1051
+ return {};
1052
+ }
1053
+ };
1054
+ };
1055
+
1056
+ function hasWindow() {
1057
+ return typeof window !== "undefined";
1058
+ }
1059
+
1060
+ function getNodeName(t) {
1061
+ if (isNode(t)) {
1062
+ return (t.nodeName || "").toLowerCase();
1063
+ }
1064
+ // Mocked nodes in testing environments may not be instances of Node. By
1065
+ // returning `#document` an infinite loop won't occur.
1066
+ // https://github.com/floating-ui/floating-ui/issues/2317
1067
+ return "#document";
1068
+ }
1069
+
1070
+ function getWindow(t) {
1071
+ var e;
1072
+ return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;
1073
+ }
1074
+
1075
+ function getDocumentElement(t) {
1076
+ var e;
1077
+ return (e = (isNode(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;
1078
+ }
1079
+
1080
+ function isNode(t) {
1081
+ if (!hasWindow()) {
1082
+ return false;
1083
+ }
1084
+ return t instanceof Node || t instanceof getWindow(t).Node;
1085
+ }
1086
+
1087
+ function isElement(t) {
1088
+ if (!hasWindow()) {
1089
+ return false;
1090
+ }
1091
+ return t instanceof Element || t instanceof getWindow(t).Element;
1092
+ }
1093
+
1094
+ function isHTMLElement(t) {
1095
+ if (!hasWindow()) {
1096
+ return false;
1097
+ }
1098
+ return t instanceof HTMLElement || t instanceof getWindow(t).HTMLElement;
1099
+ }
1100
+
1101
+ function isShadowRoot(t) {
1102
+ if (!hasWindow() || typeof ShadowRoot === "undefined") {
1103
+ return false;
1104
+ }
1105
+ return t instanceof ShadowRoot || t instanceof getWindow(t).ShadowRoot;
1106
+ }
1107
+
1108
+ function isOverflowElement(t) {
1109
+ const {overflow: e, overflowX: n, overflowY: o, display: i} = getComputedStyle(t);
1110
+ return /auto|scroll|overlay|hidden|clip/.test(e + o + n) && ![ "inline", "contents" ].includes(i);
1111
+ }
1112
+
1113
+ function isTableElement(t) {
1114
+ return [ "table", "td", "th" ].includes(getNodeName(t));
1115
+ }
1116
+
1117
+ function isTopLayer(t) {
1118
+ return [ ":popover-open", ":modal" ].some((e => {
1119
+ try {
1120
+ return t.matches(e);
1121
+ } catch (t) {
1122
+ return false;
1123
+ }
1124
+ }));
1125
+ }
1126
+
1127
+ function isContainingBlock(t) {
1128
+ const e = isWebKit();
1129
+ const n = isElement(t) ? getComputedStyle(t) : t;
1130
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
1131
+ return n.transform !== "none" || n.perspective !== "none" || (n.containerType ? n.containerType !== "normal" : false) || !e && (n.backdropFilter ? n.backdropFilter !== "none" : false) || !e && (n.filter ? n.filter !== "none" : false) || [ "transform", "perspective", "filter" ].some((t => (n.willChange || "").includes(t))) || [ "paint", "layout", "strict", "content" ].some((t => (n.contain || "").includes(t)));
1132
+ }
1133
+
1134
+ function getContainingBlock(t) {
1135
+ let e = getParentNode(t);
1136
+ while (isHTMLElement(e) && !isLastTraversableNode(e)) {
1137
+ if (isContainingBlock(e)) {
1138
+ return e;
1139
+ } else if (isTopLayer(e)) {
1140
+ return null;
1141
+ }
1142
+ e = getParentNode(e);
1143
+ }
1144
+ return null;
1145
+ }
1146
+
1147
+ function isWebKit() {
1148
+ if (typeof CSS === "undefined" || !CSS.supports) return false;
1149
+ return CSS.supports("-webkit-backdrop-filter", "none");
1150
+ }
1151
+
1152
+ function isLastTraversableNode(t) {
1153
+ return [ "html", "body", "#document" ].includes(getNodeName(t));
1154
+ }
1155
+
1156
+ function getComputedStyle(t) {
1157
+ return getWindow(t).getComputedStyle(t);
1158
+ }
1159
+
1160
+ function getNodeScroll(t) {
1161
+ if (isElement(t)) {
1162
+ return {
1163
+ scrollLeft: t.scrollLeft,
1164
+ scrollTop: t.scrollTop
1165
+ };
1166
+ }
1167
+ return {
1168
+ scrollLeft: t.scrollX,
1169
+ scrollTop: t.scrollY
1170
+ };
1171
+ }
1172
+
1173
+ function getParentNode(t) {
1174
+ if (getNodeName(t) === "html") {
1175
+ return t;
1176
+ }
1177
+ const e =
1178
+ // Step into the shadow DOM of the parent of a slotted node.
1179
+ t.assignedSlot ||
1180
+ // DOM Element detected.
1181
+ t.parentNode ||
1182
+ // ShadowRoot detected.
1183
+ isShadowRoot(t) && t.host ||
1184
+ // Fallback.
1185
+ getDocumentElement(t);
1186
+ return isShadowRoot(e) ? e.host : e;
1187
+ }
1188
+
1189
+ function getNearestOverflowAncestor(t) {
1190
+ const e = getParentNode(t);
1191
+ if (isLastTraversableNode(e)) {
1192
+ return t.ownerDocument ? t.ownerDocument.body : t.body;
1193
+ }
1194
+ if (isHTMLElement(e) && isOverflowElement(e)) {
1195
+ return e;
1196
+ }
1197
+ return getNearestOverflowAncestor(e);
1198
+ }
1199
+
1200
+ function getOverflowAncestors(t, e, n) {
1201
+ var o;
1202
+ if (e === void 0) {
1203
+ e = [];
1204
+ }
1205
+ if (n === void 0) {
1206
+ n = true;
1207
+ }
1208
+ const i = getNearestOverflowAncestor(t);
1209
+ const s = i === ((o = t.ownerDocument) == null ? void 0 : o.body);
1210
+ const r = getWindow(i);
1211
+ if (s) {
1212
+ const t = getFrameElement(r);
1213
+ return e.concat(r, r.visualViewport || [], isOverflowElement(i) ? i : [], t && n ? getOverflowAncestors(t) : []);
1214
+ }
1215
+ return e.concat(i, getOverflowAncestors(i, [], n));
1216
+ }
1217
+
1218
+ function getFrameElement(t) {
1219
+ return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;
1220
+ }
1221
+
1222
+ function getCssDimensions(t) {
1223
+ const e = getComputedStyle(t);
1224
+ // In testing environments, the `width` and `height` properties are empty
1225
+ // strings for SVG elements, returning NaN. Fallback to `0` in this case.
1226
+ let n = parseFloat(e.width) || 0;
1227
+ let o = parseFloat(e.height) || 0;
1228
+ const i = isHTMLElement(t);
1229
+ const r = i ? t.offsetWidth : n;
1230
+ const c = i ? t.offsetHeight : o;
1231
+ const l = s(n) !== r || s(o) !== c;
1232
+ if (l) {
1233
+ n = r;
1234
+ o = c;
1235
+ }
1236
+ return {
1237
+ width: n,
1238
+ height: o,
1239
+ $: l
1240
+ };
1241
+ }
1242
+
1243
+ function unwrapElement(t) {
1244
+ return !isElement(t) ? t.contextElement : t;
1245
+ }
1246
+
1247
+ function getScale(t) {
1248
+ const e = unwrapElement(t);
1249
+ if (!isHTMLElement(e)) {
1250
+ return createCoords(1);
1251
+ }
1252
+ const n = e.getBoundingClientRect();
1253
+ const {width: o, height: i, $: r} = getCssDimensions(e);
1254
+ let c = (r ? s(n.width) : n.width) / o;
1255
+ let l = (r ? s(n.height) : n.height) / i;
1256
+ // 0, NaN, or Infinity should always fallback to 1.
1257
+ if (!c || !Number.isFinite(c)) {
1258
+ c = 1;
1259
+ }
1260
+ if (!l || !Number.isFinite(l)) {
1261
+ l = 1;
1262
+ }
1263
+ return {
1264
+ x: c,
1265
+ y: l
1266
+ };
1267
+ }
1268
+
1269
+ const a = createCoords(0);
1270
+
1271
+ function getVisualOffsets(t) {
1272
+ const e = getWindow(t);
1273
+ if (!isWebKit() || !e.visualViewport) {
1274
+ return a;
1275
+ }
1276
+ return {
1277
+ x: e.visualViewport.offsetLeft,
1278
+ y: e.visualViewport.offsetTop
1279
+ };
1280
+ }
1281
+
1282
+ function shouldAddVisualOffsets(t, e, n) {
1283
+ if (e === void 0) {
1284
+ e = false;
1285
+ }
1286
+ if (!n || e && n !== getWindow(t)) {
1287
+ return false;
1288
+ }
1289
+ return e;
1290
+ }
1291
+
1292
+ function getBoundingClientRect(t, e, n, o) {
1293
+ if (e === void 0) {
1294
+ e = false;
1295
+ }
1296
+ if (n === void 0) {
1297
+ n = false;
1298
+ }
1299
+ const i = t.getBoundingClientRect();
1300
+ const s = unwrapElement(t);
1301
+ let r = createCoords(1);
1302
+ if (e) {
1303
+ if (o) {
1304
+ if (isElement(o)) {
1305
+ r = getScale(o);
1306
+ }
1307
+ } else {
1308
+ r = getScale(t);
1309
+ }
1310
+ }
1311
+ const c = shouldAddVisualOffsets(s, n, o) ? getVisualOffsets(s) : createCoords(0);
1312
+ let l = (i.left + c.x) / r.x;
1313
+ let a = (i.top + c.y) / r.y;
1314
+ let f = i.width / r.x;
1315
+ let u = i.height / r.y;
1316
+ if (s) {
1317
+ const t = getWindow(s);
1318
+ const e = o && isElement(o) ? getWindow(o) : o;
1319
+ let n = t;
1320
+ let i = getFrameElement(n);
1321
+ while (i && o && e !== n) {
1322
+ const t = getScale(i);
1323
+ const e = i.getBoundingClientRect();
1324
+ const o = getComputedStyle(i);
1325
+ const s = e.left + (i.clientLeft + parseFloat(o.paddingLeft)) * t.x;
1326
+ const r = e.top + (i.clientTop + parseFloat(o.paddingTop)) * t.y;
1327
+ l *= t.x;
1328
+ a *= t.y;
1329
+ f *= t.x;
1330
+ u *= t.y;
1331
+ l += s;
1332
+ a += r;
1333
+ n = getWindow(i);
1334
+ i = getFrameElement(n);
1335
+ }
1336
+ }
1337
+ return rectToClientRect({
1338
+ width: f,
1339
+ height: u,
1340
+ x: l,
1341
+ y: a
1342
+ });
1343
+ }
1344
+
1345
+ function convertOffsetParentRelativeRectToViewportRelativeRect(t) {
1346
+ let {elements: e, rect: n, offsetParent: o, strategy: i} = t;
1347
+ const s = i === "fixed";
1348
+ const r = getDocumentElement(o);
1349
+ const c = e ? isTopLayer(e.floating) : false;
1350
+ if (o === r || c && s) {
1351
+ return n;
1352
+ }
1353
+ let l = {
1354
+ scrollLeft: 0,
1355
+ scrollTop: 0
1356
+ };
1357
+ let a = createCoords(1);
1358
+ const f = createCoords(0);
1359
+ const u = isHTMLElement(o);
1360
+ if (u || !u && !s) {
1361
+ if (getNodeName(o) !== "body" || isOverflowElement(r)) {
1362
+ l = getNodeScroll(o);
1363
+ }
1364
+ if (isHTMLElement(o)) {
1365
+ const t = getBoundingClientRect(o);
1366
+ a = getScale(o);
1367
+ f.x = t.x + o.clientLeft;
1368
+ f.y = t.y + o.clientTop;
1369
+ }
1370
+ }
1371
+ return {
1372
+ width: n.width * a.x,
1373
+ height: n.height * a.y,
1374
+ x: n.x * a.x - l.scrollLeft * a.x + f.x,
1375
+ y: n.y * a.y - l.scrollTop * a.y + f.y
1376
+ };
1377
+ }
1378
+
1379
+ function getClientRects(t) {
1380
+ return Array.from(t.getClientRects());
1381
+ }
1382
+
1383
+ // If <html> has a CSS width greater than the viewport, then this will be
1384
+ // incorrect for RTL.
1385
+ function getWindowScrollBarX(t, e) {
1386
+ const n = getNodeScroll(t).scrollLeft;
1387
+ if (!e) {
1388
+ return getBoundingClientRect(getDocumentElement(t)).left + n;
1389
+ }
1390
+ return e.left + n;
1391
+ }
1392
+
1393
+ // Gets the entire size of the scrollable document area, even extending outside
1394
+ // of the `<html>` and `<body>` rect bounds if horizontally scrollable.
1395
+ function getDocumentRect(t) {
1396
+ const e = getDocumentElement(t);
1397
+ const n = getNodeScroll(t);
1398
+ const o = t.ownerDocument.body;
1399
+ const s = i(e.scrollWidth, e.clientWidth, o.scrollWidth, o.clientWidth);
1400
+ const r = i(e.scrollHeight, e.clientHeight, o.scrollHeight, o.clientHeight);
1401
+ let c = -n.scrollLeft + getWindowScrollBarX(t);
1402
+ const l = -n.scrollTop;
1403
+ if (getComputedStyle(o).direction === "rtl") {
1404
+ c += i(e.clientWidth, o.clientWidth) - s;
1405
+ }
1406
+ return {
1407
+ width: s,
1408
+ height: r,
1409
+ x: c,
1410
+ y: l
1411
+ };
1412
+ }
1413
+
1414
+ function getViewportRect(t, e) {
1415
+ const n = getWindow(t);
1416
+ const o = getDocumentElement(t);
1417
+ const i = n.visualViewport;
1418
+ let s = o.clientWidth;
1419
+ let r = o.clientHeight;
1420
+ let c = 0;
1421
+ let l = 0;
1422
+ if (i) {
1423
+ s = i.width;
1424
+ r = i.height;
1425
+ const t = isWebKit();
1426
+ if (!t || t && e === "fixed") {
1427
+ c = i.offsetLeft;
1428
+ l = i.offsetTop;
1429
+ }
1430
+ }
1431
+ return {
1432
+ width: s,
1433
+ height: r,
1434
+ x: c,
1435
+ y: l
1436
+ };
1437
+ }
1438
+
1439
+ // Returns the inner client rect, subtracting scrollbars if present.
1440
+ function getInnerBoundingClientRect(t, e) {
1441
+ const n = getBoundingClientRect(t, true, e === "fixed");
1442
+ const o = n.top + t.clientTop;
1443
+ const i = n.left + t.clientLeft;
1444
+ const s = isHTMLElement(t) ? getScale(t) : createCoords(1);
1445
+ const r = t.clientWidth * s.x;
1446
+ const c = t.clientHeight * s.y;
1447
+ const l = i * s.x;
1448
+ const a = o * s.y;
1449
+ return {
1450
+ width: r,
1451
+ height: c,
1452
+ x: l,
1453
+ y: a
1454
+ };
1455
+ }
1456
+
1457
+ function getClientRectFromClippingAncestor(t, e, n) {
1458
+ let o;
1459
+ if (e === "viewport") {
1460
+ o = getViewportRect(t, n);
1461
+ } else if (e === "document") {
1462
+ o = getDocumentRect(getDocumentElement(t));
1463
+ } else if (isElement(e)) {
1464
+ o = getInnerBoundingClientRect(e, n);
1465
+ } else {
1466
+ const n = getVisualOffsets(t);
1467
+ o = {
1468
+ ...e,
1469
+ x: e.x - n.x,
1470
+ y: e.y - n.y
1471
+ };
1472
+ }
1473
+ return rectToClientRect(o);
1474
+ }
1475
+
1476
+ function hasFixedPositionAncestor(t, e) {
1477
+ const n = getParentNode(t);
1478
+ if (n === e || !isElement(n) || isLastTraversableNode(n)) {
1479
+ return false;
1480
+ }
1481
+ return getComputedStyle(n).position === "fixed" || hasFixedPositionAncestor(n, e);
1482
+ }
1483
+
1484
+ // A "clipping ancestor" is an `overflow` element with the characteristic of
1485
+ // clipping (or hiding) child elements. This returns all clipping ancestors
1486
+ // of the given element up the tree.
1487
+ function getClippingElementAncestors(t, e) {
1488
+ const n = e.get(t);
1489
+ if (n) {
1490
+ return n;
1491
+ }
1492
+ let o = getOverflowAncestors(t, [], false).filter((t => isElement(t) && getNodeName(t) !== "body"));
1493
+ let i = null;
1494
+ const s = getComputedStyle(t).position === "fixed";
1495
+ let r = s ? getParentNode(t) : t;
1496
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
1497
+ while (isElement(r) && !isLastTraversableNode(r)) {
1498
+ const e = getComputedStyle(r);
1499
+ const n = isContainingBlock(r);
1500
+ if (!n && e.position === "fixed") {
1501
+ i = null;
1502
+ }
1503
+ const c = s ? !n && !i : !n && e.position === "static" && !!i && [ "absolute", "fixed" ].includes(i.position) || isOverflowElement(r) && !n && hasFixedPositionAncestor(t, r);
1504
+ if (c) {
1505
+ // Drop non-containing blocks.
1506
+ o = o.filter((t => t !== r));
1507
+ } else {
1508
+ // Record last containing block for next iteration.
1509
+ i = e;
1510
+ }
1511
+ r = getParentNode(r);
1512
+ }
1513
+ e.set(t, o);
1514
+ return o;
1515
+ }
1516
+
1517
+ // Gets the maximum area that the element is visible in due to any number of
1518
+ // clipping ancestors.
1519
+ function getClippingRect(t) {
1520
+ let {element: e, boundary: n, rootBoundary: s, strategy: r} = t;
1521
+ const c = n === "clippingAncestors" ? isTopLayer(e) ? [] : getClippingElementAncestors(e, this._c) : [].concat(n);
1522
+ const l = [ ...c, s ];
1523
+ const a = l[0];
1524
+ const f = l.reduce(((t, n) => {
1525
+ const s = getClientRectFromClippingAncestor(e, n, r);
1526
+ t.top = i(s.top, t.top);
1527
+ t.right = o(s.right, t.right);
1528
+ t.bottom = o(s.bottom, t.bottom);
1529
+ t.left = i(s.left, t.left);
1530
+ return t;
1531
+ }), getClientRectFromClippingAncestor(e, a, r));
1532
+ return {
1533
+ width: f.right - f.left,
1534
+ height: f.bottom - f.top,
1535
+ x: f.left,
1536
+ y: f.top
1537
+ };
1538
+ }
1539
+
1540
+ function getDimensions(t) {
1541
+ const {width: e, height: n} = getCssDimensions(t);
1542
+ return {
1543
+ width: e,
1544
+ height: n
1545
+ };
1546
+ }
1547
+
1548
+ function getRectRelativeToOffsetParent(t, e, n) {
1549
+ const o = isHTMLElement(e);
1550
+ const i = getDocumentElement(e);
1551
+ const s = n === "fixed";
1552
+ const r = getBoundingClientRect(t, true, s, e);
1553
+ let c = {
1554
+ scrollLeft: 0,
1555
+ scrollTop: 0
1556
+ };
1557
+ const l = createCoords(0);
1558
+ if (o || !o && !s) {
1559
+ if (getNodeName(e) !== "body" || isOverflowElement(i)) {
1560
+ c = getNodeScroll(e);
1561
+ }
1562
+ if (o) {
1563
+ const t = getBoundingClientRect(e, true, s, e);
1564
+ l.x = t.x + e.clientLeft;
1565
+ l.y = t.y + e.clientTop;
1566
+ } else if (i) {
1567
+ // If the <body> scrollbar appears on the left (e.g. RTL systems). Use
1568
+ // Firefox with layout.scrollbar.side = 3 in about:config to test this.
1569
+ l.x = getWindowScrollBarX(i);
1570
+ }
1571
+ }
1572
+ let a = 0;
1573
+ let f = 0;
1574
+ if (i && !o && !s) {
1575
+ const t = i.getBoundingClientRect();
1576
+ f = t.top + c.scrollTop;
1577
+ a = t.left + c.scrollLeft -
1578
+ // RTL <body> scrollbar.
1579
+ getWindowScrollBarX(i, t);
1580
+ }
1581
+ const u = r.left + c.scrollLeft - l.x - a;
1582
+ const g = r.top + c.scrollTop - l.y - f;
1583
+ return {
1584
+ x: u,
1585
+ y: g,
1586
+ width: r.width,
1587
+ height: r.height
1588
+ };
1589
+ }
1590
+
1591
+ function isStaticPositioned(t) {
1592
+ return getComputedStyle(t).position === "static";
1593
+ }
1594
+
1595
+ function getTrueOffsetParent(t, e) {
1596
+ if (!isHTMLElement(t) || getComputedStyle(t).position === "fixed") {
1597
+ return null;
1598
+ }
1599
+ if (e) {
1600
+ return e(t);
1601
+ }
1602
+ let n = t.offsetParent;
1603
+ // Firefox returns the <html> element as the offsetParent if it's non-static,
1604
+ // while Chrome and Safari return the <body> element. The <body> element must
1605
+ // be used to perform the correct calculations even if the <html> element is
1606
+ // non-static.
1607
+ if (getDocumentElement(t) === n) {
1608
+ n = n.ownerDocument.body;
1609
+ }
1610
+ return n;
1611
+ }
1612
+
1613
+ // Gets the closest ancestor positioned element. Handles some edge cases,
1614
+ // such as table ancestors and cross browser bugs.
1615
+ function getOffsetParent(t, e) {
1616
+ const n = getWindow(t);
1617
+ if (isTopLayer(t)) {
1618
+ return n;
1619
+ }
1620
+ if (!isHTMLElement(t)) {
1621
+ let e = getParentNode(t);
1622
+ while (e && !isLastTraversableNode(e)) {
1623
+ if (isElement(e) && !isStaticPositioned(e)) {
1624
+ return e;
1625
+ }
1626
+ e = getParentNode(e);
1627
+ }
1628
+ return n;
1629
+ }
1630
+ let o = getTrueOffsetParent(t, e);
1631
+ while (o && isTableElement(o) && isStaticPositioned(o)) {
1632
+ o = getTrueOffsetParent(o, e);
1633
+ }
1634
+ if (o && isLastTraversableNode(o) && isStaticPositioned(o) && !isContainingBlock(o)) {
1635
+ return n;
1636
+ }
1637
+ return o || getContainingBlock(t) || n;
1638
+ }
1639
+
1640
+ const getElementRects = async function(t) {
1641
+ const e = this.getOffsetParent || getOffsetParent;
1642
+ const n = this.getDimensions;
1643
+ const o = await n(t.floating);
1644
+ return {
1645
+ reference: getRectRelativeToOffsetParent(t.reference, await e(t.floating), t.strategy),
1646
+ floating: {
1647
+ x: 0,
1648
+ y: 0,
1649
+ width: o.width,
1650
+ height: o.height
1651
+ }
1652
+ };
1653
+ };
1654
+
1655
+ function isRTL(t) {
1656
+ return getComputedStyle(t).direction === "rtl";
1657
+ }
1658
+
1659
+ const f = {
1660
+ convertOffsetParentRelativeRectToViewportRelativeRect,
1661
+ getDocumentElement,
1662
+ getClippingRect,
1663
+ getOffsetParent,
1664
+ getElementRects,
1665
+ getClientRects,
1666
+ getDimensions,
1667
+ getScale,
1668
+ isElement,
1669
+ isRTL
1670
+ };
1671
+
1672
+ // https://samthor.au/2021/observing-dom/
1673
+ function observeMove(t, e) {
1674
+ let n = null;
1675
+ let s;
1676
+ const c = getDocumentElement(t);
1677
+ function cleanup() {
1678
+ var t;
1679
+ clearTimeout(s);
1680
+ (t = n) == null || t.disconnect();
1681
+ n = null;
1682
+ }
1683
+ function refresh(l, a) {
1684
+ if (l === void 0) {
1685
+ l = false;
1686
+ }
1687
+ if (a === void 0) {
1688
+ a = 1;
1689
+ }
1690
+ cleanup();
1691
+ const {left: f, top: u, width: g, height: d} = t.getBoundingClientRect();
1692
+ if (!l) {
1693
+ e();
1694
+ }
1695
+ if (!g || !d) {
1696
+ return;
1697
+ }
1698
+ const m = r(u);
1699
+ const p = r(c.clientWidth - (f + g));
1700
+ const h = r(c.clientHeight - (u + d));
1701
+ const w = r(f);
1702
+ const y = -m + "px " + -p + "px " + -h + "px " + -w + "px";
1703
+ const v = {
1704
+ rootMargin: y,
1705
+ threshold: i(0, o(1, a)) || 1
1706
+ };
1707
+ let x = true;
1708
+ function handleObserve(t) {
1709
+ const e = t[0].intersectionRatio;
1710
+ if (e !== a) {
1711
+ if (!x) {
1712
+ return refresh();
1713
+ }
1714
+ if (!e) {
1715
+ // If the reference is clipped, the ratio is 0. Throttle the refresh
1716
+ // to prevent an infinite loop of updates.
1717
+ s = setTimeout((() => {
1718
+ refresh(false, 1e-7);
1719
+ }), 1e3);
1720
+ } else {
1721
+ refresh(false, e);
1722
+ }
1723
+ }
1724
+ x = false;
1725
+ }
1726
+ // Older browsers don't support a `document` as the root and will throw an
1727
+ // error.
1728
+ try {
1729
+ n = new IntersectionObserver(handleObserve, {
1730
+ ...v,
1731
+ // Handle <iframe>s
1732
+ root: c.ownerDocument
1733
+ });
1734
+ } catch (t) {
1735
+ n = new IntersectionObserver(handleObserve, v);
1736
+ }
1737
+ n.observe(t);
1738
+ }
1739
+ refresh(true);
1740
+ return cleanup;
1741
+ }
1742
+
1743
+ /**
1744
+ * Automatically updates the position of the floating element when necessary.
1745
+ * Should only be called when the floating element is mounted on the DOM or
1746
+ * visible on the screen.
1747
+ * @returns cleanup function that should be invoked when the floating element is
1748
+ * removed from the DOM or hidden from the screen.
1749
+ * @see https://floating-ui.com/docs/autoUpdate
1750
+ */ function autoUpdate(t, e, n, o) {
1751
+ if (o === void 0) {
1752
+ o = {};
1753
+ }
1754
+ const {ancestorScroll: i = true, ancestorResize: s = true, elementResize: r = typeof ResizeObserver === "function", layoutShift: c = typeof IntersectionObserver === "function", animationFrame: l = false} = o;
1755
+ const a = unwrapElement(t);
1756
+ const f = i || s ? [ ...a ? getOverflowAncestors(a) : [], ...getOverflowAncestors(e) ] : [];
1757
+ f.forEach((t => {
1758
+ i && t.addEventListener("scroll", n, {
1759
+ passive: true
1760
+ });
1761
+ s && t.addEventListener("resize", n);
1762
+ }));
1763
+ const u = a && c ? observeMove(a, n) : null;
1764
+ let g = -1;
1765
+ let d = null;
1766
+ if (r) {
1767
+ d = new ResizeObserver((t => {
1768
+ let [o] = t;
1769
+ if (o && o.target === a && d) {
1770
+ // Prevent update loops when using the `size` middleware.
1771
+ // https://github.com/floating-ui/floating-ui/issues/1740
1772
+ d.unobserve(e);
1773
+ cancelAnimationFrame(g);
1774
+ g = requestAnimationFrame((() => {
1775
+ var t;
1776
+ (t = d) == null || t.observe(e);
1777
+ }));
1778
+ }
1779
+ n();
1780
+ }));
1781
+ if (a && !l) {
1782
+ d.observe(a);
1783
+ }
1784
+ d.observe(e);
1785
+ }
1786
+ let m;
1787
+ let p = l ? getBoundingClientRect(t) : null;
1788
+ if (l) {
1789
+ frameLoop();
1790
+ }
1791
+ function frameLoop() {
1792
+ const e = getBoundingClientRect(t);
1793
+ if (p && (e.x !== p.x || e.y !== p.y || e.width !== p.width || e.height !== p.height)) {
1794
+ n();
1795
+ }
1796
+ p = e;
1797
+ m = requestAnimationFrame(frameLoop);
1798
+ }
1799
+ n();
1800
+ return () => {
1801
+ var t;
1802
+ f.forEach((t => {
1803
+ i && t.removeEventListener("scroll", n);
1804
+ s && t.removeEventListener("resize", n);
1805
+ }));
1806
+ u == null || u();
1807
+ (t = d) == null || t.disconnect();
1808
+ d = null;
1809
+ if (l) {
1810
+ cancelAnimationFrame(m);
1811
+ }
1812
+ };
1813
+ }
1814
+
1815
+ /**
1816
+ * Modifies the placement by translating the floating element along the
1817
+ * specified axes.
1818
+ * A number (shorthand for `mainAxis` or distance), or an axes configuration
1819
+ * object may be passed.
1820
+ * @see https://floating-ui.com/docs/offset
1821
+ */ const u = offset$1;
1822
+
1823
+ /**
1824
+ * Optimizes the visibility of the floating element by choosing the placement
1825
+ * that has the most space available automatically, without needing to specify a
1826
+ * preferred placement. Alternative to `flip`.
1827
+ * @see https://floating-ui.com/docs/autoPlacement
1828
+ */ autoPlacement;
1829
+
1830
+ /**
1831
+ * Optimizes the visibility of the floating element by shifting it in order to
1832
+ * keep it in view when it will overflow the clipping boundary.
1833
+ * @see https://floating-ui.com/docs/shift
1834
+ */ const g = shift$1;
1835
+
1836
+ /**
1837
+ * Optimizes the visibility of the floating element by flipping the `placement`
1838
+ * in order to keep it in view when the preferred placement(s) will overflow the
1839
+ * clipping boundary. Alternative to `autoPlacement`.
1840
+ * @see https://floating-ui.com/docs/flip
1841
+ */ const d = flip$1;
1842
+
1843
+ /**
1844
+ * Provides data that allows you to change the size of the floating element —
1845
+ * for instance, prevent it from overflowing the clipping boundary or match the
1846
+ * width of the reference element.
1847
+ * @see https://floating-ui.com/docs/size
1848
+ */ const m = size$1;
1849
+
1850
+ /**
1851
+ * Provides data to hide the floating element in applicable situations, such as
1852
+ * when it is not in the same clipping context as the reference element.
1853
+ * @see https://floating-ui.com/docs/hide
1854
+ */ const p = hide$1;
1855
+
1856
+ /**
1857
+ * Provides data to position an inner element of the floating element so that it
1858
+ * appears centered to the reference element.
1859
+ * @see https://floating-ui.com/docs/arrow
1860
+ */ const h = arrow$1;
1861
+
1862
+ /**
1863
+ * Provides improved positioning for inline reference elements that can span
1864
+ * over multiple lines, such as hyperlinks or range selections.
1865
+ * @see https://floating-ui.com/docs/inline
1866
+ */ inline;
1867
+
1868
+ /**
1869
+ * Built-in `limiter` that will stop `shift()` at a certain point.
1870
+ */ limitShift;
1871
+
1872
+ /**
1873
+ * Computes the `x` and `y` coordinates that will place the floating element
1874
+ * next to a given reference element.
1875
+ */ const computePosition = (t, e, n) => {
1876
+ // This caches the expensive `getClippingElementAncestors` function so that
1877
+ // multiple lifecycle resets re-use the same result. It only lives for a
1878
+ // single call. If other functions become expensive, we can add them as well.
1879
+ const o = new Map;
1880
+ const i = {
1881
+ platform: f,
1882
+ ...n
1883
+ };
1884
+ const s = {
1885
+ ...i.platform,
1886
+ _c: o
1887
+ };
1888
+ return computePosition$1(t, e, {
1889
+ ...i,
1890
+ platform: s
1891
+ });
1892
+ };
1893
+
1894
+ class w {
1895
+ panel;
1896
+ trigger;
1897
+ options;
1898
+ cleanUp;
1899
+ constructor(t, e, n) {
1900
+ this.trigger = t;
1901
+ this.panel = e;
1902
+ this.options = {
1903
+ distance: 20,
1904
+ placement: "bottom",
1905
+ strategy: "fixed",
1906
+ sameWidth: false,
1907
+ ...n
1908
+ };
1909
+ this.init(n);
1910
+ }
1911
+ init(t) {
1912
+ this.options = Object.assign(this.options, t);
1913
+ this.update();
1914
+ }
1915
+ update() {
1916
+ this.cleanUp = autoUpdate(this.trigger, this.panel, (() => {
1917
+ (async () => {
1918
+ const {x: t, y: e, placement: n, middlewareData: o} = await computePosition(this.trigger, this.panel, {
1919
+ placement: this.options.placement,
1920
+ strategy: this.options.strategy,
1921
+ middleware: [ u({
1922
+ mainAxis: this.options.distance,
1923
+ crossAxis: this.options.skidding
1924
+ }), d(), g(), m(this.options.sameWidth && {
1925
+ apply({rects: t, elements: e}) {
1926
+ Object.assign(e.floating.style, {
1927
+ width: `${t.reference.width}px`
1928
+ });
1929
+ }
1930
+ }), h({
1931
+ element: this.options.arrow || null
1932
+ }), this.positionChange(), p() ]
1933
+ });
1934
+ Object.assign(this.panel.style, {
1935
+ top: "0",
1936
+ left: "0",
1937
+ transform: `translate(${this.roundByDPR(t)}px,${this.roundByDPR(e)}px)`
1938
+ });
1939
+ if (this.options.arrow) {
1940
+ const {x: t, y: e} = o.arrow;
1941
+ const i = {
1942
+ top: "bottom",
1943
+ right: "left",
1944
+ bottom: "top",
1945
+ left: "right"
1946
+ }[n.split("-")[0]];
1947
+ Object.assign(this.options.arrow.style, {
1948
+ left: t != null ? `${t}px` : "",
1949
+ top: e != null ? `${e}px` : "",
1950
+ right: "",
1951
+ bottom: "",
1952
+ [i]: "-4px"
1953
+ });
1954
+ }
1955
+ const {referenceHidden: i} = o.hide;
1956
+ Object.assign(this.panel.style, {
1957
+ visibility: i ? "hidden" : "visible"
1958
+ });
1959
+ })();
1960
+ }));
1961
+ }
1962
+ destroy() {
1963
+ if (!this.cleanUp) return;
1964
+ this.cleanUp();
1965
+ }
1966
+ positionChange() {
1967
+ return {
1968
+ name: "positionChange",
1969
+ fn: ({placement: t}) => {
1970
+ if (typeof this.options.onPositionChange !== "function") return {};
1971
+ this.options.onPositionChange(t);
1972
+ return {};
1973
+ }
1974
+ };
1975
+ }
1976
+ roundByDPR(t) {
1977
+ const e = window.devicePixelRatio || 1;
1978
+ return Math.round(t * e) / e;
1979
+ }
1980
+ }
1981
+
1982
+ export { w as F };
1983
+ //# sourceMappingURL=p-c78ae3c2.js.map