@worktango/ai-assistant 0.0.24 → 0.0.26

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 (243) hide show
  1. package/dist/{Absenteeism-BlfJuY7Q.mjs → Absenteeism-DbIxHyQw.mjs} +12 -12
  2. package/dist/{ActivityFeed-CdbbvPCr.mjs → ActivityFeed-BRkS961e.mjs} +11 -11
  3. package/dist/{AddUser-Dm5tN1Cr.mjs → AddUser-D5w21xB7.mjs} +19 -22
  4. package/dist/{Admin-Cv5LVBbB.mjs → Admin-ByXBrdqC.mjs} +12 -12
  5. package/dist/Admin-YhydRW2u.mjs +70 -0
  6. package/dist/Anniversary-CT1cf6H5.mjs +35 -0
  7. package/dist/{Appreciation-CplBRYpa.mjs → Appreciation-iZsYD0QC.mjs} +13 -13
  8. package/dist/ArrowDown-DFSKlGr4.mjs +38 -0
  9. package/dist/ArrowLeft-DPuJx--j.mjs +12 -0
  10. package/dist/ArrowRight-VJNI-g2y.mjs +12 -0
  11. package/dist/ArrowUp-DcI8MdrO.mjs +31 -0
  12. package/dist/{Attachment-DEzcZHI7.mjs → Attachment-KmA75q1S.mjs} +7 -7
  13. package/dist/{BeQuickDontHurry-DoCKS3D0.mjs → BeQuickDontHurry-uOuPJpUy.mjs} +18 -18
  14. package/dist/Birthday-BTpQbBlc.mjs +66 -0
  15. package/dist/{BrandPromise-DT7BpKTq.mjs → BrandPromise-DJtzx6MU.mjs} +13 -13
  16. package/dist/{BrandVision-CsF5PHr9.mjs → BrandVision-C7sDSe3O.mjs} +18 -18
  17. package/dist/Calendar-DRRaOaMS.mjs +24 -0
  18. package/dist/CaretDn-Bozv_sbl.mjs +11 -0
  19. package/dist/CaretDown-C6kx7VAt.mjs +5 -0
  20. package/dist/CaretLeft-D0LG6rj4.mjs +11 -0
  21. package/dist/CaretRight-DwvLzE1w.mjs +11 -0
  22. package/dist/CaretUp-BmUqXg6f.mjs +11 -0
  23. package/dist/{ChallengeAccepted-BrB08i_g.mjs → ChallengeAccepted-ZwZ-utsp.mjs} +12 -12
  24. package/dist/CheckIn-D64WSSUj.mjs +34 -0
  25. package/dist/{CheckIns-BokF9D3N.mjs → CheckIns-D7LWyJqC.mjs} +10 -10
  26. package/dist/{CheckSeal-3RBoC7kt.mjs → CheckSeal-CZrIqtKF.mjs} +7 -10
  27. package/dist/{Checkmark-Cvb9TKPn.mjs → Checkmark-BsyXP1mq.mjs} +6 -9
  28. package/dist/{Clock-CRQ3vRb2.mjs → Clock-Dbsn4NyM.mjs} +9 -12
  29. package/dist/Close-BakZAUMS.mjs +12 -0
  30. package/dist/{CloudDownload-h8jFkmQV.mjs → CloudDownload-CuYldO5T.mjs} +7 -10
  31. package/dist/{Comment-CGL9Fj78.mjs → Comment-CEv68J37.mjs} +28 -31
  32. package/dist/{Comments-DnQeuBWu.mjs → Comments-DAja_DwU.mjs} +12 -12
  33. package/dist/{Connections-GHPqdXk3.mjs → Connections-B0xcAr-2.mjs} +12 -12
  34. package/dist/Copy-kiAE90DM.mjs +72 -0
  35. package/dist/{CustomQuestion-CYiCPJX8.mjs → CustomQuestion-Dlm7z-U3.mjs} +11 -11
  36. package/dist/{CustomerSuccess-FdMSyQLg.mjs → CustomerSuccess-DQhMrH_7.mjs} +12 -12
  37. package/dist/DatePicker-BKoSYYBY.mjs +2233 -0
  38. package/dist/Dot-DKK811Wp.mjs +12 -0
  39. package/dist/Download-JX0_AnOW.mjs +38 -0
  40. package/dist/Drag-BeaOeB0D.mjs +41 -0
  41. package/dist/Earn-C7x7hY1z.mjs +15 -0
  42. package/dist/Email-dNel_toZ.mjs +24 -0
  43. package/dist/{EmojiDisplay-D3d36Nrl.mjs → EmojiDisplay-GXF14_M4.mjs} +12719 -12719
  44. package/dist/{EmojiPicker-BzkYk2Yv.mjs → EmojiPicker-DrYJHsmo.mjs} +5311 -5311
  45. package/dist/{EnpsSurvey-wpqDe9Xq.mjs → EnpsSurvey-BtCxfMsV.mjs} +12 -12
  46. package/dist/Expired-FZ9Qs6aV.mjs +33 -0
  47. package/dist/Eye-BbSYTVj4.mjs +27 -0
  48. package/dist/{Feedback-DTwwTQN3.mjs → Feedback-BitWymFH.mjs} +12 -12
  49. package/dist/{Feedback-BQpvKfzY.mjs → Feedback-Dao-fdnk.mjs} +9 -12
  50. package/dist/Filter-BBUPDHmj.mjs +64 -0
  51. package/dist/Flag-D_mbjbc0.mjs +35 -0
  52. package/dist/{Giphy-CFMqJSYK.mjs → Giphy-EhReeuJi.mjs} +8 -8
  53. package/dist/GoalCount-byqMnHu8.mjs +10 -0
  54. package/dist/GoalPercent-CksAouyg.mjs +21 -0
  55. package/dist/{GoalTask-IZwR0ZSf.mjs → GoalTask-BR5qi0zp.mjs} +12 -12
  56. package/dist/GoalTask-BRO_abBD.mjs +20 -0
  57. package/dist/{Goals-COoucVqq.mjs → Goals-CUDz6Ygb.mjs} +14 -14
  58. package/dist/Goals-vWCCDyeK.mjs +79 -0
  59. package/dist/{Growth-D8A13g-Q.mjs → Growth-XOYZNJ9o.mjs} +19 -19
  60. package/dist/Hamburger-CnEGIF9h.mjs +9 -0
  61. package/dist/Help-BFLRhF0p.mjs +36 -0
  62. package/dist/{HighFive-kxxxx1a1.mjs → HighFive-CfnfuRqf.mjs} +10 -10
  63. package/dist/HighFive-D3n2d2uM.mjs +38 -0
  64. package/dist/{Home-Dzhzxm5B.mjs → Home-Bx_4F2LF.mjs} +6 -9
  65. package/dist/{Home-CE6c4US8.mjs → Home-hbTJOaaF.mjs} +9 -9
  66. package/dist/{HorizontalLine-Dyh1cfN-.mjs → HorizontalLine-BHCLWKsU.mjs} +6 -9
  67. package/dist/Hourglass-CBd0QCpO.mjs +53 -0
  68. package/dist/{Image-D8RpGjUr.mjs → Image-DY7MPZ_Z.mjs} +12 -12
  69. package/dist/ImageFile-DSoQ_ULA.mjs +60 -0
  70. package/dist/{InGoodCompany-F_ltthqt.mjs → InGoodCompany-CdeyMj6l.mjs} +10 -10
  71. package/dist/{Incentives-CFe-oLpH.mjs → Incentives-C-89M7JU.mjs} +26 -26
  72. package/dist/Info-CjHRpvMC.mjs +31 -0
  73. package/dist/Insights-BXcXbmlK.mjs +20 -0
  74. package/dist/{Insights-C0x9QzfX.mjs → Insights-DXKe6hG-.mjs} +11 -11
  75. package/dist/{Integrations-D4MNE3-i.mjs → Integrations-o1uhXAFC.mjs} +10 -10
  76. package/dist/KazooLogo-BqF19BMf.mjs +38 -0
  77. package/dist/{KnowYourAudience-D9qjKO2J.mjs → KnowYourAudience-CmSD_BLM.mjs} +18 -18
  78. package/dist/{Launch-xm296JGJ.mjs → Launch-BYma6AGg.mjs} +16 -16
  79. package/dist/Link-CZwyDrBe.mjs +25 -0
  80. package/dist/LinkArrow-Dk4E6w5w.mjs +12 -0
  81. package/dist/Loading-YnbFxymU.mjs +6 -0
  82. package/dist/Lock-DGuPygwV.mjs +31 -0
  83. package/dist/{Management-CSk1I3Vu.mjs → Management-D1sg9uFb.mjs} +17 -18
  84. package/dist/MeatballMenu-D6hKEmMm.mjs +9 -0
  85. package/dist/{Messages-CdHryWCZ.mjs → Messages-8AsLy3Ze.mjs} +35 -35
  86. package/dist/{Mobile-DIs7zF33.mjs → Mobile-DYAdIqRU.mjs} +9 -9
  87. package/dist/Nomination-B4eRF4RY.mjs +12 -0
  88. package/dist/{NominationsAndAwards-DUlt_REW.mjs → NominationsAndAwards-qrYeAqC0.mjs} +13 -13
  89. package/dist/Notification-Fyh_qT7l.mjs +28 -0
  90. package/dist/{Okrs-BVR2trfg.mjs → Okrs-BHZOV80J.mjs} +12 -12
  91. package/dist/{PeerToPeer-Dw7054su.mjs → PeerToPeer-in78HEZj.mjs} +14 -14
  92. package/dist/Pencil-CFOGq3tl.mjs +25 -0
  93. package/dist/People-BIEfre7y.mjs +43 -0
  94. package/dist/{PerformanceManagement-BO6JMhw0.mjs → PerformanceManagement-zr50Uo74.mjs} +13 -13
  95. package/dist/Pin-BlIj4jUO.mjs +24 -0
  96. package/dist/{PinnedIconAward-CfI7QvmM.mjs → PinnedIconAward-DGkfzaYq.mjs} +7 -7
  97. package/dist/{PinnedIconBrightIdea-C-jLsEme.mjs → PinnedIconBrightIdea-_PIGpRlT.mjs} +7 -7
  98. package/dist/{PinnedIconBullseye-DHzPwFNh.mjs → PinnedIconBullseye-BVA0IbuN.mjs} +12 -12
  99. package/dist/{PinnedIconChampagne-DqhhML6p.mjs → PinnedIconChampagne-B5VsP1uZ.mjs} +7 -7
  100. package/dist/{PinnedIconCheer-Dr-LynHf.mjs → PinnedIconCheer-BvVI9R1s.mjs} +7 -7
  101. package/dist/{PinnedIconCrown-BjZF_Us9.mjs → PinnedIconCrown-7c4v8OAE.mjs} +7 -7
  102. package/dist/{PinnedIconDiamond-mR8xcC_8.mjs → PinnedIconDiamond-KNFEMUbf.mjs} +7 -7
  103. package/dist/{PinnedIconHoleInOne-D0YlpLT_.mjs → PinnedIconHoleInOne-DS0iru38.mjs} +7 -7
  104. package/dist/{PinnedIconMedal-CsbWDOeO.mjs → PinnedIconMedal-DNYo7Q_4.mjs} +7 -7
  105. package/dist/{PinnedIconMetrics-FZwXRcdT.mjs → PinnedIconMetrics-DYVfMlTS.mjs} +7 -7
  106. package/dist/{PinnedIconPin-DQYaYwDa.mjs → PinnedIconPin-isLkYffs.mjs} +7 -7
  107. package/dist/{PinnedIconRockAndRoll-2pp2LlIt.mjs → PinnedIconRockAndRoll-cM3G61Zg.mjs} +9 -9
  108. package/dist/{PinnedIconRocket-BIrfZPOc.mjs → PinnedIconRocket-fW18WHsP.mjs} +7 -7
  109. package/dist/{PinnedIconStrength-B2Jlgh2J.mjs → PinnedIconStrength-DYAFCmJb.mjs} +7 -7
  110. package/dist/{PinnedIconTeddyBear-CywM8WU1.mjs → PinnedIconTeddyBear-D6Z-VmEr.mjs} +14 -14
  111. package/dist/{PlatformLogo-D2gEkUsw.mjs → PlatformLogo-Ba6fhYL-.mjs} +17 -17
  112. package/dist/{Plus-hKSiCxQa.mjs → Plus-BWNChy5f.mjs} +7 -10
  113. package/dist/Popper-BcjGnYbw.mjs +1118 -0
  114. package/dist/{PrivateEye-DOcfeBbQ.mjs → PrivateEye-CiAHgvVA.mjs} +28 -28
  115. package/dist/{PrivatePushPin-BORYdpxi.mjs → PrivatePushPin-Cbzq5HQp.mjs} +10 -10
  116. package/dist/{Processing-C_zBVZIK.mjs → Processing-BGyqn20L.mjs} +16 -16
  117. package/dist/{Productivity-CLljIpDf.mjs → Productivity-DX4Cdq0V.mjs} +11 -11
  118. package/dist/ProgressCircle-CzpaiCHO.mjs +12 -0
  119. package/dist/{PulseSurvey-BQdfWo9A.mjs → PulseSurvey-CODkpYga.mjs} +12 -12
  120. package/dist/{PushPin-DkTVqfKk.mjs → PushPin-IzUgOW3q.mjs} +6 -9
  121. package/dist/{Recognition-Dz_nZRDX.mjs → Recognition-A5zGTUDg.mjs} +16 -16
  122. package/dist/Recognition-B8J1HswY.mjs +38 -0
  123. package/dist/{Retention-ChOlEHZk.mjs → Retention-DJ6Hc6bu.mjs} +12 -12
  124. package/dist/Rewards-BLT8o19W.mjs +67 -0
  125. package/dist/{Rewards-CVe8-44F.mjs → Rewards-CyLmJfdo.mjs} +12 -12
  126. package/dist/{RewardsCatalog-BV1YY9Iq.mjs → RewardsCatalog-BxDRD8gn.mjs} +12 -12
  127. package/dist/Roadmap-x5gb_w-E.mjs +122 -0
  128. package/dist/Search-CtX49hQl.mjs +14 -0
  129. package/dist/{Security-DRtNtKPc.mjs → Security-4B1JEd6u.mjs} +10 -10
  130. package/dist/SendRecognition-Dvoc7JDy.mjs +5 -0
  131. package/dist/ShareLink-CsO9ji1S.mjs +27 -0
  132. package/dist/Skill-CJxY5Ect.mjs +23 -0
  133. package/dist/{Skills-DaQLD2Bb.mjs → Skills-DbmdzWXU.mjs} +14 -14
  134. package/dist/{Smiley-BmRWMKju.mjs → Smiley-B_8fqS3p.mjs} +16 -16
  135. package/dist/{Stop-jEo5XX0_.mjs → Stop-CRVDFxKZ.mjs} +29 -29
  136. package/dist/{Survey-D7Lx8jsj.mjs → Survey-Dc9QvEh_.mjs} +16 -16
  137. package/dist/{Surveys-Bnwc-nKF.mjs → Surveys-DzrcPmpP.mjs} +12 -12
  138. package/dist/{SyncUps-DRTsoQ40.mjs → SyncUps-Dj0iXLsY.mjs} +9 -9
  139. package/dist/Syncs-wLELtlXx.mjs +29 -0
  140. package/dist/{TalentReview-BCPucb1o.mjs → TalentReview-BFZJx1vL.mjs} +14 -17
  141. package/dist/{TalentReview-CnEteZI6.mjs → TalentReview-CfNUWsKq.mjs} +10 -10
  142. package/dist/TalentReviewInsights-BUf6RaW_.mjs +100 -0
  143. package/dist/TaskCompleted-B06T4kGc.mjs +97 -0
  144. package/dist/{Team-DG9N4ucC.mjs → Team-u706d96c.mjs} +13 -13
  145. package/dist/Teams-tv03lb-i.mjs +80 -0
  146. package/dist/{TextBold-JCoCqG2E.mjs → TextBold-CAuftAwA.mjs} +19 -19
  147. package/dist/{TextBulletList-wdvz7YF6.mjs → TextBulletList-BL4JCHXA.mjs} +31 -31
  148. package/dist/TextInput-pIiGhenH.mjs +121 -0
  149. package/dist/{TextItalic-DS-EVK3i.mjs → TextItalic-DUhF_PoH.mjs} +19 -19
  150. package/dist/{TextNumberList-DN5rq8Yj.mjs → TextNumberList-vSRXRVlj.mjs} +35 -35
  151. package/dist/{TextUnderline-BFQg7hSu.mjs → TextUnderline-CFqFuCuP.mjs} +23 -23
  152. package/dist/Toggle-CwjumJqn.mjs +76 -0
  153. package/dist/{Trash-CS1BAv8d.mjs → Trash-DCWrFXRz.mjs} +12 -15
  154. package/dist/TrendDown-DKVdhzB5.mjs +5 -0
  155. package/dist/TrendUp-BuHaGNF8.mjs +5 -0
  156. package/dist/{Unplugged-j7jw4iIL.mjs → Unplugged-CDA6UDKK.mjs} +32 -32
  157. package/dist/UpDownCaret-Wxd9Imbv.mjs +12 -0
  158. package/dist/{VerticalLine-DU1-BZfR.mjs → VerticalLine-DGcXIbTO.mjs} +13 -13
  159. package/dist/{Warning-C1kQzf8A.mjs → Warning-Dsuukwz8.mjs} +9 -9
  160. package/dist/{WarningNoOutline-CXC1MVzS.mjs → WarningNoOutline-De7nDvka.mjs} +10 -10
  161. package/dist/{YesAnd-C18ssrgG.mjs → YesAnd-D0FdeSxN.mjs} +9 -9
  162. package/dist/ai-assistant.css +1 -3144
  163. package/dist/emoji-BwyUr0K9.mjs +2240 -0
  164. package/dist/express.js +91 -0
  165. package/dist/react.es.js +4 -3
  166. package/dist/react.umd.js +234 -113808
  167. package/dist/reactComponent-Dehe_1Vr.mjs +22401 -0
  168. package/package.json +1 -1
  169. package/src/backend/express.ts +10 -3
  170. package/src/frontend/config.ts +54 -0
  171. package/src/frontend/reactComponent.ts +1 -0
  172. package/src/frontend/tools/generatedSdks.ts +3 -2
  173. package/src/frontend/tools/useAiAssistantSession.ts +2 -2
  174. package/types.d.ts +9 -0
  175. package/dist/Admin-GJZ14xCg.mjs +0 -73
  176. package/dist/Anniversary-CxsqeD8j.mjs +0 -38
  177. package/dist/ArrowDown-DCYs9jbi.mjs +0 -41
  178. package/dist/ArrowLeft-DlFDpsqu.mjs +0 -15
  179. package/dist/ArrowRight-CDqrZvCr.mjs +0 -15
  180. package/dist/ArrowUp-DtWnNyRL.mjs +0 -34
  181. package/dist/Birthday-COe-42mW.mjs +0 -69
  182. package/dist/Calendar-CbVaJVcV.mjs +0 -27
  183. package/dist/CaretDn-DfXkDzAH.mjs +0 -13
  184. package/dist/CaretDown-DKwSpoJj.mjs +0 -7
  185. package/dist/CaretLeft-DjIuIw4E.mjs +0 -13
  186. package/dist/CaretRight-Blv3CCWa.mjs +0 -13
  187. package/dist/CaretUp-CEfq2pon.mjs +0 -13
  188. package/dist/CheckIn-DHloFCTi.mjs +0 -37
  189. package/dist/Close-CgKO-GmV.mjs +0 -15
  190. package/dist/Copy-DSXLX28f.mjs +0 -75
  191. package/dist/DatePicker-0RNUxWxN.mjs +0 -3412
  192. package/dist/Dot-CRWfXlj2.mjs +0 -14
  193. package/dist/Download-Be5-WujX.mjs +0 -38
  194. package/dist/Drag-wZ_mXU-D.mjs +0 -44
  195. package/dist/Earn-06RGCgPA.mjs +0 -18
  196. package/dist/Email-8o3h5VSI.mjs +0 -27
  197. package/dist/Expired-DbhcQ39l.mjs +0 -36
  198. package/dist/Eye-Dceyvp5y.mjs +0 -30
  199. package/dist/Filter-CKJYpt6s.mjs +0 -67
  200. package/dist/Flag-Bex2EvDE.mjs +0 -35
  201. package/dist/GoalCount-Bi0NMucg.mjs +0 -12
  202. package/dist/GoalPercent-B-kxyps2.mjs +0 -23
  203. package/dist/GoalTask-Xjgp_Wo0.mjs +0 -22
  204. package/dist/Goals-BBGtKkJ1.mjs +0 -82
  205. package/dist/Hamburger-DInD_hK4.mjs +0 -11
  206. package/dist/Help-BcQznZaK.mjs +0 -36
  207. package/dist/HighFive-DqVD1Say.mjs +0 -41
  208. package/dist/Hourglass-CZ_gs0L5.mjs +0 -56
  209. package/dist/ImageFile-CpJ6rqlm.mjs +0 -62
  210. package/dist/Info-DNU4voqh.mjs +0 -34
  211. package/dist/Insights-D9LemXYM.mjs +0 -23
  212. package/dist/KazooLogo-DaVNTRlw.mjs +0 -38
  213. package/dist/Link-DUJoL5SM.mjs +0 -28
  214. package/dist/LinkArrow-C53WYuP9.mjs +0 -15
  215. package/dist/Loading-YoU3Ro5C.mjs +0 -8
  216. package/dist/Lock-Ig2rvmxz.mjs +0 -34
  217. package/dist/MeatballMenu-akus2Lt6.mjs +0 -11
  218. package/dist/Nomination-DtyERYRo.mjs +0 -14
  219. package/dist/Notification-yHY4Q-iO.mjs +0 -31
  220. package/dist/Pencil--PMTRUju.mjs +0 -28
  221. package/dist/People-01fveD3Z.mjs +0 -46
  222. package/dist/Pin-DrqWw6Ik.mjs +0 -27
  223. package/dist/Popper-D6_fRDiW.mjs +0 -1643
  224. package/dist/ProgressCircle-B9baqpgb.mjs +0 -14
  225. package/dist/Recognition-D3KBTtXQ.mjs +0 -41
  226. package/dist/Rewards-DU-Ho2dk.mjs +0 -70
  227. package/dist/Roadmap-zfvbEbqx.mjs +0 -125
  228. package/dist/Search-BhJp-JJi.mjs +0 -16
  229. package/dist/SendRecognition-Byajzteg.mjs +0 -7
  230. package/dist/ShareLink-D5S-TmIH.mjs +0 -30
  231. package/dist/Skill-CimhEzRw.mjs +0 -23
  232. package/dist/Syncs-CND3di67.mjs +0 -32
  233. package/dist/TalentReviewInsights-COIEM4Dx.mjs +0 -103
  234. package/dist/TaskCompleted-CVVIklMl.mjs +0 -100
  235. package/dist/Teams-BksxxA72.mjs +0 -80
  236. package/dist/TextInput-BOcHdYfi.mjs +0 -124
  237. package/dist/Toggle-CFvYpFN8.mjs +0 -76
  238. package/dist/TrendDown-C8RVuMbz.mjs +0 -7
  239. package/dist/TrendUp-eYJN1A6n.mjs +0 -7
  240. package/dist/UpDownCaret-DdXKQT69.mjs +0 -14
  241. package/dist/emoji-CJuut-ic.mjs +0 -3010
  242. package/dist/reactComponent-B4VA_e0q.mjs +0 -29485
  243. package/express.d.ts +0 -1
