@marimo-team/islands 0.19.12-dev1 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/dist/Combination-Du-o_hC9.js +11897 -0
  2. package/dist/{ConnectedDataExplorerComponent-CkXO-pKy.js → ConnectedDataExplorerComponent-BMiGWK57.js} +19 -18
  3. package/dist/{_baseIsEqual-CBSjxu-D.js → _baseIsEqual-DN5YkPnl.js} +1 -1
  4. package/dist/{_baseProperty-BVGrW_NZ.js → _baseProperty-6juuyX7Z.js} +5 -5
  5. package/dist/{_baseUniq-4lqa8rDi.js → _baseUniq-BlF21ach.js} +1 -1
  6. package/dist/{any-language-editor-t_VsTNa-.js → any-language-editor-1OMbohwD.js} +19 -19
  7. package/dist/architecture-U656AL7Q-Jd2CvPgJ.js +6 -0
  8. package/dist/{architectureDiagram-VXUJARFQ-DmJQhcJb.js → architectureDiagram-VXUJARFQ-DhN0C3Xf.js} +15 -15
  9. package/dist/{blockDiagram-VD42YOAC-CRofISJs.js → blockDiagram-VD42YOAC-DrBkIcbV.js} +7 -7
  10. package/dist/{button-Cy0ElmIm.js → button-KYalaJYu.js} +783 -200
  11. package/dist/{c4Diagram-YG6GDRKO-Deqoag4I.js → c4Diagram-YG6GDRKO-pWt4zmu0.js} +4 -4
  12. package/dist/{channel-CMsnebrL.js → channel-C56Jz8EL.js} +1 -1
  13. package/dist/{check-DkNR52Mm.js → check-C50jsehH.js} +1 -1
  14. package/dist/{chunk-76Q3JFCE-jPuajZH_.js → chunk-76Q3JFCE-CQ6a2yGJ.js} +1 -1
  15. package/dist/{chunk-ABZYJK2D-BGWvKte3.js → chunk-ABZYJK2D-BwNsaa1P.js} +1 -1
  16. package/dist/{chunk-ATLVNIR6-BYZB6C5T.js → chunk-ATLVNIR6-DtFMAawc.js} +1 -1
  17. package/dist/{chunk-B4BG7PRW-CwYUp6Uj.js → chunk-B4BG7PRW-lfWcLlzS.js} +4 -4
  18. package/dist/{chunk-DI55MBZ5-Gyro6dvN.js → chunk-DI55MBZ5-RhhAimfG.js} +4 -4
  19. package/dist/{chunk-EXTU4WIE-BlA7aWEw.js → chunk-EXTU4WIE-Bmo660a9.js} +1 -1
  20. package/dist/{chunk-FPAJGGOC-CduL34ft.js → chunk-FPAJGGOC-quWdfNUB.js} +7 -7
  21. package/dist/{chunk-FWNWRKHM-C-2TI4gt.js → chunk-FWNWRKHM-DmrwhAQr.js} +1 -1
  22. package/dist/{chunk-JA3XYJ7Z-Cm-pccR-.js → chunk-JA3XYJ7Z-n8UTzfok.js} +2 -2
  23. package/dist/{chunk-JZLCHNYA-CoLqqXMe.js → chunk-JZLCHNYA-ChKqHUdB.js} +4 -4
  24. package/dist/{chunk-LBM3YZW2-DWgQiioW.js → chunk-LBM3YZW2-BkxsqkNK.js} +1 -1
  25. package/dist/{chunk-LHMN2FUI-Dj_AHSvI.js → chunk-LHMN2FUI-CgYPnxfN.js} +1 -1
  26. package/dist/{chunk-N4CR4FBY-ByLbY9L-.js → chunk-N4CR4FBY-BxOHGL3P.js} +5 -5
  27. package/dist/{chunk-O7ZBX7Z2-CRZ8i1rP.js → chunk-O7ZBX7Z2-CdpLwOP0.js} +1 -1
  28. package/dist/{chunk-QN33PNHL-eodIiY9F.js → chunk-QN33PNHL-Dda-55xY.js} +1 -1
  29. package/dist/{chunk-QXUST7PY-CuJlDW6A.js → chunk-QXUST7PY-ClIEpoCT.js} +5 -5
  30. package/dist/{chunk-S3R3BYOJ-CwDGYMVf.js → chunk-S3R3BYOJ-C_1SJcWo.js} +3 -3
  31. package/dist/{chunk-S6J4BHB3-DNVMr0_v.js → chunk-S6J4BHB3-zfWjyfUg.js} +1 -1
  32. package/dist/{chunk-T53DSG4Q-BFWkpOX5.js → chunk-T53DSG4Q-Bewz1tiU.js} +1 -1
  33. package/dist/{chunk-TZMSLE5B-DFDr5FCr.js → chunk-TZMSLE5B-XW3duOft.js} +1 -1
  34. package/dist/{classDiagram-2ON5EDUG-BDBX9etk.js → classDiagram-2ON5EDUG-CUJlS_eo.js} +10 -10
  35. package/dist/{classDiagram-v2-WZHVMYZB-Bzj_L_BF.js → classDiagram-v2-WZHVMYZB-BhSPpbkE.js} +10 -10
  36. package/dist/{clone-Cc_6PW77.js → clone-V9hndNcj.js} +1 -1
  37. package/dist/{constants-DrOu5vvd.js → constants-BGRTDzdW.js} +2 -2
  38. package/dist/{copy-DRaXIb_a.js → copy-oc-FcZzt.js} +2 -2
  39. package/dist/{dagre-6UL2VRFP-r2rSdJYL.js → dagre-6UL2VRFP-BArPH353.js} +11 -11
  40. package/dist/{dagre-D2F8UdM6.js → dagre-Dcgyn_Uy.js} +15 -15
  41. package/dist/{diagram-PSM6KHXK-BpxVUe9U.js → diagram-PSM6KHXK-B1xAkr9y.js} +16 -16
  42. package/dist/{diagram-QEK2KX5R-q3dHUcp6.js → diagram-QEK2KX5R-CaoqwzPb.js} +14 -14
  43. package/dist/{diagram-S2PKOQOG-MDBKrxSC.js → diagram-S2PKOQOG-NXCsFLvR.js} +14 -14
  44. package/dist/dist-B8Y11RWn.js +1381 -0
  45. package/dist/dist-BA-HK7pI.js +5 -0
  46. package/dist/dist-BD5GU948.js +5 -0
  47. package/dist/{dist-BfactX3G.js → dist-BGzkWRSl.js} +4 -4
  48. package/dist/dist-BIYmAsND.js +5 -0
  49. package/dist/{dist-CmZYrgd_.js → dist-BUEi7EKT.js} +1 -1
  50. package/dist/{dist-B94MxrQS.js → dist-B_i29Q6L.js} +2 -2
  51. package/dist/dist-BcKTJXJi.js +5 -0
  52. package/dist/dist-BgnrtcWg.js +8 -0
  53. package/dist/{dist-glA_fIK_.js → dist-BoagoQQw.js} +2 -2
  54. package/dist/{dist-C2-m5aEk.js → dist-BswsDM4k.js} +2 -2
  55. package/dist/dist-C1njTlBq.js +5 -0
  56. package/dist/{dist-B2-r9y-0.js → dist-C5QB1NtD.js} +3 -3
  57. package/dist/{dist-Crk9ejOy.js → dist-CD7uLx0M.js} +2 -2
  58. package/dist/{dist-B4tYJP_i.js → dist-CMOy93xY.js} +2 -2
  59. package/dist/dist-CSKHwJYH.js +5 -0
  60. package/dist/dist-CSKKyiIq.js +5 -0
  61. package/dist/{dist-iiugPhCC.js → dist-C_9IMrtt.js} +1 -1
  62. package/dist/{dist-CE43BRmt.js → dist-Cb3iqED3.js} +1 -1
  63. package/dist/{dist-Dit9tk8a.js → dist-CoZ8kKKW.js} +1 -1
  64. package/dist/{dist-B5ATpkxy.js → dist-CrAYcS_4.js} +2 -2
  65. package/dist/dist-CrQ_pOuK.js +6 -0
  66. package/dist/dist-Cskx1daf.js +5 -0
  67. package/dist/dist-D4i0Ef34.js +8 -0
  68. package/dist/{dist-T4g7Sr6e.js → dist-D8EhXZ4S.js} +3 -3
  69. package/dist/{dist-CJrHMxlI.js → dist-DOLQQtWK.js} +3 -3
  70. package/dist/dist-DOcn61TX.js +8 -0
  71. package/dist/{dist-DqJdzAYM.js → dist-Dmr_nXF6.js} +2 -2
  72. package/dist/{dist-yVJ4xE5n.js → dist-DpAbrLuF.js} +5 -5
  73. package/dist/{dist-CcOGT46m.js → dist-DrC0QKFK.js} +1 -1
  74. package/dist/{dist-BYmtF1W6.js → dist-Dv2Phbh5.js} +2 -2
  75. package/dist/dist-DwMejAPB.js +6 -0
  76. package/dist/dist-DzSe1wby.js +8 -0
  77. package/dist/{dist-BbBnU4tG.js → dist-EZFqUJhh.js} +1 -1
  78. package/dist/{dist-Cgf353Ki.js → dist-Ey9hP8-j.js} +1 -1
  79. package/dist/{dist-BLwfpZD-.js → dist-IlWGXVjO.js} +2 -2
  80. package/dist/{dist-DOil6y-3.js → dist-LNp8svLl.js} +4 -4
  81. package/dist/{dist-CPTE45iS.js → dist-W6TdeACj.js} +1 -1
  82. package/dist/{dist-Dc1SFk5I.js → dist-a6Obzr07.js} +2 -2
  83. package/dist/{dist-Bsv_ARko.js → dist-bz6WguLy.js} +2 -2
  84. package/dist/{dist-CC9VUnXd.js → dist-iDeoXzdN.js} +1 -1
  85. package/dist/{dist-BoAHOW2l.js → dist-iyBCcLRa.js} +2 -2
  86. package/dist/{dist-CkEUrAus.js → dist-xCB683Dh.js} +2 -2
  87. package/dist/{erDiagram-Q2GNP2WA-CX1XdqVD.js → erDiagram-Q2GNP2WA-DWCa11g5.js} +10 -10
  88. package/dist/error-banner-vCG-EbUQ.js +619 -0
  89. package/dist/{esm-BAS2d2Ad.js → esm-DZSk8vt3.js} +27 -27
  90. package/dist/{flatten-eGRGXrC3.js → flatten-CWZjF1fc.js} +1 -1
  91. package/dist/{flowDiagram-NV44I4VS-BCj-ONTw.js → flowDiagram-NV44I4VS-BQ5PQs4L.js} +10 -10
  92. package/dist/{ganttDiagram-JELNMOA3-D1l5ewiQ.js → ganttDiagram-JELNMOA3-NTOuNWeT.js} +3 -3
  93. package/dist/{gitGraph-F6HP7TQM-CDM3aU-T.js → gitGraph-F6HP7TQM-DfRNsaDw.js} +3 -3
  94. package/dist/{gitGraphDiagram-NY62KEGX-KdZh0iiW.js → gitGraphDiagram-NY62KEGX-CYke62Ot.js} +13 -13
  95. package/dist/{glide-data-editor-2RvcPqmc.js → glide-data-editor-DttqGjrT.js} +571 -572
  96. package/dist/{graphlib-7UgfJadv.js → graphlib-CwMnCnQ9.js} +8 -8
  97. package/dist/{info-NVLQJR56-CoL1x1Fy.js → info-NVLQJR56-CUaoPtis.js} +3 -3
  98. package/dist/{infoDiagram-WHAUD3N6-PSH7lQ0D.js → infoDiagram-WHAUD3N6-B42WjAPh.js} +13 -13
  99. package/dist/{isEmpty-DQXRKNtW.js → isEmpty-6z2uv6gM.js} +2 -2
  100. package/dist/{isString-Clqvtgmo.js → isString-D6abkXrl.js} +1 -1
  101. package/dist/{isSymbol-TWXhTa8k.js → isSymbol-hk7foJ70.js} +1 -1
  102. package/dist/{journeyDiagram-XKPGCS4Q-BrTAxQ1J.js → journeyDiagram-XKPGCS4Q-ahXD97kr.js} +3 -3
  103. package/dist/{kanban-definition-3W4ZIXB7-BoYCDp_9.js → kanban-definition-3W4ZIXB7-CiTIpnhy.js} +7 -7
  104. package/dist/{label-CxU5JNBW.js → label-Cc5tEavt.js} +250 -250
  105. package/dist/{loader-C0-eIoas.js → loader-Cob3XFOw.js} +2 -2
  106. package/dist/main.js +1791 -1056
  107. package/dist/{memoize-Bag7B41I.js → memoize-Ckyqzyu_.js} +1 -1
  108. package/dist/{merge-Dl1bfxsj.js → merge-Db4Uulx4.js} +1 -1
  109. package/dist/{mermaid-C2cSe5YL.js → mermaid-B5xl_2hx.js} +73 -62
  110. package/dist/{mermaid-parser.core-D20zFbMa.js → mermaid-parser.core-BXj7Il0J.js} +8 -8
  111. package/dist/{min-Bg4bqmiD.js → min-ypdVXicC.js} +4 -4
  112. package/dist/{mindmap-definition-VGOIOE7T-CmRjsKEt.js → mindmap-definition-VGOIOE7T-Mni766A_.js} +9 -9
  113. package/dist/{now-mivqkCIv.js → now-Dwu5ou19.js} +2 -2
  114. package/dist/{once-BqS42WgZ.js → once-C9dA9qgQ.js} +1 -1
  115. package/dist/{packet-BFZMPI3H-C6aZmgV-.js → packet-BFZMPI3H-DHtQCusE.js} +3 -3
  116. package/dist/{pie-7BOR55EZ-NB6xYwcB.js → pie-7BOR55EZ-2sVLYbpR.js} +3 -3
  117. package/dist/{pieDiagram-ADFJNKIX-CtxQlnsU.js → pieDiagram-ADFJNKIX-PbXpgT8_.js} +14 -14
  118. package/dist/{quadrantDiagram-AYHSOK5B-DllnB2Hl.js → quadrantDiagram-AYHSOK5B-BtXGnx8i.js} +2 -2
  119. package/dist/{radar-NHE76QYJ-RKhErikV.js → radar-NHE76QYJ-Be0pEUux.js} +3 -3
  120. package/dist/{range-LoQMRQIX.js → range-D9jxVFd_.js} +5 -5
  121. package/dist/{reduce-B9mZDxPo.js → reduce-C6NEPj6s.js} +4 -4
  122. package/dist/{requirementDiagram-UZGBJVZJ-D36MI1k0.js → requirementDiagram-UZGBJVZJ-DxzXQRgq.js} +9 -9
  123. package/dist/{sankeyDiagram-TZEHDZUN-D1mygNPC.js → sankeyDiagram-TZEHDZUN-D-I7dJ0_.js} +2 -2
  124. package/dist/{sequenceDiagram-WL72ISMW-CWdn91Rf.js → sequenceDiagram-WL72ISMW-VDme2ljw.js} +4 -4
  125. package/dist/{slides-component-DfwLApNr.js → slides-component-ql7-5GDI.js} +2 -2
  126. package/dist/{spec-HoYHAQo2.js → spec-GwhMEXwK.js} +8 -9
  127. package/dist/{stateDiagram-FKZM4ZOC-CPxroWXd.js → stateDiagram-FKZM4ZOC-g3GI1EcK.js} +12 -12
  128. package/dist/{stateDiagram-v2-4FDKWEC3-BpM9Q54b.js → stateDiagram-v2-4FDKWEC3-7i6jBXe6.js} +10 -10
  129. package/dist/stex-D2rme5UG.js +4 -0
  130. package/dist/style.css +1 -1
  131. package/dist/{timeline-definition-IT6M3QCI-CVnRHx_t.js → timeline-definition-IT6M3QCI-bhvLlX_b.js} +2 -2
  132. package/dist/{toString-C4TLO6FA.js → toString-BwTJvlyD.js} +2 -2
  133. package/dist/tooltip-CL8m4f9y.js +404 -0
  134. package/dist/{treemap-KMMF4GRG-B37ugcLd.js → treemap-KMMF4GRG-Ba9ifjpG.js} +3 -3
  135. package/dist/{types-Ckva8JJq.js → types-Dsh6yC4B.js} +412 -413
  136. package/dist/{useAsyncData-dr8GazGv.js → useAsyncData-BPpyKjTJ.js} +2 -2
  137. package/dist/{useDeepCompareMemoize-ChviuF5n.js → useDeepCompareMemoize-C8Ms87P-.js} +18 -19
  138. package/dist/{useIframeCapabilities-DurI5SJh.js → useIframeCapabilities-C7z8VrZ1.js} +2 -2
  139. package/dist/{useTheme-SlKl8MlS.js → useTheme-Cq-gIssy.js} +299 -300
  140. package/dist/{vega-component-CnG0vAjf.js → vega-component-B5sxdjMq.js} +10 -10
  141. package/dist/{xychartDiagram-PRI3JC2R-BltwMWKC.js → xychartDiagram-PRI3JC2R-CFxuifYY.js} +5 -5
  142. package/package.json +1 -1
  143. package/src/components/editor/Output.tsx +8 -6
  144. package/src/components/editor/__tests__/Output.test.tsx +59 -0
  145. package/src/components/editor/chrome/__tests__/state.test.ts +321 -0
  146. package/src/components/editor/chrome/state.ts +27 -2
  147. package/src/components/editor/file-tree/upload.tsx +46 -23
  148. package/src/components/editor/links/cell-link.tsx +3 -2
  149. package/src/components/editor/output/console/ConsoleOutput.tsx +13 -3
  150. package/src/components/pages/gallery-page.tsx +1 -1
  151. package/src/components/pages/home-page.tsx +5 -3
  152. package/src/components/tracing/tracing.tsx +50 -39
  153. package/src/core/documentation/DocHoverTarget.tsx +23 -0
  154. package/src/core/documentation/doc-lookup.ts +50 -0
  155. package/src/core/islands/main.ts +1 -0
  156. package/src/core/websocket/useMarimoKernelConnection.tsx +3 -0
  157. package/src/css/app/Cell.css +5 -0
  158. package/src/mount.tsx +2 -2
  159. package/src/plugins/core/RenderHTML.tsx +15 -0
  160. package/src/plugins/core/__test__/registerReactComponent.test.ts +204 -0
  161. package/src/plugins/core/registerReactComponent.tsx +33 -0
  162. package/src/plugins/impl/MatrixPlugin.tsx +275 -0
  163. package/src/plugins/impl/__tests__/MatrixPlugin.test.tsx +415 -0
  164. package/src/plugins/impl/anywidget/model.ts +1 -2
  165. package/src/plugins/impl/matplotlib/MatplotlibPlugin.tsx +70 -0
  166. package/src/plugins/impl/matplotlib/__tests__/matplotlib-renderer.test.ts +152 -0
  167. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +781 -0
  168. package/src/plugins/impl/matrix.css +45 -0
  169. package/src/plugins/layout/mermaid/mermaid.tsx +11 -3
  170. package/src/plugins/plugins.ts +4 -0
  171. package/src/utils/__tests__/download.test.tsx +47 -0
  172. package/src/utils/download.ts +13 -1
  173. package/src/utils/links.ts +1 -1
  174. package/src/utils/urls.ts +1 -1
  175. package/dist/Combination-BTMrlhzT.js +0 -2611
  176. package/dist/architecture-U656AL7Q-COfwZju8.js +0 -6
  177. package/dist/dist-4YNZxwMI.js +0 -8
  178. package/dist/dist-7nR3r2kG.js +0 -5
  179. package/dist/dist-B2gkyT3r.js +0 -5
  180. package/dist/dist-B8G3I6vJ.js +0 -8
  181. package/dist/dist-BJ96Ykfp.js +0 -8
  182. package/dist/dist-BKLIWGw4.js +0 -5
  183. package/dist/dist-Bf3ou00A.js +0 -6
  184. package/dist/dist-BvkKXuPm.js +0 -5
  185. package/dist/dist-C6NJ3n6r.js +0 -5
  186. package/dist/dist-CecLPYY5.js +0 -5
  187. package/dist/dist-Ch0SwRzK.js +0 -5
  188. package/dist/dist-D6eWHiFh.js +0 -6
  189. package/dist/dist-DCQ710Bv.js +0 -5
  190. package/dist/dist-P_pkS5f-.js +0 -8
  191. package/dist/error-banner-D2zjeN_a.js +0 -1015
  192. package/dist/hotkeys-B5WnGZXF.js +0 -587
  193. package/dist/stex-ChDHQs3R.js +0 -4
  194. package/dist/zod-bjADtMKr.js +0 -10663
  195. /package/dist/{_arrayReduce-DlK7U3Q6.js → _arrayReduce-REKcIEj3.js} +0 -0
  196. /package/dist/{_baseFor-DSVmVciX.js → _baseFor-B69PDbIz.js} +0 -0
  197. /package/dist/{_hasUnicode-Bz2x6u6r.js → _hasUnicode-DrSAc5A5.js} +0 -0
  198. /package/dist/{dist-r8ecBV-v.js → dist-CUOuFgHt.js} +0 -0
  199. /package/dist/{invariant-D9QLJ4SZ.js → invariant-D-K49MfV.js} +0 -0
  200. /package/dist/{main-DhFbkwoC.js → main-DmxVpB19.js} +0 -0
  201. /package/dist/{purify.es-Brw-U87Q.js → purify.es-D4vaFt5N.js} +0 -0
  202. /package/dist/{stex-DrxP7bb3.js → stex-DIvyJfNO.js} +0 -0