@@ -1,1643 +0,0 @@
1
- import { o as onBrowser, d as doNothing, c as coalesce, a as cx, j as jsxRuntimeExports } from "./reactComponent-B4VA_e0q.mjs";
2
- import React, { useEffect, useState, useRef } from "react";
3
- import { createPortal } from "react-dom";
4
- function useOutsideClick({
5
- elementRefs = [],
6
- dependencies = [],
7
- ignoreEffect = false,
8
- handler = doNothing
9
- }) {
10
- useEffect(() => {
11
- if (ignoreEffect || !onBrowser()) {
12
- return;
13
- }
14
- if (!getWindow$1()[awayClickBrowserProp]) {
15
- getWindow$1()[awayClickBrowserProp] = /* @__PURE__ */ new Map();
16
- }
17
- const clickAwayNodes = getWindow$1()[awayClickBrowserProp];
18
- clickAwayNodes == null ? void 0 : clickAwayNodes.set(elementRefs, handler);
19
- document.addEventListener("click", outsideClickHandler, true);
20
- document.addEventListener("tap", outsideClickHandler, true);
21
- return () => {
22
- clickAwayNodes == null ? void 0 : clickAwayNodes.delete(elementRefs);
23
- document.removeEventListener("click", outsideClickHandler, true);
24
- document.removeEventListener("tap", outsideClickHandler, true);
25
- };
26
- }, [ignoreEffect, ...dependencies]);
27
- return;
28
- }
29
- function outsideClickHandler(event) {
30
- if (!onBrowser()) {
31
- return;
32
- }
33
- const target = event && typeof event === "object" && "target" in event && event.target ? event.target : null;
34
- const clickAwayNodes = coalesce(getWindow$1()[awayClickBrowserProp], []);
35
- for (const [nodes, fn2] of clickAwayNodes) {
36
- const insideNode = nodes.some(
37
- (node) => node.current && target && node.current.contains(target)
38
- );
39
- if (!insideNode && fn2) {
40
- fn2();
41
- }
42
- }
43
- }
44
- const awayClickBrowserProp = "$confettiClickAwayNodes";
45
- function getWindow$1() {
46
- return window;
47
- }
48
- var top = "top";
49
- var bottom = "bottom";
50
- var right = "right";
51
- var left = "left";
52
- var auto = "auto";
53
- var basePlacements = [top, bottom, right, left];
54
- var start = "start";
55
- var end = "end";
56
- var clippingParents = "clippingParents";
57
- var viewport = "viewport";
58
- var popper = "popper";
59
- var reference = "reference";
60
- var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) {
61
- return acc.concat([placement + "-" + start, placement + "-" + end]);
62
- }, []);
63
- var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {
64
- return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
65
- }, []);
66
- var beforeRead = "beforeRead";
67
- var read = "read";
68
- var afterRead = "afterRead";
69
- var beforeMain = "beforeMain";
70
- var main = "main";
71
- var afterMain = "afterMain";
72
- var beforeWrite = "beforeWrite";
73
- var write = "write";
74
- var afterWrite = "afterWrite";
75
- var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
76
- function getNodeName(element) {
77
- return element ? (element.nodeName || "").toLowerCase() : null;
78
- }
79
- function getWindow(node) {
80
- if (node == null) {
81
- return window;
82
- }
83
- if (node.toString() !== "[object Window]") {
84
- var ownerDocument = node.ownerDocument;
85
- return ownerDocument ? ownerDocument.defaultView || window : window;
86
- }
87
- return node;
88
- }
89
- function isElement(node) {
90
- var OwnElement = getWindow(node).Element;
91
- return node instanceof OwnElement || node instanceof Element;
92
- }
93
- function isHTMLElement(node) {
94
- var OwnElement = getWindow(node).HTMLElement;
95
- return node instanceof OwnElement || node instanceof HTMLElement;
96
- }
97
- function isShadowRoot(node) {
98
- if (typeof ShadowRoot === "undefined") {
99
- return false;
100
- }
101
- var OwnElement = getWindow(node).ShadowRoot;
102
- return node instanceof OwnElement || node instanceof ShadowRoot;
103
- }
104
- function applyStyles(_ref) {
105
- var state = _ref.state;
106
- Object.keys(state.elements).forEach(function(name) {
107
- var style = state.styles[name] || {};
108
- var attributes = state.attributes[name] || {};
109
- var element = state.elements[name];
110
- if (!isHTMLElement(element) || !getNodeName(element)) {
111
- return;
112
- }
113
- Object.assign(element.style, style);
114
- Object.keys(attributes).forEach(function(name2) {
115
- var value = attributes[name2];
116
- if (value === false) {
117
- element.removeAttribute(name2);
118
- } else {
119
- element.setAttribute(name2, value === true ? "" : value);
120
- }
121
- });
122
- });
123
- }
124
- function effect$2(_ref2) {
125
- var state = _ref2.state;
126
- var initialStyles = {
127
- popper: {
128
- position: state.options.strategy,
129
- left: "0",
130
- top: "0",
131
- margin: "0"
132
- },
133
- arrow: {
134
- position: "absolute"
135
- },
136
- reference: {}
137
- };
138
- Object.assign(state.elements.popper.style, initialStyles.popper);
139
- state.styles = initialStyles;
140
- if (state.elements.arrow) {
141
- Object.assign(state.elements.arrow.style, initialStyles.arrow);
142
- }
143
- return function() {
144
- Object.keys(state.elements).forEach(function(name) {
145
- var element = state.elements[name];
146
- var attributes = state.attributes[name] || {};
147
- var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]);
148
- var style = styleProperties.reduce(function(style2, property) {
149
- style2[property] = "";
150
- return style2;
151
- }, {});
152
- if (!isHTMLElement(element) || !getNodeName(element)) {
153
- return;
154
- }
155
- Object.assign(element.style, style);
156
- Object.keys(attributes).forEach(function(attribute) {
157
- element.removeAttribute(attribute);
158
- });
159
- });
160
- };
161
- }
162
- const applyStyles$1 = {
163
- name: "applyStyles",
164
- enabled: true,
165
- phase: "write",
166
- fn: applyStyles,
167
- effect: effect$2,
168
- requires: ["computeStyles"]
169
- };
170
- function getBasePlacement(placement) {
171
- return placement.split("-")[0];
172
- }
173
- var max = Math.max;
174
- var min = Math.min;
175
- var round = Math.round;
176
- function getUAString() {
177
- var uaData = navigator.userAgentData;
178
- if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
179
- return uaData.brands.map(function(item) {
180
- return item.brand + "/" + item.version;
181
- }).join(" ");
182
- }
183
- return navigator.userAgent;
184
- }
185
- function isLayoutViewport() {
186
- return !/^((?!chrome|android).)*safari/i.test(getUAString());
187
- }
188
- function getBoundingClientRect(element, includeScale, isFixedStrategy) {
189
- if (includeScale === void 0) {
190
- includeScale = false;
191
- }
192
- if (isFixedStrategy === void 0) {
193
- isFixedStrategy = false;
194
- }
195
- var clientRect = element.getBoundingClientRect();
196
- var scaleX = 1;
197
- var scaleY = 1;
198
- if (includeScale && isHTMLElement(element)) {
199
- scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
200
- scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
201
- }
202
- var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport;
203
- var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
204
- var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
205
- var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
206
- var width = clientRect.width / scaleX;
207
- var height = clientRect.height / scaleY;
208
- return {
209
- width,
210
- height,
211
- top: y,
212
- right: x + width,
213
- bottom: y + height,
214
- left: x,
215
- x,
216
- y
217
- };
218
- }
219
- function getLayoutRect(element) {
220
- var clientRect = getBoundingClientRect(element);
221
- var width = element.offsetWidth;
222
- var height = element.offsetHeight;
223
- if (Math.abs(clientRect.width - width) <= 1) {
224
- width = clientRect.width;
225
- }
226
- if (Math.abs(clientRect.height - height) <= 1) {
227
- height = clientRect.height;
228
- }
229
- return {
230
- x: element.offsetLeft,
231
- y: element.offsetTop,
232
- width,
233
- height
234
- };
235
- }
236
- function contains(parent, child) {
237
- var rootNode = child.getRootNode && child.getRootNode();
238
- if (parent.contains(child)) {
239
- return true;
240
- } else if (rootNode && isShadowRoot(rootNode)) {
241
- var next = child;
242
- do {
243
- if (next && parent.isSameNode(next)) {
244
- return true;
245
- }
246
- next = next.parentNode || next.host;
247
- } while (next);
248
- }
249
- return false;
250
- }
251
- function getComputedStyle(element) {
252
- return getWindow(element).getComputedStyle(element);
253
- }
254
- function isTableElement(element) {
255
- return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0;
256
- }
257
- function getDocumentElement(element) {
258
- return ((isElement(element) ? element.ownerDocument : (
259
- // $FlowFixMe[prop-missing]
260
- element.document
261
- )) || window.document).documentElement;
262
- }
263
- function getParentNode(element) {
264
- if (getNodeName(element) === "html") {
265
- return element;
266
- }
267
- return (
268
- // this is a quicker (but less type safe) way to save quite some bytes from the bundle
269
- // $FlowFixMe[incompatible-return]
270
- // $FlowFixMe[prop-missing]
271
- element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
272
- element.parentNode || // DOM Element detected
273
- (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
274
- // $FlowFixMe[incompatible-call]: HTMLElement is a Node
275
- getDocumentElement(element)
276
- );
277
- }
278
- function getTrueOffsetParent(element) {
279
- if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
280
- getComputedStyle(element).position === "fixed") {
281
- return null;
282
- }
283
- return element.offsetParent;
284
- }
285
- function getContainingBlock(element) {
286
- var isFirefox = /firefox/i.test(getUAString());
287
- var isIE = /Trident/i.test(getUAString());
288
- if (isIE && isHTMLElement(element)) {
289
- var elementCss = getComputedStyle(element);
290
- if (elementCss.position === "fixed") {
291
- return null;
292
- }
293
- }
294
- var currentNode = getParentNode(element);
295
- if (isShadowRoot(currentNode)) {
296
- currentNode = currentNode.host;
297
- }
298
- while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) {
299
- var css = getComputedStyle(currentNode);
300
- if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") {
301
- return currentNode;
302
- } else {
303
- currentNode = currentNode.parentNode;
304
- }
305
- }
306
- return null;
307
- }
308
- function getOffsetParent(element) {
309
- var window2 = getWindow(element);
310
- var offsetParent = getTrueOffsetParent(element);
311
- while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === "static") {
312
- offsetParent = getTrueOffsetParent(offsetParent);
313
- }
314
- if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle(offsetParent).position === "static")) {
315
- return window2;
316
- }
317
- return offsetParent || getContainingBlock(element) || window2;
318
- }
319
- function getMainAxisFromPlacement(placement) {
320
- return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y";
321
- }
322
- function within(min$1, value, max$1) {
323
- return max(min$1, min(value, max$1));
324
- }
325
- function withinMaxClamp(min2, value, max2) {
326
- var v = within(min2, value, max2);
327
- return v > max2 ? max2 : v;
328
- }
329
- function getFreshSideObject() {
330
- return {
331
- top: 0,
332
- right: 0,
333
- bottom: 0,
334
- left: 0
335
- };
336
- }
337
- function mergePaddingObject(paddingObject) {
338
- return Object.assign({}, getFreshSideObject(), paddingObject);
339
- }
340
- function expandToHashMap(value, keys) {
341
- return keys.reduce(function(hashMap, key) {
342
- hashMap[key] = value;
343
- return hashMap;
344
- }, {});
345
- }
346
- var toPaddingObject = function toPaddingObject2(padding, state) {
347
- padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, {
348
- placement: state.placement
349
- })) : padding;
350
- return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
351
- };
352
- function arrow(_ref) {
353
- var _state$modifiersData$;
354
- var state = _ref.state, name = _ref.name, options = _ref.options;
355
- var arrowElement = state.elements.arrow;
356
- var popperOffsets2 = state.modifiersData.popperOffsets;
357
- var basePlacement = getBasePlacement(state.placement);
358
- var axis = getMainAxisFromPlacement(basePlacement);
359
- var isVertical = [left, right].indexOf(basePlacement) >= 0;
360
- var len = isVertical ? "height" : "width";
361
- if (!arrowElement || !popperOffsets2) {
362
- return;
363
- }
364
- var paddingObject = toPaddingObject(options.padding, state);
365
- var arrowRect = getLayoutRect(arrowElement);
366
- var minProp = axis === "y" ? top : left;
367
- var maxProp = axis === "y" ? bottom : right;
368
- var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len];
369
- var startDiff = popperOffsets2[axis] - state.rects.reference[axis];
370
- var arrowOffsetParent = getOffsetParent(arrowElement);
371
- var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
372
- var centerToReference = endDiff / 2 - startDiff / 2;
373
- var min2 = paddingObject[minProp];
374
- var max2 = clientSize - arrowRect[len] - paddingObject[maxProp];
375
- var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
376
- var offset2 = within(min2, center, max2);
377
- var axisProp = axis;
378
- state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset2, _state$modifiersData$.centerOffset = offset2 - center, _state$modifiersData$);
379
- }
380
- function effect$1(_ref2) {
381
- var state = _ref2.state, options = _ref2.options;
382
- var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element;
383
- if (arrowElement == null) {
384
- return;
385
- }
386
- if (typeof arrowElement === "string") {
387
- arrowElement = state.elements.popper.querySelector(arrowElement);
388
- if (!arrowElement) {
389
- return;
390
- }
391
- }
392
- if (!contains(state.elements.popper, arrowElement)) {
393
- return;
394
- }
395
- state.elements.arrow = arrowElement;
396
- }
397
- const arrow$1 = {
398
- name: "arrow",
399
- enabled: true,
400
- phase: "main",
401
- fn: arrow,
402
- effect: effect$1,
403
- requires: ["popperOffsets"],
404
- requiresIfExists: ["preventOverflow"]
405
- };
406
- function getVariation(placement) {
407
- return placement.split("-")[1];
408
- }
409
- var unsetSides = {
410
- top: "auto",
411
- right: "auto",
412
- bottom: "auto",
413
- left: "auto"
414
- };
415
- function roundOffsetsByDPR(_ref, win) {
416
- var x = _ref.x, y = _ref.y;
417
- var dpr = win.devicePixelRatio || 1;
418
- return {
419
- x: round(x * dpr) / dpr || 0,
420
- y: round(y * dpr) / dpr || 0
421
- };
422
- }
423
- function mapToStyles(_ref2) {
424
- var _Object$assign2;
425
- var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;
426
- var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;
427
- var _ref3 = typeof roundOffsets === "function" ? roundOffsets({
428
- x,
429
- y
430
- }) : {
431
- x,
432
- y
433
- };
434
- x = _ref3.x;
435
- y = _ref3.y;
436
- var hasX = offsets.hasOwnProperty("x");
437
- var hasY = offsets.hasOwnProperty("y");
438
- var sideX = left;
439
- var sideY = top;
440
- var win = window;
441
- if (adaptive) {
442
- var offsetParent = getOffsetParent(popper2);
443
- var heightProp = "clientHeight";
444
- var widthProp = "clientWidth";
445
- if (offsetParent === getWindow(popper2)) {
446
- offsetParent = getDocumentElement(popper2);
447
- if (getComputedStyle(offsetParent).position !== "static" && position === "absolute") {
448
- heightProp = "scrollHeight";
449
- widthProp = "scrollWidth";
450
- }
451
- }
452
- offsetParent = offsetParent;
453
- if (placement === top || (placement === left || placement === right) && variation === end) {
454
- sideY = bottom;
455
- var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : (
456
- // $FlowFixMe[prop-missing]
457
- offsetParent[heightProp]
458
- );
459
- y -= offsetY - popperRect.height;
460
- y *= gpuAcceleration ? 1 : -1;
461
- }
462
- if (placement === left || (placement === top || placement === bottom) && variation === end) {
463
- sideX = right;
464
- var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : (
465
- // $FlowFixMe[prop-missing]
466
- offsetParent[widthProp]
467
- );
468
- x -= offsetX - popperRect.width;
469
- x *= gpuAcceleration ? 1 : -1;
470
- }
471
- }
472
- var commonStyles = Object.assign({
473
- position
474
- }, adaptive && unsetSides);
475
- var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
476
- x,
477
- y
478
- }, getWindow(popper2)) : {
479
- x,
480
- y
481
- };
482
- x = _ref4.x;
483
- y = _ref4.y;
484
- if (gpuAcceleration) {
485
- var _Object$assign;
486
- return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
487
- }
488
- return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2));
489
- }
490
- function computeStyles(_ref5) {
491
- var state = _ref5.state, options = _ref5.options;
492
- var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
493
- var commonStyles = {
494
- placement: getBasePlacement(state.placement),
495
- variation: getVariation(state.placement),
496
- popper: state.elements.popper,
497
- popperRect: state.rects.popper,
498
- gpuAcceleration,
499
- isFixed: state.options.strategy === "fixed"
500
- };
501
- if (state.modifiersData.popperOffsets != null) {
502
- state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
503
- offsets: state.modifiersData.popperOffsets,
504
- position: state.options.strategy,
505
- adaptive,
506
- roundOffsets
507
- })));
508
- }
509
- if (state.modifiersData.arrow != null) {
510
- state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
511
- offsets: state.modifiersData.arrow,
512
- position: "absolute",
513
- adaptive: false,
514
- roundOffsets
515
- })));
516
- }
517
- state.attributes.popper = Object.assign({}, state.attributes.popper, {
518
- "data-popper-placement": state.placement
519
- });
520
- }
521
- const computeStyles$1 = {
522
- name: "computeStyles",
523
- enabled: true,
524
- phase: "beforeWrite",
525
- fn: computeStyles,
526
- data: {}
527
- };
528
- var passive = {
529
- passive: true
530
- };
531
- function effect(_ref) {
532
- var state = _ref.state, instance = _ref.instance, options = _ref.options;
533
- var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;
534
- var window2 = getWindow(state.elements.popper);
535
- var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
536
- if (scroll) {
537
- scrollParents.forEach(function(scrollParent) {
538
- scrollParent.addEventListener("scroll", instance.update, passive);
539
- });
540
- }
541
- if (resize) {
542
- window2.addEventListener("resize", instance.update, passive);
543
- }
544
- return function() {
545
- if (scroll) {
546
- scrollParents.forEach(function(scrollParent) {
547
- scrollParent.removeEventListener("scroll", instance.update, passive);
548
- });
549
- }
550
- if (resize) {
551
- window2.removeEventListener("resize", instance.update, passive);
552
- }
553
- };
554
- }
555
- const eventListeners = {
556
- name: "eventListeners",
557
- enabled: true,
558
- phase: "write",
559
- fn: function fn() {
560
- },
561
- effect,
562
- data: {}
563
- };
564
- var hash$1 = {
565
- left: "right",
566
- right: "left",
567
- bottom: "top",
568
- top: "bottom"
569
- };
570
- function getOppositePlacement(placement) {
571
- return placement.replace(/left|right|bottom|top/g, function(matched) {
572
- return hash$1[matched];
573
- });
574
- }
575
- var hash = {
576
- start: "end",
577
- end: "start"
578
- };
579
- function getOppositeVariationPlacement(placement) {
580
- return placement.replace(/start|end/g, function(matched) {
581
- return hash[matched];
582
- });
583
- }
584
- function getWindowScroll(node) {
585
- var win = getWindow(node);
586
- var scrollLeft = win.pageXOffset;
587
- var scrollTop = win.pageYOffset;
588
- return {
589
- scrollLeft,
590
- scrollTop
591
- };
592
- }
593
- function getWindowScrollBarX(element) {
594
- return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
595
- }
596
- function getViewportRect(element, strategy) {
597
- var win = getWindow(element);
598
- var html = getDocumentElement(element);
599
- var visualViewport = win.visualViewport;
600
- var width = html.clientWidth;
601
- var height = html.clientHeight;
602
- var x = 0;
603
- var y = 0;
604
- if (visualViewport) {
605
- width = visualViewport.width;
606
- height = visualViewport.height;
607
- var layoutViewport = isLayoutViewport();
608
- if (layoutViewport || !layoutViewport && strategy === "fixed") {
609
- x = visualViewport.offsetLeft;
610
- y = visualViewport.offsetTop;
611
- }
612
- }
613
- return {
614
- width,
615
- height,
616
- x: x + getWindowScrollBarX(element),
617
- y
618
- };
619
- }
620
- function getDocumentRect(element) {
621
- var _element$ownerDocumen;
622
- var html = getDocumentElement(element);
623
- var winScroll = getWindowScroll(element);
624
- var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
625
- var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
626
- var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
627
- var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
628
- var y = -winScroll.scrollTop;
629
- if (getComputedStyle(body || html).direction === "rtl") {
630
- x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
631
- }
632
- return {
633
- width,
634
- height,
635
- x,
636
- y
637
- };
638
- }
639
- function isScrollParent(element) {
640
- var _getComputedStyle = getComputedStyle(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
641
- return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
642
- }
643
- function getScrollParent(node) {
644
- if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) {
645
- return node.ownerDocument.body;
646
- }
647
- if (isHTMLElement(node) && isScrollParent(node)) {
648
- return node;
649
- }
650
- return getScrollParent(getParentNode(node));
651
- }
652
- function listScrollParents(element, list) {
653
- var _element$ownerDocumen;
654
- if (list === void 0) {
655
- list = [];
656
- }
657
- var scrollParent = getScrollParent(element);
658
- var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
659
- var win = getWindow(scrollParent);
660
- var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
661
- var updatedList = list.concat(target);
662
- return isBody ? updatedList : (
663
- // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
664
- updatedList.concat(listScrollParents(getParentNode(target)))
665
- );
666
- }
667
- function rectToClientRect(rect) {
668
- return Object.assign({}, rect, {
669
- left: rect.x,
670
- top: rect.y,
671
- right: rect.x + rect.width,
672
- bottom: rect.y + rect.height
673
- });
674
- }
675
- function getInnerBoundingClientRect(element, strategy) {
676
- var rect = getBoundingClientRect(element, false, strategy === "fixed");
677
- rect.top = rect.top + element.clientTop;
678
- rect.left = rect.left + element.clientLeft;
679
- rect.bottom = rect.top + element.clientHeight;
680
- rect.right = rect.left + element.clientWidth;
681
- rect.width = element.clientWidth;
682
- rect.height = element.clientHeight;
683
- rect.x = rect.left;
684
- rect.y = rect.top;
685
- return rect;
686
- }
687
- function getClientRectFromMixedType(element, clippingParent, strategy) {
688
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
689
- }
690
- function getClippingParents(element) {
691
- var clippingParents2 = listScrollParents(getParentNode(element));
692
- var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle(element).position) >= 0;
693
- var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
694
- if (!isElement(clipperElement)) {
695
- return [];
696
- }
697
- return clippingParents2.filter(function(clippingParent) {
698
- return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body";
699
- });
700
- }
701
- function getClippingRect(element, boundary, rootBoundary, strategy) {
702
- var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary);
703
- var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]);
704
- var firstClippingParent = clippingParents2[0];
705
- var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) {
706
- var rect = getClientRectFromMixedType(element, clippingParent, strategy);
707
- accRect.top = max(rect.top, accRect.top);
708
- accRect.right = min(rect.right, accRect.right);
709
- accRect.bottom = min(rect.bottom, accRect.bottom);
710
- accRect.left = max(rect.left, accRect.left);
711
- return accRect;
712
- }, getClientRectFromMixedType(element, firstClippingParent, strategy));
713
- clippingRect.width = clippingRect.right - clippingRect.left;
714
- clippingRect.height = clippingRect.bottom - clippingRect.top;
715
- clippingRect.x = clippingRect.left;
716
- clippingRect.y = clippingRect.top;
717
- return clippingRect;
718
- }
719
- function computeOffsets(_ref) {
720
- var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement;
721
- var basePlacement = placement ? getBasePlacement(placement) : null;
722
- var variation = placement ? getVariation(placement) : null;
723
- var commonX = reference2.x + reference2.width / 2 - element.width / 2;
724
- var commonY = reference2.y + reference2.height / 2 - element.height / 2;
725
- var offsets;
726
- switch (basePlacement) {
727
- case top:
728
- offsets = {
729
- x: commonX,
730
- y: reference2.y - element.height
731
- };
732
- break;
733
- case bottom:
734
- offsets = {
735
- x: commonX,
736
- y: reference2.y + reference2.height
737
- };
738
- break;
739
- case right:
740
- offsets = {
741
- x: reference2.x + reference2.width,
742
- y: commonY
743
- };
744
- break;
745
- case left:
746
- offsets = {
747
- x: reference2.x - element.width,
748
- y: commonY
749
- };
750
- break;
751
- default:
752
- offsets = {
753
- x: reference2.x,
754
- y: reference2.y
755
- };
756
- }
757
- var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
758
- if (mainAxis != null) {
759
- var len = mainAxis === "y" ? "height" : "width";
760
- switch (variation) {
761
- case start:
762
- offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2);
763
- break;
764
- case end:
765
- offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2);
766
- break;
767
- }
768
- }
769
- return offsets;
770
- }
771
- function detectOverflow(state, options) {
772
- if (options === void 0) {
773
- options = {};
774
- }
775
- var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding;
776
- var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
777
- var altContext = elementContext === popper ? reference : popper;
778
- var popperRect = state.rects.popper;
779
- var element = state.elements[altBoundary ? altContext : elementContext];
780
- var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
781
- var referenceClientRect = getBoundingClientRect(state.elements.reference);
782
- var popperOffsets2 = computeOffsets({
783
- reference: referenceClientRect,
784
- element: popperRect,
785
- placement
786
- });
787
- var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2));
788
- var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect;
789
- var overflowOffsets = {
790
- top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
791
- bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
792
- left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
793
- right: elementClientRect.right - clippingClientRect.right + paddingObject.right
794
- };
795
- var offsetData = state.modifiersData.offset;
796
- if (elementContext === popper && offsetData) {
797
- var offset2 = offsetData[placement];
798
- Object.keys(overflowOffsets).forEach(function(key) {
799
- var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;
800
- var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x";
801
- overflowOffsets[key] += offset2[axis] * multiply;
802
- });
803
- }
804
- return overflowOffsets;
805
- }
806
- function computeAutoPlacement(state, options) {
807
- if (options === void 0) {
808
- options = {};
809
- }
810
- var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
811
- var variation = getVariation(placement);
812
- var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) {
813
- return getVariation(placement2) === variation;
814
- }) : basePlacements;
815
- var allowedPlacements = placements$1.filter(function(placement2) {
816
- return allowedAutoPlacements.indexOf(placement2) >= 0;
817
- });
818
- if (allowedPlacements.length === 0) {
819
- allowedPlacements = placements$1;
820
- }
821
- var overflows = allowedPlacements.reduce(function(acc, placement2) {
822
- acc[placement2] = detectOverflow(state, {
823
- placement: placement2,
824
- boundary,
825
- rootBoundary,
826
- padding
827
- })[getBasePlacement(placement2)];
828
- return acc;
829
- }, {});
830
- return Object.keys(overflows).sort(function(a, b) {
831
- return overflows[a] - overflows[b];
832
- });
833
- }
834
- function getExpandedFallbackPlacements(placement) {
835
- if (getBasePlacement(placement) === auto) {
836
- return [];
837
- }
838
- var oppositePlacement = getOppositePlacement(placement);
839
- return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
840
- }
841
- function flip(_ref) {
842
- var state = _ref.state, options = _ref.options, name = _ref.name;
843
- if (state.modifiersData[name]._skip) {
844
- return;
845
- }
846
- var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements;
847
- var preferredPlacement = state.options.placement;
848
- var basePlacement = getBasePlacement(preferredPlacement);
849
- var isBasePlacement = basePlacement === preferredPlacement;
850
- var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
851
- var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) {
852
- return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, {
853
- placement: placement2,
854
- boundary,
855
- rootBoundary,
856
- padding,
857
- flipVariations,
858
- allowedAutoPlacements
859
- }) : placement2);
860
- }, []);
861
- var referenceRect = state.rects.reference;
862
- var popperRect = state.rects.popper;
863
- var checksMap = /* @__PURE__ */ new Map();
864
- var makeFallbackChecks = true;
865
- var firstFittingPlacement = placements2[0];
866
- for (var i = 0; i < placements2.length; i++) {
867
- var placement = placements2[i];
868
- var _basePlacement = getBasePlacement(placement);
869
- var isStartVariation = getVariation(placement) === start;
870
- var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
871
- var len = isVertical ? "width" : "height";
872
- var overflow = detectOverflow(state, {
873
- placement,
874
- boundary,
875
- rootBoundary,
876
- altBoundary,
877
- padding
878
- });
879
- var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
880
- if (referenceRect[len] > popperRect[len]) {
881
- mainVariationSide = getOppositePlacement(mainVariationSide);
882
- }
883
- var altVariationSide = getOppositePlacement(mainVariationSide);
884
- var checks = [];
885
- if (checkMainAxis) {
886
- checks.push(overflow[_basePlacement] <= 0);
887
- }
888
- if (checkAltAxis) {
889
- checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
890
- }
891
- if (checks.every(function(check) {
892
- return check;
893
- })) {
894
- firstFittingPlacement = placement;
895
- makeFallbackChecks = false;
896
- break;
897
- }
898
- checksMap.set(placement, checks);
899
- }
900
- if (makeFallbackChecks) {
901
- var numberOfChecks = flipVariations ? 3 : 1;
902
- var _loop = function _loop2(_i2) {
903
- var fittingPlacement = placements2.find(function(placement2) {
904
- var checks2 = checksMap.get(placement2);
905
- if (checks2) {
906
- return checks2.slice(0, _i2).every(function(check) {
907
- return check;
908
- });
909
- }
910
- });
911
- if (fittingPlacement) {
912
- firstFittingPlacement = fittingPlacement;
913
- return "break";
914
- }
915
- };
916
- for (var _i = numberOfChecks; _i > 0; _i--) {
917
- var _ret = _loop(_i);
918
- if (_ret === "break") break;
919
- }
920
- }
921
- if (state.placement !== firstFittingPlacement) {
922
- state.modifiersData[name]._skip = true;
923
- state.placement = firstFittingPlacement;
924
- state.reset = true;
925
- }
926
- }
927
- const flip$1 = {
928
- name: "flip",
929
- enabled: true,
930
- phase: "main",
931
- fn: flip,
932
- requiresIfExists: ["offset"],
933
- data: {
934
- _skip: false
935
- }
936
- };
937
- function getSideOffsets(overflow, rect, preventedOffsets) {
938
- if (preventedOffsets === void 0) {
939
- preventedOffsets = {
940
- x: 0,
941
- y: 0
942
- };
943
- }
944
- return {
945
- top: overflow.top - rect.height - preventedOffsets.y,
946
- right: overflow.right - rect.width + preventedOffsets.x,
947
- bottom: overflow.bottom - rect.height + preventedOffsets.y,
948
- left: overflow.left - rect.width - preventedOffsets.x
949
- };
950
- }
951
- function isAnySideFullyClipped(overflow) {
952
- return [top, right, bottom, left].some(function(side) {
953
- return overflow[side] >= 0;
954
- });
955
- }
956
- function hide(_ref) {
957
- var state = _ref.state, name = _ref.name;
958
- var referenceRect = state.rects.reference;
959
- var popperRect = state.rects.popper;
960
- var preventedOffsets = state.modifiersData.preventOverflow;
961
- var referenceOverflow = detectOverflow(state, {
962
- elementContext: "reference"
963
- });
964
- var popperAltOverflow = detectOverflow(state, {
965
- altBoundary: true
966
- });
967
- var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
968
- var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
969
- var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
970
- var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
971
- state.modifiersData[name] = {
972
- referenceClippingOffsets,
973
- popperEscapeOffsets,
974
- isReferenceHidden,
975
- hasPopperEscaped
976
- };
977
- state.attributes.popper = Object.assign({}, state.attributes.popper, {
978
- "data-popper-reference-hidden": isReferenceHidden,
979
- "data-popper-escaped": hasPopperEscaped
980
- });
981
- }
982
- const hide$1 = {
983
- name: "hide",
984
- enabled: true,
985
- phase: "main",
986
- requiresIfExists: ["preventOverflow"],
987
- fn: hide
988
- };
989
- function distanceAndSkiddingToXY(placement, rects, offset2) {
990
- var basePlacement = getBasePlacement(placement);
991
- var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
992
- var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, {
993
- placement
994
- })) : offset2, skidding = _ref[0], distance = _ref[1];
995
- skidding = skidding || 0;
996
- distance = (distance || 0) * invertDistance;
997
- return [left, right].indexOf(basePlacement) >= 0 ? {
998
- x: distance,
999
- y: skidding
1000
- } : {
1001
- x: skidding,
1002
- y: distance
1003
- };
1004
- }
1005
- function offset(_ref2) {
1006
- var state = _ref2.state, options = _ref2.options, name = _ref2.name;
1007
- var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;
1008
- var data = placements.reduce(function(acc, placement) {
1009
- acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);
1010
- return acc;
1011
- }, {});
1012
- var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y;
1013
- if (state.modifiersData.popperOffsets != null) {
1014
- state.modifiersData.popperOffsets.x += x;
1015
- state.modifiersData.popperOffsets.y += y;
1016
- }
1017
- state.modifiersData[name] = data;
1018
- }
1019
- const offset$1 = {
1020
- name: "offset",
1021
- enabled: true,
1022
- phase: "main",
1023
- requires: ["popperOffsets"],
1024
- fn: offset
1025
- };
1026
- function popperOffsets(_ref) {
1027
- var state = _ref.state, name = _ref.name;
1028
- state.modifiersData[name] = computeOffsets({
1029
- reference: state.rects.reference,
1030
- element: state.rects.popper,
1031
- placement: state.placement
1032
- });
1033
- }
1034
- const popperOffsets$1 = {
1035
- name: "popperOffsets",
1036
- enabled: true,
1037
- phase: "read",
1038
- fn: popperOffsets,
1039
- data: {}
1040
- };
1041
- function getAltAxis(axis) {
1042
- return axis === "x" ? "y" : "x";
1043
- }
1044
- function preventOverflow(_ref) {
1045
- var state = _ref.state, options = _ref.options, name = _ref.name;
1046
- var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
1047
- var overflow = detectOverflow(state, {
1048
- boundary,
1049
- rootBoundary,
1050
- padding,
1051
- altBoundary
1052
- });
1053
- var basePlacement = getBasePlacement(state.placement);
1054
- var variation = getVariation(state.placement);
1055
- var isBasePlacement = !variation;
1056
- var mainAxis = getMainAxisFromPlacement(basePlacement);
1057
- var altAxis = getAltAxis(mainAxis);
1058
- var popperOffsets2 = state.modifiersData.popperOffsets;
1059
- var referenceRect = state.rects.reference;
1060
- var popperRect = state.rects.popper;
1061
- var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, {
1062
- placement: state.placement
1063
- })) : tetherOffset;
1064
- var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? {
1065
- mainAxis: tetherOffsetValue,
1066
- altAxis: tetherOffsetValue
1067
- } : Object.assign({
1068
- mainAxis: 0,
1069
- altAxis: 0
1070
- }, tetherOffsetValue);
1071
- var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
1072
- var data = {
1073
- x: 0,
1074
- y: 0
1075
- };
1076
- if (!popperOffsets2) {
1077
- return;
1078
- }
1079
- if (checkMainAxis) {
1080
- var _offsetModifierState$;
1081
- var mainSide = mainAxis === "y" ? top : left;
1082
- var altSide = mainAxis === "y" ? bottom : right;
1083
- var len = mainAxis === "y" ? "height" : "width";
1084
- var offset2 = popperOffsets2[mainAxis];
1085
- var min$1 = offset2 + overflow[mainSide];
1086
- var max$1 = offset2 - overflow[altSide];
1087
- var additive = tether ? -popperRect[len] / 2 : 0;
1088
- var minLen = variation === start ? referenceRect[len] : popperRect[len];
1089
- var maxLen = variation === start ? -popperRect[len] : -referenceRect[len];
1090
- var arrowElement = state.elements.arrow;
1091
- var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
1092
- width: 0,
1093
- height: 0
1094
- };
1095
- var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject();
1096
- var arrowPaddingMin = arrowPaddingObject[mainSide];
1097
- var arrowPaddingMax = arrowPaddingObject[altSide];
1098
- var arrowLen = within(0, referenceRect[len], arrowRect[len]);
1099
- var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
1100
- var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
1101
- var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
1102
- var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
1103
- var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
1104
- var tetherMin = offset2 + minOffset - offsetModifierValue - clientOffset;
1105
- var tetherMax = offset2 + maxOffset - offsetModifierValue;
1106
- var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset2, tether ? max(max$1, tetherMax) : max$1);
1107
- popperOffsets2[mainAxis] = preventedOffset;
1108
- data[mainAxis] = preventedOffset - offset2;
1109
- }
1110
- if (checkAltAxis) {
1111
- var _offsetModifierState$2;
1112
- var _mainSide = mainAxis === "x" ? top : left;
1113
- var _altSide = mainAxis === "x" ? bottom : right;
1114
- var _offset = popperOffsets2[altAxis];
1115
- var _len = altAxis === "y" ? "height" : "width";
1116
- var _min = _offset + overflow[_mainSide];
1117
- var _max = _offset - overflow[_altSide];
1118
- var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
1119
- var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
1120
- var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
1121
- var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
1122
- var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
1123
- popperOffsets2[altAxis] = _preventedOffset;
1124
- data[altAxis] = _preventedOffset - _offset;
1125
- }
1126
- state.modifiersData[name] = data;
1127
- }
1128
- const preventOverflow$1 = {
1129
- name: "preventOverflow",
1130
- enabled: true,
1131
- phase: "main",
1132
- fn: preventOverflow,
1133
- requiresIfExists: ["offset"]
1134
- };
1135
- function getHTMLElementScroll(element) {
1136
- return {
1137
- scrollLeft: element.scrollLeft,
1138
- scrollTop: element.scrollTop
1139
- };
1140
- }
1141
- function getNodeScroll(node) {
1142
- if (node === getWindow(node) || !isHTMLElement(node)) {
1143
- return getWindowScroll(node);
1144
- } else {
1145
- return getHTMLElementScroll(node);
1146
- }
1147
- }
1148
- function isElementScaled(element) {
1149
- var rect = element.getBoundingClientRect();
1150
- var scaleX = round(rect.width) / element.offsetWidth || 1;
1151
- var scaleY = round(rect.height) / element.offsetHeight || 1;
1152
- return scaleX !== 1 || scaleY !== 1;
1153
- }
1154
- function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
1155
- if (isFixed === void 0) {
1156
- isFixed = false;
1157
- }
1158
- var isOffsetParentAnElement = isHTMLElement(offsetParent);
1159
- var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
1160
- var documentElement = getDocumentElement(offsetParent);
1161
- var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
1162
- var scroll = {
1163
- scrollLeft: 0,
1164
- scrollTop: 0
1165
- };
1166
- var offsets = {
1167
- x: 0,
1168
- y: 0
1169
- };
1170
- if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
1171
- if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
1172
- isScrollParent(documentElement)) {
1173
- scroll = getNodeScroll(offsetParent);
1174
- }
1175
- if (isHTMLElement(offsetParent)) {
1176
- offsets = getBoundingClientRect(offsetParent, true);
1177
- offsets.x += offsetParent.clientLeft;
1178
- offsets.y += offsetParent.clientTop;
1179
- } else if (documentElement) {
1180
- offsets.x = getWindowScrollBarX(documentElement);
1181
- }
1182
- }
1183
- return {
1184
- x: rect.left + scroll.scrollLeft - offsets.x,
1185
- y: rect.top + scroll.scrollTop - offsets.y,
1186
- width: rect.width,
1187
- height: rect.height
1188
- };
1189
- }
1190
- function order(modifiers) {
1191
- var map = /* @__PURE__ */ new Map();
1192
- var visited = /* @__PURE__ */ new Set();
1193
- var result = [];
1194
- modifiers.forEach(function(modifier) {
1195
- map.set(modifier.name, modifier);
1196
- });
1197
- function sort(modifier) {
1198
- visited.add(modifier.name);
1199
- var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
1200
- requires.forEach(function(dep) {
1201
- if (!visited.has(dep)) {
1202
- var depModifier = map.get(dep);
1203
- if (depModifier) {
1204
- sort(depModifier);
1205
- }
1206
- }
1207
- });
1208
- result.push(modifier);
1209
- }
1210
- modifiers.forEach(function(modifier) {
1211
- if (!visited.has(modifier.name)) {
1212
- sort(modifier);
1213
- }
1214
- });
1215
- return result;
1216
- }
1217
- function orderModifiers(modifiers) {
1218
- var orderedModifiers = order(modifiers);
1219
- return modifierPhases.reduce(function(acc, phase) {
1220
- return acc.concat(orderedModifiers.filter(function(modifier) {
1221
- return modifier.phase === phase;
1222
- }));
1223
- }, []);
1224
- }
1225
- function debounce(fn2) {
1226
- var pending;
1227
- return function() {
1228
- if (!pending) {
1229
- pending = new Promise(function(resolve) {
1230
- Promise.resolve().then(function() {
1231
- pending = void 0;
1232
- resolve(fn2());
1233
- });
1234
- });
1235
- }
1236
- return pending;
1237
- };
1238
- }
1239
- function mergeByName(modifiers) {
1240
- var merged = modifiers.reduce(function(merged2, current) {
1241
- var existing = merged2[current.name];
1242
- merged2[current.name] = existing ? Object.assign({}, existing, current, {
1243
- options: Object.assign({}, existing.options, current.options),
1244
- data: Object.assign({}, existing.data, current.data)
1245
- }) : current;
1246
- return merged2;
1247
- }, {});
1248
- return Object.keys(merged).map(function(key) {
1249
- return merged[key];
1250
- });
1251
- }
1252
- var DEFAULT_OPTIONS = {
1253
- placement: "bottom",
1254
- modifiers: [],
1255
- strategy: "absolute"
1256
- };
1257
- function areValidElements() {
1258
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
1259
- args[_key] = arguments[_key];
1260
- }
1261
- return !args.some(function(element) {
1262
- return !(element && typeof element.getBoundingClientRect === "function");
1263
- });
1264
- }
1265
- function popperGenerator(generatorOptions) {
1266
- if (generatorOptions === void 0) {
1267
- generatorOptions = {};
1268
- }
1269
- var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
1270
- return function createPopper2(reference2, popper2, options) {
1271
- if (options === void 0) {
1272
- options = defaultOptions;
1273
- }
1274
- var state = {
1275
- placement: "bottom",
1276
- orderedModifiers: [],
1277
- options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
1278
- modifiersData: {},
1279
- elements: {
1280
- reference: reference2,
1281
- popper: popper2
1282
- },
1283
- attributes: {},
1284
- styles: {}
1285
- };
1286
- var effectCleanupFns = [];
1287
- var isDestroyed = false;
1288
- var instance = {
1289
- state,
1290
- setOptions: function setOptions(setOptionsAction) {
1291
- var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction;
1292
- cleanupModifierEffects();
1293
- state.options = Object.assign({}, defaultOptions, state.options, options2);
1294
- state.scrollParents = {
1295
- reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [],
1296
- popper: listScrollParents(popper2)
1297
- };
1298
- var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers)));
1299
- state.orderedModifiers = orderedModifiers.filter(function(m) {
1300
- return m.enabled;
1301
- });
1302
- runModifierEffects();
1303
- return instance.update();
1304
- },
1305
- // Sync update – it will always be executed, even if not necessary. This
1306
- // is useful for low frequency updates where sync behavior simplifies the
1307
- // logic.
1308
- // For high frequency updates (e.g. `resize` and `scroll` events), always
1309
- // prefer the async Popper#update method
1310
- forceUpdate: function forceUpdate() {
1311
- if (isDestroyed) {
1312
- return;
1313
- }
1314
- var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper;
1315
- if (!areValidElements(reference3, popper3)) {
1316
- return;
1317
- }
1318
- state.rects = {
1319
- reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"),
1320
- popper: getLayoutRect(popper3)
1321
- };
1322
- state.reset = false;
1323
- state.placement = state.options.placement;
1324
- state.orderedModifiers.forEach(function(modifier) {
1325
- return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
1326
- });
1327
- for (var index = 0; index < state.orderedModifiers.length; index++) {
1328
- if (state.reset === true) {
1329
- state.reset = false;
1330
- index = -1;
1331
- continue;
1332
- }
1333
- var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name;
1334
- if (typeof fn2 === "function") {
1335
- state = fn2({
1336
- state,
1337
- options: _options,
1338
- name,
1339
- instance
1340
- }) || state;
1341
- }
1342
- }
1343
- },
1344
- // Async and optimistically optimized update – it will not be executed if
1345
- // not necessary (debounced to run at most once-per-tick)
1346
- update: debounce(function() {
1347
- return new Promise(function(resolve) {
1348
- instance.forceUpdate();
1349
- resolve(state);
1350
- });
1351
- }),
1352
- destroy: function destroy() {
1353
- cleanupModifierEffects();
1354
- isDestroyed = true;
1355
- }
1356
- };
1357
- if (!areValidElements(reference2, popper2)) {
1358
- return instance;
1359
- }
1360
- instance.setOptions(options).then(function(state2) {
1361
- if (!isDestroyed && options.onFirstUpdate) {
1362
- options.onFirstUpdate(state2);
1363
- }
1364
- });
1365
- function runModifierEffects() {
1366
- state.orderedModifiers.forEach(function(_ref) {
1367
- var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect2 = _ref.effect;
1368
- if (typeof effect2 === "function") {
1369
- var cleanupFn = effect2({
1370
- state,
1371
- name,
1372
- instance,
1373
- options: options2
1374
- });
1375
- var noopFn = function noopFn2() {
1376
- };
1377
- effectCleanupFns.push(cleanupFn || noopFn);
1378
- }
1379
- });
1380
- }
1381
- function cleanupModifierEffects() {
1382
- effectCleanupFns.forEach(function(fn2) {
1383
- return fn2();
1384
- });
1385
- effectCleanupFns = [];
1386
- }
1387
- return instance;
1388
- };
1389
- }
1390
- var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];
1391
- var createPopper = /* @__PURE__ */ popperGenerator({
1392
- defaultModifiers
1393
- });
1394
- const styles = {
1395
- "popper-arrow": "Popper-module_popper-arrow_KDzK-",
1396
- "popper-element": "Popper-module_popper-element_YMpff",
1397
- "popper-children": "Popper-module_popper-children_LJd-4",
1398
- "popper-children-animate-height": "Popper-module_popper-children-animate-height_YvNfl",
1399
- "popper-children-animate-visibility": "Popper-module_popper-children-animate-visibility_tY-Jx"
1400
- };
1401
- function PopperPopup({
1402
- popupRef,
1403
- isOpen,
1404
- children,
1405
- displayArrow = false,
1406
- animate,
1407
- arrowClassName,
1408
- renderInPortal = true
1409
- }) {
1410
- const targetNode = React.useRef(null);
1411
- const [, dangerouslyRerender] = React.useState(0);
1412
- const popupId = React.useId();
1413
- const popupTargetId = `popup-${popupId}`;
1414
- React.useEffect(() => {
1415
- if (!renderInPortal || !onBrowser()) {
1416
- return;
1417
- }
1418
- if (targetNode.current) {
1419
- return;
1420
- }
1421
- let parentElement = document.getElementById("popper-popups");
1422
- if (!parentElement) {
1423
- parentElement = document.createElement("div");
1424
- parentElement.setAttribute("id", "popper-popups");
1425
- parentElement.setAttribute("data-testid", "popper-popups");
1426
- document.body.appendChild(parentElement);
1427
- }
1428
- let elementToRenderPopupIn = document.getElementById(popupTargetId);
1429
- if (!elementToRenderPopupIn) {
1430
- elementToRenderPopupIn = document.createElement("div");
1431
- elementToRenderPopupIn.setAttribute("id", popupTargetId);
1432
- elementToRenderPopupIn.setAttribute("data-testid", popupTargetId);
1433
- parentElement.appendChild(elementToRenderPopupIn);
1434
- }
1435
- targetNode.current = elementToRenderPopupIn;
1436
- dangerouslyRerender((prevSeed) => prevSeed + 1);
1437
- return () => {
1438
- if (targetNode.current) {
1439
- targetNode.current.remove();
1440
- targetNode.current = null;
1441
- }
1442
- };
1443
- }, []);
1444
- if (!onBrowser()) {
1445
- return null;
1446
- }
1447
- const classNameForArrow = cx(styles["popper-arrow"], arrowClassName);
1448
- const popperClassName = cx(styles["popper-children"], {
1449
- [styles["popper-children-animate-height"]]: animate === "height",
1450
- [styles["popper-children-animate-visibility"]]: animate === "visibility"
1451
- });
1452
- const markup = /* @__PURE__ */ jsxRuntimeExports.jsx(
1453
- "div",
1454
- {
1455
- className: styles["popper-element"],
1456
- ref: popupRef,
1457
- style: {
1458
- display: "table-column",
1459
- zIndex: "10001",
1460
- pointerEvents: "initial"
1461
- },
1462
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
1463
- "div",
1464
- {
1465
- className: popperClassName,
1466
- ...{ [isOpen ? "aria-modal" : "aria-hidden"]: true },
1467
- children: [
1468
- displayArrow && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: classNameForArrow, "data-popper-arrow": true }),
1469
- children
1470
- ]
1471
- }
1472
- )
1473
- }
1474
- );
1475
- if (!renderInPortal) {
1476
- return markup;
1477
- }
1478
- if (!targetNode.current) {
1479
- return null;
1480
- }
1481
- return createPortal(markup, targetNode.current);
1482
- }
1483
- function Popper({
1484
- position = "bottom",
1485
- children: targetElement,
1486
- targetDisplay = "inline-block",
1487
- isOpen = false,
1488
- popupElement,
1489
- closeOnClickAway = false,
1490
- ignoreCloseOnClickAway = false,
1491
- onSetOpen = null,
1492
- sameWidth = false,
1493
- displayArrow = false,
1494
- animate,
1495
- arrowClassName,
1496
- renderInPortal = true,
1497
- ...props
1498
- }) {
1499
- const [seed, dangerouslyRender] = useState(0);
1500
- const popperInstance = useRef(null);
1501
- const targetElementRef = useRef(null);
1502
- const popperElementRef = useRef(null);
1503
- useOutsideClick({
1504
- elementRefs: [popperElementRef, targetElementRef],
1505
- handler: () => {
1506
- if (closeOnClickAway) {
1507
- onSetOpen == null ? void 0 : onSetOpen(false);
1508
- }
1509
- },
1510
- dependencies: [isOpen],
1511
- ignoreEffect: !isOpen || ignoreCloseOnClickAway
1512
- });
1513
- const createPopperInstance = createPopperInstanceFactory(
1514
- sameWidth,
1515
- displayArrow
1516
- );
1517
- const destroyPopperInstance = destroyPopperInstanceFactory();
1518
- useEffect(() => {
1519
- if (!onBrowser()) {
1520
- return;
1521
- }
1522
- if (isOpen) {
1523
- setTimeout(
1524
- // istanbul ignore next - low-level stuff requiring an actual browser
1525
- () => {
1526
- dangerouslyRender(seed + 1);
1527
- requestAnimationFrame(() => {
1528
- createPopperInstance(
1529
- popperInstance,
1530
- targetElementRef,
1531
- popperElementRef,
1532
- position
1533
- );
1534
- });
1535
- },
1536
- 300
1537
- );
1538
- }
1539
- return () => destroyPopperInstance(popperInstance);
1540
- }, []);
1541
- useEffect(() => {
1542
- if (isOpen) {
1543
- createPopperInstance(
1544
- popperInstance,
1545
- targetElementRef,
1546
- popperElementRef,
1547
- position
1548
- );
1549
- return;
1550
- }
1551
- destroyPopperInstance(popperInstance);
1552
- }, [isOpen]);
1553
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1554
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: targetElementRef, style: { display: targetDisplay }, ...props, children: targetElement }),
1555
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1556
- PopperPopup,
1557
- {
1558
- popupRef: popperElementRef,
1559
- isOpen,
1560
- displayArrow,
1561
- animate,
1562
- arrowClassName,
1563
- renderInPortal,
1564
- children: popupElement
1565
- }
1566
- )
1567
- ] });
1568
- }
1569
- const createPopperInstanceFactory = (sameWidth, displayArrow) => (popperInstance, targetElementRef, popperElementRef, position) => {
1570
- const modifiers = [];
1571
- if (sameWidth) {
1572
- modifiers.push({
1573
- name: "sameWidth",
1574
- enabled: true,
1575
- phase: "beforeWrite",
1576
- requires: ["computeStyles"],
1577
- fn: (
1578
- // istanbul ignore next - low-level stuff for Popper
1579
- ({ state }) => {
1580
- state.styles.popper.width = `${state.rects.reference.width}px`;
1581
- }
1582
- ),
1583
- effect: (
1584
- // istanbul ignore next - low-level stuff for Popper
1585
- ({ state }) => {
1586
- state.elements.popper.style.width = `${"offsetWidth" in state.elements.reference ? state.elements.reference.offsetWidth : "0"}px`;
1587
- }
1588
- )
1589
- });
1590
- } else {
1591
- modifiers.push(
1592
- // Our implementation of Popper declares it this way. I couldn't find the
1593
- // defaults, but they're being set somewhere in Popper itself. The types
1594
- // still demand them, though? 🤔
1595
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
1596
- {
1597
- name: "flip"
1598
- }
1599
- );
1600
- }
1601
- if (displayArrow) {
1602
- modifiers.push(
1603
- // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
1604
- {
1605
- name: "offset",
1606
- options: {
1607
- offset: [0, 10]
1608
- }
1609
- }
1610
- );
1611
- }
1612
- requestAnimationFrame(() => {
1613
- var _a, _b;
1614
- if (popperInstance.current) {
1615
- (_b = (_a = popperInstance.current) == null ? void 0 : _a.destroy) == null ? void 0 : _b.call(_a);
1616
- popperInstance.current = null;
1617
- }
1618
- if (!popperInstance.current && targetElementRef.current && popperElementRef.current) {
1619
- popperInstance.current = createPopper(
1620
- targetElementRef.current,
1621
- popperElementRef.current,
1622
- {
1623
- placement: position,
1624
- modifiers
1625
- }
1626
- );
1627
- }
1628
- });
1629
- };
1630
- const destroyPopperInstanceFactory = () => (popperInstance) => {
1631
- requestAnimationFrame(() => {
1632
- var _a, _b;
1633
- if (popperInstance.current) {
1634
- (_b = (_a = popperInstance.current) == null ? void 0 : _a.destroy) == null ? void 0 : _b.call(_a);
1635
- popperInstance.current = null;
1636
- }
1637
- });
1638
- };
1639
- export {
1640
- Popper,
1641
- createPopperInstanceFactory,
1642
- destroyPopperInstanceFactory
1643
- };