@@ -1,2611 +0,0 @@
1
- import { s as __toESM } from "./chunk-BNovOVIE.js";
2
- import { t as require_react } from "./react-Bs6Z0kvn.js";
3
- import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { c as useComposedRefs, o as useEventListener, s as composeRefs } from "./button-Cy0ElmIm.js";
5
- import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
6
- import { t as require_react_dom } from "./react-dom-CqtLRVZP.js";
7
- /**
8
- * @license lucide-react v0.563.0 - ISC
9
- *
10
- * This source code is licensed under the ISC license.
11
- * See the LICENSE file in the root directory of this source tree.
12
- */
13
- var mergeClasses = (...r) => r.filter((r2, s, c) => !!r2 && r2.trim() !== "" && c.indexOf(r2) === s).join(" ").trim(), toKebabCase = (r) => r.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), toCamelCase = (r) => r.replace(/^([A-Z])|[\s-_]+(\w)/g, (r2, s, c) => c ? c.toUpperCase() : s.toLowerCase()), toPascalCase = (r) => {
14
- let s = toCamelCase(r);
15
- return s.charAt(0).toUpperCase() + s.slice(1);
16
- }, defaultAttributes = {
17
- xmlns: "http://www.w3.org/2000/svg",
18
- width: 24,
19
- height: 24,
20
- viewBox: "0 0 24 24",
21
- fill: "none",
22
- stroke: "currentColor",
23
- strokeWidth: 2,
24
- strokeLinecap: "round",
25
- strokeLinejoin: "round"
26
- }, hasA11yProp = (r) => {
27
- for (let s in r) if (s.startsWith("aria-") || s === "role" || s === "title") return true;
28
- return false;
29
- }, import_react = /* @__PURE__ */ __toESM(require_react()), Icon = (0, import_react.forwardRef)(({ color: r = "currentColor", size: s = 24, strokeWidth: c = 2, absoluteStrokeWidth: l, className: u = "", children: d, iconNode: f, ...p }, h) => (0, import_react.createElement)("svg", {
30
- ref: h,
31
- ...defaultAttributes,
32
- width: s,
33
- height: s,
34
- stroke: r,
35
- strokeWidth: l ? Number(c) * 24 / Number(s) : c,
36
- className: mergeClasses("lucide", u),
37
- ...!d && !hasA11yProp(p) && { "aria-hidden": "true" },
38
- ...p
39
- }, [...f.map(([r2, s2]) => (0, import_react.createElement)(r2, s2)), ...Array.isArray(d) ? d : [d]])), createLucideIcon = (r, s) => {
40
- let c = (0, import_react.forwardRef)(({ className: c2, ...l }, u) => (0, import_react.createElement)(Icon, {
41
- ref: u,
42
- iconNode: s,
43
- className: mergeClasses(`lucide-${toKebabCase(toPascalCase(r))}`, `lucide-${r}`, c2),
44
- ...l
45
- }));
46
- return c.displayName = toPascalCase(r), c;
47
- };
48
- typeof window < "u" && window.document && window.document.createElement;
49
- function composeEventHandlers(r, s, { checkForDefaultPrevented: c = true } = {}) {
50
- return function(l) {
51
- if (r == null ? void 0 : r(l), c === false || !l.defaultPrevented) return s == null ? void 0 : s(l);
52
- };
53
- }
54
- var import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime(), 1);
55
- function createContext2(r, s) {
56
- let c = import_react.createContext(s), l = (r2) => {
57
- let { children: s2, ...l2 } = r2, u2 = import_react.useMemo(() => l2, Object.values(l2));
58
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(c.Provider, {
59
- value: u2,
60
- children: s2
61
- });
62
- };
63
- l.displayName = r + "Provider";
64
- function u(l2) {
65
- let u2 = import_react.useContext(c);
66
- if (u2) return u2;
67
- if (s !== void 0) return s;
68
- throw Error(`\`${l2}\` must be used within \`${r}\``);
69
- }
70
- return [l, u];
71
- }
72
- function createContextScope(r, s = []) {
73
- let c = [];
74
- function l(s2, l2) {
75
- let u2 = import_react.createContext(l2), d = c.length;
76
- c = [...c, l2];
77
- let f = (s3) => {
78
- var _a;
79
- let { scope: c2, children: l3, ...f2 } = s3, p2 = ((_a = c2 == null ? void 0 : c2[r]) == null ? void 0 : _a[d]) || u2, m = import_react.useMemo(() => f2, Object.values(f2));
80
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(p2.Provider, {
81
- value: m,
82
- children: l3
83
- });
84
- };
85
- f.displayName = s2 + "Provider";
86
- function p(c2, f2) {
87
- var _a;
88
- let p2 = ((_a = f2 == null ? void 0 : f2[r]) == null ? void 0 : _a[d]) || u2, m = import_react.useContext(p2);
89
- if (m) return m;
90
- if (l2 !== void 0) return l2;
91
- throw Error(`\`${c2}\` must be used within \`${s2}\``);
92
- }
93
- return [f, p];
94
- }
95
- let u = () => {
96
- let s2 = c.map((r2) => import_react.createContext(r2));
97
- return function(c2) {
98
- let l2 = (c2 == null ? void 0 : c2[r]) || s2;
99
- return import_react.useMemo(() => ({ [`__scope${r}`]: {
100
- ...c2,
101
- [r]: l2
102
- } }), [c2, l2]);
103
- };
104
- };
105
- return u.scopeName = r, [l, composeContextScopes(u, ...s)];
106
- }
107
- function composeContextScopes(...r) {
108
- let s = r[0];
109
- if (r.length === 1) return s;
110
- let c = () => {
111
- let c2 = r.map((r2) => ({
112
- useScope: r2(),
113
- scopeName: r2.scopeName
114
- }));
115
- return function(r2) {
116
- let l = c2.reduce((s2, { useScope: c3, scopeName: l2 }) => {
117
- let u = c3(r2)[`__scope${l2}`];
118
- return {
119
- ...s2,
120
- ...u
121
- };
122
- }, {});
123
- return import_react.useMemo(() => ({ [`__scope${s.scopeName}`]: l }), [l]);
124
- };
125
- };
126
- return c.scopeName = s.scopeName, c;
127
- }
128
- // @__NO_SIDE_EFFECTS__
129
- function createSlot(r) {
130
- let s = /* @__PURE__ */ createSlotClone(r), c = import_react.forwardRef((r2, c2) => {
131
- let { children: l, ...u } = r2, d = import_react.Children.toArray(l), f = d.find(isSlottable);
132
- if (f) {
133
- let r3 = f.props.children, l2 = d.map((s2) => s2 === f ? import_react.Children.count(r3) > 1 ? import_react.Children.only(null) : import_react.isValidElement(r3) ? r3.props.children : null : s2);
134
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(s, {
135
- ...u,
136
- ref: c2,
137
- children: import_react.isValidElement(r3) ? import_react.cloneElement(r3, void 0, l2) : null
138
- });
139
- }
140
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(s, {
141
- ...u,
142
- ref: c2,
143
- children: l
144
- });
145
- });
146
- return c.displayName = `${r}.Slot`, c;
147
- }
148
- // @__NO_SIDE_EFFECTS__
149
- function createSlotClone(r) {
150
- let s = import_react.forwardRef((r2, s2) => {
151
- let { children: c, ...l } = r2;
152
- if (import_react.isValidElement(c)) {
153
- let r3 = getElementRef$1(c), u = mergeProps(l, c.props);
154
- return c.type !== import_react.Fragment && (u.ref = s2 ? composeRefs(s2, r3) : r3), import_react.cloneElement(c, u);
155
- }
156
- return import_react.Children.count(c) > 1 ? import_react.Children.only(null) : null;
157
- });
158
- return s.displayName = `${r}.SlotClone`, s;
159
- }
160
- var SLOTTABLE_IDENTIFIER = /* @__PURE__ */ Symbol("radix.slottable");
161
- // @__NO_SIDE_EFFECTS__
162
- function createSlottable(r) {
163
- let s = ({ children: r2 }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: r2 });
164
- return s.displayName = `${r}.Slottable`, s.__radixId = SLOTTABLE_IDENTIFIER, s;
165
- }
166
- function isSlottable(r) {
167
- return import_react.isValidElement(r) && typeof r.type == "function" && "__radixId" in r.type && r.type.__radixId === SLOTTABLE_IDENTIFIER;
168
- }
169
- function mergeProps(r, s) {
170
- let c = { ...s };
171
- for (let l in s) {
172
- let u = r[l], d = s[l];
173
- /^on[A-Z]/.test(l) ? u && d ? c[l] = (...r2) => {
174
- let s2 = d(...r2);
175
- return u(...r2), s2;
176
- } : u && (c[l] = u) : l === "style" ? c[l] = {
177
- ...u,
178
- ...d
179
- } : l === "className" && (c[l] = [u, d].filter(Boolean).join(" "));
180
- }
181
- return {
182
- ...r,
183
- ...c
184
- };
185
- }
186
- function getElementRef$1(r) {
187
- var _a, _b;
188
- let s = (_a = Object.getOwnPropertyDescriptor(r.props, "ref")) == null ? void 0 : _a.get, c = s && "isReactWarning" in s && s.isReactWarning;
189
- return c ? r.ref : (s = (_b = Object.getOwnPropertyDescriptor(r, "ref")) == null ? void 0 : _b.get, c = s && "isReactWarning" in s && s.isReactWarning, c ? r.props.ref : r.props.ref || r.ref);
190
- }
191
- var import_react_dom$2 = /* @__PURE__ */ __toESM(require_react_dom(), 1), Primitive = [
192
- "a",
193
- "button",
194
- "div",
195
- "form",
196
- "h2",
197
- "h3",
198
- "img",
199
- "input",
200
- "label",
201
- "li",
202
- "nav",
203
- "ol",
204
- "p",
205
- "select",
206
- "span",
207
- "svg",
208
- "ul"
209
- ].reduce((r, s) => {
210
- let c = /* @__PURE__ */ createSlot(`Primitive.${s}`), l = import_react.forwardRef((r2, l2) => {
211
- let { asChild: u, ...d } = r2, f = u ? c : s;
212
- return typeof window < "u" && (window[/* @__PURE__ */ Symbol.for("radix-ui")] = true), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(f, {
213
- ...d,
214
- ref: l2
215
- });
216
- });
217
- return l.displayName = `Primitive.${s}`, {
218
- ...r,
219
- [s]: l
220
- };
221
- }, {});
222
- function dispatchDiscreteCustomEvent(r, s) {
223
- r && import_react_dom$2.flushSync(() => r.dispatchEvent(s));
224
- }
225
- function useCallbackRef$1(r) {
226
- let s = import_react.useRef(r);
227
- return import_react.useEffect(() => {
228
- s.current = r;
229
- }), import_react.useMemo(() => (...r2) => {
230
- var _a;
231
- return (_a = s.current) == null ? void 0 : _a.call(s, ...r2);
232
- }, []);
233
- }
234
- function useEscapeKeydown(r, s = globalThis == null ? void 0 : globalThis.document) {
235
- let c = useCallbackRef$1(r);
236
- import_react.useEffect(() => {
237
- let r2 = (r3) => {
238
- r3.key === "Escape" && c(r3);
239
- };
240
- return s.addEventListener("keydown", r2, { capture: true }), () => s.removeEventListener("keydown", r2, { capture: true });
241
- }, [c, s]);
242
- }
243
- var DISMISSABLE_LAYER_NAME = "DismissableLayer", CONTEXT_UPDATE = "dismissableLayer.update", POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside", FOCUS_OUTSIDE = "dismissableLayer.focusOutside", originalBodyPointerEvents, DismissableLayerContext = import_react.createContext({
244
- layers: /* @__PURE__ */ new Set(),
245
- layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
246
- branches: /* @__PURE__ */ new Set()
247
- }), DismissableLayer = import_react.forwardRef((r, s) => {
248
- let { disableOutsidePointerEvents: c = false, onEscapeKeyDown: u, onPointerDownOutside: d, onFocusOutside: f, onInteractOutside: p, onDismiss: m, ...h } = r, g = import_react.useContext(DismissableLayerContext), [_, v] = import_react.useState(null), y = (_ == null ? void 0 : _.ownerDocument) ?? (globalThis == null ? void 0 : globalThis.document), [, x] = import_react.useState({}), S = useComposedRefs(s, (r2) => v(r2)), T = Array.from(g.layers), [E] = [...g.layersWithOutsidePointerEventsDisabled].slice(-1), D = T.indexOf(E), O = _ ? T.indexOf(_) : -1, k = g.layersWithOutsidePointerEventsDisabled.size > 0, A = O >= D, j = usePointerDownOutside((r2) => {
249
- let s2 = r2.target, c2 = [...g.branches].some((r3) => r3.contains(s2));
250
- !A || c2 || (d == null ? void 0 : d(r2), p == null ? void 0 : p(r2), r2.defaultPrevented || (m == null ? void 0 : m()));
251
- }, y), M = useFocusOutside((r2) => {
252
- let s2 = r2.target;
253
- [...g.branches].some((r3) => r3.contains(s2)) || (f == null ? void 0 : f(r2), p == null ? void 0 : p(r2), r2.defaultPrevented || (m == null ? void 0 : m()));
254
- }, y);
255
- return useEscapeKeydown((r2) => {
256
- O === g.layers.size - 1 && (u == null ? void 0 : u(r2), !r2.defaultPrevented && m && (r2.preventDefault(), m()));
257
- }, y), import_react.useEffect(() => {
258
- if (_) return c && (g.layersWithOutsidePointerEventsDisabled.size === 0 && (originalBodyPointerEvents = y.body.style.pointerEvents, y.body.style.pointerEvents = "none"), g.layersWithOutsidePointerEventsDisabled.add(_)), g.layers.add(_), dispatchUpdate(), () => {
259
- c && g.layersWithOutsidePointerEventsDisabled.size === 1 && (y.body.style.pointerEvents = originalBodyPointerEvents);
260
- };
261
- }, [
262
- _,
263
- y,
264
- c,
265
- g
266
- ]), import_react.useEffect(() => () => {
267
- _ && (g.layers.delete(_), g.layersWithOutsidePointerEventsDisabled.delete(_), dispatchUpdate());
268
- }, [_, g]), import_react.useEffect(() => {
269
- let r2 = () => x({});
270
- return document.addEventListener(CONTEXT_UPDATE, r2), () => document.removeEventListener(CONTEXT_UPDATE, r2);
271
- }, []), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Primitive.div, {
272
- ...h,
273
- ref: S,
274
- style: {
275
- pointerEvents: k ? A ? "auto" : "none" : void 0,
276
- ...r.style
277
- },
278
- onFocusCapture: composeEventHandlers(r.onFocusCapture, M.onFocusCapture),
279
- onBlurCapture: composeEventHandlers(r.onBlurCapture, M.onBlurCapture),
280
- onPointerDownCapture: composeEventHandlers(r.onPointerDownCapture, j.onPointerDownCapture)
281
- });
282
- });
283
- DismissableLayer.displayName = DISMISSABLE_LAYER_NAME;
284
- var BRANCH_NAME = "DismissableLayerBranch", DismissableLayerBranch = import_react.forwardRef((r, s) => {
285
- let c = import_react.useContext(DismissableLayerContext), u = import_react.useRef(null), d = useComposedRefs(s, u);
286
- return import_react.useEffect(() => {
287
- let r2 = u.current;
288
- if (r2) return c.branches.add(r2), () => {
289
- c.branches.delete(r2);
290
- };
291
- }, [c.branches]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Primitive.div, {
292
- ...r,
293
- ref: d
294
- });
295
- });
296
- DismissableLayerBranch.displayName = BRANCH_NAME;
297
- function usePointerDownOutside(r, s = globalThis == null ? void 0 : globalThis.document) {
298
- let c = useCallbackRef$1(r), l = import_react.useRef(false), u = import_react.useRef(() => {
299
- });
300
- return import_react.useEffect(() => {
301
- let r2 = (r3) => {
302
- if (r3.target && !l.current) {
303
- let l2 = function() {
304
- handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE, c, d2, { discrete: true });
305
- }, d2 = { originalEvent: r3 };
306
- r3.pointerType === "touch" ? (s.removeEventListener("click", u.current), u.current = l2, s.addEventListener("click", u.current, { once: true })) : l2();
307
- } else s.removeEventListener("click", u.current);
308
- l.current = false;
309
- }, d = window.setTimeout(() => {
310
- s.addEventListener("pointerdown", r2);
311
- }, 0);
312
- return () => {
313
- window.clearTimeout(d), s.removeEventListener("pointerdown", r2), s.removeEventListener("click", u.current);
314
- };
315
- }, [s, c]), { onPointerDownCapture: () => l.current = true };
316
- }
317
- function useFocusOutside(r, s = globalThis == null ? void 0 : globalThis.document) {
318
- let c = useCallbackRef$1(r), l = import_react.useRef(false);
319
- return import_react.useEffect(() => {
320
- let r2 = (r3) => {
321
- r3.target && !l.current && handleAndDispatchCustomEvent(FOCUS_OUTSIDE, c, { originalEvent: r3 }, { discrete: false });
322
- };
323
- return s.addEventListener("focusin", r2), () => s.removeEventListener("focusin", r2);
324
- }, [s, c]), {
325
- onFocusCapture: () => l.current = true,
326
- onBlurCapture: () => l.current = false
327
- };
328
- }
329
- function dispatchUpdate() {
330
- let r = new CustomEvent(CONTEXT_UPDATE);
331
- document.dispatchEvent(r);
332
- }
333
- function handleAndDispatchCustomEvent(r, s, c, { discrete: l }) {
334
- let u = c.originalEvent.target, d = new CustomEvent(r, {
335
- bubbles: false,
336
- cancelable: true,
337
- detail: c
338
- });
339
- s && u.addEventListener(r, s, { once: true }), l ? dispatchDiscreteCustomEvent(u, d) : u.dispatchEvent(d);
340
- }
341
- var useLayoutEffect2 = (globalThis == null ? void 0 : globalThis.document) ? import_react.useLayoutEffect : () => {
342
- }, useReactId = import_react.useId || (() => void 0), count$1 = 0;
343
- function useId(r) {
344
- let [s, c] = import_react.useState(useReactId());
345
- return useLayoutEffect2(() => {
346
- r || c((r2) => r2 ?? String(count$1++));
347
- }, [r]), r || (s ? `radix-${s}` : "");
348
- }
349
- var sides = [
350
- "top",
351
- "right",
352
- "bottom",
353
- "left"
354
- ], min = Math.min, max = Math.max, round = Math.round, floor = Math.floor, createCoords = (r) => ({
355
- x: r,
356
- y: r
357
- }), oppositeSideMap = {
358
- left: "right",
359
- right: "left",
360
- bottom: "top",
361
- top: "bottom"
362
- }, oppositeAlignmentMap = {
363
- start: "end",
364
- end: "start"
365
- };
366
- function clamp(r, s, c) {
367
- return max(r, min(s, c));
368
- }
369
- function evaluate(r, s) {
370
- return typeof r == "function" ? r(s) : r;
371
- }
372
- function getSide(r) {
373
- return r.split("-")[0];
374
- }
375
- function getAlignment(r) {
376
- return r.split("-")[1];
377
- }
378
- function getOppositeAxis(r) {
379
- return r === "x" ? "y" : "x";
380
- }
381
- function getAxisLength(r) {
382
- return r === "y" ? "height" : "width";
383
- }
384
- var yAxisSides = /* @__PURE__ */ new Set(["top", "bottom"]);
385
- function getSideAxis(r) {
386
- return yAxisSides.has(getSide(r)) ? "y" : "x";
387
- }
388
- function getAlignmentAxis(r) {
389
- return getOppositeAxis(getSideAxis(r));
390
- }
391
- function getAlignmentSides(r, s, c) {
392
- c === void 0 && (c = false);
393
- let l = getAlignment(r), u = getAlignmentAxis(r), d = getAxisLength(u), f = u === "x" ? l === (c ? "end" : "start") ? "right" : "left" : l === "start" ? "bottom" : "top";
394
- return s.reference[d] > s.floating[d] && (f = getOppositePlacement(f)), [f, getOppositePlacement(f)];
395
- }
396
- function getExpandedPlacements(r) {
397
- let s = getOppositePlacement(r);
398
- return [
399
- getOppositeAlignmentPlacement(r),
400
- s,
401
- getOppositeAlignmentPlacement(s)
402
- ];
403
- }
404
- function getOppositeAlignmentPlacement(r) {
405
- return r.replace(/start|end/g, (r2) => oppositeAlignmentMap[r2]);
406
- }
407
- var lrPlacement = ["left", "right"], rlPlacement = ["right", "left"], tbPlacement = ["top", "bottom"], btPlacement = ["bottom", "top"];
408
- function getSideList(r, s, c) {
409
- switch (r) {
410
- case "top":
411
- case "bottom":
412
- return c ? s ? rlPlacement : lrPlacement : s ? lrPlacement : rlPlacement;
413
- case "left":
414
- case "right":
415
- return s ? tbPlacement : btPlacement;
416
- default:
417
- return [];
418
- }
419
- }
420
- function getOppositeAxisPlacements(r, s, c, l) {
421
- let u = getAlignment(r), d = getSideList(getSide(r), c === "start", l);
422
- return u && (d = d.map((r2) => r2 + "-" + u), s && (d = d.concat(d.map(getOppositeAlignmentPlacement)))), d;
423
- }
424
- function getOppositePlacement(r) {
425
- return r.replace(/left|right|bottom|top/g, (r2) => oppositeSideMap[r2]);
426
- }
427
- function expandPaddingObject(r) {
428
- return {
429
- top: 0,
430
- right: 0,
431
- bottom: 0,
432
- left: 0,
433
- ...r
434
- };
435
- }
436
- function getPaddingObject(r) {
437
- return typeof r == "number" ? {
438
- top: r,
439
- right: r,
440
- bottom: r,
441
- left: r
442
- } : expandPaddingObject(r);
443
- }
444
- function rectToClientRect(r) {
445
- let { x: s, y: c, width: l, height: u } = r;
446
- return {
447
- width: l,
448
- height: u,
449
- top: c,
450
- left: s,
451
- right: s + l,
452
- bottom: c + u,
453
- x: s,
454
- y: c
455
- };
456
- }
457
- function computeCoordsFromPlacement(r, s, c) {
458
- let { reference: l, floating: u } = r, d = getSideAxis(s), f = getAlignmentAxis(s), p = getAxisLength(f), m = getSide(s), h = d === "y", g = l.x + l.width / 2 - u.width / 2, _ = l.y + l.height / 2 - u.height / 2, v = l[p] / 2 - u[p] / 2, y;
459
- switch (m) {
460
- case "top":
461
- y = {
462
- x: g,
463
- y: l.y - u.height
464
- };
465
- break;
466
- case "bottom":
467
- y = {
468
- x: g,
469
- y: l.y + l.height
470
- };
471
- break;
472
- case "right":
473
- y = {
474
- x: l.x + l.width,
475
- y: _
476
- };
477
- break;
478
- case "left":
479
- y = {
480
- x: l.x - u.width,
481
- y: _
482
- };
483
- break;
484
- default:
485
- y = {
486
- x: l.x,
487
- y: l.y
488
- };
489
- }
490
- switch (getAlignment(s)) {
491
- case "start":
492
- y[f] -= v * (c && h ? -1 : 1);
493
- break;
494
- case "end":
495
- y[f] += v * (c && h ? -1 : 1);
496
- break;
497
- }
498
- return y;
499
- }
500
- var computePosition$1 = async (r, s, c) => {
501
- let { placement: l = "bottom", strategy: u = "absolute", middleware: d = [], platform: f } = c, p = d.filter(Boolean), m = await (f.isRTL == null ? void 0 : f.isRTL(s)), h = await f.getElementRects({
502
- reference: r,
503
- floating: s,
504
- strategy: u
505
- }), { x: g, y: _ } = computeCoordsFromPlacement(h, l, m), v = l, y = {}, b = 0;
506
- for (let c2 = 0; c2 < p.length; c2++) {
507
- let { name: d2, fn: x } = p[c2], { x: S, y: C, data: w, reset: T } = await x({
508
- x: g,
509
- y: _,
510
- initialPlacement: l,
511
- placement: v,
512
- strategy: u,
513
- middlewareData: y,
514
- rects: h,
515
- platform: f,
516
- elements: {
517
- reference: r,
518
- floating: s
519
- }
520
- });
521
- g = S ?? g, _ = C ?? _, y = {
522
- ...y,
523
- [d2]: {
524
- ...y[d2],
525
- ...w
526
- }
527
- }, T && b <= 50 && (b++, typeof T == "object" && (T.placement && (v = T.placement), T.rects && (h = T.rects === true ? await f.getElementRects({
528
- reference: r,
529
- floating: s,
530
- strategy: u
531
- }) : T.rects), { x: g, y: _ } = computeCoordsFromPlacement(h, v, m)), c2 = -1);
532
- }
533
- return {
534
- x: g,
535
- y: _,
536
- placement: v,
537
- strategy: u,
538
- middlewareData: y
539
- };
540
- };
541
- async function detectOverflow$1(r, s) {
542
- s === void 0 && (s = {});
543
- let { x: c, y: l, platform: u, rects: d, elements: f, strategy: p } = r, { boundary: m = "clippingAncestors", rootBoundary: h = "viewport", elementContext: g = "floating", altBoundary: _ = false, padding: v = 0 } = evaluate(s, r), y = getPaddingObject(v), b = f[_ ? g === "floating" ? "reference" : "floating" : g], x = rectToClientRect(await u.getClippingRect({
544
- element: await (u.isElement == null ? void 0 : u.isElement(b)) ?? true ? b : b.contextElement || await (u.getDocumentElement == null ? void 0 : u.getDocumentElement(f.floating)),
545
- boundary: m,
546
- rootBoundary: h,
547
- strategy: p
548
- })), S = g === "floating" ? {
549
- x: c,
550
- y: l,
551
- width: d.floating.width,
552
- height: d.floating.height
553
- } : d.reference, C = await (u.getOffsetParent == null ? void 0 : u.getOffsetParent(f.floating)), w = await (u.isElement == null ? void 0 : u.isElement(C)) && await (u.getScale == null ? void 0 : u.getScale(C)) || {
554
- x: 1,
555
- y: 1
556
- }, T = rectToClientRect(u.convertOffsetParentRelativeRectToViewportRelativeRect ? await u.convertOffsetParentRelativeRectToViewportRelativeRect({
557
- elements: f,
558
- rect: S,
559
- offsetParent: C,
560
- strategy: p
561
- }) : S);
562
- return {
563
- top: (x.top - T.top + y.top) / w.y,
564
- bottom: (T.bottom - x.bottom + y.bottom) / w.y,
565
- left: (x.left - T.left + y.left) / w.x,
566
- right: (T.right - x.right + y.right) / w.x
567
- };
568
- }
569
- var arrow$2 = (r) => ({
570
- name: "arrow",
571
- options: r,
572
- async fn(s) {
573
- let { x: c, y: l, placement: u, rects: d, platform: f, elements: p, middlewareData: m } = s, { element: h, padding: g = 0 } = evaluate(r, s) || {};
574
- if (h == null) return {};
575
- let _ = getPaddingObject(g), v = {
576
- x: c,
577
- y: l
578
- }, y = getAlignmentAxis(u), b = getAxisLength(y), x = await f.getDimensions(h), S = y === "y", C = S ? "top" : "left", w = S ? "bottom" : "right", T = S ? "clientHeight" : "clientWidth", E = d.reference[b] + d.reference[y] - v[y] - d.floating[b], D = v[y] - d.reference[y], O = await (f.getOffsetParent == null ? void 0 : f.getOffsetParent(h)), k = O ? O[T] : 0;
579
- (!k || !await (f.isElement == null ? void 0 : f.isElement(O))) && (k = p.floating[T] || d.floating[b]);
580
- let A = E / 2 - D / 2, j = k / 2 - x[b] / 2 - 1, M = min(_[C], j), N = min(_[w], j), P = M, F = k - x[b] - N, I = k / 2 - x[b] / 2 + A, L = clamp(P, I, F), R = !m.arrow && getAlignment(u) != null && I !== L && d.reference[b] / 2 - (I < P ? M : N) - x[b] / 2 < 0, z = R ? I < P ? I - P : I - F : 0;
581
- return {
582
- [y]: v[y] + z,
583
- data: {
584
- [y]: L,
585
- centerOffset: I - L - z,
586
- ...R && { alignmentOffset: z }
587
- },
588
- reset: R
589
- };
590
- }
591
- }), flip$2 = function(r) {
592
- return r === void 0 && (r = {}), {
593
- name: "flip",
594
- options: r,
595
- async fn(s) {
596
- var _a, _b, _c, _d;
597
- var c;
598
- let { placement: l, middlewareData: u, rects: d, initialPlacement: f, platform: p, elements: m } = s, { mainAxis: h = true, crossAxis: g = true, fallbackPlacements: _, fallbackStrategy: v = "bestFit", fallbackAxisSideDirection: y = "none", flipAlignment: b = true, ...x } = evaluate(r, s);
599
- if ((c = u.arrow) != null && c.alignmentOffset) return {};
600
- let S = getSide(l), C = getSideAxis(f), w = getSide(f) === f, T = await (p.isRTL == null ? void 0 : p.isRTL(m.floating)), E = _ || (w || !b ? [getOppositePlacement(f)] : getExpandedPlacements(f)), D = y !== "none";
601
- !_ && D && E.push(...getOppositeAxisPlacements(f, b, y, T));
602
- let O = [f, ...E], k = await detectOverflow$1(s, x), A = [], j = ((_a = u.flip) == null ? void 0 : _a.overflows) || [];
603
- if (h && A.push(k[S]), g) {
604
- let r2 = getAlignmentSides(l, d, T);
605
- A.push(k[r2[0]], k[r2[1]]);
606
- }
607
- if (j = [...j, {
608
- placement: l,
609
- overflows: A
610
- }], !A.every((r2) => r2 <= 0)) {
611
- let r2 = (((_b = u.flip) == null ? void 0 : _b.index) || 0) + 1, s2 = O[r2];
612
- if (s2 && (!(g === "alignment" && C !== getSideAxis(s2)) || j.every((r3) => r3.overflows[0] > 0 && getSideAxis(r3.placement) === C))) return {
613
- data: {
614
- index: r2,
615
- overflows: j
616
- },
617
- reset: { placement: s2 }
618
- };
619
- let c2 = (_c = j.filter((r3) => r3.overflows[0] <= 0).sort((r3, s3) => r3.overflows[1] - s3.overflows[1])[0]) == null ? void 0 : _c.placement;
620
- if (!c2) switch (v) {
621
- case "bestFit": {
622
- let r3 = (_d = j.filter((r4) => {
623
- if (D) {
624
- let s3 = getSideAxis(r4.placement);
625
- return s3 === C || s3 === "y";
626
- }
627
- return true;
628
- }).map((r4) => [r4.placement, r4.overflows.filter((r5) => r5 > 0).reduce((r5, s3) => r5 + s3, 0)]).sort((r4, s3) => r4[1] - s3[1])[0]) == null ? void 0 : _d[0];
629
- r3 && (c2 = r3);
630
- break;
631
- }
632
- case "initialPlacement":
633
- c2 = f;
634
- break;
635
- }
636
- if (l !== c2) return { reset: { placement: c2 } };
637
- }
638
- return {};
639
- }
640
- };
641
- };
642
- function getSideOffsets(r, s) {
643
- return {
644
- top: r.top - s.height,
645
- right: r.right - s.width,
646
- bottom: r.bottom - s.height,
647
- left: r.left - s.width
648
- };
649
- }
650
- function isAnySideFullyClipped(r) {
651
- return sides.some((s) => r[s] >= 0);
652
- }
653
- var hide$2 = function(r) {
654
- return r === void 0 && (r = {}), {
655
- name: "hide",
656
- options: r,
657
- async fn(s) {
658
- let { rects: c } = s, { strategy: l = "referenceHidden", ...u } = evaluate(r, s);
659
- switch (l) {
660
- case "referenceHidden": {
661
- let r2 = getSideOffsets(await detectOverflow$1(s, {
662
- ...u,
663
- elementContext: "reference"
664
- }), c.reference);
665
- return { data: {
666
- referenceHiddenOffsets: r2,
667
- referenceHidden: isAnySideFullyClipped(r2)
668
- } };
669
- }
670
- case "escaped": {
671
- let r2 = getSideOffsets(await detectOverflow$1(s, {
672
- ...u,
673
- altBoundary: true
674
- }), c.floating);
675
- return { data: {
676
- escapedOffsets: r2,
677
- escaped: isAnySideFullyClipped(r2)
678
- } };
679
- }
680
- default:
681
- return {};
682
- }
683
- }
684
- };
685
- }, originSides = /* @__PURE__ */ new Set(["left", "top"]);
686
- async function convertValueToCoords(r, s) {
687
- let { placement: c, platform: l, elements: u } = r, d = await (l.isRTL == null ? void 0 : l.isRTL(u.floating)), f = getSide(c), p = getAlignment(c), m = getSideAxis(c) === "y", h = originSides.has(f) ? -1 : 1, g = d && m ? -1 : 1, _ = evaluate(s, r), { mainAxis: v, crossAxis: y, alignmentAxis: b } = typeof _ == "number" ? {
688
- mainAxis: _,
689
- crossAxis: 0,
690
- alignmentAxis: null
691
- } : {
692
- mainAxis: _.mainAxis || 0,
693
- crossAxis: _.crossAxis || 0,
694
- alignmentAxis: _.alignmentAxis
695
- };
696
- return p && typeof b == "number" && (y = p === "end" ? b * -1 : b), m ? {
697
- x: y * g,
698
- y: v * h
699
- } : {
700
- x: v * h,
701
- y: y * g
702
- };
703
- }
704
- var offset$2 = function(r) {
705
- return r === void 0 && (r = 0), {
706
- name: "offset",
707
- options: r,
708
- async fn(s) {
709
- var _a;
710
- var c;
711
- let { x: l, y: u, placement: d, middlewareData: f } = s, p = await convertValueToCoords(s, r);
712
- return d === ((_a = f.offset) == null ? void 0 : _a.placement) && (c = f.arrow) != null && c.alignmentOffset ? {} : {
713
- x: l + p.x,
714
- y: u + p.y,
715
- data: {
716
- ...p,
717
- placement: d
718
- }
719
- };
720
- }
721
- };
722
- }, shift$2 = function(r) {
723
- return r === void 0 && (r = {}), {
724
- name: "shift",
725
- options: r,
726
- async fn(s) {
727
- let { x: c, y: l, placement: u } = s, { mainAxis: d = true, crossAxis: f = false, limiter: p = { fn: (r2) => {
728
- let { x: s2, y: c2 } = r2;
729
- return {
730
- x: s2,
731
- y: c2
732
- };
733
- } }, ...m } = evaluate(r, s), h = {
734
- x: c,
735
- y: l
736
- }, g = await detectOverflow$1(s, m), _ = getSideAxis(getSide(u)), v = getOppositeAxis(_), y = h[v], b = h[_];
737
- if (d) {
738
- let r2 = v === "y" ? "top" : "left", s2 = v === "y" ? "bottom" : "right", c2 = y + g[r2], l2 = y - g[s2];
739
- y = clamp(c2, y, l2);
740
- }
741
- if (f) {
742
- let r2 = _ === "y" ? "top" : "left", s2 = _ === "y" ? "bottom" : "right", c2 = b + g[r2], l2 = b - g[s2];
743
- b = clamp(c2, b, l2);
744
- }
745
- let x = p.fn({
746
- ...s,
747
- [v]: y,
748
- [_]: b
749
- });
750
- return {
751
- ...x,
752
- data: {
753
- x: x.x - c,
754
- y: x.y - l,
755
- enabled: {
756
- [v]: d,
757
- [_]: f
758
- }
759
- }
760
- };
761
- }
762
- };
763
- }, limitShift$2 = function(r) {
764
- return r === void 0 && (r = {}), {
765
- options: r,
766
- fn(s) {
767
- var _a, _b;
768
- let { x: c, y: l, placement: u, rects: d, middlewareData: f } = s, { offset: p = 0, mainAxis: m = true, crossAxis: h = true } = evaluate(r, s), g = {
769
- x: c,
770
- y: l
771
- }, _ = getSideAxis(u), v = getOppositeAxis(_), y = g[v], b = g[_], x = evaluate(p, s), S = typeof x == "number" ? {
772
- mainAxis: x,
773
- crossAxis: 0
774
- } : {
775
- mainAxis: 0,
776
- crossAxis: 0,
777
- ...x
778
- };
779
- if (m) {
780
- let r2 = v === "y" ? "height" : "width", s2 = d.reference[v] - d.floating[r2] + S.mainAxis, c2 = d.reference[v] + d.reference[r2] - S.mainAxis;
781
- y < s2 ? y = s2 : y > c2 && (y = c2);
782
- }
783
- if (h) {
784
- let r2 = v === "y" ? "width" : "height", s2 = originSides.has(getSide(u)), c2 = d.reference[_] - d.floating[r2] + (s2 && ((_a = f.offset) == null ? void 0 : _a[_]) || 0) + (s2 ? 0 : S.crossAxis), l2 = d.reference[_] + d.reference[r2] + (s2 ? 0 : ((_b = f.offset) == null ? void 0 : _b[_]) || 0) - (s2 ? S.crossAxis : 0);
785
- b < c2 ? b = c2 : b > l2 && (b = l2);
786
- }
787
- return {
788
- [v]: y,
789
- [_]: b
790
- };
791
- }
792
- };
793
- }, size$2 = function(r) {
794
- return r === void 0 && (r = {}), {
795
- name: "size",
796
- options: r,
797
- async fn(s) {
798
- var c, l;
799
- let { placement: u, rects: d, platform: f, elements: p } = s, { apply: m = () => {
800
- }, ...h } = evaluate(r, s), g = await detectOverflow$1(s, h), _ = getSide(u), v = getAlignment(u), y = getSideAxis(u) === "y", { width: b, height: x } = d.floating, S, C;
801
- _ === "top" || _ === "bottom" ? (S = _, C = v === (await (f.isRTL == null ? void 0 : f.isRTL(p.floating)) ? "start" : "end") ? "left" : "right") : (C = _, S = v === "end" ? "top" : "bottom");
802
- let w = x - g.top - g.bottom, T = b - g.left - g.right, E = min(x - g[S], w), D = min(b - g[C], T), O = !s.middlewareData.shift, k = E, A = D;
803
- if ((c = s.middlewareData.shift) != null && c.enabled.x && (A = T), (l = s.middlewareData.shift) != null && l.enabled.y && (k = w), O && !v) {
804
- let r2 = max(g.left, 0), s2 = max(g.right, 0), c2 = max(g.top, 0), l2 = max(g.bottom, 0);
805
- y ? A = b - 2 * (r2 !== 0 || s2 !== 0 ? r2 + s2 : max(g.left, g.right)) : k = x - 2 * (c2 !== 0 || l2 !== 0 ? c2 + l2 : max(g.top, g.bottom));
806
- }
807
- await m({
808
- ...s,
809
- availableWidth: A,
810
- availableHeight: k
811
- });
812
- let j = await f.getDimensions(p.floating);
813
- return b !== j.width || x !== j.height ? { reset: { rects: true } } : {};
814
- }
815
- };
816
- };
817
- function hasWindow() {
818
- return typeof window < "u";
819
- }
820
- function getNodeName(r) {
821
- return isNode(r) ? (r.nodeName || "").toLowerCase() : "#document";
822
- }
823
- function getWindow(r) {
824
- var s;
825
- return (r == null || (s = r.ownerDocument) == null ? void 0 : s.defaultView) || window;
826
- }
827
- function getDocumentElement(r) {
828
- var _a;
829
- return (_a = (isNode(r) ? r.ownerDocument : r.document) || window.document) == null ? void 0 : _a.documentElement;
830
- }
831
- function isNode(r) {
832
- return hasWindow() ? r instanceof Node || r instanceof getWindow(r).Node : false;
833
- }
834
- function isElement(r) {
835
- return hasWindow() ? r instanceof Element || r instanceof getWindow(r).Element : false;
836
- }
837
- function isHTMLElement(r) {
838
- return hasWindow() ? r instanceof HTMLElement || r instanceof getWindow(r).HTMLElement : false;
839
- }
840
- function isShadowRoot(r) {
841
- return !hasWindow() || typeof ShadowRoot > "u" ? false : r instanceof ShadowRoot || r instanceof getWindow(r).ShadowRoot;
842
- }
843
- var invalidOverflowDisplayValues = /* @__PURE__ */ new Set(["inline", "contents"]);
844
- function isOverflowElement(r) {
845
- let { overflow: s, overflowX: c, overflowY: l, display: u } = getComputedStyle$1(r);
846
- return /auto|scroll|overlay|hidden|clip/.test(s + l + c) && !invalidOverflowDisplayValues.has(u);
847
- }
848
- var tableElements = /* @__PURE__ */ new Set([
849
- "table",
850
- "td",
851
- "th"
852
- ]);
853
- function isTableElement(r) {
854
- return tableElements.has(getNodeName(r));
855
- }
856
- var topLayerSelectors = [":popover-open", ":modal"];
857
- function isTopLayer(r) {
858
- return topLayerSelectors.some((s) => {
859
- try {
860
- return r.matches(s);
861
- } catch {
862
- return false;
863
- }
864
- });
865
- }
866
- var transformProperties = [
867
- "transform",
868
- "translate",
869
- "scale",
870
- "rotate",
871
- "perspective"
872
- ], willChangeValues = [
873
- "transform",
874
- "translate",
875
- "scale",
876
- "rotate",
877
- "perspective",
878
- "filter"
879
- ], containValues = [
880
- "paint",
881
- "layout",
882
- "strict",
883
- "content"
884
- ];
885
- function isContainingBlock(r) {
886
- let s = isWebKit(), c = isElement(r) ? getComputedStyle$1(r) : r;
887
- return transformProperties.some((r2) => c[r2] ? c[r2] !== "none" : false) || (c.containerType ? c.containerType !== "normal" : false) || !s && (c.backdropFilter ? c.backdropFilter !== "none" : false) || !s && (c.filter ? c.filter !== "none" : false) || willChangeValues.some((r2) => (c.willChange || "").includes(r2)) || containValues.some((r2) => (c.contain || "").includes(r2));
888
- }
889
- function getContainingBlock(r) {
890
- let s = getParentNode(r);
891
- for (; isHTMLElement(s) && !isLastTraversableNode(s); ) {
892
- if (isContainingBlock(s)) return s;
893
- if (isTopLayer(s)) return null;
894
- s = getParentNode(s);
895
- }
896
- return null;
897
- }
898
- function isWebKit() {
899
- return typeof CSS > "u" || !CSS.supports ? false : CSS.supports("-webkit-backdrop-filter", "none");
900
- }
901
- var lastTraversableNodeNames = /* @__PURE__ */ new Set([
902
- "html",
903
- "body",
904
- "#document"
905
- ]);
906
- function isLastTraversableNode(r) {
907
- return lastTraversableNodeNames.has(getNodeName(r));
908
- }
909
- function getComputedStyle$1(r) {
910
- return getWindow(r).getComputedStyle(r);
911
- }
912
- function getNodeScroll(r) {
913
- return isElement(r) ? {
914
- scrollLeft: r.scrollLeft,
915
- scrollTop: r.scrollTop
916
- } : {
917
- scrollLeft: r.scrollX,
918
- scrollTop: r.scrollY
919
- };
920
- }
921
- function getParentNode(r) {
922
- if (getNodeName(r) === "html") return r;
923
- let s = r.assignedSlot || r.parentNode || isShadowRoot(r) && r.host || getDocumentElement(r);
924
- return isShadowRoot(s) ? s.host : s;
925
- }
926
- function getNearestOverflowAncestor(r) {
927
- let s = getParentNode(r);
928
- return isLastTraversableNode(s) ? r.ownerDocument ? r.ownerDocument.body : r.body : isHTMLElement(s) && isOverflowElement(s) ? s : getNearestOverflowAncestor(s);
929
- }
930
- function getOverflowAncestors(r, s, c) {
931
- var _a;
932
- s === void 0 && (s = []), c === void 0 && (c = true);
933
- let l = getNearestOverflowAncestor(r), u = l === ((_a = r.ownerDocument) == null ? void 0 : _a.body), d = getWindow(l);
934
- if (u) {
935
- let r2 = getFrameElement(d);
936
- return s.concat(d, d.visualViewport || [], isOverflowElement(l) ? l : [], r2 && c ? getOverflowAncestors(r2) : []);
937
- }
938
- return s.concat(l, getOverflowAncestors(l, [], c));
939
- }
940
- function getFrameElement(r) {
941
- return r.parent && Object.getPrototypeOf(r.parent) ? r.frameElement : null;
942
- }
943
- function getCssDimensions(r) {
944
- let s = getComputedStyle$1(r), c = parseFloat(s.width) || 0, l = parseFloat(s.height) || 0, u = isHTMLElement(r), d = u ? r.offsetWidth : c, f = u ? r.offsetHeight : l, p = round(c) !== d || round(l) !== f;
945
- return p && (c = d, l = f), {
946
- width: c,
947
- height: l,
948
- $: p
949
- };
950
- }
951
- function unwrapElement(r) {
952
- return isElement(r) ? r : r.contextElement;
953
- }
954
- function getScale(r) {
955
- let s = unwrapElement(r);
956
- if (!isHTMLElement(s)) return createCoords(1);
957
- let c = s.getBoundingClientRect(), { width: l, height: u, $: d } = getCssDimensions(s), f = (d ? round(c.width) : c.width) / l, p = (d ? round(c.height) : c.height) / u;
958
- return (!f || !Number.isFinite(f)) && (f = 1), (!p || !Number.isFinite(p)) && (p = 1), {
959
- x: f,
960
- y: p
961
- };
962
- }
963
- var noOffsets = /* @__PURE__ */ createCoords(0);
964
- function getVisualOffsets(r) {
965
- let s = getWindow(r);
966
- return !isWebKit() || !s.visualViewport ? noOffsets : {
967
- x: s.visualViewport.offsetLeft,
968
- y: s.visualViewport.offsetTop
969
- };
970
- }
971
- function shouldAddVisualOffsets(r, s, c) {
972
- return s === void 0 && (s = false), !c || s && c !== getWindow(r) ? false : s;
973
- }
974
- function getBoundingClientRect(r, s, c, l) {
975
- s === void 0 && (s = false), c === void 0 && (c = false);
976
- let u = r.getBoundingClientRect(), d = unwrapElement(r), f = createCoords(1);
977
- s && (l ? isElement(l) && (f = getScale(l)) : f = getScale(r));
978
- let p = shouldAddVisualOffsets(d, c, l) ? getVisualOffsets(d) : createCoords(0), m = (u.left + p.x) / f.x, h = (u.top + p.y) / f.y, g = u.width / f.x, _ = u.height / f.y;
979
- if (d) {
980
- let r2 = getWindow(d), s2 = l && isElement(l) ? getWindow(l) : l, c2 = r2, u2 = getFrameElement(c2);
981
- for (; u2 && l && s2 !== c2; ) {
982
- let r3 = getScale(u2), s3 = u2.getBoundingClientRect(), l2 = getComputedStyle$1(u2), d2 = s3.left + (u2.clientLeft + parseFloat(l2.paddingLeft)) * r3.x, f2 = s3.top + (u2.clientTop + parseFloat(l2.paddingTop)) * r3.y;
983
- m *= r3.x, h *= r3.y, g *= r3.x, _ *= r3.y, m += d2, h += f2, c2 = getWindow(u2), u2 = getFrameElement(c2);
984
- }
985
- }
986
- return rectToClientRect({
987
- width: g,
988
- height: _,
989
- x: m,
990
- y: h
991
- });
992
- }
993
- function getWindowScrollBarX(r, s) {
994
- let c = getNodeScroll(r).scrollLeft;
995
- return s ? s.left + c : getBoundingClientRect(getDocumentElement(r)).left + c;
996
- }
997
- function getHTMLOffset(r, s, c) {
998
- c === void 0 && (c = false);
999
- let l = r.getBoundingClientRect();
1000
- return {
1001
- x: l.left + s.scrollLeft - (c ? 0 : getWindowScrollBarX(r, l)),
1002
- y: l.top + s.scrollTop
1003
- };
1004
- }
1005
- function convertOffsetParentRelativeRectToViewportRelativeRect(r) {
1006
- let { elements: s, rect: c, offsetParent: l, strategy: u } = r, d = u === "fixed", f = getDocumentElement(l), p = s ? isTopLayer(s.floating) : false;
1007
- if (l === f || p && d) return c;
1008
- let m = {
1009
- scrollLeft: 0,
1010
- scrollTop: 0
1011
- }, h = createCoords(1), g = createCoords(0), _ = isHTMLElement(l);
1012
- if ((_ || !_ && !d) && ((getNodeName(l) !== "body" || isOverflowElement(f)) && (m = getNodeScroll(l)), isHTMLElement(l))) {
1013
- let r2 = getBoundingClientRect(l);
1014
- h = getScale(l), g.x = r2.x + l.clientLeft, g.y = r2.y + l.clientTop;
1015
- }
1016
- let v = f && !_ && !d ? getHTMLOffset(f, m, true) : createCoords(0);
1017
- return {
1018
- width: c.width * h.x,
1019
- height: c.height * h.y,
1020
- x: c.x * h.x - m.scrollLeft * h.x + g.x + v.x,
1021
- y: c.y * h.y - m.scrollTop * h.y + g.y + v.y
1022
- };
1023
- }
1024
- function getClientRects(r) {
1025
- return Array.from(r.getClientRects());
1026
- }
1027
- function getDocumentRect(r) {
1028
- let s = getDocumentElement(r), c = getNodeScroll(r), l = r.ownerDocument.body, u = max(s.scrollWidth, s.clientWidth, l.scrollWidth, l.clientWidth), d = max(s.scrollHeight, s.clientHeight, l.scrollHeight, l.clientHeight), f = -c.scrollLeft + getWindowScrollBarX(r), p = -c.scrollTop;
1029
- return getComputedStyle$1(l).direction === "rtl" && (f += max(s.clientWidth, l.clientWidth) - u), {
1030
- width: u,
1031
- height: d,
1032
- x: f,
1033
- y: p
1034
- };
1035
- }
1036
- function getViewportRect(r, s) {
1037
- let c = getWindow(r), l = getDocumentElement(r), u = c.visualViewport, d = l.clientWidth, f = l.clientHeight, p = 0, m = 0;
1038
- if (u) {
1039
- d = u.width, f = u.height;
1040
- let r2 = isWebKit();
1041
- (!r2 || r2 && s === "fixed") && (p = u.offsetLeft, m = u.offsetTop);
1042
- }
1043
- return {
1044
- width: d,
1045
- height: f,
1046
- x: p,
1047
- y: m
1048
- };
1049
- }
1050
- var absoluteOrFixed = /* @__PURE__ */ new Set(["absolute", "fixed"]);
1051
- function getInnerBoundingClientRect(r, s) {
1052
- let c = getBoundingClientRect(r, true, s === "fixed"), l = c.top + r.clientTop, u = c.left + r.clientLeft, d = isHTMLElement(r) ? getScale(r) : createCoords(1);
1053
- return {
1054
- width: r.clientWidth * d.x,
1055
- height: r.clientHeight * d.y,
1056
- x: u * d.x,
1057
- y: l * d.y
1058
- };
1059
- }
1060
- function getClientRectFromClippingAncestor(r, s, c) {
1061
- let l;
1062
- if (s === "viewport") l = getViewportRect(r, c);
1063
- else if (s === "document") l = getDocumentRect(getDocumentElement(r));
1064
- else if (isElement(s)) l = getInnerBoundingClientRect(s, c);
1065
- else {
1066
- let c2 = getVisualOffsets(r);
1067
- l = {
1068
- x: s.x - c2.x,
1069
- y: s.y - c2.y,
1070
- width: s.width,
1071
- height: s.height
1072
- };
1073
- }
1074
- return rectToClientRect(l);
1075
- }
1076
- function hasFixedPositionAncestor(r, s) {
1077
- let c = getParentNode(r);
1078
- return c === s || !isElement(c) || isLastTraversableNode(c) ? false : getComputedStyle$1(c).position === "fixed" || hasFixedPositionAncestor(c, s);
1079
- }
1080
- function getClippingElementAncestors(r, s) {
1081
- let c = s.get(r);
1082
- if (c) return c;
1083
- let l = getOverflowAncestors(r, [], false).filter((r2) => isElement(r2) && getNodeName(r2) !== "body"), u = null, d = getComputedStyle$1(r).position === "fixed", f = d ? getParentNode(r) : r;
1084
- for (; isElement(f) && !isLastTraversableNode(f); ) {
1085
- let s2 = getComputedStyle$1(f), c2 = isContainingBlock(f);
1086
- !c2 && s2.position === "fixed" && (u = null), (d ? !c2 && !u : !c2 && s2.position === "static" && u && absoluteOrFixed.has(u.position) || isOverflowElement(f) && !c2 && hasFixedPositionAncestor(r, f)) ? l = l.filter((r2) => r2 !== f) : u = s2, f = getParentNode(f);
1087
- }
1088
- return s.set(r, l), l;
1089
- }
1090
- function getClippingRect(r) {
1091
- let { element: s, boundary: c, rootBoundary: l, strategy: u } = r, d = [...c === "clippingAncestors" ? isTopLayer(s) ? [] : getClippingElementAncestors(s, this._c) : [].concat(c), l], f = d[0], p = d.reduce((r2, c2) => {
1092
- let l2 = getClientRectFromClippingAncestor(s, c2, u);
1093
- return r2.top = max(l2.top, r2.top), r2.right = min(l2.right, r2.right), r2.bottom = min(l2.bottom, r2.bottom), r2.left = max(l2.left, r2.left), r2;
1094
- }, getClientRectFromClippingAncestor(s, f, u));
1095
- return {
1096
- width: p.right - p.left,
1097
- height: p.bottom - p.top,
1098
- x: p.left,
1099
- y: p.top
1100
- };
1101
- }
1102
- function getDimensions(r) {
1103
- let { width: s, height: c } = getCssDimensions(r);
1104
- return {
1105
- width: s,
1106
- height: c
1107
- };
1108
- }
1109
- function getRectRelativeToOffsetParent(r, s, c) {
1110
- let l = isHTMLElement(s), u = getDocumentElement(s), d = c === "fixed", f = getBoundingClientRect(r, true, d, s), p = {
1111
- scrollLeft: 0,
1112
- scrollTop: 0
1113
- }, m = createCoords(0);
1114
- function h() {
1115
- m.x = getWindowScrollBarX(u);
1116
- }
1117
- if (l || !l && !d) if ((getNodeName(s) !== "body" || isOverflowElement(u)) && (p = getNodeScroll(s)), l) {
1118
- let r2 = getBoundingClientRect(s, true, d, s);
1119
- m.x = r2.x + s.clientLeft, m.y = r2.y + s.clientTop;
1120
- } else u && h();
1121
- d && !l && u && h();
1122
- let g = u && !l && !d ? getHTMLOffset(u, p) : createCoords(0);
1123
- return {
1124
- x: f.left + p.scrollLeft - m.x - g.x,
1125
- y: f.top + p.scrollTop - m.y - g.y,
1126
- width: f.width,
1127
- height: f.height
1128
- };
1129
- }
1130
- function isStaticPositioned(r) {
1131
- return getComputedStyle$1(r).position === "static";
1132
- }
1133
- function getTrueOffsetParent(r, s) {
1134
- if (!isHTMLElement(r) || getComputedStyle$1(r).position === "fixed") return null;
1135
- if (s) return s(r);
1136
- let c = r.offsetParent;
1137
- return getDocumentElement(r) === c && (c = c.ownerDocument.body), c;
1138
- }
1139
- function getOffsetParent(r, s) {
1140
- let c = getWindow(r);
1141
- if (isTopLayer(r)) return c;
1142
- if (!isHTMLElement(r)) {
1143
- let s2 = getParentNode(r);
1144
- for (; s2 && !isLastTraversableNode(s2); ) {
1145
- if (isElement(s2) && !isStaticPositioned(s2)) return s2;
1146
- s2 = getParentNode(s2);
1147
- }
1148
- return c;
1149
- }
1150
- let l = getTrueOffsetParent(r, s);
1151
- for (; l && isTableElement(l) && isStaticPositioned(l); ) l = getTrueOffsetParent(l, s);
1152
- return l && isLastTraversableNode(l) && isStaticPositioned(l) && !isContainingBlock(l) ? c : l || getContainingBlock(r) || c;
1153
- }
1154
- var getElementRects = async function(r) {
1155
- let s = this.getOffsetParent || getOffsetParent, c = this.getDimensions, l = await c(r.floating);
1156
- return {
1157
- reference: getRectRelativeToOffsetParent(r.reference, await s(r.floating), r.strategy),
1158
- floating: {
1159
- x: 0,
1160
- y: 0,
1161
- width: l.width,
1162
- height: l.height
1163
- }
1164
- };
1165
- };
1166
- function isRTL(r) {
1167
- return getComputedStyle$1(r).direction === "rtl";
1168
- }
1169
- var platform = {
1170
- convertOffsetParentRelativeRectToViewportRelativeRect,
1171
- getDocumentElement,
1172
- getClippingRect,
1173
- getOffsetParent,
1174
- getElementRects,
1175
- getClientRects,
1176
- getDimensions,
1177
- getScale,
1178
- isElement,
1179
- isRTL
1180
- };
1181
- function rectsAreEqual(r, s) {
1182
- return r.x === s.x && r.y === s.y && r.width === s.width && r.height === s.height;
1183
- }
1184
- function observeMove(r, s) {
1185
- let c = null, l, u = getDocumentElement(r);
1186
- function d() {
1187
- var r2;
1188
- clearTimeout(l), (r2 = c) == null || r2.disconnect(), c = null;
1189
- }
1190
- function f(p, m) {
1191
- p === void 0 && (p = false), m === void 0 && (m = 1), d();
1192
- let h = r.getBoundingClientRect(), { left: g, top: _, width: v, height: y } = h;
1193
- if (p || s(), !v || !y) return;
1194
- let b = floor(_), x = floor(u.clientWidth - (g + v)), S = floor(u.clientHeight - (_ + y)), C = floor(g), w = {
1195
- rootMargin: -b + "px " + -x + "px " + -S + "px " + -C + "px",
1196
- threshold: max(0, min(1, m)) || 1
1197
- }, T = true;
1198
- function E(s2) {
1199
- let c2 = s2[0].intersectionRatio;
1200
- if (c2 !== m) {
1201
- if (!T) return f();
1202
- c2 ? f(false, c2) : l = setTimeout(() => {
1203
- f(false, 1e-7);
1204
- }, 1e3);
1205
- }
1206
- c2 === 1 && !rectsAreEqual(h, r.getBoundingClientRect()) && f(), T = false;
1207
- }
1208
- try {
1209
- c = new IntersectionObserver(E, {
1210
- ...w,
1211
- root: u.ownerDocument
1212
- });
1213
- } catch {
1214
- c = new IntersectionObserver(E, w);
1215
- }
1216
- c.observe(r);
1217
- }
1218
- return f(true), d;
1219
- }
1220
- function autoUpdate(r, s, c, l) {
1221
- l === void 0 && (l = {});
1222
- let { ancestorScroll: u = true, ancestorResize: d = true, elementResize: f = typeof ResizeObserver == "function", layoutShift: p = typeof IntersectionObserver == "function", animationFrame: m = false } = l, h = unwrapElement(r), g = u || d ? [...h ? getOverflowAncestors(h) : [], ...getOverflowAncestors(s)] : [];
1223
- g.forEach((r2) => {
1224
- u && r2.addEventListener("scroll", c, { passive: true }), d && r2.addEventListener("resize", c);
1225
- });
1226
- let _ = h && p ? observeMove(h, c) : null, v = -1, y = null;
1227
- f && (y = new ResizeObserver((r2) => {
1228
- let [l2] = r2;
1229
- l2 && l2.target === h && y && (y.unobserve(s), cancelAnimationFrame(v), v = requestAnimationFrame(() => {
1230
- var r3;
1231
- (r3 = y) == null || r3.observe(s);
1232
- })), c();
1233
- }), h && !m && y.observe(h), y.observe(s));
1234
- let b, x = m ? getBoundingClientRect(r) : null;
1235
- m && S();
1236
- function S() {
1237
- let s2 = getBoundingClientRect(r);
1238
- x && !rectsAreEqual(x, s2) && c(), x = s2, b = requestAnimationFrame(S);
1239
- }
1240
- return c(), () => {
1241
- var r2;
1242
- g.forEach((r3) => {
1243
- u && r3.removeEventListener("scroll", c), d && r3.removeEventListener("resize", c);
1244
- }), _ == null ? void 0 : _(), (r2 = y) == null || r2.disconnect(), y = null, m && cancelAnimationFrame(b);
1245
- };
1246
- }
1247
- var offset$1 = offset$2, shift$1 = shift$2, flip$1 = flip$2, size$1 = size$2, hide$1 = hide$2, arrow$1 = arrow$2, limitShift$1 = limitShift$2, computePosition = (r, s, c) => {
1248
- let l = /* @__PURE__ */ new Map(), u = {
1249
- platform,
1250
- ...c
1251
- }, d = {
1252
- ...u.platform,
1253
- _c: l
1254
- };
1255
- return computePosition$1(r, s, {
1256
- ...u,
1257
- platform: d
1258
- });
1259
- }, import_react_dom$1 = /* @__PURE__ */ __toESM(require_react_dom(), 1), index = typeof document < "u" ? import_react.useLayoutEffect : function() {
1260
- };
1261
- function deepEqual(r, s) {
1262
- if (r === s) return true;
1263
- if (typeof r != typeof s) return false;
1264
- if (typeof r == "function" && r.toString() === s.toString()) return true;
1265
- let c, l, u;
1266
- if (r && s && typeof r == "object") {
1267
- if (Array.isArray(r)) {
1268
- if (c = r.length, c !== s.length) return false;
1269
- for (l = c; l-- !== 0; ) if (!deepEqual(r[l], s[l])) return false;
1270
- return true;
1271
- }
1272
- if (u = Object.keys(r), c = u.length, c !== Object.keys(s).length) return false;
1273
- for (l = c; l-- !== 0; ) if (!{}.hasOwnProperty.call(s, u[l])) return false;
1274
- for (l = c; l-- !== 0; ) {
1275
- let c2 = u[l];
1276
- if (!(c2 === "_owner" && r.$$typeof) && !deepEqual(r[c2], s[c2])) return false;
1277
- }
1278
- return true;
1279
- }
1280
- return r !== r && s !== s;
1281
- }
1282
- function getDPR(r) {
1283
- return typeof window > "u" ? 1 : (r.ownerDocument.defaultView || window).devicePixelRatio || 1;
1284
- }
1285
- function roundByDPR(r, s) {
1286
- let c = getDPR(r);
1287
- return Math.round(s * c) / c;
1288
- }
1289
- function useLatestRef(r) {
1290
- let s = import_react.useRef(r);
1291
- return index(() => {
1292
- s.current = r;
1293
- }), s;
1294
- }
1295
- function useFloating(r) {
1296
- r === void 0 && (r = {});
1297
- let { placement: s = "bottom", strategy: c = "absolute", middleware: l = [], platform: u, elements: { reference: d, floating: f } = {}, transform: p = true, whileElementsMounted: m, open: h } = r, [g, _] = import_react.useState({
1298
- x: 0,
1299
- y: 0,
1300
- strategy: c,
1301
- placement: s,
1302
- middlewareData: {},
1303
- isPositioned: false
1304
- }), [v, y] = import_react.useState(l);
1305
- deepEqual(v, l) || y(l);
1306
- let [x, S] = import_react.useState(null), [C, w] = import_react.useState(null), T = import_react.useCallback((r2) => {
1307
- r2 !== k.current && (k.current = r2, S(r2));
1308
- }, []), E = import_react.useCallback((r2) => {
1309
- r2 !== A.current && (A.current = r2, w(r2));
1310
- }, []), D = d || x, O = f || C, k = import_react.useRef(null), A = import_react.useRef(null), j = import_react.useRef(g), M = m != null, N = useLatestRef(m), P = useLatestRef(u), F = useLatestRef(h), I = import_react.useCallback(() => {
1311
- if (!k.current || !A.current) return;
1312
- let r2 = {
1313
- placement: s,
1314
- strategy: c,
1315
- middleware: v
1316
- };
1317
- P.current && (r2.platform = P.current), computePosition(k.current, A.current, r2).then((r3) => {
1318
- let s2 = {
1319
- ...r3,
1320
- isPositioned: F.current !== false
1321
- };
1322
- L.current && !deepEqual(j.current, s2) && (j.current = s2, import_react_dom$1.flushSync(() => {
1323
- _(s2);
1324
- }));
1325
- });
1326
- }, [
1327
- v,
1328
- s,
1329
- c,
1330
- P,
1331
- F
1332
- ]);
1333
- index(() => {
1334
- h === false && j.current.isPositioned && (j.current.isPositioned = false, _((r2) => ({
1335
- ...r2,
1336
- isPositioned: false
1337
- })));
1338
- }, [h]);
1339
- let L = import_react.useRef(false);
1340
- index(() => (L.current = true, () => {
1341
- L.current = false;
1342
- }), []), index(() => {
1343
- if (D && (k.current = D), O && (A.current = O), D && O) {
1344
- if (N.current) return N.current(D, O, I);
1345
- I();
1346
- }
1347
- }, [
1348
- D,
1349
- O,
1350
- I,
1351
- N,
1352
- M
1353
- ]);
1354
- let R = import_react.useMemo(() => ({
1355
- reference: k,
1356
- floating: A,
1357
- setReference: T,
1358
- setFloating: E
1359
- }), [T, E]), z = import_react.useMemo(() => ({
1360
- reference: D,
1361
- floating: O
1362
- }), [D, O]), B = import_react.useMemo(() => {
1363
- let r2 = {
1364
- position: c,
1365
- left: 0,
1366
- top: 0
1367
- };
1368
- if (!z.floating) return r2;
1369
- let s2 = roundByDPR(z.floating, g.x), l2 = roundByDPR(z.floating, g.y);
1370
- return p ? {
1371
- ...r2,
1372
- transform: "translate(" + s2 + "px, " + l2 + "px)",
1373
- ...getDPR(z.floating) >= 1.5 && { willChange: "transform" }
1374
- } : {
1375
- position: c,
1376
- left: s2,
1377
- top: l2
1378
- };
1379
- }, [
1380
- c,
1381
- p,
1382
- z.floating,
1383
- g.x,
1384
- g.y
1385
- ]);
1386
- return import_react.useMemo(() => ({
1387
- ...g,
1388
- update: I,
1389
- refs: R,
1390
- elements: z,
1391
- floatingStyles: B
1392
- }), [
1393
- g,
1394
- I,
1395
- R,
1396
- z,
1397
- B
1398
- ]);
1399
- }
1400
- var arrow$1$1 = (r) => {
1401
- function s(r2) {
1402
- return {}.hasOwnProperty.call(r2, "current");
1403
- }
1404
- return {
1405
- name: "arrow",
1406
- options: r,
1407
- fn(c) {
1408
- let { element: l, padding: u } = typeof r == "function" ? r(c) : r;
1409
- return l && s(l) ? l.current == null ? {} : arrow$1({
1410
- element: l.current,
1411
- padding: u
1412
- }).fn(c) : l ? arrow$1({
1413
- element: l,
1414
- padding: u
1415
- }).fn(c) : {};
1416
- }
1417
- };
1418
- }, offset = (r, s) => ({
1419
- ...offset$1(r),
1420
- options: [r, s]
1421
- }), shift = (r, s) => ({
1422
- ...shift$1(r),
1423
- options: [r, s]
1424
- }), limitShift = (r, s) => ({
1425
- ...limitShift$1(r),
1426
- options: [r, s]
1427
- }), flip = (r, s) => ({
1428
- ...flip$1(r),
1429
- options: [r, s]
1430
- }), size = (r, s) => ({
1431
- ...size$1(r),
1432
- options: [r, s]
1433
- }), hide = (r, s) => ({
1434
- ...hide$1(r),
1435
- options: [r, s]
1436
- }), arrow = (r, s) => ({
1437
- ...arrow$1$1(r),
1438
- options: [r, s]
1439
- }), NAME$1 = "Arrow", Arrow$1 = import_react.forwardRef((r, s) => {
1440
- let { children: c, width: l = 10, height: u = 5, ...d } = r;
1441
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Primitive.svg, {
1442
- ...d,
1443
- ref: s,
1444
- width: l,
1445
- height: u,
1446
- viewBox: "0 0 30 10",
1447
- preserveAspectRatio: "none",
1448
- children: r.asChild ? c : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("polygon", { points: "0,0 30,0 15,10" })
1449
- });
1450
- });
1451
- Arrow$1.displayName = NAME$1;
1452
- var Root$1 = Arrow$1;
1453
- function useSize(r) {
1454
- let [s, c] = import_react.useState(void 0);
1455
- return useLayoutEffect2(() => {
1456
- if (r) {
1457
- c({
1458
- width: r.offsetWidth,
1459
- height: r.offsetHeight
1460
- });
1461
- let s2 = new ResizeObserver((s3) => {
1462
- if (!Array.isArray(s3) || !s3.length) return;
1463
- let l = s3[0], u, d;
1464
- if ("borderBoxSize" in l) {
1465
- let r2 = l.borderBoxSize, s4 = Array.isArray(r2) ? r2[0] : r2;
1466
- u = s4.inlineSize, d = s4.blockSize;
1467
- } else u = r.offsetWidth, d = r.offsetHeight;
1468
- c({
1469
- width: u,
1470
- height: d
1471
- });
1472
- });
1473
- return s2.observe(r, { box: "border-box" }), () => s2.unobserve(r);
1474
- } else c(void 0);
1475
- }, [r]), s;
1476
- }
1477
- var POPPER_NAME = "Popper", [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME), [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME), Popper = (r) => {
1478
- let { __scopePopper: s, children: c } = r, [l, u] = import_react.useState(null);
1479
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperProvider, {
1480
- scope: s,
1481
- anchor: l,
1482
- onAnchorChange: u,
1483
- children: c
1484
- });
1485
- };
1486
- Popper.displayName = POPPER_NAME;
1487
- var ANCHOR_NAME = "PopperAnchor", PopperAnchor = import_react.forwardRef((r, s) => {
1488
- let { __scopePopper: c, virtualRef: u, ...d } = r, f = usePopperContext(ANCHOR_NAME, c), p = import_react.useRef(null), m = useComposedRefs(s, p), h = import_react.useRef(null);
1489
- return import_react.useEffect(() => {
1490
- let r2 = h.current;
1491
- h.current = (u == null ? void 0 : u.current) || p.current, r2 !== h.current && f.onAnchorChange(h.current);
1492
- }), u ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Primitive.div, {
1493
- ...d,
1494
- ref: m
1495
- });
1496
- });
1497
- PopperAnchor.displayName = ANCHOR_NAME;
1498
- var CONTENT_NAME = "PopperContent", [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME), PopperContent = import_react.forwardRef((r, s) => {
1499
- var _a, _b, _c, _d, _e, _f;
1500
- let { __scopePopper: c, side: u = "bottom", sideOffset: d = 0, align: f = "center", alignOffset: p = 0, arrowPadding: m = 0, avoidCollisions: h = true, collisionBoundary: g = [], collisionPadding: _ = 0, sticky: v = "partial", hideWhenDetached: y = false, updatePositionStrategy: x = "optimized", onPlaced: S, ...C } = r, T = usePopperContext(CONTENT_NAME, c), [E, D] = import_react.useState(null), O = useComposedRefs(s, (r2) => D(r2)), [k, A] = import_react.useState(null), j = useSize(k), M = (j == null ? void 0 : j.width) ?? 0, N = (j == null ? void 0 : j.height) ?? 0, P = u + (f === "center" ? "" : "-" + f), F = typeof _ == "number" ? _ : {
1501
- top: 0,
1502
- right: 0,
1503
- bottom: 0,
1504
- left: 0,
1505
- ..._
1506
- }, L = Array.isArray(g) ? g : [g], z = L.length > 0, B = {
1507
- padding: F,
1508
- boundary: L.filter(isNotNull),
1509
- altBoundary: z
1510
- }, { refs: V, floatingStyles: H, placement: U, isPositioned: W, middlewareData: G } = useFloating({
1511
- strategy: "fixed",
1512
- placement: P,
1513
- whileElementsMounted: (...r2) => autoUpdate(...r2, { animationFrame: x === "always" }),
1514
- elements: { reference: T.anchor },
1515
- middleware: [
1516
- offset({
1517
- mainAxis: d + N,
1518
- alignmentAxis: p
1519
- }),
1520
- h && shift({
1521
- mainAxis: true,
1522
- crossAxis: false,
1523
- limiter: v === "partial" ? limitShift() : void 0,
1524
- ...B
1525
- }),
1526
- h && flip({ ...B }),
1527
- size({
1528
- ...B,
1529
- apply: ({ elements: r2, rects: s2, availableWidth: c2, availableHeight: l }) => {
1530
- let { width: u2, height: d2 } = s2.reference, f2 = r2.floating.style;
1531
- f2.setProperty("--radix-popper-available-width", `${c2}px`), f2.setProperty("--radix-popper-available-height", `${l}px`), f2.setProperty("--radix-popper-anchor-width", `${u2}px`), f2.setProperty("--radix-popper-anchor-height", `${d2}px`);
1532
- }
1533
- }),
1534
- k && arrow({
1535
- element: k,
1536
- padding: m
1537
- }),
1538
- transformOrigin({
1539
- arrowWidth: M,
1540
- arrowHeight: N
1541
- }),
1542
- y && hide({
1543
- strategy: "referenceHidden",
1544
- ...B
1545
- })
1546
- ]
1547
- }), [K, q] = getSideAndAlignFromPlacement(U), J = useCallbackRef$1(S);
1548
- useLayoutEffect2(() => {
1549
- W && (J == null ? void 0 : J());
1550
- }, [W, J]);
1551
- let Y = (_a = G.arrow) == null ? void 0 : _a.x, X = (_b = G.arrow) == null ? void 0 : _b.y, Z = ((_c = G.arrow) == null ? void 0 : _c.centerOffset) !== 0, [Q, $] = import_react.useState();
1552
- return useLayoutEffect2(() => {
1553
- E && $(window.getComputedStyle(E).zIndex);
1554
- }, [E]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
1555
- ref: V.setFloating,
1556
- "data-radix-popper-content-wrapper": "",
1557
- style: {
1558
- ...H,
1559
- transform: W ? H.transform : "translate(0, -200%)",
1560
- minWidth: "max-content",
1561
- zIndex: Q,
1562
- "--radix-popper-transform-origin": [(_d = G.transformOrigin) == null ? void 0 : _d.x, (_e = G.transformOrigin) == null ? void 0 : _e.y].join(" "),
1563
- ...((_f = G.hide) == null ? void 0 : _f.referenceHidden) && {
1564
- visibility: "hidden",
1565
- pointerEvents: "none"
1566
- }
1567
- },
1568
- dir: r.dir,
1569
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperContentProvider, {
1570
- scope: c,
1571
- placedSide: K,
1572
- onArrowChange: A,
1573
- arrowX: Y,
1574
- arrowY: X,
1575
- shouldHideArrow: Z,
1576
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Primitive.div, {
1577
- "data-side": K,
1578
- "data-align": q,
1579
- ...C,
1580
- ref: O,
1581
- style: {
1582
- ...C.style,
1583
- animation: W ? void 0 : "none"
1584
- }
1585
- })
1586
- })
1587
- });
1588
- });
1589
- PopperContent.displayName = CONTENT_NAME;
1590
- var ARROW_NAME = "PopperArrow", OPPOSITE_SIDE = {
1591
- top: "bottom",
1592
- right: "left",
1593
- bottom: "top",
1594
- left: "right"
1595
- }, PopperArrow = import_react.forwardRef(function(r, s) {
1596
- let { __scopePopper: c, ...l } = r, u = useContentContext(ARROW_NAME, c), d = OPPOSITE_SIDE[u.placedSide];
1597
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
1598
- ref: u.onArrowChange,
1599
- style: {
1600
- position: "absolute",
1601
- left: u.arrowX,
1602
- top: u.arrowY,
1603
- [d]: 0,
1604
- transformOrigin: {
1605
- top: "",
1606
- right: "0 0",
1607
- bottom: "center 0",
1608
- left: "100% 0"
1609
- }[u.placedSide],
1610
- transform: {
1611
- top: "translateY(100%)",
1612
- right: "translateY(50%) rotate(90deg) translateX(-50%)",
1613
- bottom: "rotate(180deg)",
1614
- left: "translateY(50%) rotate(-90deg) translateX(50%)"
1615
- }[u.placedSide],
1616
- visibility: u.shouldHideArrow ? "hidden" : void 0
1617
- },
1618
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Root$1, {
1619
- ...l,
1620
- ref: s,
1621
- style: {
1622
- ...l.style,
1623
- display: "block"
1624
- }
1625
- })
1626
- });
1627
- });
1628
- PopperArrow.displayName = ARROW_NAME;
1629
- function isNotNull(r) {
1630
- return r !== null;
1631
- }
1632
- var transformOrigin = (r) => ({
1633
- name: "transformOrigin",
1634
- options: r,
1635
- fn(s) {
1636
- var _a, _b, _c;
1637
- let { placement: c, rects: l, middlewareData: u } = s, d = ((_a = u.arrow) == null ? void 0 : _a.centerOffset) !== 0, f = d ? 0 : r.arrowWidth, p = d ? 0 : r.arrowHeight, [m, h] = getSideAndAlignFromPlacement(c), g = {
1638
- start: "0%",
1639
- center: "50%",
1640
- end: "100%"
1641
- }[h], _ = (((_b = u.arrow) == null ? void 0 : _b.x) ?? 0) + f / 2, v = (((_c = u.arrow) == null ? void 0 : _c.y) ?? 0) + p / 2, y = "", b = "";
1642
- return m === "bottom" ? (y = d ? g : `${_}px`, b = `${-p}px`) : m === "top" ? (y = d ? g : `${_}px`, b = `${l.floating.height + p}px`) : m === "right" ? (y = `${-p}px`, b = d ? g : `${v}px`) : m === "left" && (y = `${l.floating.width + p}px`, b = d ? g : `${v}px`), { data: {
1643
- x: y,
1644
- y: b
1645
- } };
1646
- }
1647
- });
1648
- function getSideAndAlignFromPlacement(r) {
1649
- let [s, c = "center"] = r.split("-");
1650
- return [s, c];
1651
- }
1652
- var Root2 = Popper, Anchor = PopperAnchor, Content = PopperContent, Arrow = PopperArrow, import_react_dom = /* @__PURE__ */ __toESM(require_react_dom(), 1), PORTAL_NAME = "Portal", Portal = import_react.forwardRef((r, s) => {
1653
- var _a;
1654
- let { container: c, ...l } = r, [u, d] = import_react.useState(false);
1655
- useLayoutEffect2(() => d(true), []);
1656
- let f = c || u && ((_a = globalThis == null ? void 0 : globalThis.document) == null ? void 0 : _a.body);
1657
- return f ? import_react_dom.createPortal(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Primitive.div, {
1658
- ...l,
1659
- ref: s
1660
- }), f) : null;
1661
- });
1662
- Portal.displayName = PORTAL_NAME;
1663
- function useStateMachine(r, s) {
1664
- return import_react.useReducer((r2, c) => s[r2][c] ?? r2, r);
1665
- }
1666
- var Presence = (r) => {
1667
- let { present: s, children: c } = r, u = usePresence(s), d = typeof c == "function" ? c({ present: u.isPresent }) : import_react.Children.only(c), f = useComposedRefs(u.ref, getElementRef(d));
1668
- return typeof c == "function" || u.isPresent ? import_react.cloneElement(d, { ref: f }) : null;
1669
- };
1670
- Presence.displayName = "Presence";
1671
- function usePresence(r) {
1672
- let [s, c] = import_react.useState(), l = import_react.useRef(null), u = import_react.useRef(r), d = import_react.useRef("none"), [f, p] = useStateMachine(r ? "mounted" : "unmounted", {
1673
- mounted: {
1674
- UNMOUNT: "unmounted",
1675
- ANIMATION_OUT: "unmountSuspended"
1676
- },
1677
- unmountSuspended: {
1678
- MOUNT: "mounted",
1679
- ANIMATION_END: "unmounted"
1680
- },
1681
- unmounted: { MOUNT: "mounted" }
1682
- });
1683
- return import_react.useEffect(() => {
1684
- let r2 = getAnimationName(l.current);
1685
- d.current = f === "mounted" ? r2 : "none";
1686
- }, [f]), useLayoutEffect2(() => {
1687
- let s2 = l.current, c2 = u.current;
1688
- if (c2 !== r) {
1689
- let l2 = d.current, f2 = getAnimationName(s2);
1690
- r ? p("MOUNT") : f2 === "none" || (s2 == null ? void 0 : s2.display) === "none" ? p("UNMOUNT") : p(c2 && l2 !== f2 ? "ANIMATION_OUT" : "UNMOUNT"), u.current = r;
1691
- }
1692
- }, [r, p]), useLayoutEffect2(() => {
1693
- if (s) {
1694
- let r2, c2 = s.ownerDocument.defaultView ?? window, f2 = (d2) => {
1695
- let f3 = getAnimationName(l.current).includes(CSS.escape(d2.animationName));
1696
- if (d2.target === s && f3 && (p("ANIMATION_END"), !u.current)) {
1697
- let l2 = s.style.animationFillMode;
1698
- s.style.animationFillMode = "forwards", r2 = c2.setTimeout(() => {
1699
- s.style.animationFillMode === "forwards" && (s.style.animationFillMode = l2);
1700
- });
1701
- }
1702
- }, m = (r3) => {
1703
- r3.target === s && (d.current = getAnimationName(l.current));
1704
- };
1705
- return s.addEventListener("animationstart", m), s.addEventListener("animationcancel", f2), s.addEventListener("animationend", f2), () => {
1706
- c2.clearTimeout(r2), s.removeEventListener("animationstart", m), s.removeEventListener("animationcancel", f2), s.removeEventListener("animationend", f2);
1707
- };
1708
- } else p("ANIMATION_END");
1709
- }, [s, p]), {
1710
- isPresent: ["mounted", "unmountSuspended"].includes(f),
1711
- ref: import_react.useCallback((r2) => {
1712
- l.current = r2 ? getComputedStyle(r2) : null, c(r2);
1713
- }, [])
1714
- };
1715
- }
1716
- function getAnimationName(r) {
1717
- return (r == null ? void 0 : r.animationName) || "none";
1718
- }
1719
- function getElementRef(r) {
1720
- var _a, _b;
1721
- let s = (_a = Object.getOwnPropertyDescriptor(r.props, "ref")) == null ? void 0 : _a.get, c = s && "isReactWarning" in s && s.isReactWarning;
1722
- return c ? r.ref : (s = (_b = Object.getOwnPropertyDescriptor(r, "ref")) == null ? void 0 : _b.get, c = s && "isReactWarning" in s && s.isReactWarning, c ? r.props.ref : r.props.ref || r.ref);
1723
- }
1724
- var useInsertionEffect = import_react.useInsertionEffect || useLayoutEffect2;
1725
- function useControllableState({ prop: r, defaultProp: s, onChange: c = () => {
1726
- }, caller: l }) {
1727
- let [u, d, f] = useUncontrolledState({
1728
- defaultProp: s,
1729
- onChange: c
1730
- }), p = r !== void 0, m = p ? r : u;
1731
- {
1732
- let s2 = import_react.useRef(r !== void 0);
1733
- import_react.useEffect(() => {
1734
- let r2 = s2.current;
1735
- if (r2 !== p) {
1736
- let s3 = r2 ? "controlled" : "uncontrolled", c2 = p ? "controlled" : "uncontrolled";
1737
- console.warn(`${l} is changing from ${s3} to ${c2}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`);
1738
- }
1739
- s2.current = p;
1740
- }, [p, l]);
1741
- }
1742
- return [m, import_react.useCallback((s2) => {
1743
- var _a;
1744
- if (p) {
1745
- let c2 = isFunction(s2) ? s2(r) : s2;
1746
- c2 !== r && ((_a = f.current) == null ? void 0 : _a.call(f, c2));
1747
- } else d(s2);
1748
- }, [
1749
- p,
1750
- r,
1751
- d,
1752
- f
1753
- ])];
1754
- }
1755
- function useUncontrolledState({ defaultProp: r, onChange: s }) {
1756
- let [c, l] = import_react.useState(r), u = import_react.useRef(c), d = import_react.useRef(s);
1757
- return useInsertionEffect(() => {
1758
- d.current = s;
1759
- }, [s]), import_react.useEffect(() => {
1760
- var _a;
1761
- u.current !== c && ((_a = d.current) == null ? void 0 : _a.call(d, c), u.current = c);
1762
- }, [c, u]), [
1763
- c,
1764
- l,
1765
- d
1766
- ];
1767
- }
1768
- function isFunction(r) {
1769
- return typeof r == "function";
1770
- }
1771
- var VISUALLY_HIDDEN_STYLES = Object.freeze({
1772
- position: "absolute",
1773
- border: 0,
1774
- width: 1,
1775
- height: 1,
1776
- padding: 0,
1777
- margin: -1,
1778
- overflow: "hidden",
1779
- clip: "rect(0, 0, 0, 0)",
1780
- whiteSpace: "nowrap",
1781
- wordWrap: "normal"
1782
- }), NAME = "VisuallyHidden", VisuallyHidden = import_react.forwardRef((r, s) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Primitive.span, {
1783
- ...r,
1784
- ref: s,
1785
- style: {
1786
- ...VISUALLY_HIDDEN_STYLES,
1787
- ...r.style
1788
- }
1789
- }));
1790
- VisuallyHidden.displayName = NAME;
1791
- var Root = VisuallyHidden, import_compiler_runtime$1 = require_compiler_runtime(), style = { display: "contents" };
1792
- const StyleNamespace = import_react.forwardRef((r, s) => {
1793
- let c = (0, import_compiler_runtime$1.c)(3), { children: l } = r, u;
1794
- return c[0] !== l || c[1] !== s ? (u = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
1795
- ref: s,
1796
- className: "marimo",
1797
- style,
1798
- children: l
1799
- }), c[0] = l, c[1] = s, c[2] = u) : u = c[2], u;
1800
- });
1801
- StyleNamespace.displayName = "StyleNamespace";
1802
- function isInVscodeExtension() {
1803
- return document.querySelector("[data-vscode-theme-kind]") !== null;
1804
- }
1805
- var import_compiler_runtime = require_compiler_runtime(), VSCODE_OUTPUT_CONTAINER_SELECTOR = "[data-vscode-output-container]";
1806
- const MAX_HEIGHT_OFFSET = isInVscodeExtension() ? 0 : 30;
1807
- function useFullScreenElement() {
1808
- let r = (0, import_compiler_runtime.c)(1), [s, c] = (0, import_react.useState)(document.fullscreenElement), l;
1809
- return r[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (l = () => {
1810
- c(document.fullscreenElement);
1811
- }, r[0] = l) : l = r[0], useEventListener(document, "fullscreenchange", l), s;
1812
- }
1813
- function withFullScreenAsRoot(r) {
1814
- let s = (s2) => {
1815
- let c2 = (0, import_compiler_runtime.c)(6), [l, u] = import_react.useState(null), d = import_react.useRef(null), f, p;
1816
- c2[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = () => {
1817
- d.current && u(closestThroughShadowDOMs(d.current, VSCODE_OUTPUT_CONTAINER_SELECTOR));
1818
- }, p = [], c2[0] = f, c2[1] = p) : (f = c2[0], p = c2[1]), import_react.useLayoutEffect(f, p);
1819
- let m;
1820
- c2[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (m = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
1821
- ref: d,
1822
- className: "contents invisible"
1823
- }), c2[2] = m) : m = c2[2];
1824
- let h;
1825
- return c2[3] !== l || c2[4] !== s2 ? (h = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [m, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(r, {
1826
- ...s2,
1827
- container: l
1828
- })] }), c2[3] = l, c2[4] = s2, c2[5] = h) : h = c2[5], h;
1829
- }, c = (c2) => {
1830
- let l = (0, import_compiler_runtime.c)(7), u = useFullScreenElement();
1831
- if (isInVscodeExtension()) {
1832
- let r2;
1833
- return l[0] === c2 ? r2 = l[1] : (r2 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(s, { ...c2 }), l[0] = c2, l[1] = r2), r2;
1834
- }
1835
- if (!u) {
1836
- let s2;
1837
- return l[2] === c2 ? s2 = l[3] : (s2 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(r, { ...c2 }), l[2] = c2, l[3] = s2), s2;
1838
- }
1839
- let d;
1840
- return l[4] !== u || l[5] !== c2 ? (d = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(r, {
1841
- ...c2,
1842
- container: u
1843
- }), l[4] = u, l[5] = c2, l[6] = d) : d = l[6], d;
1844
- };
1845
- return c.displayName = r.displayName, c;
1846
- }
1847
- function withSmartCollisionBoundary(r) {
1848
- let s = (s2) => {
1849
- let c2 = (0, import_compiler_runtime.c)(6), [l, u] = import_react.useState(null), d = import_react.useRef(null), f, p;
1850
- c2[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = () => {
1851
- d.current && u(closestThroughShadowDOMs(d.current, VSCODE_OUTPUT_CONTAINER_SELECTOR));
1852
- }, p = [], c2[0] = f, c2[1] = p) : (f = c2[0], p = c2[1]), import_react.useLayoutEffect(f, p);
1853
- let m;
1854
- c2[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (m = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
1855
- ref: d,
1856
- className: "contents invisible"
1857
- }), c2[2] = m) : m = c2[2];
1858
- let h;
1859
- return c2[3] !== l || c2[4] !== s2 ? (h = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [m, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(r, {
1860
- ...s2,
1861
- collisionBoundary: l
1862
- })] }), c2[3] = l, c2[4] = s2, c2[5] = h) : h = c2[5], h;
1863
- }, c = (c2) => {
1864
- let l = (0, import_compiler_runtime.c)(4);
1865
- if (isInVscodeExtension()) {
1866
- let r2;
1867
- return l[0] === c2 ? r2 = l[1] : (r2 = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(s, { ...c2 }), l[0] = c2, l[1] = r2), r2;
1868
- }
1869
- let u;
1870
- return l[2] === c2 ? u = l[3] : (u = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(r, { ...c2 }), l[2] = c2, l[3] = u), u;
1871
- };
1872
- return c.displayName = r.displayName, c;
1873
- }
1874
- function closestThroughShadowDOMs(r, s) {
1875
- let c = r;
1876
- for (; c; ) {
1877
- let r2 = c.closest(s);
1878
- if (r2) return r2;
1879
- let l = c.getRootNode();
1880
- if (c = l instanceof ShadowRoot ? l.host : c.parentElement, c === l) break;
1881
- }
1882
- return null;
1883
- }
1884
- var __assign = function() {
1885
- return __assign = Object.assign || function(r) {
1886
- for (var s, c = 1, l = arguments.length; c < l; c++) for (var u in s = arguments[c], s) Object.prototype.hasOwnProperty.call(s, u) && (r[u] = s[u]);
1887
- return r;
1888
- }, __assign.apply(this, arguments);
1889
- };
1890
- function __rest(r, s) {
1891
- var c = {};
1892
- for (var l in r) Object.prototype.hasOwnProperty.call(r, l) && s.indexOf(l) < 0 && (c[l] = r[l]);
1893
- if (r != null && typeof Object.getOwnPropertySymbols == "function") for (var u = 0, l = Object.getOwnPropertySymbols(r); u < l.length; u++) s.indexOf(l[u]) < 0 && Object.prototype.propertyIsEnumerable.call(r, l[u]) && (c[l[u]] = r[l[u]]);
1894
- return c;
1895
- }
1896
- function __awaiter(r, s, c, l) {
1897
- function u(r2) {
1898
- return r2 instanceof c ? r2 : new c(function(s2) {
1899
- s2(r2);
1900
- });
1901
- }
1902
- return new (c || (c = Promise))(function(c2, d) {
1903
- function f(r2) {
1904
- try {
1905
- m(l.next(r2));
1906
- } catch (r3) {
1907
- d(r3);
1908
- }
1909
- }
1910
- function p(r2) {
1911
- try {
1912
- m(l.throw(r2));
1913
- } catch (r3) {
1914
- d(r3);
1915
- }
1916
- }
1917
- function m(r2) {
1918
- r2.done ? c2(r2.value) : u(r2.value).then(f, p);
1919
- }
1920
- m((l = l.apply(r, s || [])).next());
1921
- });
1922
- }
1923
- function __spreadArray(r, s, c) {
1924
- if (c || arguments.length === 2) for (var l = 0, u = s.length, d; l < u; l++) (d || !(l in s)) && (d || (d = Array.prototype.slice.call(s, 0, l)), d[l] = s[l]);
1925
- return r.concat(d || Array.prototype.slice.call(s));
1926
- }
1927
- var count = 0;
1928
- function useFocusGuards() {
1929
- import_react.useEffect(() => {
1930
- let r = document.querySelectorAll("[data-radix-focus-guard]");
1931
- return document.body.insertAdjacentElement("afterbegin", r[0] ?? createFocusGuard()), document.body.insertAdjacentElement("beforeend", r[1] ?? createFocusGuard()), count++, () => {
1932
- count === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((r2) => r2.remove()), count--;
1933
- };
1934
- }, []);
1935
- }
1936
- function createFocusGuard() {
1937
- let r = document.createElement("span");
1938
- return r.setAttribute("data-radix-focus-guard", ""), r.tabIndex = 0, r.style.outline = "none", r.style.opacity = "0", r.style.position = "fixed", r.style.pointerEvents = "none", r;
1939
- }
1940
- var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount", AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount", EVENT_OPTIONS = {
1941
- bubbles: false,
1942
- cancelable: true
1943
- }, FOCUS_SCOPE_NAME = "FocusScope", FocusScope = import_react.forwardRef((r, s) => {
1944
- let { loop: c = false, trapped: u = false, onMountAutoFocus: d, onUnmountAutoFocus: f, ...p } = r, [m, h] = import_react.useState(null), g = useCallbackRef$1(d), _ = useCallbackRef$1(f), v = import_react.useRef(null), y = useComposedRefs(s, (r2) => h(r2)), x = import_react.useRef({
1945
- paused: false,
1946
- pause() {
1947
- this.paused = true;
1948
- },
1949
- resume() {
1950
- this.paused = false;
1951
- }
1952
- }).current;
1953
- import_react.useEffect(() => {
1954
- if (u) {
1955
- let r2 = function(r3) {
1956
- if (x.paused || !m) return;
1957
- let s3 = r3.target;
1958
- m.contains(s3) ? v.current = s3 : focus(v.current, { select: true });
1959
- }, s2 = function(r3) {
1960
- if (x.paused || !m) return;
1961
- let s3 = r3.relatedTarget;
1962
- s3 !== null && (m.contains(s3) || focus(v.current, { select: true }));
1963
- }, c2 = function(r3) {
1964
- if (document.activeElement === document.body) for (let s3 of r3) s3.removedNodes.length > 0 && focus(m);
1965
- };
1966
- document.addEventListener("focusin", r2), document.addEventListener("focusout", s2);
1967
- let l = new MutationObserver(c2);
1968
- return m && l.observe(m, {
1969
- childList: true,
1970
- subtree: true
1971
- }), () => {
1972
- document.removeEventListener("focusin", r2), document.removeEventListener("focusout", s2), l.disconnect();
1973
- };
1974
- }
1975
- }, [
1976
- u,
1977
- m,
1978
- x.paused
1979
- ]), import_react.useEffect(() => {
1980
- if (m) {
1981
- focusScopesStack.add(x);
1982
- let r2 = document.activeElement;
1983
- if (!m.contains(r2)) {
1984
- let s2 = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
1985
- m.addEventListener(AUTOFOCUS_ON_MOUNT, g), m.dispatchEvent(s2), s2.defaultPrevented || (focusFirst(removeLinks(getTabbableCandidates(m)), { select: true }), document.activeElement === r2 && focus(m));
1986
- }
1987
- return () => {
1988
- m.removeEventListener(AUTOFOCUS_ON_MOUNT, g), setTimeout(() => {
1989
- let s2 = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);
1990
- m.addEventListener(AUTOFOCUS_ON_UNMOUNT, _), m.dispatchEvent(s2), s2.defaultPrevented || focus(r2 ?? document.body, { select: true }), m.removeEventListener(AUTOFOCUS_ON_UNMOUNT, _), focusScopesStack.remove(x);
1991
- }, 0);
1992
- };
1993
- }
1994
- }, [
1995
- m,
1996
- g,
1997
- _,
1998
- x
1999
- ]);
2000
- let S = import_react.useCallback((r2) => {
2001
- if (!c && !u || x.paused) return;
2002
- let s2 = r2.key === "Tab" && !r2.altKey && !r2.ctrlKey && !r2.metaKey, l = document.activeElement;
2003
- if (s2 && l) {
2004
- let s3 = r2.currentTarget, [u2, d2] = getTabbableEdges(s3);
2005
- u2 && d2 ? !r2.shiftKey && l === d2 ? (r2.preventDefault(), c && focus(u2, { select: true })) : r2.shiftKey && l === u2 && (r2.preventDefault(), c && focus(d2, { select: true })) : l === s3 && r2.preventDefault();
2006
- }
2007
- }, [
2008
- c,
2009
- u,
2010
- x.paused
2011
- ]);
2012
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Primitive.div, {
2013
- tabIndex: -1,
2014
- ...p,
2015
- ref: y,
2016
- onKeyDown: S
2017
- });
2018
- });
2019
- FocusScope.displayName = FOCUS_SCOPE_NAME;
2020
- function focusFirst(r, { select: s = false } = {}) {
2021
- let c = document.activeElement;
2022
- for (let l of r) if (focus(l, { select: s }), document.activeElement !== c) return;
2023
- }
2024
- function getTabbableEdges(r) {
2025
- let s = getTabbableCandidates(r);
2026
- return [findVisible(s, r), findVisible(s.reverse(), r)];
2027
- }
2028
- function getTabbableCandidates(r) {
2029
- let s = [], c = document.createTreeWalker(r, NodeFilter.SHOW_ELEMENT, { acceptNode: (r2) => {
2030
- let s2 = r2.tagName === "INPUT" && r2.type === "hidden";
2031
- return r2.disabled || r2.hidden || s2 ? NodeFilter.FILTER_SKIP : r2.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
2032
- } });
2033
- for (; c.nextNode(); ) s.push(c.currentNode);
2034
- return s;
2035
- }
2036
- function findVisible(r, s) {
2037
- for (let c of r) if (!isHidden(c, { upTo: s })) return c;
2038
- }
2039
- function isHidden(r, { upTo: s }) {
2040
- if (getComputedStyle(r).visibility === "hidden") return true;
2041
- for (; r; ) {
2042
- if (s !== void 0 && r === s) return false;
2043
- if (getComputedStyle(r).display === "none") return true;
2044
- r = r.parentElement;
2045
- }
2046
- return false;
2047
- }
2048
- function isSelectableInput(r) {
2049
- return r instanceof HTMLInputElement && "select" in r;
2050
- }
2051
- function focus(r, { select: s = false } = {}) {
2052
- if (r && r.focus) {
2053
- let c = document.activeElement;
2054
- r.focus({ preventScroll: true }), r !== c && isSelectableInput(r) && s && r.select();
2055
- }
2056
- }
2057
- var focusScopesStack = createFocusScopesStack();
2058
- function createFocusScopesStack() {
2059
- let r = [];
2060
- return {
2061
- add(s) {
2062
- let c = r[0];
2063
- s !== c && (c == null ? void 0 : c.pause()), r = arrayRemove(r, s), r.unshift(s);
2064
- },
2065
- remove(s) {
2066
- var _a;
2067
- r = arrayRemove(r, s), (_a = r[0]) == null ? void 0 : _a.resume();
2068
- }
2069
- };
2070
- }
2071
- function arrayRemove(r, s) {
2072
- let c = [...r], l = c.indexOf(s);
2073
- return l !== -1 && c.splice(l, 1), c;
2074
- }
2075
- function removeLinks(r) {
2076
- return r.filter((r2) => r2.tagName !== "A");
2077
- }
2078
- var getDefaultParent = function(r) {
2079
- return typeof document > "u" ? null : (Array.isArray(r) ? r[0] : r).ownerDocument.body;
2080
- }, counterMap = /* @__PURE__ */ new WeakMap(), uncontrolledNodes = /* @__PURE__ */ new WeakMap(), markerMap = {}, lockCount = 0, unwrapHost = function(r) {
2081
- return r && (r.host || unwrapHost(r.parentNode));
2082
- }, correctTargets = function(r, s) {
2083
- return s.map(function(s2) {
2084
- if (r.contains(s2)) return s2;
2085
- var c = unwrapHost(s2);
2086
- return c && r.contains(c) ? c : (console.error("aria-hidden", s2, "in not contained inside", r, ". Doing nothing"), null);
2087
- }).filter(function(r2) {
2088
- return !!r2;
2089
- });
2090
- }, applyAttributeToOthers = function(r, s, c, l) {
2091
- var u = correctTargets(s, Array.isArray(r) ? r : [r]);
2092
- markerMap[c] || (markerMap[c] = /* @__PURE__ */ new WeakMap());
2093
- var d = markerMap[c], f = [], p = /* @__PURE__ */ new Set(), m = new Set(u), h = function(r2) {
2094
- !r2 || p.has(r2) || (p.add(r2), h(r2.parentNode));
2095
- };
2096
- u.forEach(h);
2097
- var g = function(r2) {
2098
- !r2 || m.has(r2) || Array.prototype.forEach.call(r2.children, function(r3) {
2099
- if (p.has(r3)) g(r3);
2100
- else try {
2101
- var s2 = r3.getAttribute(l), u2 = s2 !== null && s2 !== "false", m2 = (counterMap.get(r3) || 0) + 1, h2 = (d.get(r3) || 0) + 1;
2102
- counterMap.set(r3, m2), d.set(r3, h2), f.push(r3), m2 === 1 && u2 && uncontrolledNodes.set(r3, true), h2 === 1 && r3.setAttribute(c, "true"), u2 || r3.setAttribute(l, "true");
2103
- } catch (s3) {
2104
- console.error("aria-hidden: cannot operate on ", r3, s3);
2105
- }
2106
- });
2107
- };
2108
- return g(s), p.clear(), lockCount++, function() {
2109
- f.forEach(function(r2) {
2110
- var s2 = counterMap.get(r2) - 1, u2 = d.get(r2) - 1;
2111
- counterMap.set(r2, s2), d.set(r2, u2), s2 || (uncontrolledNodes.has(r2) || r2.removeAttribute(l), uncontrolledNodes.delete(r2)), u2 || r2.removeAttribute(c);
2112
- }), lockCount--, lockCount || (counterMap = /* @__PURE__ */ new WeakMap(), counterMap = /* @__PURE__ */ new WeakMap(), uncontrolledNodes = /* @__PURE__ */ new WeakMap(), markerMap = {});
2113
- };
2114
- }, hideOthers = function(r, s, c) {
2115
- c === void 0 && (c = "data-aria-hidden");
2116
- var l = Array.from(Array.isArray(r) ? r : [r]), u = s || getDefaultParent(r);
2117
- return u ? (l.push.apply(l, Array.from(u.querySelectorAll("[aria-live], script"))), applyAttributeToOthers(l, u, c, "aria-hidden")) : function() {
2118
- return null;
2119
- };
2120
- }, zeroRightClassName = "right-scroll-bar-position", fullWidthClassName = "width-before-scroll-bar", noScrollbarsClassName = "with-scroll-bars-hidden", removedBarSizeVariable = "--removed-body-scroll-bar-size";
2121
- function assignRef(r, s) {
2122
- return typeof r == "function" ? r(s) : r && (r.current = s), r;
2123
- }
2124
- function useCallbackRef(r, s) {
2125
- var c = (0, import_react.useState)(function() {
2126
- return {
2127
- value: r,
2128
- callback: s,
2129
- facade: {
2130
- get current() {
2131
- return c.value;
2132
- },
2133
- set current(r2) {
2134
- var s2 = c.value;
2135
- s2 !== r2 && (c.value = r2, c.callback(r2, s2));
2136
- }
2137
- }
2138
- };
2139
- })[0];
2140
- return c.callback = s, c.facade;
2141
- }
2142
- var useIsomorphicLayoutEffect = typeof window < "u" ? import_react.useLayoutEffect : import_react.useEffect, currentValues = /* @__PURE__ */ new WeakMap();
2143
- function useMergeRefs(r, s) {
2144
- var c = useCallbackRef(s || null, function(s2) {
2145
- return r.forEach(function(r2) {
2146
- return assignRef(r2, s2);
2147
- });
2148
- });
2149
- return useIsomorphicLayoutEffect(function() {
2150
- var s2 = currentValues.get(c);
2151
- if (s2) {
2152
- var l = new Set(s2), u = new Set(r), d = c.current;
2153
- l.forEach(function(r2) {
2154
- u.has(r2) || assignRef(r2, null);
2155
- }), u.forEach(function(r2) {
2156
- l.has(r2) || assignRef(r2, d);
2157
- });
2158
- }
2159
- currentValues.set(c, r);
2160
- }, [r]), c;
2161
- }
2162
- function ItoI(r) {
2163
- return r;
2164
- }
2165
- function innerCreateMedium(r, s) {
2166
- s === void 0 && (s = ItoI);
2167
- var c = [], l = false;
2168
- return {
2169
- read: function() {
2170
- if (l) throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");
2171
- return c.length ? c[c.length - 1] : r;
2172
- },
2173
- useMedium: function(r2) {
2174
- var u = s(r2, l);
2175
- return c.push(u), function() {
2176
- c = c.filter(function(r3) {
2177
- return r3 !== u;
2178
- });
2179
- };
2180
- },
2181
- assignSyncMedium: function(r2) {
2182
- for (l = true; c.length; ) {
2183
- var s2 = c;
2184
- c = [], s2.forEach(r2);
2185
- }
2186
- c = {
2187
- push: function(s3) {
2188
- return r2(s3);
2189
- },
2190
- filter: function() {
2191
- return c;
2192
- }
2193
- };
2194
- },
2195
- assignMedium: function(r2) {
2196
- l = true;
2197
- var s2 = [];
2198
- if (c.length) {
2199
- var u = c;
2200
- c = [], u.forEach(r2), s2 = c;
2201
- }
2202
- var d = function() {
2203
- var c2 = s2;
2204
- s2 = [], c2.forEach(r2);
2205
- }, f = function() {
2206
- return Promise.resolve().then(d);
2207
- };
2208
- f(), c = {
2209
- push: function(r3) {
2210
- s2.push(r3), f();
2211
- },
2212
- filter: function(r3) {
2213
- return s2 = s2.filter(r3), c;
2214
- }
2215
- };
2216
- }
2217
- };
2218
- }
2219
- function createSidecarMedium(r) {
2220
- r === void 0 && (r = {});
2221
- var s = innerCreateMedium(null);
2222
- return s.options = __assign({
2223
- async: true,
2224
- ssr: false
2225
- }, r), s;
2226
- }
2227
- var SideCar = function(r) {
2228
- var s = r.sideCar, c = __rest(r, ["sideCar"]);
2229
- if (!s) throw Error("Sidecar: please provide `sideCar` property to import the right car");
2230
- var l = s.read();
2231
- if (!l) throw Error("Sidecar medium not found");
2232
- return import_react.createElement(l, __assign({}, c));
2233
- };
2234
- SideCar.isSideCarExport = true;
2235
- function exportSidecar(r, s) {
2236
- return r.useMedium(s), SideCar;
2237
- }
2238
- var effectCar = createSidecarMedium(), nothing = function() {
2239
- }, RemoveScroll = import_react.forwardRef(function(r, s) {
2240
- var c = import_react.useRef(null), l = import_react.useState({
2241
- onScrollCapture: nothing,
2242
- onWheelCapture: nothing,
2243
- onTouchMoveCapture: nothing
2244
- }), u = l[0], d = l[1], f = r.forwardProps, p = r.children, m = r.className, h = r.removeScrollBar, g = r.enabled, _ = r.shards, v = r.sideCar, y = r.noRelative, x = r.noIsolation, S = r.inert, C = r.allowPinchZoom, w = r.as, T = w === void 0 ? "div" : w, E = r.gapMode, D = __rest(r, [
2245
- "forwardProps",
2246
- "children",
2247
- "className",
2248
- "removeScrollBar",
2249
- "enabled",
2250
- "shards",
2251
- "sideCar",
2252
- "noRelative",
2253
- "noIsolation",
2254
- "inert",
2255
- "allowPinchZoom",
2256
- "as",
2257
- "gapMode"
2258
- ]), O = v, k = useMergeRefs([c, s]), A = __assign(__assign({}, D), u);
2259
- return import_react.createElement(import_react.Fragment, null, g && import_react.createElement(O, {
2260
- sideCar: effectCar,
2261
- removeScrollBar: h,
2262
- shards: _,
2263
- noRelative: y,
2264
- noIsolation: x,
2265
- inert: S,
2266
- setCallbacks: d,
2267
- allowPinchZoom: !!C,
2268
- lockRef: c,
2269
- gapMode: E
2270
- }), f ? import_react.cloneElement(import_react.Children.only(p), __assign(__assign({}, A), { ref: k })) : import_react.createElement(T, __assign({}, A, {
2271
- className: m,
2272
- ref: k
2273
- }), p));
2274
- });
2275
- RemoveScroll.defaultProps = {
2276
- enabled: true,
2277
- removeScrollBar: true,
2278
- inert: false
2279
- }, RemoveScroll.classNames = {
2280
- fullWidth: fullWidthClassName,
2281
- zeroRight: zeroRightClassName
2282
- };
2283
- var currentNonce, getNonce = function() {
2284
- if (currentNonce) return currentNonce;
2285
- if (typeof __webpack_nonce__ < "u") return __webpack_nonce__;
2286
- };
2287
- function makeStyleTag() {
2288
- if (!document) return null;
2289
- var r = document.createElement("style");
2290
- r.type = "text/css";
2291
- var s = getNonce();
2292
- return s && r.setAttribute("nonce", s), r;
2293
- }
2294
- function injectStyles(r, s) {
2295
- r.styleSheet ? r.styleSheet.cssText = s : r.appendChild(document.createTextNode(s));
2296
- }
2297
- function insertStyleTag(r) {
2298
- (document.head || document.getElementsByTagName("head")[0]).appendChild(r);
2299
- }
2300
- var stylesheetSingleton = function() {
2301
- var r = 0, s = null;
2302
- return {
2303
- add: function(c) {
2304
- r == 0 && (s = makeStyleTag()) && (injectStyles(s, c), insertStyleTag(s)), r++;
2305
- },
2306
- remove: function() {
2307
- r--, !r && s && (s.parentNode && s.parentNode.removeChild(s), s = null);
2308
- }
2309
- };
2310
- }, styleHookSingleton = function() {
2311
- var r = stylesheetSingleton();
2312
- return function(s, c) {
2313
- import_react.useEffect(function() {
2314
- return r.add(s), function() {
2315
- r.remove();
2316
- };
2317
- }, [s && c]);
2318
- };
2319
- }, styleSingleton = function() {
2320
- var r = styleHookSingleton();
2321
- return function(s) {
2322
- var c = s.styles, l = s.dynamic;
2323
- return r(c, l), null;
2324
- };
2325
- }, zeroGap = {
2326
- left: 0,
2327
- top: 0,
2328
- right: 0,
2329
- gap: 0
2330
- }, parse = function(r) {
2331
- return parseInt(r || "", 10) || 0;
2332
- }, getOffset = function(r) {
2333
- var s = window.getComputedStyle(document.body), c = s[r === "padding" ? "paddingLeft" : "marginLeft"], l = s[r === "padding" ? "paddingTop" : "marginTop"], u = s[r === "padding" ? "paddingRight" : "marginRight"];
2334
- return [
2335
- parse(c),
2336
- parse(l),
2337
- parse(u)
2338
- ];
2339
- }, getGapWidth = function(r) {
2340
- if (r === void 0 && (r = "margin"), typeof window > "u") return zeroGap;
2341
- var s = getOffset(r), c = document.documentElement.clientWidth, l = window.innerWidth;
2342
- return {
2343
- left: s[0],
2344
- top: s[1],
2345
- right: s[2],
2346
- gap: Math.max(0, l - c + s[2] - s[0])
2347
- };
2348
- }, Style = styleSingleton(), lockAttribute = "data-scroll-locked", getStyles = function(r, s, c, l) {
2349
- var u = r.left, d = r.top, f = r.right, p = r.gap;
2350
- return c === void 0 && (c = "margin"), `
2351
- .${noScrollbarsClassName} {
2352
- overflow: hidden ${l};
2353
- padding-right: ${p}px ${l};
2354
- }
2355
- body[${lockAttribute}] {
2356
- overflow: hidden ${l};
2357
- overscroll-behavior: contain;
2358
- ${[
2359
- s && `position: relative ${l};`,
2360
- c === "margin" && `
2361
- padding-left: ${u}px;
2362
- padding-top: ${d}px;
2363
- padding-right: ${f}px;
2364
- margin-left:0;
2365
- margin-top:0;
2366
- margin-right: ${p}px ${l};
2367
- `,
2368
- c === "padding" && `padding-right: ${p}px ${l};`
2369
- ].filter(Boolean).join("")}
2370
- }
2371
-
2372
- .${zeroRightClassName} {
2373
- right: ${p}px ${l};
2374
- }
2375
-
2376
- .${fullWidthClassName} {
2377
- margin-right: ${p}px ${l};
2378
- }
2379
-
2380
- .${zeroRightClassName} .${zeroRightClassName} {
2381
- right: 0 ${l};
2382
- }
2383
-
2384
- .${fullWidthClassName} .${fullWidthClassName} {
2385
- margin-right: 0 ${l};
2386
- }
2387
-
2388
- body[${lockAttribute}] {
2389
- ${removedBarSizeVariable}: ${p}px;
2390
- }
2391
- `;
2392
- }, getCurrentUseCounter = function() {
2393
- var r = parseInt(document.body.getAttribute("data-scroll-locked") || "0", 10);
2394
- return isFinite(r) ? r : 0;
2395
- }, useLockAttribute = function() {
2396
- import_react.useEffect(function() {
2397
- return document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString()), function() {
2398
- var r = getCurrentUseCounter() - 1;
2399
- r <= 0 ? document.body.removeAttribute(lockAttribute) : document.body.setAttribute(lockAttribute, r.toString());
2400
- };
2401
- }, []);
2402
- }, RemoveScrollBar = function(r) {
2403
- var s = r.noRelative, c = r.noImportant, l = r.gapMode, u = l === void 0 ? "margin" : l;
2404
- useLockAttribute();
2405
- var d = import_react.useMemo(function() {
2406
- return getGapWidth(u);
2407
- }, [u]);
2408
- return import_react.createElement(Style, { styles: getStyles(d, !s, u, c ? "" : "!important") });
2409
- }, passiveSupported = false;
2410
- if (typeof window < "u") try {
2411
- var options = Object.defineProperty({}, "passive", { get: function() {
2412
- return passiveSupported = true, true;
2413
- } });
2414
- window.addEventListener("test", options, options), window.removeEventListener("test", options, options);
2415
- } catch {
2416
- passiveSupported = false;
2417
- }
2418
- var nonPassive = passiveSupported ? { passive: false } : false, alwaysContainsScroll = function(r) {
2419
- return r.tagName === "TEXTAREA";
2420
- }, elementCanBeScrolled = function(r, s) {
2421
- if (!(r instanceof Element)) return false;
2422
- var c = window.getComputedStyle(r);
2423
- return c[s] !== "hidden" && !(c.overflowY === c.overflowX && !alwaysContainsScroll(r) && c[s] === "visible");
2424
- }, elementCouldBeVScrolled = function(r) {
2425
- return elementCanBeScrolled(r, "overflowY");
2426
- }, elementCouldBeHScrolled = function(r) {
2427
- return elementCanBeScrolled(r, "overflowX");
2428
- }, locationCouldBeScrolled = function(r, s) {
2429
- var c = s.ownerDocument, l = s;
2430
- do {
2431
- if (typeof ShadowRoot < "u" && l instanceof ShadowRoot && (l = l.host), elementCouldBeScrolled(r, l)) {
2432
- var u = getScrollVariables(r, l);
2433
- if (u[1] > u[2]) return true;
2434
- }
2435
- l = l.parentNode;
2436
- } while (l && l !== c.body);
2437
- return false;
2438
- }, getVScrollVariables = function(r) {
2439
- return [
2440
- r.scrollTop,
2441
- r.scrollHeight,
2442
- r.clientHeight
2443
- ];
2444
- }, getHScrollVariables = function(r) {
2445
- return [
2446
- r.scrollLeft,
2447
- r.scrollWidth,
2448
- r.clientWidth
2449
- ];
2450
- }, elementCouldBeScrolled = function(r, s) {
2451
- return r === "v" ? elementCouldBeVScrolled(s) : elementCouldBeHScrolled(s);
2452
- }, getScrollVariables = function(r, s) {
2453
- return r === "v" ? getVScrollVariables(s) : getHScrollVariables(s);
2454
- }, getDirectionFactor = function(r, s) {
2455
- return r === "h" && s === "rtl" ? -1 : 1;
2456
- }, handleScroll = function(r, s, c, l, u) {
2457
- var d = getDirectionFactor(r, window.getComputedStyle(s).direction), f = d * l, p = c.target, m = s.contains(p), h = false, g = f > 0, _ = 0, v = 0;
2458
- do {
2459
- if (!p) break;
2460
- var y = getScrollVariables(r, p), b = y[0], x = y[1] - y[2] - d * b;
2461
- (b || x) && elementCouldBeScrolled(r, p) && (_ += x, v += b);
2462
- var S = p.parentNode;
2463
- p = S && S.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? S.host : S;
2464
- } while (!m && p !== document.body || m && (s.contains(p) || s === p));
2465
- return (g && (u && Math.abs(_) < 1 || !u && f > _) || !g && (u && Math.abs(v) < 1 || !u && -f > v)) && (h = true), h;
2466
- }, getTouchXY = function(r) {
2467
- return "changedTouches" in r ? [r.changedTouches[0].clientX, r.changedTouches[0].clientY] : [0, 0];
2468
- }, getDeltaXY = function(r) {
2469
- return [r.deltaX, r.deltaY];
2470
- }, extractRef = function(r) {
2471
- return r && "current" in r ? r.current : r;
2472
- }, deltaCompare = function(r, s) {
2473
- return r[0] === s[0] && r[1] === s[1];
2474
- }, generateStyle = function(r) {
2475
- return `
2476
- .block-interactivity-${r} {pointer-events: none;}
2477
- .allow-interactivity-${r} {pointer-events: all;}
2478
- `;
2479
- }, idCounter = 0, lockStack = [];
2480
- function RemoveScrollSideCar(r) {
2481
- var s = import_react.useRef([]), c = import_react.useRef([0, 0]), l = import_react.useRef(), u = import_react.useState(idCounter++)[0], d = import_react.useState(styleSingleton)[0], f = import_react.useRef(r);
2482
- import_react.useEffect(function() {
2483
- f.current = r;
2484
- }, [r]), import_react.useEffect(function() {
2485
- if (r.inert) {
2486
- document.body.classList.add(`block-interactivity-${u}`);
2487
- var s2 = __spreadArray([r.lockRef.current], (r.shards || []).map(extractRef), true).filter(Boolean);
2488
- return s2.forEach(function(r2) {
2489
- return r2.classList.add(`allow-interactivity-${u}`);
2490
- }), function() {
2491
- document.body.classList.remove(`block-interactivity-${u}`), s2.forEach(function(r2) {
2492
- return r2.classList.remove(`allow-interactivity-${u}`);
2493
- });
2494
- };
2495
- }
2496
- }, [
2497
- r.inert,
2498
- r.lockRef.current,
2499
- r.shards
2500
- ]);
2501
- var p = import_react.useCallback(function(r2, s2) {
2502
- if ("touches" in r2 && r2.touches.length === 2 || r2.type === "wheel" && r2.ctrlKey) return !f.current.allowPinchZoom;
2503
- var u2 = getTouchXY(r2), d2 = c.current, p2 = "deltaX" in r2 ? r2.deltaX : d2[0] - u2[0], m2 = "deltaY" in r2 ? r2.deltaY : d2[1] - u2[1], h2, g2 = r2.target, _2 = Math.abs(p2) > Math.abs(m2) ? "h" : "v";
2504
- if ("touches" in r2 && _2 === "h" && g2.type === "range") return false;
2505
- var v2 = locationCouldBeScrolled(_2, g2);
2506
- if (!v2) return true;
2507
- if (v2 ? h2 = _2 : (h2 = _2 === "v" ? "h" : "v", v2 = locationCouldBeScrolled(_2, g2)), !v2) return false;
2508
- if (!l.current && "changedTouches" in r2 && (p2 || m2) && (l.current = h2), !h2) return true;
2509
- var y2 = l.current || h2;
2510
- return handleScroll(y2, s2, r2, y2 === "h" ? p2 : m2, true);
2511
- }, []), m = import_react.useCallback(function(r2) {
2512
- var c2 = r2;
2513
- if (!(!lockStack.length || lockStack[lockStack.length - 1] !== d)) {
2514
- var l2 = "deltaY" in c2 ? getDeltaXY(c2) : getTouchXY(c2), u2 = s.current.filter(function(r3) {
2515
- return r3.name === c2.type && (r3.target === c2.target || c2.target === r3.shadowParent) && deltaCompare(r3.delta, l2);
2516
- })[0];
2517
- if (u2 && u2.should) {
2518
- c2.cancelable && c2.preventDefault();
2519
- return;
2520
- }
2521
- if (!u2) {
2522
- var m2 = (f.current.shards || []).map(extractRef).filter(Boolean).filter(function(r3) {
2523
- return r3.contains(c2.target);
2524
- });
2525
- (m2.length > 0 ? p(c2, m2[0]) : !f.current.noIsolation) && c2.cancelable && c2.preventDefault();
2526
- }
2527
- }
2528
- }, []), h = import_react.useCallback(function(r2, c2, l2, u2) {
2529
- var d2 = {
2530
- name: r2,
2531
- delta: c2,
2532
- target: l2,
2533
- should: u2,
2534
- shadowParent: getOutermostShadowParent(l2)
2535
- };
2536
- s.current.push(d2), setTimeout(function() {
2537
- s.current = s.current.filter(function(r3) {
2538
- return r3 !== d2;
2539
- });
2540
- }, 1);
2541
- }, []), g = import_react.useCallback(function(r2) {
2542
- c.current = getTouchXY(r2), l.current = void 0;
2543
- }, []), _ = import_react.useCallback(function(s2) {
2544
- h(s2.type, getDeltaXY(s2), s2.target, p(s2, r.lockRef.current));
2545
- }, []), v = import_react.useCallback(function(s2) {
2546
- h(s2.type, getTouchXY(s2), s2.target, p(s2, r.lockRef.current));
2547
- }, []);
2548
- import_react.useEffect(function() {
2549
- return lockStack.push(d), r.setCallbacks({
2550
- onScrollCapture: _,
2551
- onWheelCapture: _,
2552
- onTouchMoveCapture: v
2553
- }), document.addEventListener("wheel", m, nonPassive), document.addEventListener("touchmove", m, nonPassive), document.addEventListener("touchstart", g, nonPassive), function() {
2554
- lockStack = lockStack.filter(function(r2) {
2555
- return r2 !== d;
2556
- }), document.removeEventListener("wheel", m, nonPassive), document.removeEventListener("touchmove", m, nonPassive), document.removeEventListener("touchstart", g, nonPassive);
2557
- };
2558
- }, []);
2559
- var y = r.removeScrollBar, x = r.inert;
2560
- return import_react.createElement(import_react.Fragment, null, x ? import_react.createElement(d, { styles: generateStyle(u) }) : null, y ? import_react.createElement(RemoveScrollBar, {
2561
- noRelative: r.noRelative,
2562
- gapMode: r.gapMode
2563
- }) : null);
2564
- }
2565
- function getOutermostShadowParent(r) {
2566
- for (var s = null; r !== null; ) r instanceof ShadowRoot && (s = r.host, r = r.host), r = r.parentNode;
2567
- return s;
2568
- }
2569
- var sidecar_default = exportSidecar(effectCar, RemoveScrollSideCar), ReactRemoveScroll = import_react.forwardRef(function(r, s) {
2570
- return import_react.createElement(RemoveScroll, __assign({}, r, {
2571
- ref: s,
2572
- sideCar: sidecar_default
2573
- }));
2574
- });
2575
- ReactRemoveScroll.classNames = RemoveScroll.classNames;
2576
- var Combination_default = ReactRemoveScroll;
2577
- export {
2578
- createContext2 as A,
2579
- useLayoutEffect2 as C,
2580
- dispatchDiscreteCustomEvent as D,
2581
- Primitive as E,
2582
- composeEventHandlers as M,
2583
- createLucideIcon as N,
2584
- createSlot as O,
2585
- useId as S,
2586
- useCallbackRef$1 as T,
2587
- Arrow as _,
2588
- __awaiter as a,
2589
- createPopperScope as b,
2590
- withSmartCollisionBoundary as c,
2591
- Root as d,
2592
- VISUALLY_HIDDEN_STYLES as f,
2593
- Anchor as g,
2594
- Portal as h,
2595
- useFocusGuards as i,
2596
- createContextScope as j,
2597
- createSlottable as k,
2598
- isInVscodeExtension as l,
2599
- Presence as m,
2600
- hideOthers as n,
2601
- MAX_HEIGHT_OFFSET as o,
2602
- useControllableState as p,
2603
- FocusScope as r,
2604
- withFullScreenAsRoot as s,
2605
- Combination_default as t,
2606
- StyleNamespace as u,
2607
- Content as v,
2608
- DismissableLayer as w,
2609
- useSize as x,
2610
- Root2 as y
2611
- };