@brainfish-ai/components 0.14.3 → 0.15.0-beta.1

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 (254) hide show
  1. package/dist/accordion.d.ts +12 -0
  2. package/dist/badge.d.ts +14 -0
  3. package/dist/button.d.ts +16 -0
  4. package/dist/calendar.d.ts +12 -0
  5. package/dist/card.d.ts +17 -0
  6. package/dist/chat-search.d.ts +424 -0
  7. package/dist/collapsible.d.ts +10 -0
  8. package/dist/{colors/index.d.ts → colors.d.ts} +133 -128
  9. package/dist/{components/combobox/combobox.d.ts → combobox.d.ts} +23 -18
  10. package/dist/command.d.ts +90 -0
  11. package/dist/data-table.d.ts +23 -0
  12. package/dist/{components/date-picker/date-picker.d.ts → date-picker.d.ts} +12 -9
  13. package/dist/dialog.d.ts +30 -0
  14. package/dist/div-button.d.ts +16 -0
  15. package/dist/dropdown-menu.d.ts +43 -0
  16. package/dist/esm/chunks/{ChatSearch.B-0s3a8W.js → ChatSearch.nXLnU6TL.js} +3 -2
  17. package/dist/esm/chunks/{ChatSearch.B-0s3a8W.js.map → ChatSearch.nXLnU6TL.js.map} +1 -1
  18. package/dist/esm/chunks/{FormattedMessage.C7CKFL5X.js → FormattedMessage.aTY_CSO9.js} +3 -8
  19. package/dist/esm/chunks/{FormattedMessage.C7CKFL5X.js.map → FormattedMessage.aTY_CSO9.js.map} +1 -1
  20. package/dist/esm/chunks/_basePickBy-BRd8bulh.BihFF1eU.js +140 -0
  21. package/dist/esm/chunks/_basePickBy-BRd8bulh.BihFF1eU.js.map +1 -0
  22. package/dist/esm/chunks/_baseUniq-CjJl2kgN.C3Wg6Gzv.js +585 -0
  23. package/dist/esm/chunks/_baseUniq-CjJl2kgN.C3Wg6Gzv.js.map +1 -0
  24. package/dist/esm/chunks/_commonjsHelpers.BFTU3MAI.js +8 -0
  25. package/dist/esm/chunks/_commonjsHelpers.BFTU3MAI.js.map +1 -0
  26. package/dist/esm/chunks/arc-BwUz6pB-.CLjvikE5.js +84 -0
  27. package/dist/esm/chunks/arc-BwUz6pB-.CLjvikE5.js.map +1 -0
  28. package/dist/esm/chunks/architectureDiagram-W76B3OCA-Cb5kazGQ.1bO-o28W.js +4662 -0
  29. package/dist/esm/chunks/architectureDiagram-W76B3OCA-Cb5kazGQ.1bO-o28W.js.map +1 -0
  30. package/dist/esm/chunks/blockDiagram-QIGZ2CNN-DDf1fn8j.CbGMaSk6.js +2262 -0
  31. package/dist/esm/chunks/blockDiagram-QIGZ2CNN-DDf1fn8j.CbGMaSk6.js.map +1 -0
  32. package/dist/esm/chunks/c4Diagram-FPNF74CW-Bums6QOx.Cr4gEhB6.js +1581 -0
  33. package/dist/esm/chunks/c4Diagram-FPNF74CW-Bums6QOx.Cr4gEhB6.js.map +1 -0
  34. package/dist/esm/chunks/channel-0GCo3iLB.B41ZW7VC.js +6 -0
  35. package/dist/esm/chunks/channel-0GCo3iLB.B41ZW7VC.js.map +1 -0
  36. package/dist/esm/chunks/chunk-4BX2VUAB-BNEZvE0o.BzF9LZVo.js +9 -0
  37. package/dist/esm/chunks/chunk-4BX2VUAB-BNEZvE0o.BzF9LZVo.js.map +1 -0
  38. package/dist/esm/chunks/chunk-55IACEB6-DKe9mqg4.BScGh1GA.js +9 -0
  39. package/dist/esm/chunks/chunk-55IACEB6-DKe9mqg4.BScGh1GA.js.map +1 -0
  40. package/dist/esm/chunks/chunk-FMBD7UC4-crQF-lvP.eIOmyWTR.js +20 -0
  41. package/dist/esm/chunks/chunk-FMBD7UC4-crQF-lvP.eIOmyWTR.js.map +1 -0
  42. package/dist/esm/chunks/chunk-K7UQS3LO-Cfwyr-vZ.BAoAWAQk.js +1373 -0
  43. package/dist/esm/chunks/chunk-K7UQS3LO-Cfwyr-vZ.BAoAWAQk.js.map +1 -0
  44. package/dist/esm/chunks/chunk-QN33PNHL-DspJEonH.BH03Z53b.js +20 -0
  45. package/dist/esm/chunks/chunk-QN33PNHL-DspJEonH.BH03Z53b.js.map +1 -0
  46. package/dist/esm/chunks/chunk-QZHKN3VN-BCAuXuhM.Yv71fggY.js +16 -0
  47. package/dist/esm/chunks/chunk-QZHKN3VN-BCAuXuhM.Yv71fggY.js.map +1 -0
  48. package/dist/esm/chunks/chunk-TVAH2DTR-UAGFGTWa.DtaXLvO3.js +1368 -0
  49. package/dist/esm/chunks/chunk-TVAH2DTR-UAGFGTWa.DtaXLvO3.js.map +1 -0
  50. package/dist/esm/chunks/chunk-TZMSLE5B-BuOZ_3Ji.DWg5e95b.js +59 -0
  51. package/dist/esm/chunks/chunk-TZMSLE5B-BuOZ_3Ji.DWg5e95b.js.map +1 -0
  52. package/dist/esm/chunks/classDiagram-KNZD7YFC-DX7nurcU.CyPH6UHq.js +17 -0
  53. package/dist/esm/chunks/classDiagram-KNZD7YFC-DX7nurcU.CyPH6UHq.js.map +1 -0
  54. package/dist/esm/chunks/classDiagram-v2-RKCZMP56-DX7nurcU.CyPH6UHq.js +17 -0
  55. package/dist/esm/chunks/classDiagram-v2-RKCZMP56-DX7nurcU.CyPH6UHq.js.map +1 -0
  56. package/dist/esm/chunks/clone-Bqjztgu2.BFjA-F4h.js +9 -0
  57. package/dist/esm/chunks/clone-Bqjztgu2.BFjA-F4h.js.map +1 -0
  58. package/dist/esm/chunks/cose-bilkent-S5V4N54A-BQHziyWw.BZGNVFdw.js +2610 -0
  59. package/dist/esm/chunks/cose-bilkent-S5V4N54A-BQHziyWw.BZGNVFdw.js.map +1 -0
  60. package/dist/esm/chunks/cytoscape.esm-qgs_QMrm.Cg6eOcD7.js +18633 -0
  61. package/dist/esm/chunks/cytoscape.esm-qgs_QMrm.Cg6eOcD7.js.map +1 -0
  62. package/dist/esm/chunks/dagre-5GWH7T2D-lsJD5N-w.B1kdVc5w.js +445 -0
  63. package/dist/esm/chunks/dagre-5GWH7T2D-lsJD5N-w.B1kdVc5w.js.map +1 -0
  64. package/dist/esm/chunks/defaultLocale-D7EN2tov.B8F577Sx.js +168 -0
  65. package/dist/esm/chunks/defaultLocale-D7EN2tov.B8F577Sx.js.map +1 -0
  66. package/dist/esm/chunks/diagram-N5W7TBWH-BRbQQdVg.CLbXQp4w.js +533 -0
  67. package/dist/esm/chunks/diagram-N5W7TBWH-BRbQQdVg.CLbXQp4w.js.map +1 -0
  68. package/dist/esm/chunks/diagram-QEK2KX5R-8l9h9zsj.DLBRL8pH.js +218 -0
  69. package/dist/esm/chunks/diagram-QEK2KX5R-8l9h9zsj.DLBRL8pH.js.map +1 -0
  70. package/dist/esm/chunks/diagram-S2PKOQOG-Cqv8fzC4.BsV-iXxM.js +143 -0
  71. package/dist/esm/chunks/diagram-S2PKOQOG-Cqv8fzC4.BsV-iXxM.js.map +1 -0
  72. package/dist/esm/chunks/erDiagram-AWTI2OKA-CuacxCQc.BRxf9Bvb.js +842 -0
  73. package/dist/esm/chunks/erDiagram-AWTI2OKA-CuacxCQc.BRxf9Bvb.js.map +1 -0
  74. package/dist/esm/chunks/flowDiagram-PVAE7QVJ-CYALWpXg.DIYz6l2w.js +1621 -0
  75. package/dist/esm/chunks/flowDiagram-PVAE7QVJ-CYALWpXg.DIYz6l2w.js.map +1 -0
  76. package/dist/esm/chunks/ganttDiagram-OWAHRB6G-DasKdnJE.Dl2sI2Nk.js +2506 -0
  77. package/dist/esm/chunks/ganttDiagram-OWAHRB6G-DasKdnJE.Dl2sI2Nk.js.map +1 -0
  78. package/dist/esm/chunks/gitGraphDiagram-NY62KEGX-CBXt0yuv.mD35jpPG.js +700 -0
  79. package/dist/esm/chunks/gitGraphDiagram-NY62KEGX-CBXt0yuv.mD35jpPG.js.map +1 -0
  80. package/dist/esm/chunks/graph-DuS579Mj.CVtaKNIJ.js +248 -0
  81. package/dist/esm/chunks/graph-DuS579Mj.CVtaKNIJ.js.map +1 -0
  82. package/dist/esm/chunks/infoDiagram-STP46IZ2-D6dOD0xH.BLhsKnwz.js +25 -0
  83. package/dist/esm/chunks/infoDiagram-STP46IZ2-D6dOD0xH.BLhsKnwz.js.map +1 -0
  84. package/dist/esm/chunks/init-DjUOC4st.BOEiyheD.js +16 -0
  85. package/dist/esm/chunks/init-DjUOC4st.BOEiyheD.js.map +1 -0
  86. package/dist/esm/chunks/journeyDiagram-BIP6EPQ6-BVvhjpLT.Cy1B2LuZ.js +837 -0
  87. package/dist/esm/chunks/journeyDiagram-BIP6EPQ6-BVvhjpLT.Cy1B2LuZ.js.map +1 -0
  88. package/dist/esm/chunks/kanban-definition-6OIFK2YF-DXUNU6e4.YiYgNKI6.js +720 -0
  89. package/dist/esm/chunks/kanban-definition-6OIFK2YF-DXUNU6e4.YiYgNKI6.js.map +1 -0
  90. package/dist/esm/chunks/katex-CUSbq6rG.R-nwQ7Gi.js +11679 -0
  91. package/dist/esm/chunks/katex-CUSbq6rG.R-nwQ7Gi.js.map +1 -0
  92. package/dist/esm/chunks/layout-C51Wxzwk.D_mfdH7L.js +1322 -0
  93. package/dist/esm/chunks/layout-C51Wxzwk.D_mfdH7L.js.map +1 -0
  94. package/dist/esm/chunks/linear-CHlV0TT4.CvsRyKtq.js +256 -0
  95. package/dist/esm/chunks/linear-CHlV0TT4.CvsRyKtq.js.map +1 -0
  96. package/dist/esm/chunks/markdownTranslator-D7_8pMsF.-EYyJrCs.js +15985 -0
  97. package/dist/esm/chunks/markdownTranslator-D7_8pMsF.-EYyJrCs.js.map +1 -0
  98. package/dist/esm/chunks/mermaid.core-C5kBD6J-.BXPxVcVa.js +15491 -0
  99. package/dist/esm/chunks/mermaid.core-C5kBD6J-.BXPxVcVa.js.map +1 -0
  100. package/dist/esm/chunks/mindmap-definition-Q6HEUPPD-HFrYx80F.ysRA57eW.js +782 -0
  101. package/dist/esm/chunks/mindmap-definition-Q6HEUPPD-HFrYx80F.ysRA57eW.js.map +1 -0
  102. package/dist/esm/chunks/ordinal-DfAQgscy.J1PPD2vL.js +62 -0
  103. package/dist/esm/chunks/ordinal-DfAQgscy.J1PPD2vL.js.map +1 -0
  104. package/dist/esm/chunks/paragraph-node-C0kBl9gb.CIP8K4ND.js +61421 -0
  105. package/dist/esm/chunks/paragraph-node-C0kBl9gb.CIP8K4ND.js.map +1 -0
  106. package/dist/esm/chunks/pieDiagram-ADFJNKIX-CsslphWO.B4GbWuZv.js +162 -0
  107. package/dist/esm/chunks/pieDiagram-ADFJNKIX-CsslphWO.B4GbWuZv.js.map +1 -0
  108. package/dist/esm/chunks/quadrantDiagram-LMRXKWRM-5QFmGeOP.C_UxDQXe.js +1023 -0
  109. package/dist/esm/chunks/quadrantDiagram-LMRXKWRM-5QFmGeOP.C_UxDQXe.js.map +1 -0
  110. package/dist/esm/chunks/requirementDiagram-4UW4RH46-C22keu8n.C4-dnVVT.js +851 -0
  111. package/dist/esm/chunks/requirementDiagram-4UW4RH46-C22keu8n.C4-dnVVT.js.map +1 -0
  112. package/dist/esm/chunks/sankeyDiagram-GR3RE2ED-BpqD9_-e.ngMCnT6E.js +811 -0
  113. package/dist/esm/chunks/sankeyDiagram-GR3RE2ED-BpqD9_-e.ngMCnT6E.js.map +1 -0
  114. package/dist/esm/chunks/sequenceDiagram-C3RYC4MD-oePYpAJV.CBdzhzsP.js +2512 -0
  115. package/dist/esm/chunks/sequenceDiagram-C3RYC4MD-oePYpAJV.CBdzhzsP.js.map +1 -0
  116. package/dist/esm/chunks/simple-editor.BahVaPV_.js +17657 -0
  117. package/dist/esm/chunks/simple-editor.BahVaPV_.js.map +1 -0
  118. package/dist/esm/chunks/simple-viewer-BRtSPXgb.j1P0rnc3.js +5543 -0
  119. package/dist/esm/chunks/simple-viewer-BRtSPXgb.j1P0rnc3.js.map +1 -0
  120. package/dist/esm/chunks/stateDiagram-KXAO66HF-D4aLegBB.CQf3ipbf.js +264 -0
  121. package/dist/esm/chunks/stateDiagram-KXAO66HF-D4aLegBB.CQf3ipbf.js.map +1 -0
  122. package/dist/esm/chunks/stateDiagram-v2-UMBNRL4Z-EsHlUtVh.KT7g_d3p.js +17 -0
  123. package/dist/esm/chunks/stateDiagram-v2-UMBNRL4Z-EsHlUtVh.KT7g_d3p.js.map +1 -0
  124. package/dist/esm/chunks/timeline-definition-XQNQX7LJ-6YQdnQ9U.CyMubI5o.js +798 -0
  125. package/dist/esm/chunks/timeline-definition-XQNQX7LJ-6YQdnQ9U.CyMubI5o.js.map +1 -0
  126. package/dist/esm/chunks/treemap-75Q7IDZK-vsWUWgT4.STv98gDF.js +12982 -0
  127. package/dist/esm/chunks/treemap-75Q7IDZK-vsWUWgT4.STv98gDF.js.map +1 -0
  128. package/dist/esm/chunks/xychartDiagram-6GGTOJPD-M8ajOOsE.Ds3v-kkT.js +1341 -0
  129. package/dist/esm/chunks/xychartDiagram-6GGTOJPD-M8ajOOsE.Ds3v-kkT.js.map +1 -0
  130. package/dist/esm/components/chat-search.js +1 -1
  131. package/dist/esm/components/markdown-editor-viewer.js +2 -0
  132. package/dist/esm/components/markdown-editor-viewer.js.map +1 -0
  133. package/dist/esm/components/markdown.js +1 -1
  134. package/dist/esm/index.css +1 -1
  135. package/dist/esm/index.js +3 -2
  136. package/dist/esm/index.js.map +1 -1
  137. package/dist/{components/feedback/feedback.d.ts → feedback.d.ts} +21 -17
  138. package/dist/file-upload.d.ts +45 -0
  139. package/dist/{components/filter/types.d.ts → filter.d.ts} +82 -59
  140. package/dist/generating-star.d.ts +10 -0
  141. package/dist/icon.d.ts +26 -0
  142. package/dist/index.d.ts +1204 -28
  143. package/dist/input.d.ts +11 -0
  144. package/dist/label.d.ts +8 -0
  145. package/dist/markdown-editor-viewer.d.ts +113 -0
  146. package/dist/markdown.d.ts +55 -0
  147. package/dist/popover.d.ts +12 -0
  148. package/dist/progress.d.ts +8 -0
  149. package/dist/scroll-area.d.ts +8 -0
  150. package/dist/{components/select/simpleSelect.d.ts → select.d.ts} +20 -15
  151. package/dist/stats.html +1 -1
  152. package/dist/switch.d.ts +6 -0
  153. package/dist/table.d.ts +19 -0
  154. package/dist/textarea.d.ts +5 -0
  155. package/dist/tooltip.d.ts +18 -0
  156. package/dist/{components/two-level-combobox/two-level-combobox.d.ts → two-level-combobox.d.ts} +24 -15
  157. package/markdown-editor.plan.md +322 -0
  158. package/markdown-editor.spec.md +915 -0
  159. package/package.json +23 -4
  160. package/dist/colors/blue.d.ts +0 -13
  161. package/dist/colors/customColor.d.ts +0 -4
  162. package/dist/colors/dark.d.ts +0 -13
  163. package/dist/colors/green.d.ts +0 -13
  164. package/dist/colors/orange.d.ts +0 -13
  165. package/dist/colors/pink.d.ts +0 -13
  166. package/dist/colors/primary.d.ts +0 -20
  167. package/dist/colors/purple.d.ts +0 -13
  168. package/dist/colors/red.d.ts +0 -13
  169. package/dist/colors/yellow.d.ts +0 -13
  170. package/dist/components/chat-search/Answer.d.ts +0 -29
  171. package/dist/components/chat-search/AnswerActions.d.ts +0 -13
  172. package/dist/components/chat-search/AnswerBlock.d.ts +0 -8
  173. package/dist/components/chat-search/ChatSearch.d.ts +0 -11
  174. package/dist/components/chat-search/ChatSearchContext.d.ts +0 -36
  175. package/dist/components/chat-search/FollowUpQuestions.d.ts +0 -7
  176. package/dist/components/chat-search/FollowUpSearchBar.d.ts +0 -11
  177. package/dist/components/chat-search/Header.d.ts +0 -9
  178. package/dist/components/chat-search/LoadingConversation.d.ts +0 -2
  179. package/dist/components/chat-search/LoadingSkeleton.d.ts +0 -6
  180. package/dist/components/chat-search/NextBestActions.d.ts +0 -8
  181. package/dist/components/chat-search/PrimarySearch.d.ts +0 -35
  182. package/dist/components/chat-search/ScrollToBottomArrow.d.ts +0 -6
  183. package/dist/components/chat-search/Suggestions.d.ts +0 -9
  184. package/dist/components/chat-search/TimelineNavigation.d.ts +0 -9
  185. package/dist/components/chat-search/blocks/ActionButtons.d.ts +0 -5
  186. package/dist/components/chat-search/blocks/ActionInputForm.d.ts +0 -20
  187. package/dist/components/chat-search/blocks/MarkdownText.d.ts +0 -8
  188. package/dist/components/chat-search/blocks/utils.d.ts +0 -15
  189. package/dist/components/chat-search/helpers/excuteClientAction.d.ts +0 -9
  190. package/dist/components/chat-search/helpers/nextBestActions.d.ts +0 -7
  191. package/dist/components/chat-search/hooks/index.d.ts +0 -7
  192. package/dist/components/chat-search/hooks/useAccessibleColor.d.ts +0 -1
  193. package/dist/components/chat-search/hooks/useAnswerList.d.ts +0 -217
  194. package/dist/components/chat-search/hooks/useConversationId.d.ts +0 -5
  195. package/dist/components/chat-search/hooks/useConversationLoader.d.ts +0 -17
  196. package/dist/components/chat-search/hooks/useDarkMode.d.ts +0 -1
  197. package/dist/components/chat-search/hooks/useIsChatSearchDirty.d.ts +0 -1
  198. package/dist/components/chat-search/hooks/useScrollManager.d.ts +0 -6
  199. package/dist/components/chat-search/hooks/useSubscriptionManager.d.ts +0 -4
  200. package/dist/components/chat-search/hooks/useUrlManager.d.ts +0 -8
  201. package/dist/components/chat-search/index.d.ts +0 -5
  202. package/dist/components/chat-search/text-config.d.ts +0 -3
  203. package/dist/components/chat-search/theme.d.ts +0 -0
  204. package/dist/components/chat-search/types.d.ts +0 -260
  205. package/dist/components/combobox/index.d.ts +0 -1
  206. package/dist/components/data-table/data-table.d.ts +0 -17
  207. package/dist/components/data-table/index.d.ts +0 -2
  208. package/dist/components/date-picker/index.d.ts +0 -1
  209. package/dist/components/feedback/feedback-reason.d.ts +0 -10
  210. package/dist/components/feedback/index.d.ts +0 -1
  211. package/dist/components/file-upload/file-upload-status.d.ts +0 -17
  212. package/dist/components/file-upload/file-upload.d.ts +0 -4
  213. package/dist/components/file-upload/index.d.ts +0 -4
  214. package/dist/components/file-upload/types.d.ts +0 -18
  215. package/dist/components/file-upload/utils.d.ts +0 -1
  216. package/dist/components/filter/components/CustomValueInput.d.ts +0 -11
  217. package/dist/components/filter/components/MultiSelectDropdown.d.ts +0 -10
  218. package/dist/components/filter/components/SingleSelectDropdown.d.ts +0 -9
  219. package/dist/components/filter/filter.d.ts +0 -6
  220. package/dist/components/filter/filters.d.ts +0 -12
  221. package/dist/components/filter/hooks.d.ts +0 -9
  222. package/dist/components/filter/index.d.ts +0 -3
  223. package/dist/components/generating-star/generating-star.d.ts +0 -6
  224. package/dist/components/generating-star/index.d.ts +0 -2
  225. package/dist/components/markdown/CodeBlock.d.ts +0 -7
  226. package/dist/components/markdown/FormattedMessage.d.ts +0 -14
  227. package/dist/components/markdown/Frame.d.ts +0 -10
  228. package/dist/components/markdown/MemoizedReactMarkdown.d.ts +0 -6
  229. package/dist/components/markdown/MermaidDiagram.d.ts +0 -6
  230. package/dist/components/markdown/ZoomableImage.d.ts +0 -7
  231. package/dist/components/markdown/embeds/Loom.d.ts +0 -7
  232. package/dist/components/markdown/embeds/NativeVideo.d.ts +0 -6
  233. package/dist/components/markdown/embeds/Supademo.d.ts +0 -7
  234. package/dist/components/markdown/embeds/Typeform.d.ts +0 -7
  235. package/dist/components/markdown/embeds/VideoTimeline.d.ts +0 -9
  236. package/dist/components/markdown/embeds/Vimeo.d.ts +0 -7
  237. package/dist/components/markdown/embeds/Wistia.d.ts +0 -7
  238. package/dist/components/markdown/embeds/Youtube.d.ts +0 -7
  239. package/dist/components/markdown/embeds/index.d.ts +0 -9
  240. package/dist/components/markdown/index.d.ts +0 -6
  241. package/dist/components/markdown/utils/codeblock.d.ts +0 -6
  242. package/dist/components/markdown/utils/stripNewLines.d.ts +0 -1
  243. package/dist/components/markdown/utils/urls.d.ts +0 -6
  244. package/dist/components/select/index.d.ts +0 -1
  245. package/dist/components/two-level-combobox/index.d.ts +0 -1
  246. package/dist/env.d.ts +0 -5
  247. package/dist/lib/addUtmParams.d.ts +0 -20
  248. package/dist/lib/api.d.ts +0 -96
  249. package/dist/lib/feature-flags.d.ts +0 -9
  250. package/dist/lib/features.d.ts +0 -3
  251. package/dist/lib/fetchClient.d.ts +0 -19
  252. package/dist/lib/getContentType.d.ts +0 -1
  253. package/dist/lib/hooks.d.ts +0 -15
  254. package/dist/lib/utils.d.ts +0 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-editor.BahVaPV_.js","sources":["../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../../../node_modules/tabbable/dist/index.esm.js","../../../../tiptap/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs","../../../../tiptap/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../../tiptap/node_modules/@floating-ui/react-dom/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../../tiptap/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../../tiptap/node_modules/@floating-ui/react/dist/floating-ui.react.mjs","../../../../tiptap/node_modules/react-hotkeys-hook/packages/react-hotkeys-hook/dist/index.js","../../../../../node_modules/lodash.throttle/index.js","../../../../tiptap/dist/components/tiptap-templates/simple/simple-editor.js"],"sourcesContent":["function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","/*!\n* tabbable 6.2.0\n* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n*/\n// NOTE: separate `:not()` selectors has broader browser support than the newer\n// `:not([inert], [inert] *)` (Feb 2023)\n// CAREFUL: JSDom does not support `:not([inert] *)` as a selector; using it causes\n// the entire query to fail, resulting in no nodes found, which will break a lot\n// of things... so we have to rely on JS to identify nodes inside an inert container\nvar candidateSelectors = ['input:not([inert])', 'select:not([inert])', 'textarea:not([inert])', 'a[href]:not([inert])', 'button:not([inert])', '[tabindex]:not(slot):not([inert])', 'audio[controls]:not([inert])', 'video[controls]:not([inert])', '[contenteditable]:not([contenteditable=\"false\"]):not([inert])', 'details>summary:first-of-type:not([inert])', 'details:not([inert])'];\nvar candidateSelector = /* #__PURE__ */candidateSelectors.join(',');\nvar NoElement = typeof Element === 'undefined';\nvar matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\nvar getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {\n var _element$getRootNode;\n return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);\n} : function (element) {\n return element === null || element === void 0 ? void 0 : element.ownerDocument;\n};\n\n/**\n * Determines if a node is inert or in an inert ancestor.\n * @param {Element} [node]\n * @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to\n * see if any of them are inert. If false, only `node` itself is considered.\n * @returns {boolean} True if inert itself or by way of being in an inert ancestor.\n * False if `node` is falsy.\n */\nvar isInert = function isInert(node, lookUp) {\n var _node$getAttribute;\n if (lookUp === void 0) {\n lookUp = true;\n }\n // CAREFUL: JSDom does not support inert at all, so we can't use the `HTMLElement.inert`\n // JS API property; we have to check the attribute, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's an active element\n var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, 'inert');\n var inert = inertAtt === '' || inertAtt === 'true';\n\n // NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`\n // if it weren't for `matches()` not being a function on shadow roots; the following\n // code works for any kind of node\n // CAREFUL: JSDom does not appear to support certain selectors like `:not([inert] *)`\n // so it likely would not support `:is([inert] *)` either...\n var result = inert || lookUp && node && isInert(node.parentNode); // recursive\n\n return result;\n};\n\n/**\n * Determines if a node's content is editable.\n * @param {Element} [node]\n * @returns True if it's content-editable; false if it's not or `node` is falsy.\n */\nvar isContentEditable = function isContentEditable(node) {\n var _node$getAttribute2;\n // CAREFUL: JSDom does not support the `HTMLElement.isContentEditable` API so we have\n // to use the attribute directly to check for this, which can either be empty or 'true';\n // if it's `null` (not specified) or 'false', it's a non-editable element\n var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, 'contenteditable');\n return attValue === '' || attValue === 'true';\n};\n\n/**\n * @param {Element} el container to check in\n * @param {boolean} includeContainer add container to check\n * @param {(node: Element) => boolean} filter filter candidates\n * @returns {Element[]}\n */\nvar getCandidates = function getCandidates(el, includeContainer, filter) {\n // even if `includeContainer=false`, we still have to check it for inertness because\n // if it's inert, all its children are inert\n if (isInert(el)) {\n return [];\n }\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n};\n\n/**\n * @callback GetShadowRoot\n * @param {Element} element to check for shadow root\n * @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.\n */\n\n/**\n * @callback ShadowRootFilter\n * @param {Element} shadowHostNode the element which contains shadow content\n * @returns {boolean} true if a shadow root could potentially contain valid candidates.\n */\n\n/**\n * @typedef {Object} CandidateScope\n * @property {Element} scopeParent contains inner candidates\n * @property {Element[]} candidates list of candidates found in the scope parent\n */\n\n/**\n * @typedef {Object} IterativeOptions\n * @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;\n * if a function, implies shadow support is enabled and either returns the shadow root of an element\n * or a boolean stating if it has an undisclosed shadow root\n * @property {(node: Element) => boolean} filter filter candidates\n * @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list\n * @property {ShadowRootFilter} shadowRootFilter filter shadow roots;\n */\n\n/**\n * @param {Element[]} elements list of element containers to match candidates from\n * @param {boolean} includeContainer add container list to check\n * @param {IterativeOptions} options\n * @returns {Array.<Element|CandidateScope>}\n */\nvar getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {\n var candidates = [];\n var elementsToCheck = Array.from(elements);\n while (elementsToCheck.length) {\n var element = elementsToCheck.shift();\n if (isInert(element, false)) {\n // no need to look up since we're drilling down\n // anything inside this container will also be inert\n continue;\n }\n if (element.tagName === 'SLOT') {\n // add shadow dom slot scope (slot itself cannot be focusable)\n var assigned = element.assignedElements();\n var content = assigned.length ? assigned : element.children;\n var nestedCandidates = getCandidatesIteratively(content, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: nestedCandidates\n });\n }\n } else {\n // check candidate element\n var validCandidate = matches.call(element, candidateSelector);\n if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {\n candidates.push(element);\n }\n\n // iterate over shadow content if possible\n var shadowRoot = element.shadowRoot ||\n // check for an undisclosed shadow\n typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);\n\n // no inert look up because we're already drilling down and checking for inertness\n // on the way down, so all containers to this root node should have already been\n // vetted as non-inert\n var validShadowRoot = !isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));\n if (shadowRoot && validShadowRoot) {\n // add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed\n // shadow exists, so look at light dom children as fallback BUT create a scope for any\n // child candidates found because they're likely slotted elements (elements that are\n // children of the web component element (which has the shadow), in the light dom, but\n // slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,\n // _after_ we return from this recursive call\n var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);\n if (options.flatten) {\n candidates.push.apply(candidates, _nestedCandidates);\n } else {\n candidates.push({\n scopeParent: element,\n candidates: _nestedCandidates\n });\n }\n } else {\n // there's not shadow so just dig into the element's (light dom) children\n // __without__ giving the element special scope treatment\n elementsToCheck.unshift.apply(elementsToCheck, element.children);\n }\n }\n }\n return candidates;\n};\n\n/**\n * @private\n * Determines if the node has an explicitly specified `tabindex` attribute.\n * @param {HTMLElement} node\n * @returns {boolean} True if so; false if not.\n */\nvar hasTabIndex = function hasTabIndex(node) {\n return !isNaN(parseInt(node.getAttribute('tabindex'), 10));\n};\n\n/**\n * Determine the tab index of a given node.\n * @param {HTMLElement} node\n * @returns {number} Tab order (negative, 0, or positive number).\n * @throws {Error} If `node` is falsy.\n */\nvar getTabIndex = function getTabIndex(node) {\n if (!node) {\n throw new Error('No node provided');\n }\n if (node.tabIndex < 0) {\n // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default\n // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,\n // yet they are still part of the regular tab order; in FF, they get a default\n // `tabIndex` of 0; since Chrome still puts those elements in the regular tab\n // order, consider their tab index to be 0.\n // Also browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {\n return 0;\n }\n }\n return node.tabIndex;\n};\n\n/**\n * Determine the tab index of a given node __for sort order purposes__.\n * @param {HTMLElement} node\n * @param {boolean} [isScope] True for a custom element with shadow root or slot that, by default,\n * has tabIndex -1, but needs to be sorted by document order in order for its content to be\n * inserted into the correct sort position.\n * @returns {number} Tab order (negative, 0, or positive number).\n */\nvar getSortOrderTabIndex = function getSortOrderTabIndex(node, isScope) {\n var tabIndex = getTabIndex(node);\n if (tabIndex < 0 && isScope && !hasTabIndex(node)) {\n return 0;\n }\n return tabIndex;\n};\nvar sortOrderedTabbables = function sortOrderedTabbables(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n};\nvar isInput = function isInput(node) {\n return node.tagName === 'INPUT';\n};\nvar isHiddenInput = function isHiddenInput(node) {\n return isInput(node) && node.type === 'hidden';\n};\nvar isDetailsWithSummary = function isDetailsWithSummary(node) {\n var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {\n return child.tagName === 'SUMMARY';\n });\n return r;\n};\nvar getCheckedRadio = function getCheckedRadio(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n};\nvar isTabbableRadio = function isTabbableRadio(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || getRootNode(node);\n var queryRadios = function queryRadios(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n // eslint-disable-next-line no-console\n console.error('Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s', err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n};\nvar isRadio = function isRadio(node) {\n return isInput(node) && node.type === 'radio';\n};\nvar isNonTabbableRadio = function isNonTabbableRadio(node) {\n return isRadio(node) && !isTabbableRadio(node);\n};\n\n// determines if a node is ultimately attached to the window's document\nvar isNodeAttached = function isNodeAttached(node) {\n var _nodeRoot;\n // The root node is the shadow root if the node is in a shadow DOM; some document otherwise\n // (but NOT _the_ document; see second 'If' comment below for more).\n // If rootNode is shadow root, it'll have a host, which is the element to which the shadow\n // is attached, and the one we need to check if it's in the document or not (because the\n // shadow, and all nodes it contains, is never considered in the document since shadows\n // behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,\n // is hidden, or is not in the document itself but is detached, it will affect the shadow's\n // visibility, including all the nodes it contains). The host could be any normal node,\n // or a custom element (i.e. web component). Either way, that's the one that is considered\n // part of the document, not the shadow root, nor any of its children (i.e. the node being\n // tested).\n // To further complicate things, we have to look all the way up until we find a shadow HOST\n // that is attached (or find none) because the node might be in nested shadows...\n // If rootNode is not a shadow root, it won't have a host, and so rootNode should be the\n // document (per the docs) and while it's a Document-type object, that document does not\n // appear to be the same as the node's `ownerDocument` for some reason, so it's safer\n // to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,\n // using `rootNode.contains(node)` will _always_ be true we'll get false-positives when\n // node is actually detached.\n // NOTE: If `nodeRootHost` or `node` happens to be the `document` itself (which is possible\n // if a tabbable/focusable node was quickly added to the DOM, focused, and then removed\n // from the DOM as in https://github.com/focus-trap/focus-trap-react/issues/905), then\n // `ownerDocument` will be `null`, hence the optional chaining on it.\n var nodeRoot = node && getRootNode(node);\n var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;\n\n // in some cases, a detached node will return itself as the root instead of a document or\n // shadow root object, in which case, we shouldn't try to look further up the host chain\n var attached = false;\n if (nodeRoot && nodeRoot !== node) {\n var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;\n attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));\n while (!attached && nodeRootHost) {\n var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;\n // since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,\n // which means we need to get the host's host and check if that parent host is contained\n // in (i.e. attached to) the document\n nodeRoot = getRootNode(nodeRootHost);\n nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;\n attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));\n }\n }\n return attached;\n};\nvar isZeroArea = function isZeroArea(node) {\n var _node$getBoundingClie = node.getBoundingClientRect(),\n width = _node$getBoundingClie.width,\n height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n};\nvar isHidden = function isHidden(node, _ref) {\n var displayCheck = _ref.displayCheck,\n getShadowRoot = _ref.getShadowRoot;\n // NOTE: visibility will be `undefined` if node is detached from the document\n // (see notes about this further down), which means we will consider it visible\n // (this is legacy behavior from a very long way back)\n // NOTE: we check this regardless of `displayCheck=\"none\"` because this is a\n // _visibility_ check, not a _display_ check\n if (getComputedStyle(node).visibility === 'hidden') {\n return true;\n }\n var isDirectSummary = matches.call(node, 'details>summary:first-of-type');\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {\n return true;\n }\n if (!displayCheck || displayCheck === 'full' || displayCheck === 'legacy-full') {\n if (typeof getShadowRoot === 'function') {\n // figure out if we should consider the node to be in an undisclosed shadow and use the\n // 'non-zero-area' fallback\n var originalNode = node;\n while (node) {\n var parentElement = node.parentElement;\n var rootNode = getRootNode(node);\n if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow\n ) {\n // node has an undisclosed shadow which means we can only treat it as a black box, so we\n // fall back to a non-zero-area test\n return isZeroArea(node);\n } else if (node.assignedSlot) {\n // iterate up slot\n node = node.assignedSlot;\n } else if (!parentElement && rootNode !== node.ownerDocument) {\n // cross shadow boundary\n node = rootNode.host;\n } else {\n // iterate up normal dom\n node = parentElement;\n }\n }\n node = originalNode;\n }\n // else, `getShadowRoot` might be true, but all that does is enable shadow DOM support\n // (i.e. it does not also presume that all nodes might have undisclosed shadows); or\n // it might be a falsy value, which means shadow DOM support is disabled\n\n // Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)\n // now we can just test to see if it would normally be visible or not, provided it's\n // attached to the main document.\n // NOTE: We must consider case where node is inside a shadow DOM and given directly to\n // `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.\n\n if (isNodeAttached(node)) {\n // this works wherever the node is: if there's at least one client rect, it's\n // somehow displayed; it also covers the CSS 'display: contents' case where the\n // node itself is hidden in place of its contents; and there's no need to search\n // up the hierarchy either\n return !node.getClientRects().length;\n }\n\n // Else, the node isn't attached to the document, which means the `getClientRects()`\n // API will __always__ return zero rects (this can happen, for example, if React\n // is used to render nodes onto a detached tree, as confirmed in this thread:\n // https://github.com/facebook/react/issues/9117#issuecomment-284228870)\n //\n // It also means that even window.getComputedStyle(node).display will return `undefined`\n // because styles are only computed for nodes that are in the document.\n //\n // NOTE: THIS HAS BEEN THE CASE FOR YEARS. It is not new, nor is it caused by tabbable\n // somehow. Though it was never stated officially, anyone who has ever used tabbable\n // APIs on nodes in detached containers has actually implicitly used tabbable in what\n // was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck=\"none\"` mode -- essentially\n // considering __everything__ to be visible because of the innability to determine styles.\n //\n // v6.0.0: As of this major release, the default 'full' option __no longer treats detached\n // nodes as visible with the 'none' fallback.__\n if (displayCheck !== 'legacy-full') {\n return true; // hidden\n }\n // else, fallback to 'none' mode and consider the node visible\n } else if (displayCheck === 'non-zero-area') {\n // NOTE: Even though this tests that the node's client rect is non-zero to determine\n // whether it's displayed, and that a detached node will __always__ have a zero-area\n // client rect, we don't special-case for whether the node is attached or not. In\n // this mode, we do want to consider nodes that have a zero area to be hidden at all\n // times, and that includes attached or not.\n return isZeroArea(node);\n }\n\n // visible, as far as we can tell, or per current `displayCheck=none` mode, we assume\n // it's visible\n return false;\n};\n\n// form fields (nested) inside a disabled fieldset are not focusable/tabbable\n// unless they are in the _first_ <legend> element of the top-most disabled\n// fieldset\nvar isDisabledFromFieldset = function isDisabledFromFieldset(node) {\n if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {\n var parentNode = node.parentElement;\n // check if `node` is contained in a disabled <fieldset>\n while (parentNode) {\n if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {\n // look for the first <legend> among the children of the disabled <fieldset>\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n // when the first <legend> (in document order) is found\n if (child.tagName === 'LEGEND') {\n // if its parent <fieldset> is not nested in another disabled <fieldset>,\n // return whether `node` is a descendant of its first <legend>\n return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);\n }\n }\n // the disabled <fieldset> containing `node` has no <legend>\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n\n // else, node's tabbable/focusable state should not be affected by a fieldset's\n // enabled/disabled state\n return false;\n};\nvar isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {\n if (node.disabled ||\n // we must do an inert look up to filter out any elements inside an inert ancestor\n // because we're limited in the type of selectors we can use in JSDom (see related\n // note related to `candidateSelectors`)\n isInert(node) || isHiddenInput(node) || isHidden(node, options) ||\n // For a details element with a summary, the summary element gets the focus\n isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n};\nvar isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {\n if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {\n return false;\n }\n return true;\n};\nvar isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNode) {\n var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);\n if (isNaN(tabIndex) || tabIndex >= 0) {\n return true;\n }\n // If a custom element has an explicit negative tabindex,\n // browsers will not allow tab targeting said element's children.\n return false;\n};\n\n/**\n * @param {Array.<Element|CandidateScope>} candidates\n * @returns Element[]\n */\nvar sortByOrder = function sortByOrder(candidates) {\n var regularTabbables = [];\n var orderedTabbables = [];\n candidates.forEach(function (item, i) {\n var isScope = !!item.scopeParent;\n var element = isScope ? item.scopeParent : item;\n var candidateTabindex = getSortOrderTabIndex(element, isScope);\n var elements = isScope ? sortByOrder(item.candidates) : element;\n if (candidateTabindex === 0) {\n isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n item: item,\n isScope: isScope,\n content: elements\n });\n }\n });\n return orderedTabbables.sort(sortOrderedTabbables).reduce(function (acc, sortable) {\n sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);\n return acc;\n }, []).concat(regularTabbables);\n};\nvar tabbable = function tabbable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorTabbable.bind(null, options),\n flatten: false,\n getShadowRoot: options.getShadowRoot,\n shadowRootFilter: isValidShadowRootTabbable\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n }\n return sortByOrder(candidates);\n};\nvar focusable = function focusable(container, options) {\n options = options || {};\n var candidates;\n if (options.getShadowRoot) {\n candidates = getCandidatesIteratively([container], options.includeContainer, {\n filter: isNodeMatchingSelectorFocusable.bind(null, options),\n flatten: true,\n getShadowRoot: options.getShadowRoot\n });\n } else {\n candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n }\n return candidates;\n};\nvar isTabbable = function isTabbable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n};\nvar focusableCandidateSelector = /* #__PURE__ */candidateSelectors.concat('iframe').join(',');\nvar isFocusable = function isFocusable(node, options) {\n options = options || {};\n if (!node) {\n throw new Error('No node provided');\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n};\n\nexport { focusable, getTabIndex, isFocusable, isTabbable, tabbable };\n//# sourceMappingURL=index.esm.js.map\n","import { isShadowRoot, isHTMLElement } from '@floating-ui/utils/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport { floor } from '@floating-ui/utils';\nimport { tabbable } from 'tabbable';\n\n// Avoid Chrome DevTools blue warning.\nfunction getPlatform() {\n const uaData = navigator.userAgentData;\n if (uaData != null && uaData.platform) {\n return uaData.platform;\n }\n return navigator.platform;\n}\nfunction getUserAgent() {\n const uaData = navigator.userAgentData;\n if (uaData && Array.isArray(uaData.brands)) {\n return uaData.brands.map(_ref => {\n let {\n brand,\n version\n } = _ref;\n return brand + \"/\" + version;\n }).join(' ');\n }\n return navigator.userAgent;\n}\nfunction isSafari() {\n // Chrome DevTools does not complain about navigator.vendor\n return /apple/i.test(navigator.vendor);\n}\nfunction isAndroid() {\n const re = /android/i;\n return re.test(getPlatform()) || re.test(getUserAgent());\n}\nfunction isMac() {\n return getPlatform().toLowerCase().startsWith('mac') && !navigator.maxTouchPoints;\n}\nfunction isJSDOM() {\n return getUserAgent().includes('jsdom/');\n}\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nconst TYPEABLE_SELECTOR = \"input:not([type='hidden']):not([disabled]),\" + \"[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\";\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\n\nfunction activeElement(doc) {\n let activeElement = doc.activeElement;\n while (((_activeElement = activeElement) == null || (_activeElement = _activeElement.shadowRoot) == null ? void 0 : _activeElement.activeElement) != null) {\n var _activeElement;\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nfunction isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const e = event;\n return e.target != null && node.contains(e.target);\n}\nfunction isRootElement(element) {\n return element.matches('html,body');\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\nfunction isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nfunction isTypeableCombobox(element) {\n if (!element) return false;\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\nfunction matchesFocusVisible(element) {\n // We don't want to block focus from working with `visibleOnly`\n // (JSDOM doesn't match `:focus-visible` when the element has `:focus`)\n if (!element || isJSDOM()) return true;\n try {\n return element.matches(':focus-visible');\n } catch (_e) {\n return true;\n }\n}\nfunction getFloatingFocusElement(floatingElement) {\n if (!floatingElement) {\n return null;\n }\n // Try to find the element that has `{...getFloatingProps()}` spread on it.\n // This indicates the floating element is acting as a positioning wrapper, and\n // so focus should be managed on the child element with the event handlers and\n // aria props.\n return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(\"[\" + FOCUSABLE_ATTRIBUTE + \"]\") || floatingElement;\n}\n\nfunction getNodeChildren(nodes, id, onlyOpenChildren) {\n if (onlyOpenChildren === void 0) {\n onlyOpenChildren = true;\n }\n const directChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && (!onlyOpenChildren || ((_node$context = node.context) == null ? void 0 : _node$context.open));\n });\n return directChildren.flatMap(child => [child, ...getNodeChildren(nodes, child.id, onlyOpenChildren)]);\n}\nfunction getDeepestNode(nodes, id) {\n let deepestNodeId;\n let maxDepth = -1;\n function findDeepest(nodeId, depth) {\n if (depth > maxDepth) {\n deepestNodeId = nodeId;\n maxDepth = depth;\n }\n const children = getNodeChildren(nodes, nodeId);\n children.forEach(child => {\n findDeepest(child.id, depth + 1);\n });\n }\n findDeepest(id, 0);\n return nodes.find(node => node.id === deepestNodeId);\n}\nfunction getNodeAncestors(nodes, id) {\n var _nodes$find;\n let allAncestors = [];\n let currentParentId = (_nodes$find = nodes.find(node => node.id === id)) == null ? void 0 : _nodes$find.parentId;\n while (currentParentId) {\n const currentNode = nodes.find(node => node.id === currentParentId);\n currentParentId = currentNode == null ? void 0 : currentNode.parentId;\n if (currentNode) {\n allAncestors = allAncestors.concat(currentNode);\n }\n }\n return allAncestors;\n}\n\nfunction stopEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction isReactEvent(event) {\n return 'nativeEvent' in event;\n}\n\n// License: https://github.com/adobe/react-spectrum/blob/b35d5c02fe900badccd0cf1a8f23bb593419f238/packages/@react-aria/utils/src/isVirtualEvent.ts\nfunction isVirtualClick(event) {\n // FIXME: Firefox is now emitting a deprecation warning for `mozInputSource`.\n // Try to find a workaround for this. `react-aria` source still has the check.\n if (event.mozInputSource === 0 && event.isTrusted) {\n return true;\n }\n if (isAndroid() && event.pointerType) {\n return event.type === 'click' && event.buttons === 1;\n }\n return event.detail === 0 && !event.pointerType;\n}\nfunction isVirtualPointerEvent(event) {\n if (isJSDOM()) return false;\n return !isAndroid() && event.width === 0 && event.height === 0 || isAndroid() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse' ||\n // iOS VoiceOver returns 0.333• for width/height.\n event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'touch';\n}\nfunction isMouseLikePointerType(pointerType, strict) {\n // On some Linux machines with Chromium, mouse inputs return a `pointerType`\n // of \"pen\": https://github.com/floating-ui/floating-ui/issues/2015\n const values = ['mouse', 'pen'];\n if (!strict) {\n values.push('', undefined);\n }\n return values.includes(pointerType);\n}\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n ...React\n};\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\nconst useInsertionEffect = SafeReact.useInsertionEffect;\nconst useSafeInsertionEffect = useInsertionEffect || (fn => fn());\nfunction useEffectEvent(callback) {\n const ref = React.useRef(() => {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error('Cannot call an event handler while rendering.');\n }\n });\n useSafeInsertionEffect(() => {\n ref.current = callback;\n });\n return React.useCallback(function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return ref.current == null ? void 0 : ref.current(...args);\n }, []);\n}\n\nfunction isDifferentGridRow(index, cols, prevRow) {\n return Math.floor(index / cols) !== prevRow;\n}\nfunction isIndexOutOfListBounds(listRef, index) {\n return index < 0 || index >= listRef.current.length;\n}\nfunction getMinListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n disabledIndices\n });\n}\nfunction getMaxListIndex(listRef, disabledIndices) {\n return findNonDisabledListIndex(listRef, {\n decrement: true,\n startingIndex: listRef.current.length,\n disabledIndices\n });\n}\nfunction findNonDisabledListIndex(listRef, _temp) {\n let {\n startingIndex = -1,\n decrement = false,\n disabledIndices,\n amount = 1\n } = _temp === void 0 ? {} : _temp;\n let index = startingIndex;\n do {\n index += decrement ? -amount : amount;\n } while (index >= 0 && index <= listRef.current.length - 1 && isListIndexDisabled(listRef, index, disabledIndices));\n return index;\n}\nfunction getGridNavigatedIndex(listRef, _ref) {\n let {\n event,\n orientation,\n loop,\n rtl,\n cols,\n disabledIndices,\n minIndex,\n maxIndex,\n prevIndex,\n stopEvent: stop = false\n } = _ref;\n let nextIndex = prevIndex;\n if (event.key === ARROW_UP) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: nextIndex,\n amount: cols,\n decrement: true,\n disabledIndices\n });\n if (loop && (prevIndex - cols < minIndex || nextIndex < 0)) {\n const col = prevIndex % cols;\n const maxCol = maxIndex % cols;\n const offset = maxIndex - (maxCol - col);\n if (maxCol === col) {\n nextIndex = maxIndex;\n } else {\n nextIndex = maxCol > col ? offset : offset - cols;\n }\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === ARROW_DOWN) {\n stop && stopEvent(event);\n if (prevIndex === -1) {\n nextIndex = minIndex;\n } else {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n amount: cols,\n disabledIndices\n });\n if (loop && prevIndex + cols > maxIndex) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex % cols - cols,\n amount: cols,\n disabledIndices\n });\n }\n }\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n nextIndex = prevIndex;\n }\n }\n\n // Remains on the same row/column.\n if (orientation === 'both') {\n const prevRow = floor(prevIndex / cols);\n if (event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== cols - 1) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n if (event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT)) {\n stop && stopEvent(event);\n if (prevIndex % cols !== 0) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex,\n decrement: true,\n disabledIndices\n });\n if (loop && isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n } else if (loop) {\n nextIndex = findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex + (cols - prevIndex % cols),\n decrement: true,\n disabledIndices\n });\n }\n if (isDifferentGridRow(nextIndex, cols, prevRow)) {\n nextIndex = prevIndex;\n }\n }\n const lastRow = floor(maxIndex / cols) === prevRow;\n if (isIndexOutOfListBounds(listRef, nextIndex)) {\n if (loop && lastRow) {\n nextIndex = event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT) ? maxIndex : findNonDisabledListIndex(listRef, {\n startingIndex: prevIndex - prevIndex % cols - 1,\n disabledIndices\n });\n } else {\n nextIndex = prevIndex;\n }\n }\n }\n return nextIndex;\n}\n\n/** For each cell index, gets the item index that occupies that cell */\nfunction createGridCellMap(sizes, cols, dense) {\n const cellMap = [];\n let startIndex = 0;\n sizes.forEach((_ref2, index) => {\n let {\n width,\n height\n } = _ref2;\n if (width > cols) {\n if (process.env.NODE_ENV !== \"production\") {\n throw new Error(\"[Floating UI]: Invalid grid - item width at index \" + index + \" is greater than grid columns\");\n }\n }\n let itemPlaced = false;\n if (dense) {\n startIndex = 0;\n }\n while (!itemPlaced) {\n const targetCells = [];\n for (let i = 0; i < width; i++) {\n for (let j = 0; j < height; j++) {\n targetCells.push(startIndex + i + j * cols);\n }\n }\n if (startIndex % cols + width <= cols && targetCells.every(cell => cellMap[cell] == null)) {\n targetCells.forEach(cell => {\n cellMap[cell] = index;\n });\n itemPlaced = true;\n } else {\n startIndex++;\n }\n }\n });\n\n // convert into a non-sparse array\n return [...cellMap];\n}\n\n/** Gets cell index of an item's corner or -1 when index is -1. */\nfunction getGridCellIndexOfCorner(index, sizes, cellMap, cols, corner) {\n if (index === -1) return -1;\n const firstCellIndex = cellMap.indexOf(index);\n const sizeItem = sizes[index];\n switch (corner) {\n case 'tl':\n return firstCellIndex;\n case 'tr':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + sizeItem.width - 1;\n case 'bl':\n if (!sizeItem) {\n return firstCellIndex;\n }\n return firstCellIndex + (sizeItem.height - 1) * cols;\n case 'br':\n return cellMap.lastIndexOf(index);\n }\n}\n\n/** Gets all cell indices that correspond to the specified indices */\nfunction getGridCellIndices(indices, cellMap) {\n return cellMap.flatMap((index, cellIndex) => indices.includes(index) ? [cellIndex] : []);\n}\nfunction isListIndexDisabled(listRef, index, disabledIndices) {\n if (typeof disabledIndices === 'function') {\n return disabledIndices(index);\n } else if (disabledIndices) {\n return disabledIndices.includes(index);\n }\n const element = listRef.current[index];\n return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n}\n\nconst getTabbableOptions = () => ({\n getShadowRoot: true,\n displayCheck:\n // JSDOM does not support the `tabbable` library. To solve this we can\n // check if `ResizeObserver` is a real function (not polyfilled), which\n // determines if the current environment is JSDOM-like.\n typeof ResizeObserver === 'function' && ResizeObserver.toString().includes('[native code]') ? 'full' : 'none'\n});\nfunction getTabbableIn(container, dir) {\n const list = tabbable(container, getTabbableOptions());\n const len = list.length;\n if (len === 0) return;\n const active = activeElement(getDocument(container));\n const index = list.indexOf(active);\n const nextIndex = index === -1 ? dir === 1 ? 0 : len - 1 : index + dir;\n return list[nextIndex];\n}\nfunction getNextTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, 1) || referenceElement;\n}\nfunction getPreviousTabbable(referenceElement) {\n return getTabbableIn(getDocument(referenceElement).body, -1) || referenceElement;\n}\nfunction isOutsideEvent(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction disableFocusInside(container) {\n const tabbableElements = tabbable(container, getTabbableOptions());\n tabbableElements.forEach(element => {\n element.dataset.tabindex = element.getAttribute('tabindex') || '';\n element.setAttribute('tabindex', '-1');\n });\n}\nfunction enableFocusInside(container) {\n const elements = container.querySelectorAll('[data-tabindex]');\n elements.forEach(element => {\n const tabindex = element.dataset.tabindex;\n delete element.dataset.tabindex;\n if (tabindex) {\n element.setAttribute('tabindex', tabindex);\n } else {\n element.removeAttribute('tabindex');\n }\n });\n}\n\nexport { activeElement, contains, createGridCellMap, disableFocusInside, enableFocusInside, findNonDisabledListIndex, getDeepestNode, getDocument, getFloatingFocusElement, getGridCellIndexOfCorner, getGridCellIndices, getGridNavigatedIndex, getMaxListIndex, getMinListIndex, getNextTabbable, getNodeAncestors, getNodeChildren, getPlatform, getPreviousTabbable, getTabbableOptions, getTarget, getUserAgent, isAndroid, isDifferentGridRow, isEventTargetWithin, isIndexOutOfListBounds, isJSDOM, isListIndexDisabled, isMac, isMouseLikePointerType, isOutsideEvent, isReactEvent, isRootElement, isSafari, isTypeableCombobox, isTypeableElement, isVirtualClick, isVirtualPointerEvent, matchesFocusVisible, stopEvent, useEffectEvent, useLatestRef, index as useModernLayoutEffect };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","import { computePosition, arrow as arrow$2, autoPlacement as autoPlacement$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","import * as React from 'react';\nimport { useModernLayoutEffect, useEffectEvent, getMinListIndex, getMaxListIndex, createGridCellMap, isListIndexDisabled, getGridNavigatedIndex, getGridCellIndexOfCorner, getGridCellIndices, findNonDisabledListIndex, isIndexOutOfListBounds, useLatestRef, getDocument as getDocument$1, isMouseLikePointerType, contains as contains$1, isSafari, enableFocusInside, isOutsideEvent, getPreviousTabbable, getNextTabbable, disableFocusInside, isTypeableCombobox, getFloatingFocusElement, getTabbableOptions, getNodeAncestors, activeElement, getNodeChildren as getNodeChildren$1, stopEvent, getTarget as getTarget$1, isVirtualClick, isVirtualPointerEvent, getPlatform, isTypeableElement, isReactEvent, isRootElement, isEventTargetWithin, matchesFocusVisible, isMac, getDeepestNode, getUserAgent } from '@floating-ui/react/utils';\nimport { jsx, jsxs, Fragment } from 'react/jsx-runtime';\nimport { getComputedStyle, isElement, isShadowRoot, getNodeName, isNode, isHTMLElement, getWindow, isLastTraversableNode, getParentNode, isWebKit } from '@floating-ui/utils/dom';\nimport { tabbable, isTabbable, focusable } from 'tabbable';\nimport * as ReactDOM from 'react-dom';\nimport { getOverflowAncestors, useFloating as useFloating$1, offset, detectOverflow } from '@floating-ui/react-dom';\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, getOverflowAncestors, hide, inline, limitShift, offset, platform, shift, size } from '@floating-ui/react-dom';\nimport { evaluate, max, round, min } from '@floating-ui/utils';\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/react-utils#usemergerefs\n */\nfunction useMergeRefs(refs) {\n const cleanupRef = React.useRef(undefined);\n const refEffect = React.useCallback(instance => {\n const cleanups = refs.map(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n const refCallback = ref;\n const refCleanup = refCallback(instance);\n return typeof refCleanup === 'function' ? refCleanup : () => {\n refCallback(null);\n };\n }\n ref.current = instance;\n return () => {\n ref.current = null;\n };\n });\n return () => {\n cleanups.forEach(refCleanup => refCleanup == null ? void 0 : refCleanup());\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n return React.useMemo(() => {\n if (refs.every(ref => ref == null)) {\n return null;\n }\n return value => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (value != null) {\n cleanupRef.current = refEffect(value);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n\nfunction sortByDocumentPosition(a, b) {\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return -1;\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {\n return 1;\n }\n return 0;\n}\nconst FloatingListContext = /*#__PURE__*/React.createContext({\n register: () => {},\n unregister: () => {},\n map: /*#__PURE__*/new Map(),\n elementsRef: {\n current: []\n }\n});\n/**\n * Provides context for a list of items within the floating element.\n * @see https://floating-ui.com/docs/FloatingList\n */\nfunction FloatingList(props) {\n const {\n children,\n elementsRef,\n labelsRef\n } = props;\n const [nodes, setNodes] = React.useState(() => new Set());\n const register = React.useCallback(node => {\n setNodes(prevSet => new Set(prevSet).add(node));\n }, []);\n const unregister = React.useCallback(node => {\n setNodes(prevSet => {\n const set = new Set(prevSet);\n set.delete(node);\n return set;\n });\n }, []);\n const map = React.useMemo(() => {\n const newMap = new Map();\n const sortedNodes = Array.from(nodes.keys()).sort(sortByDocumentPosition);\n sortedNodes.forEach((node, index) => {\n newMap.set(node, index);\n });\n return newMap;\n }, [nodes]);\n return /*#__PURE__*/jsx(FloatingListContext.Provider, {\n value: React.useMemo(() => ({\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n }), [register, unregister, map, elementsRef, labelsRef]),\n children: children\n });\n}\n/**\n * Used to register a list item and its index (DOM position) in the\n * `FloatingList`.\n * @see https://floating-ui.com/docs/FloatingList#uselistitem\n */\nfunction useListItem(props) {\n if (props === void 0) {\n props = {};\n }\n const {\n label\n } = props;\n const {\n register,\n unregister,\n map,\n elementsRef,\n labelsRef\n } = React.useContext(FloatingListContext);\n const [index, setIndex] = React.useState(null);\n const componentRef = React.useRef(null);\n const ref = React.useCallback(node => {\n componentRef.current = node;\n if (index !== null) {\n elementsRef.current[index] = node;\n if (labelsRef) {\n var _node$textContent;\n const isLabelDefined = label !== undefined;\n labelsRef.current[index] = isLabelDefined ? label : (_node$textContent = node == null ? void 0 : node.textContent) != null ? _node$textContent : null;\n }\n }\n }, [index, elementsRef, labelsRef, label]);\n useModernLayoutEffect(() => {\n const node = componentRef.current;\n if (node) {\n register(node);\n return () => {\n unregister(node);\n };\n }\n }, [register, unregister]);\n useModernLayoutEffect(() => {\n const index = componentRef.current ? map.get(componentRef.current) : null;\n if (index != null) {\n setIndex(index);\n }\n }, [map]);\n return React.useMemo(() => ({\n ref,\n index: index == null ? -1 : index\n }), [index, ref]);\n}\n\nconst FOCUSABLE_ATTRIBUTE = 'data-floating-ui-focusable';\nconst ACTIVE_KEY = 'active';\nconst SELECTED_KEY = 'selected';\nconst ARROW_LEFT = 'ArrowLeft';\nconst ARROW_RIGHT = 'ArrowRight';\nconst ARROW_UP = 'ArrowUp';\nconst ARROW_DOWN = 'ArrowDown';\n\nfunction renderJsx(render, computedProps) {\n if (typeof render === 'function') {\n return render(computedProps);\n }\n if (render) {\n return /*#__PURE__*/React.cloneElement(render, computedProps);\n }\n return /*#__PURE__*/jsx(\"div\", {\n ...computedProps\n });\n}\nconst CompositeContext = /*#__PURE__*/React.createContext({\n activeIndex: 0,\n onNavigate: () => {}\n});\nconst horizontalKeys = [ARROW_LEFT, ARROW_RIGHT];\nconst verticalKeys = [ARROW_UP, ARROW_DOWN];\nconst allKeys = [...horizontalKeys, ...verticalKeys];\n\n/**\n * Creates a single tab stop whose items are navigated by arrow keys, which\n * provides list navigation outside of floating element contexts.\n *\n * This is useful to enable navigation of a list of items that aren’t part of a\n * floating element. A menubar is an example of a composite, with each reference\n * element being an item.\n * @see https://floating-ui.com/docs/Composite\n */\nconst Composite = /*#__PURE__*/React.forwardRef(function Composite(props, forwardedRef) {\n const {\n render,\n orientation = 'both',\n loop = true,\n rtl = false,\n cols = 1,\n disabledIndices,\n activeIndex: externalActiveIndex,\n onNavigate: externalSetActiveIndex,\n itemSizes,\n dense = false,\n ...domProps\n } = props;\n const [internalActiveIndex, internalSetActiveIndex] = React.useState(0);\n const activeIndex = externalActiveIndex != null ? externalActiveIndex : internalActiveIndex;\n const onNavigate = useEffectEvent(externalSetActiveIndex != null ? externalSetActiveIndex : internalSetActiveIndex);\n const elementsRef = React.useRef([]);\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const contextValue = React.useMemo(() => ({\n activeIndex,\n onNavigate\n }), [activeIndex, onNavigate]);\n const isGrid = cols > 1;\n function handleKeyDown(event) {\n if (!allKeys.includes(event.key)) return;\n let nextIndex = activeIndex;\n const minIndex = getMinListIndex(elementsRef, disabledIndices);\n const maxIndex = getMaxListIndex(elementsRef, disabledIndices);\n const horizontalEndKey = rtl ? ARROW_LEFT : ARROW_RIGHT;\n const horizontalStartKey = rtl ? ARROW_RIGHT : ARROW_LEFT;\n if (isGrid) {\n const sizes = itemSizes || Array.from({\n length: elementsRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = createGridCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !isListIndexDisabled(elementsRef, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isListIndexDisabled(elementsRef, index, disabledIndices) ? cellIndex : foundIndex, -1);\n const maybeNextIndex = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex ? elementsRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n rtl,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getGridCellIndices([...((typeof disabledIndices !== 'function' ? disabledIndices : null) || elementsRef.current.map((_, index) => isListIndexDisabled(elementsRef, index, disabledIndices) ? index : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getGridCellIndexOfCorner(activeIndex > maxIndex ? minIndex : activeIndex, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction we're\n // moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === horizontalEndKey ? 'tr' : 'tl')\n })];\n if (maybeNextIndex != null) {\n nextIndex = maybeNextIndex;\n }\n }\n const toEndKeys = {\n horizontal: [horizontalEndKey],\n vertical: [ARROW_DOWN],\n both: [horizontalEndKey, ARROW_DOWN]\n }[orientation];\n const toStartKeys = {\n horizontal: [horizontalStartKey],\n vertical: [ARROW_UP],\n both: [horizontalStartKey, ARROW_UP]\n }[orientation];\n const preventedKeys = isGrid ? allKeys : {\n horizontal: horizontalKeys,\n vertical: verticalKeys,\n both: allKeys\n }[orientation];\n if (nextIndex === activeIndex && [...toEndKeys, ...toStartKeys].includes(event.key)) {\n if (loop && nextIndex === maxIndex && toEndKeys.includes(event.key)) {\n nextIndex = minIndex;\n } else if (loop && nextIndex === minIndex && toStartKeys.includes(event.key)) {\n nextIndex = maxIndex;\n } else {\n nextIndex = findNonDisabledListIndex(elementsRef, {\n startingIndex: nextIndex,\n decrement: toStartKeys.includes(event.key),\n disabledIndices\n });\n }\n }\n if (nextIndex !== activeIndex && !isIndexOutOfListBounds(elementsRef, nextIndex)) {\n var _elementsRef$current$;\n event.stopPropagation();\n if (preventedKeys.includes(event.key)) {\n event.preventDefault();\n }\n onNavigate(nextIndex);\n (_elementsRef$current$ = elementsRef.current[nextIndex]) == null || _elementsRef$current$.focus();\n }\n }\n const computedProps = {\n ...domProps,\n ...renderElementProps,\n ref: forwardedRef,\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n onKeyDown(e) {\n domProps.onKeyDown == null || domProps.onKeyDown(e);\n renderElementProps.onKeyDown == null || renderElementProps.onKeyDown(e);\n handleKeyDown(e);\n }\n };\n return /*#__PURE__*/jsx(CompositeContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/jsx(FloatingList, {\n elementsRef: elementsRef,\n children: renderJsx(render, computedProps)\n })\n });\n});\n/**\n * @see https://floating-ui.com/docs/Composite\n */\nconst CompositeItem = /*#__PURE__*/React.forwardRef(function CompositeItem(props, forwardedRef) {\n const {\n render,\n ...domProps\n } = props;\n const renderElementProps = render && typeof render !== 'function' ? render.props : {};\n const {\n activeIndex,\n onNavigate\n } = React.useContext(CompositeContext);\n const {\n ref,\n index\n } = useListItem();\n const mergedRef = useMergeRefs([ref, forwardedRef, renderElementProps.ref]);\n const isActive = activeIndex === index;\n const computedProps = {\n ...domProps,\n ...renderElementProps,\n ref: mergedRef,\n tabIndex: isActive ? 0 : -1,\n 'data-active': isActive ? '' : undefined,\n onFocus(e) {\n domProps.onFocus == null || domProps.onFocus(e);\n renderElementProps.onFocus == null || renderElementProps.onFocus(e);\n onNavigate(index);\n }\n };\n return renderJsx(render, computedProps);\n});\n\n// https://github.com/mui/material-ui/issues/41190#issuecomment-2040873379\nconst SafeReact = {\n ...React\n};\n\nlet serverHandoffComplete = false;\nlet count = 0;\nconst genId = () => // Ensure the id is unique with multiple independent versions of Floating UI\n// on <React 18\n\"floating-ui-\" + Math.random().toString(36).slice(2, 6) + count++;\nfunction useFloatingId() {\n const [id, setId] = React.useState(() => serverHandoffComplete ? genId() : undefined);\n useModernLayoutEffect(() => {\n if (id == null) {\n setId(genId());\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n React.useEffect(() => {\n serverHandoffComplete = true;\n }, []);\n return id;\n}\nconst useReactId = SafeReact.useId;\n\n/**\n * Uses React 18's built-in `useId()` when available, or falls back to a\n * slightly less performant (requiring a double render) implementation for\n * earlier React versions.\n * @see https://floating-ui.com/docs/react-utils#useid\n */\nconst useId = useReactId || useFloatingId;\n\nlet devMessageSet;\nif (process.env.NODE_ENV !== \"production\") {\n devMessageSet = /*#__PURE__*/new Set();\n}\nfunction warn() {\n var _devMessageSet;\n for (var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++) {\n messages[_key] = arguments[_key];\n }\n const message = \"Floating UI: \" + messages.join(' ');\n if (!((_devMessageSet = devMessageSet) != null && _devMessageSet.has(message))) {\n var _devMessageSet2;\n (_devMessageSet2 = devMessageSet) == null || _devMessageSet2.add(message);\n console.warn(message);\n }\n}\nfunction error() {\n var _devMessageSet3;\n for (var _len2 = arguments.length, messages = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n messages[_key2] = arguments[_key2];\n }\n const message = \"Floating UI: \" + messages.join(' ');\n if (!((_devMessageSet3 = devMessageSet) != null && _devMessageSet3.has(message))) {\n var _devMessageSet4;\n (_devMessageSet4 = devMessageSet) == null || _devMessageSet4.add(message);\n console.error(message);\n }\n}\n\n/**\n * Renders a pointing arrow triangle.\n * @see https://floating-ui.com/docs/FloatingArrow\n */\nconst FloatingArrow = /*#__PURE__*/React.forwardRef(function FloatingArrow(props, ref) {\n const {\n context: {\n placement,\n elements: {\n floating\n },\n middlewareData: {\n arrow,\n shift\n }\n },\n width = 14,\n height = 7,\n tipRadius = 0,\n strokeWidth = 0,\n staticOffset,\n stroke,\n d,\n style: {\n transform,\n ...restStyle\n } = {},\n ...rest\n } = props;\n if (process.env.NODE_ENV !== \"production\") {\n if (!ref) {\n warn('The `ref` prop is required for `FloatingArrow`.');\n }\n }\n const clipPathId = useId();\n const [isRTL, setIsRTL] = React.useState(false);\n\n // https://github.com/floating-ui/floating-ui/issues/2932\n useModernLayoutEffect(() => {\n if (!floating) return;\n const isRTL = getComputedStyle(floating).direction === 'rtl';\n if (isRTL) {\n setIsRTL(true);\n }\n }, [floating]);\n if (!floating) {\n return null;\n }\n const [side, alignment] = placement.split('-');\n const isVerticalSide = side === 'top' || side === 'bottom';\n let computedStaticOffset = staticOffset;\n if (isVerticalSide && shift != null && shift.x || !isVerticalSide && shift != null && shift.y) {\n computedStaticOffset = null;\n }\n\n // Strokes must be double the border width, this ensures the stroke's width\n // works as you'd expect.\n const computedStrokeWidth = strokeWidth * 2;\n const halfStrokeWidth = computedStrokeWidth / 2;\n const svgX = width / 2 * (tipRadius / -8 + 1);\n const svgY = height / 2 * tipRadius / 4;\n const isCustomShape = !!d;\n const yOffsetProp = computedStaticOffset && alignment === 'end' ? 'bottom' : 'top';\n let xOffsetProp = computedStaticOffset && alignment === 'end' ? 'right' : 'left';\n if (computedStaticOffset && isRTL) {\n xOffsetProp = alignment === 'end' ? 'left' : 'right';\n }\n const arrowX = (arrow == null ? void 0 : arrow.x) != null ? computedStaticOffset || arrow.x : '';\n const arrowY = (arrow == null ? void 0 : arrow.y) != null ? computedStaticOffset || arrow.y : '';\n const dValue = d || 'M0,0' + (\" H\" + width) + (\" L\" + (width - svgX) + \",\" + (height - svgY)) + (\" Q\" + width / 2 + \",\" + height + \" \" + svgX + \",\" + (height - svgY)) + ' Z';\n const rotation = {\n top: isCustomShape ? 'rotate(180deg)' : '',\n left: isCustomShape ? 'rotate(90deg)' : 'rotate(-90deg)',\n bottom: isCustomShape ? '' : 'rotate(180deg)',\n right: isCustomShape ? 'rotate(-90deg)' : 'rotate(90deg)'\n }[side];\n return /*#__PURE__*/jsxs(\"svg\", {\n ...rest,\n \"aria-hidden\": true,\n ref: ref,\n width: isCustomShape ? width : width + computedStrokeWidth,\n height: width,\n viewBox: \"0 0 \" + width + \" \" + (height > width ? height : width),\n style: {\n position: 'absolute',\n pointerEvents: 'none',\n [xOffsetProp]: arrowX,\n [yOffsetProp]: arrowY,\n [side]: isVerticalSide || isCustomShape ? '100%' : \"calc(100% - \" + computedStrokeWidth / 2 + \"px)\",\n transform: [rotation, transform].filter(t => !!t).join(' '),\n ...restStyle\n },\n children: [computedStrokeWidth > 0 && /*#__PURE__*/jsx(\"path\", {\n clipPath: \"url(#\" + clipPathId + \")\",\n fill: \"none\",\n stroke: stroke\n // Account for the stroke on the fill path rendered below.\n ,\n strokeWidth: computedStrokeWidth + (d ? 0 : 1),\n d: dValue\n }), /*#__PURE__*/jsx(\"path\", {\n stroke: computedStrokeWidth && !d ? rest.fill : 'none',\n d: dValue\n }), /*#__PURE__*/jsx(\"clipPath\", {\n id: clipPathId,\n children: /*#__PURE__*/jsx(\"rect\", {\n x: -halfStrokeWidth,\n y: halfStrokeWidth * (isCustomShape ? -1 : 1),\n width: width + computedStrokeWidth,\n height: width\n })\n })]\n });\n});\n\nfunction createEventEmitter() {\n const map = new Map();\n return {\n emit(event, data) {\n var _map$get;\n (_map$get = map.get(event)) == null || _map$get.forEach(listener => listener(data));\n },\n on(event, listener) {\n if (!map.has(event)) {\n map.set(event, new Set());\n }\n map.get(event).add(listener);\n },\n off(event, listener) {\n var _map$get2;\n (_map$get2 = map.get(event)) == null || _map$get2.delete(listener);\n }\n };\n}\n\nconst FloatingNodeContext = /*#__PURE__*/React.createContext(null);\nconst FloatingTreeContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the parent node id for nested floating elements, if available.\n * Returns `null` for top-level floating elements.\n */\nconst useFloatingParentNodeId = () => {\n var _React$useContext;\n return ((_React$useContext = React.useContext(FloatingNodeContext)) == null ? void 0 : _React$useContext.id) || null;\n};\n\n/**\n * Returns the nearest floating tree context, if available.\n */\nconst useFloatingTree = () => React.useContext(FloatingTreeContext);\n\n/**\n * Registers a node into the `FloatingTree`, returning its id.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction useFloatingNodeId(customParentId) {\n const id = useId();\n const tree = useFloatingTree();\n const reactParentId = useFloatingParentNodeId();\n const parentId = customParentId || reactParentId;\n useModernLayoutEffect(() => {\n if (!id) return;\n const node = {\n id,\n parentId\n };\n tree == null || tree.addNode(node);\n return () => {\n tree == null || tree.removeNode(node);\n };\n }, [tree, id, parentId]);\n return id;\n}\n/**\n * Provides parent node context for nested floating elements.\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingNode(props) {\n const {\n children,\n id\n } = props;\n const parentId = useFloatingParentNodeId();\n return /*#__PURE__*/jsx(FloatingNodeContext.Provider, {\n value: React.useMemo(() => ({\n id,\n parentId\n }), [id, parentId]),\n children: children\n });\n}\n/**\n * Provides context for nested floating elements when they are not children of\n * each other on the DOM.\n * This is not necessary in all cases, except when there must be explicit communication between parent and child floating elements. It is necessary for:\n * - The `bubbles` option in the `useDismiss()` Hook\n * - Nested virtual list navigation\n * - Nested floating elements that each open on hover\n * - Custom communication between parent and child floating elements\n * @see https://floating-ui.com/docs/FloatingTree\n */\nfunction FloatingTree(props) {\n const {\n children\n } = props;\n const nodesRef = React.useRef([]);\n const addNode = React.useCallback(node => {\n nodesRef.current = [...nodesRef.current, node];\n }, []);\n const removeNode = React.useCallback(node => {\n nodesRef.current = nodesRef.current.filter(n => n !== node);\n }, []);\n const [events] = React.useState(() => createEventEmitter());\n return /*#__PURE__*/jsx(FloatingTreeContext.Provider, {\n value: React.useMemo(() => ({\n nodesRef,\n addNode,\n removeNode,\n events\n }), [addNode, removeNode, events]),\n children: children\n });\n}\n\nfunction createAttribute(name) {\n return \"data-floating-ui-\" + name;\n}\n\nfunction clearTimeoutIfSet(timeoutRef) {\n if (timeoutRef.current !== -1) {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = -1;\n }\n}\n\nconst safePolygonIdentifier = /*#__PURE__*/createAttribute('safe-polygon');\nfunction getDelay(value, prop, pointerType) {\n if (pointerType && !isMouseLikePointerType(pointerType)) {\n return 0;\n }\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'function') {\n const result = value();\n if (typeof result === 'number') {\n return result;\n }\n return result == null ? void 0 : result[prop];\n }\n return value == null ? void 0 : value[prop];\n}\nfunction getRestMs(value) {\n if (typeof value === 'function') {\n return value();\n }\n return value;\n}\n/**\n * Opens the floating element while hovering over the reference element, like\n * CSS `:hover`.\n * @see https://floating-ui.com/docs/useHover\n */\nfunction useHover(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n events,\n elements\n } = context;\n const {\n enabled = true,\n delay = 0,\n handleClose = null,\n mouseOnly = false,\n restMs = 0,\n move = true\n } = props;\n const tree = useFloatingTree();\n const parentId = useFloatingParentNodeId();\n const handleCloseRef = useLatestRef(handleClose);\n const delayRef = useLatestRef(delay);\n const openRef = useLatestRef(open);\n const restMsRef = useLatestRef(restMs);\n const pointerTypeRef = React.useRef();\n const timeoutRef = React.useRef(-1);\n const handlerRef = React.useRef();\n const restTimeoutRef = React.useRef(-1);\n const blockMouseMoveRef = React.useRef(true);\n const performedPointerEventsMutationRef = React.useRef(false);\n const unbindMouseMoveRef = React.useRef(() => {});\n const restTimeoutPendingRef = React.useRef(false);\n const isHoverOpen = useEffectEvent(() => {\n var _dataRef$current$open;\n const type = (_dataRef$current$open = dataRef.current.openEvent) == null ? void 0 : _dataRef$current$open.type;\n return (type == null ? void 0 : type.includes('mouse')) && type !== 'mousedown';\n });\n\n // When closing before opening, clear the delay timeouts to cancel it\n // from showing.\n React.useEffect(() => {\n if (!enabled) return;\n function onOpenChange(_ref) {\n let {\n open\n } = _ref;\n if (!open) {\n clearTimeoutIfSet(timeoutRef);\n clearTimeoutIfSet(restTimeoutRef);\n blockMouseMoveRef.current = true;\n restTimeoutPendingRef.current = false;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [enabled, events]);\n React.useEffect(() => {\n if (!enabled) return;\n if (!handleCloseRef.current) return;\n if (!open) return;\n function onLeave(event) {\n if (isHoverOpen()) {\n onOpenChange(false, event, 'hover');\n }\n }\n const html = getDocument$1(elements.floating).documentElement;\n html.addEventListener('mouseleave', onLeave);\n return () => {\n html.removeEventListener('mouseleave', onLeave);\n };\n }, [elements.floating, open, onOpenChange, enabled, handleCloseRef, isHoverOpen]);\n const closeWithDelay = React.useCallback(function (event, runElseBranch, reason) {\n if (runElseBranch === void 0) {\n runElseBranch = true;\n }\n if (reason === void 0) {\n reason = 'hover';\n }\n const closeDelay = getDelay(delayRef.current, 'close', pointerTypeRef.current);\n if (closeDelay && !handlerRef.current) {\n clearTimeoutIfSet(timeoutRef);\n timeoutRef.current = window.setTimeout(() => onOpenChange(false, event, reason), closeDelay);\n } else if (runElseBranch) {\n clearTimeoutIfSet(timeoutRef);\n onOpenChange(false, event, reason);\n }\n }, [delayRef, onOpenChange]);\n const cleanupMouseMoveHandler = useEffectEvent(() => {\n unbindMouseMoveRef.current();\n handlerRef.current = undefined;\n });\n const clearPointerEvents = useEffectEvent(() => {\n if (performedPointerEventsMutationRef.current) {\n const body = getDocument$1(elements.floating).body;\n body.style.pointerEvents = '';\n body.removeAttribute(safePolygonIdentifier);\n performedPointerEventsMutationRef.current = false;\n }\n });\n const isClickLikeOpenEvent = useEffectEvent(() => {\n return dataRef.current.openEvent ? ['click', 'mousedown'].includes(dataRef.current.openEvent.type) : false;\n });\n\n // Registering the mouse events on the reference directly to bypass React's\n // delegation system. If the cursor was on a disabled element and then entered\n // the reference (no gap), `mouseenter` doesn't fire in the delegation system.\n React.useEffect(() => {\n if (!enabled) return;\n function onReferenceMouseEnter(event) {\n clearTimeoutIfSet(timeoutRef);\n blockMouseMoveRef.current = false;\n if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current) || getRestMs(restMsRef.current) > 0 && !getDelay(delayRef.current, 'open')) {\n return;\n }\n const openDelay = getDelay(delayRef.current, 'open', pointerTypeRef.current);\n if (openDelay) {\n timeoutRef.current = window.setTimeout(() => {\n if (!openRef.current) {\n onOpenChange(true, event, 'hover');\n }\n }, openDelay);\n } else if (!open) {\n onOpenChange(true, event, 'hover');\n }\n }\n function onReferenceMouseLeave(event) {\n if (isClickLikeOpenEvent()) {\n clearPointerEvents();\n return;\n }\n unbindMouseMoveRef.current();\n const doc = getDocument$1(elements.floating);\n clearTimeoutIfSet(restTimeoutRef);\n restTimeoutPendingRef.current = false;\n if (handleCloseRef.current && dataRef.current.floatingContext) {\n // Prevent clearing `onScrollMouseLeave` timeout.\n if (!open) {\n clearTimeoutIfSet(timeoutRef);\n }\n handlerRef.current = handleCloseRef.current({\n ...dataRef.current.floatingContext,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event, true, 'safe-polygon');\n }\n }\n });\n const handler = handlerRef.current;\n doc.addEventListener('mousemove', handler);\n unbindMouseMoveRef.current = () => {\n doc.removeEventListener('mousemove', handler);\n };\n return;\n }\n\n // Allow interactivity without `safePolygon` on touch devices. With a\n // pointer, a short close delay is an alternative, so it should work\n // consistently.\n const shouldClose = pointerTypeRef.current === 'touch' ? !contains$1(elements.floating, event.relatedTarget) : true;\n if (shouldClose) {\n closeWithDelay(event);\n }\n }\n\n // Ensure the floating element closes after scrolling even if the pointer\n // did not move.\n // https://github.com/floating-ui/floating-ui/discussions/1692\n function onScrollMouseLeave(event) {\n if (isClickLikeOpenEvent()) return;\n if (!dataRef.current.floatingContext) return;\n handleCloseRef.current == null || handleCloseRef.current({\n ...dataRef.current.floatingContext,\n tree,\n x: event.clientX,\n y: event.clientY,\n onClose() {\n clearPointerEvents();\n cleanupMouseMoveHandler();\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event);\n }\n }\n })(event);\n }\n function onFloatingMouseEnter() {\n clearTimeoutIfSet(timeoutRef);\n }\n function onFloatingMouseLeave(event) {\n if (!isClickLikeOpenEvent()) {\n closeWithDelay(event, false);\n }\n }\n if (isElement(elements.domReference)) {\n const reference = elements.domReference;\n const floating = elements.floating;\n if (open) {\n reference.addEventListener('mouseleave', onScrollMouseLeave);\n }\n if (move) {\n reference.addEventListener('mousemove', onReferenceMouseEnter, {\n once: true\n });\n }\n reference.addEventListener('mouseenter', onReferenceMouseEnter);\n reference.addEventListener('mouseleave', onReferenceMouseLeave);\n if (floating) {\n floating.addEventListener('mouseleave', onScrollMouseLeave);\n floating.addEventListener('mouseenter', onFloatingMouseEnter);\n floating.addEventListener('mouseleave', onFloatingMouseLeave);\n }\n return () => {\n if (open) {\n reference.removeEventListener('mouseleave', onScrollMouseLeave);\n }\n if (move) {\n reference.removeEventListener('mousemove', onReferenceMouseEnter);\n }\n reference.removeEventListener('mouseenter', onReferenceMouseEnter);\n reference.removeEventListener('mouseleave', onReferenceMouseLeave);\n if (floating) {\n floating.removeEventListener('mouseleave', onScrollMouseLeave);\n floating.removeEventListener('mouseenter', onFloatingMouseEnter);\n floating.removeEventListener('mouseleave', onFloatingMouseLeave);\n }\n };\n }\n }, [elements, enabled, context, mouseOnly, move, closeWithDelay, cleanupMouseMoveHandler, clearPointerEvents, onOpenChange, open, openRef, tree, delayRef, handleCloseRef, dataRef, isClickLikeOpenEvent, restMsRef]);\n\n // Block pointer-events of every element other than the reference and floating\n // while the floating element is open and has a `handleClose` handler. Also\n // handles nested floating elements.\n // https://github.com/floating-ui/floating-ui/issues/1722\n useModernLayoutEffect(() => {\n var _handleCloseRef$curre;\n if (!enabled) return;\n if (open && (_handleCloseRef$curre = handleCloseRef.current) != null && (_handleCloseRef$curre = _handleCloseRef$curre.__options) != null && _handleCloseRef$curre.blockPointerEvents && isHoverOpen()) {\n performedPointerEventsMutationRef.current = true;\n const floatingEl = elements.floating;\n if (isElement(elements.domReference) && floatingEl) {\n var _tree$nodesRef$curren;\n const body = getDocument$1(elements.floating).body;\n body.setAttribute(safePolygonIdentifier, '');\n const ref = elements.domReference;\n const parentFloating = tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null ? void 0 : _tree$nodesRef$curren.elements.floating;\n if (parentFloating) {\n parentFloating.style.pointerEvents = '';\n }\n body.style.pointerEvents = 'none';\n ref.style.pointerEvents = 'auto';\n floatingEl.style.pointerEvents = 'auto';\n return () => {\n body.style.pointerEvents = '';\n ref.style.pointerEvents = '';\n floatingEl.style.pointerEvents = '';\n };\n }\n }\n }, [enabled, open, parentId, elements, tree, handleCloseRef, isHoverOpen]);\n useModernLayoutEffect(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n restTimeoutPendingRef.current = false;\n cleanupMouseMoveHandler();\n clearPointerEvents();\n }\n }, [open, cleanupMouseMoveHandler, clearPointerEvents]);\n React.useEffect(() => {\n return () => {\n cleanupMouseMoveHandler();\n clearTimeoutIfSet(timeoutRef);\n clearTimeoutIfSet(restTimeoutRef);\n clearPointerEvents();\n };\n }, [enabled, elements.domReference, cleanupMouseMoveHandler, clearPointerEvents]);\n const reference = React.useMemo(() => {\n function setPointerRef(event) {\n pointerTypeRef.current = event.pointerType;\n }\n return {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n onMouseMove(event) {\n const {\n nativeEvent\n } = event;\n function handleMouseMove() {\n if (!blockMouseMoveRef.current && !openRef.current) {\n onOpenChange(true, nativeEvent, 'hover');\n }\n }\n if (mouseOnly && !isMouseLikePointerType(pointerTypeRef.current)) {\n return;\n }\n if (open || getRestMs(restMsRef.current) === 0) {\n return;\n }\n\n // Ignore insignificant movements to account for tremors.\n if (restTimeoutPendingRef.current && event.movementX ** 2 + event.movementY ** 2 < 2) {\n return;\n }\n clearTimeoutIfSet(restTimeoutRef);\n if (pointerTypeRef.current === 'touch') {\n handleMouseMove();\n } else {\n restTimeoutPendingRef.current = true;\n restTimeoutRef.current = window.setTimeout(handleMouseMove, getRestMs(restMsRef.current));\n }\n }\n };\n }, [mouseOnly, onOpenChange, open, openRef, restMsRef]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst NOOP = () => {};\nconst FloatingDelayGroupContext = /*#__PURE__*/React.createContext({\n delay: 0,\n initialDelay: 0,\n timeoutMs: 0,\n currentId: null,\n setCurrentId: NOOP,\n setState: NOOP,\n isInstantPhase: false\n});\n\n/**\n * @deprecated\n * Use the return value of `useDelayGroup()` instead.\n */\nconst useDelayGroupContext = () => React.useContext(FloatingDelayGroupContext);\n/**\n * Provides context for a group of floating elements that should share a\n * `delay`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction FloatingDelayGroup(props) {\n const {\n children,\n delay,\n timeoutMs = 0\n } = props;\n const [state, setState] = React.useReducer((prev, next) => ({\n ...prev,\n ...next\n }), {\n delay,\n timeoutMs,\n initialDelay: delay,\n currentId: null,\n isInstantPhase: false\n });\n const initialCurrentIdRef = React.useRef(null);\n const setCurrentId = React.useCallback(currentId => {\n setState({\n currentId\n });\n }, []);\n useModernLayoutEffect(() => {\n if (state.currentId) {\n if (initialCurrentIdRef.current === null) {\n initialCurrentIdRef.current = state.currentId;\n } else if (!state.isInstantPhase) {\n setState({\n isInstantPhase: true\n });\n }\n } else {\n if (state.isInstantPhase) {\n setState({\n isInstantPhase: false\n });\n }\n initialCurrentIdRef.current = null;\n }\n }, [state.currentId, state.isInstantPhase]);\n return /*#__PURE__*/jsx(FloatingDelayGroupContext.Provider, {\n value: React.useMemo(() => ({\n ...state,\n setState,\n setCurrentId\n }), [state, setCurrentId]),\n children: children\n });\n}\n/**\n * Enables grouping when called inside a component that's a child of a\n * `FloatingDelayGroup`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction useDelayGroup(context, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n open,\n onOpenChange,\n floatingId\n } = context;\n const {\n id: optionId,\n enabled = true\n } = options;\n const id = optionId != null ? optionId : floatingId;\n const groupContext = useDelayGroupContext();\n const {\n currentId,\n setCurrentId,\n initialDelay,\n setState,\n timeoutMs\n } = groupContext;\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (!currentId) return;\n setState({\n delay: {\n open: 1,\n close: getDelay(initialDelay, 'close')\n }\n });\n if (currentId !== id) {\n onOpenChange(false);\n }\n }, [enabled, id, onOpenChange, setState, currentId, initialDelay]);\n useModernLayoutEffect(() => {\n function unset() {\n onOpenChange(false);\n setState({\n delay: initialDelay,\n currentId: null\n });\n }\n if (!enabled) return;\n if (!currentId) return;\n if (!open && currentId === id) {\n if (timeoutMs) {\n const timeout = window.setTimeout(unset, timeoutMs);\n return () => {\n clearTimeout(timeout);\n };\n }\n unset();\n }\n }, [enabled, open, setState, currentId, id, onOpenChange, initialDelay, timeoutMs]);\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (setCurrentId === NOOP || !open) return;\n setCurrentId(id);\n }, [enabled, open, setCurrentId, id]);\n return groupContext;\n}\n\nconst NextFloatingDelayGroupContext = /*#__PURE__*/React.createContext({\n hasProvider: false,\n timeoutMs: 0,\n delayRef: {\n current: 0\n },\n initialDelayRef: {\n current: 0\n },\n timeoutIdRef: {\n current: -1\n },\n currentIdRef: {\n current: null\n },\n currentContextRef: {\n current: null\n }\n});\n/**\n * Experimental next version of `FloatingDelayGroup` to become the default\n * in the future. This component is not yet stable.\n * Provides context for a group of floating elements that should share a\n * `delay`. Unlike `FloatingDelayGroup`, `useNextDelayGroup` with this\n * component does not cause a re-render of unrelated consumers of the\n * context when the delay changes.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction NextFloatingDelayGroup(props) {\n const {\n children,\n delay,\n timeoutMs = 0\n } = props;\n const delayRef = React.useRef(delay);\n const initialDelayRef = React.useRef(delay);\n const currentIdRef = React.useRef(null);\n const currentContextRef = React.useRef(null);\n const timeoutIdRef = React.useRef(-1);\n return /*#__PURE__*/jsx(NextFloatingDelayGroupContext.Provider, {\n value: React.useMemo(() => ({\n hasProvider: true,\n delayRef,\n initialDelayRef,\n currentIdRef,\n timeoutMs,\n currentContextRef,\n timeoutIdRef\n }), [timeoutMs]),\n children: children\n });\n}\n/**\n * Enables grouping when called inside a component that's a child of a\n * `NextFloatingDelayGroup`.\n * @see https://floating-ui.com/docs/FloatingDelayGroup\n */\nfunction useNextDelayGroup(context, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n open,\n onOpenChange,\n floatingId\n } = context;\n const {\n enabled = true\n } = options;\n const groupContext = React.useContext(NextFloatingDelayGroupContext);\n const {\n currentIdRef,\n delayRef,\n timeoutMs,\n initialDelayRef,\n currentContextRef,\n hasProvider,\n timeoutIdRef\n } = groupContext;\n const [isInstantPhase, setIsInstantPhase] = React.useState(false);\n useModernLayoutEffect(() => {\n function unset() {\n var _currentContextRef$cu;\n setIsInstantPhase(false);\n (_currentContextRef$cu = currentContextRef.current) == null || _currentContextRef$cu.setIsInstantPhase(false);\n currentIdRef.current = null;\n currentContextRef.current = null;\n delayRef.current = initialDelayRef.current;\n }\n if (!enabled) return;\n if (!currentIdRef.current) return;\n if (!open && currentIdRef.current === floatingId) {\n setIsInstantPhase(false);\n if (timeoutMs) {\n timeoutIdRef.current = window.setTimeout(unset, timeoutMs);\n return () => {\n clearTimeout(timeoutIdRef.current);\n };\n }\n unset();\n }\n }, [enabled, open, floatingId, currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, timeoutIdRef]);\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (!open) return;\n const prevContext = currentContextRef.current;\n const prevId = currentIdRef.current;\n currentContextRef.current = {\n onOpenChange,\n setIsInstantPhase\n };\n currentIdRef.current = floatingId;\n delayRef.current = {\n open: 0,\n close: getDelay(initialDelayRef.current, 'close')\n };\n if (prevId !== null && prevId !== floatingId) {\n clearTimeoutIfSet(timeoutIdRef);\n setIsInstantPhase(true);\n prevContext == null || prevContext.setIsInstantPhase(true);\n prevContext == null || prevContext.onOpenChange(false);\n } else {\n setIsInstantPhase(false);\n prevContext == null || prevContext.setIsInstantPhase(false);\n }\n }, [enabled, open, floatingId, onOpenChange, currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, timeoutIdRef]);\n useModernLayoutEffect(() => {\n return () => {\n currentContextRef.current = null;\n };\n }, [currentContextRef]);\n return React.useMemo(() => ({\n hasProvider,\n delayRef,\n isInstantPhase\n }), [hasProvider, delayRef, isInstantPhase]);\n}\n\nlet rafId = 0;\nfunction enqueueFocus(el, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n preventScroll = false,\n cancelPrevious = true,\n sync = false\n } = options;\n cancelPrevious && cancelAnimationFrame(rafId);\n const exec = () => el == null ? void 0 : el.focus({\n preventScroll\n });\n if (sync) {\n exec();\n } else {\n rafId = requestAnimationFrame(exec);\n }\n}\n\nfunction contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode == null ? void 0 : child.getRootNode();\n\n // First, attempt with faster native method\n if (parent.contains(child)) {\n return true;\n }\n\n // then fallback to custom implementation with Shadow DOM support\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n // @ts-ignore\n next = next.parentNode || next.host;\n }\n }\n\n // Give up, the result is false\n return false;\n}\nfunction getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support\n // `composedPath()`, but browsers without shadow DOM don't.\n return event.target;\n}\nfunction getDocument(node) {\n return (node == null ? void 0 : node.ownerDocument) || document;\n}\n\n// Modified to add conditional `aria-hidden` support:\n// https://github.com/theKashey/aria-hidden/blob/9220c8f4a4fd35f63bee5510a9f41a37264382d4/src/index.ts\nconst counters = {\n inert: /*#__PURE__*/new WeakMap(),\n 'aria-hidden': /*#__PURE__*/new WeakMap(),\n none: /*#__PURE__*/new WeakMap()\n};\nfunction getCounterMap(control) {\n if (control === 'inert') return counters.inert;\n if (control === 'aria-hidden') return counters['aria-hidden'];\n return counters.none;\n}\nlet uncontrolledElementsSet = /*#__PURE__*/new WeakSet();\nlet markerMap = {};\nlet lockCount$1 = 0;\nconst supportsInert = () => typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;\nconst unwrapHost = node => node && (node.host || unwrapHost(node.parentNode));\nconst correctElements = (parent, targets) => targets.map(target => {\n if (parent.contains(target)) {\n return target;\n }\n const correctedTarget = unwrapHost(target);\n if (parent.contains(correctedTarget)) {\n return correctedTarget;\n }\n return null;\n}).filter(x => x != null);\nfunction applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, inert) {\n const markerName = 'data-floating-ui-inert';\n const controlAttribute = inert ? 'inert' : ariaHidden ? 'aria-hidden' : null;\n const avoidElements = correctElements(body, uncorrectedAvoidElements);\n const elementsToKeep = new Set();\n const elementsToStop = new Set(avoidElements);\n const hiddenElements = [];\n if (!markerMap[markerName]) {\n markerMap[markerName] = new WeakMap();\n }\n const markerCounter = markerMap[markerName];\n avoidElements.forEach(keep);\n deep(body);\n elementsToKeep.clear();\n function keep(el) {\n if (!el || elementsToKeep.has(el)) {\n return;\n }\n elementsToKeep.add(el);\n el.parentNode && keep(el.parentNode);\n }\n function deep(parent) {\n if (!parent || elementsToStop.has(parent)) {\n return;\n }\n [].forEach.call(parent.children, node => {\n if (getNodeName(node) === 'script') return;\n if (elementsToKeep.has(node)) {\n deep(node);\n } else {\n const attr = controlAttribute ? node.getAttribute(controlAttribute) : null;\n const alreadyHidden = attr !== null && attr !== 'false';\n const counterMap = getCounterMap(controlAttribute);\n const counterValue = (counterMap.get(node) || 0) + 1;\n const markerValue = (markerCounter.get(node) || 0) + 1;\n counterMap.set(node, counterValue);\n markerCounter.set(node, markerValue);\n hiddenElements.push(node);\n if (counterValue === 1 && alreadyHidden) {\n uncontrolledElementsSet.add(node);\n }\n if (markerValue === 1) {\n node.setAttribute(markerName, '');\n }\n if (!alreadyHidden && controlAttribute) {\n node.setAttribute(controlAttribute, controlAttribute === 'inert' ? '' : 'true');\n }\n }\n });\n }\n lockCount$1++;\n return () => {\n hiddenElements.forEach(element => {\n const counterMap = getCounterMap(controlAttribute);\n const currentCounterValue = counterMap.get(element) || 0;\n const counterValue = currentCounterValue - 1;\n const markerValue = (markerCounter.get(element) || 0) - 1;\n counterMap.set(element, counterValue);\n markerCounter.set(element, markerValue);\n if (!counterValue) {\n if (!uncontrolledElementsSet.has(element) && controlAttribute) {\n element.removeAttribute(controlAttribute);\n }\n uncontrolledElementsSet.delete(element);\n }\n if (!markerValue) {\n element.removeAttribute(markerName);\n }\n });\n lockCount$1--;\n if (!lockCount$1) {\n counters.inert = new WeakMap();\n counters['aria-hidden'] = new WeakMap();\n counters.none = new WeakMap();\n uncontrolledElementsSet = new WeakSet();\n markerMap = {};\n }\n };\n}\nfunction markOthers(avoidElements, ariaHidden, inert) {\n if (ariaHidden === void 0) {\n ariaHidden = false;\n }\n if (inert === void 0) {\n inert = false;\n }\n const body = getDocument(avoidElements[0]).body;\n return applyAttributeToOthers(avoidElements.concat(Array.from(body.querySelectorAll('[aria-live],[role=\"status\"],output'))), body, ariaHidden, inert);\n}\n\nconst HIDDEN_STYLES = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'fixed',\n whiteSpace: 'nowrap',\n width: '1px',\n top: 0,\n left: 0\n};\nconst FocusGuard = /*#__PURE__*/React.forwardRef(function FocusGuard(props, ref) {\n const [role, setRole] = React.useState();\n useModernLayoutEffect(() => {\n if (isSafari()) {\n // Unlike other screen readers such as NVDA and JAWS, the virtual cursor\n // on VoiceOver does trigger the onFocus event, so we can use the focus\n // trap element. On Safari, only buttons trigger the onFocus event.\n // NB: \"group\" role in the Sandbox no longer appears to work, must be a\n // button role.\n setRole('button');\n }\n }, []);\n const restProps = {\n ref,\n tabIndex: 0,\n // Role is only for VoiceOver\n role,\n 'aria-hidden': role ? undefined : true,\n [createAttribute('focus-guard')]: '',\n style: HIDDEN_STYLES\n };\n return /*#__PURE__*/jsx(\"span\", {\n ...props,\n ...restProps\n });\n});\n\nconst PortalContext = /*#__PURE__*/React.createContext(null);\nconst attr = /*#__PURE__*/createAttribute('portal');\n/**\n * @see https://floating-ui.com/docs/FloatingPortal#usefloatingportalnode\n */\nfunction useFloatingPortalNode(props) {\n if (props === void 0) {\n props = {};\n }\n const {\n id,\n root\n } = props;\n const uniqueId = useId();\n const portalContext = usePortalContext();\n const [portalNode, setPortalNode] = React.useState(null);\n const portalNodeRef = React.useRef(null);\n useModernLayoutEffect(() => {\n return () => {\n portalNode == null || portalNode.remove();\n // Allow the subsequent layout effects to create a new node on updates.\n // The portal node will still be cleaned up on unmount.\n // https://github.com/floating-ui/floating-ui/issues/2454\n queueMicrotask(() => {\n portalNodeRef.current = null;\n });\n };\n }, [portalNode]);\n useModernLayoutEffect(() => {\n // Wait for the uniqueId to be generated before creating the portal node in\n // React <18 (using `useFloatingId` instead of the native `useId`).\n // https://github.com/floating-ui/floating-ui/issues/2778\n if (!uniqueId) return;\n if (portalNodeRef.current) return;\n const existingIdRoot = id ? document.getElementById(id) : null;\n if (!existingIdRoot) return;\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n existingIdRoot.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, uniqueId]);\n useModernLayoutEffect(() => {\n // Wait for the root to exist before creating the portal node. The root must\n // be stored in state, not a ref, for this to work reactively.\n if (root === null) return;\n if (!uniqueId) return;\n if (portalNodeRef.current) return;\n let container = root || (portalContext == null ? void 0 : portalContext.portalNode);\n if (container && !isNode(container)) container = container.current;\n container = container || document.body;\n let idWrapper = null;\n if (id) {\n idWrapper = document.createElement('div');\n idWrapper.id = id;\n container.appendChild(idWrapper);\n }\n const subRoot = document.createElement('div');\n subRoot.id = uniqueId;\n subRoot.setAttribute(attr, '');\n container = idWrapper || container;\n container.appendChild(subRoot);\n portalNodeRef.current = subRoot;\n setPortalNode(subRoot);\n }, [id, root, uniqueId, portalContext]);\n return portalNode;\n}\n/**\n * Portals the floating element into a given container element — by default,\n * outside of the app root and into the body.\n * This is necessary to ensure the floating element can appear outside any\n * potential parent containers that cause clipping (such as `overflow: hidden`),\n * while retaining its location in the React tree.\n * @see https://floating-ui.com/docs/FloatingPortal\n */\nfunction FloatingPortal(props) {\n const {\n children,\n id,\n root,\n preserveTabOrder = true\n } = props;\n const portalNode = useFloatingPortalNode({\n id,\n root\n });\n const [focusManagerState, setFocusManagerState] = React.useState(null);\n const beforeOutsideRef = React.useRef(null);\n const afterOutsideRef = React.useRef(null);\n const beforeInsideRef = React.useRef(null);\n const afterInsideRef = React.useRef(null);\n const modal = focusManagerState == null ? void 0 : focusManagerState.modal;\n const open = focusManagerState == null ? void 0 : focusManagerState.open;\n const shouldRenderGuards =\n // The FocusManager and therefore floating element are currently open/\n // rendered.\n !!focusManagerState &&\n // Guards are only for non-modal focus management.\n !focusManagerState.modal &&\n // Don't render if unmount is transitioning.\n focusManagerState.open && preserveTabOrder && !!(root || portalNode);\n\n // https://codesandbox.io/s/tabbable-portal-f4tng?file=/src/TabbablePortal.tsx\n React.useEffect(() => {\n if (!portalNode || !preserveTabOrder || modal) {\n return;\n }\n\n // Make sure elements inside the portal element are tabbable only when the\n // portal has already been focused, either by tabbing into a focus trap\n // element outside or using the mouse.\n function onFocus(event) {\n if (portalNode && isOutsideEvent(event)) {\n const focusing = event.type === 'focusin';\n const manageFocus = focusing ? enableFocusInside : disableFocusInside;\n manageFocus(portalNode);\n }\n }\n // Listen to the event on the capture phase so they run before the focus\n // trap elements onFocus prop is called.\n portalNode.addEventListener('focusin', onFocus, true);\n portalNode.addEventListener('focusout', onFocus, true);\n return () => {\n portalNode.removeEventListener('focusin', onFocus, true);\n portalNode.removeEventListener('focusout', onFocus, true);\n };\n }, [portalNode, preserveTabOrder, modal]);\n React.useEffect(() => {\n if (!portalNode) return;\n if (open) return;\n enableFocusInside(portalNode);\n }, [open, portalNode]);\n return /*#__PURE__*/jsxs(PortalContext.Provider, {\n value: React.useMemo(() => ({\n preserveTabOrder,\n beforeOutsideRef,\n afterOutsideRef,\n beforeInsideRef,\n afterInsideRef,\n portalNode,\n setFocusManagerState\n }), [preserveTabOrder, portalNode]),\n children: [shouldRenderGuards && portalNode && /*#__PURE__*/jsx(FocusGuard, {\n \"data-type\": \"outside\",\n ref: beforeOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _beforeInsideRef$curr;\n (_beforeInsideRef$curr = beforeInsideRef.current) == null || _beforeInsideRef$curr.focus();\n } else {\n const domReference = focusManagerState ? focusManagerState.domReference : null;\n const prevTabbable = getPreviousTabbable(domReference);\n prevTabbable == null || prevTabbable.focus();\n }\n }\n }), shouldRenderGuards && portalNode && /*#__PURE__*/jsx(\"span\", {\n \"aria-owns\": portalNode.id,\n style: HIDDEN_STYLES\n }), portalNode && /*#__PURE__*/ReactDOM.createPortal(children, portalNode), shouldRenderGuards && portalNode && /*#__PURE__*/jsx(FocusGuard, {\n \"data-type\": \"outside\",\n ref: afterOutsideRef,\n onFocus: event => {\n if (isOutsideEvent(event, portalNode)) {\n var _afterInsideRef$curre;\n (_afterInsideRef$curre = afterInsideRef.current) == null || _afterInsideRef$curre.focus();\n } else {\n const domReference = focusManagerState ? focusManagerState.domReference : null;\n const nextTabbable = getNextTabbable(domReference);\n nextTabbable == null || nextTabbable.focus();\n (focusManagerState == null ? void 0 : focusManagerState.closeOnFocusOut) && (focusManagerState == null ? void 0 : focusManagerState.onOpenChange(false, event.nativeEvent, 'focus-out'));\n }\n }\n })]\n });\n}\nconst usePortalContext = () => React.useContext(PortalContext);\n\nfunction useLiteMergeRefs(refs) {\n return React.useMemo(() => {\n return value => {\n refs.forEach(ref => {\n if (ref) {\n ref.current = value;\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, refs);\n}\n\nconst LIST_LIMIT = 20;\nlet previouslyFocusedElements = [];\nfunction clearDisconnectedPreviouslyFocusedElements() {\n previouslyFocusedElements = previouslyFocusedElements.filter(el => el.isConnected);\n}\nfunction addPreviouslyFocusedElement(element) {\n clearDisconnectedPreviouslyFocusedElements();\n if (element && getNodeName(element) !== 'body') {\n previouslyFocusedElements.push(element);\n if (previouslyFocusedElements.length > LIST_LIMIT) {\n previouslyFocusedElements = previouslyFocusedElements.slice(-20);\n }\n }\n}\nfunction getPreviouslyFocusedElement() {\n clearDisconnectedPreviouslyFocusedElements();\n return previouslyFocusedElements[previouslyFocusedElements.length - 1];\n}\nfunction getFirstTabbableElement(container) {\n const tabbableOptions = getTabbableOptions();\n if (isTabbable(container, tabbableOptions)) {\n return container;\n }\n return tabbable(container, tabbableOptions)[0] || container;\n}\nfunction handleTabIndex(floatingFocusElement, orderRef) {\n var _floatingFocusElement;\n if (!orderRef.current.includes('floating') && !((_floatingFocusElement = floatingFocusElement.getAttribute('role')) != null && _floatingFocusElement.includes('dialog'))) {\n return;\n }\n const options = getTabbableOptions();\n const focusableElements = focusable(floatingFocusElement, options);\n const tabbableContent = focusableElements.filter(element => {\n const dataTabIndex = element.getAttribute('data-tabindex') || '';\n return isTabbable(element, options) || element.hasAttribute('data-tabindex') && !dataTabIndex.startsWith('-');\n });\n const tabIndex = floatingFocusElement.getAttribute('tabindex');\n if (orderRef.current.includes('floating') || tabbableContent.length === 0) {\n if (tabIndex !== '0') {\n floatingFocusElement.setAttribute('tabindex', '0');\n }\n } else if (tabIndex !== '-1' || floatingFocusElement.hasAttribute('data-tabindex') && floatingFocusElement.getAttribute('data-tabindex') !== '-1') {\n floatingFocusElement.setAttribute('tabindex', '-1');\n floatingFocusElement.setAttribute('data-tabindex', '-1');\n }\n}\nconst VisuallyHiddenDismiss = /*#__PURE__*/React.forwardRef(function VisuallyHiddenDismiss(props, ref) {\n return /*#__PURE__*/jsx(\"button\", {\n ...props,\n type: \"button\",\n ref: ref,\n tabIndex: -1,\n style: HIDDEN_STYLES\n });\n});\n/**\n * Provides focus management for the floating element.\n * @see https://floating-ui.com/docs/FloatingFocusManager\n */\nfunction FloatingFocusManager(props) {\n const {\n context,\n children,\n disabled = false,\n order = ['content'],\n guards: _guards = true,\n initialFocus = 0,\n returnFocus = true,\n restoreFocus = false,\n modal = true,\n visuallyHiddenDismiss = false,\n closeOnFocusOut = true,\n outsideElementsInert = false,\n getInsideElements: _getInsideElements = () => []\n } = props;\n const {\n open,\n onOpenChange,\n events,\n dataRef,\n elements: {\n domReference,\n floating\n }\n } = context;\n const getNodeId = useEffectEvent(() => {\n var _dataRef$current$floa;\n return (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n });\n const getInsideElements = useEffectEvent(_getInsideElements);\n const ignoreInitialFocus = typeof initialFocus === 'number' && initialFocus < 0;\n // If the reference is a combobox and is typeable (e.g. input/textarea),\n // there are different focus semantics. The guards should not be rendered, but\n // aria-hidden should be applied to all nodes still. Further, the visually\n // hidden dismiss button should only appear at the end of the list, not the\n // start.\n const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;\n\n // Force the guards to be rendered if the `inert` attribute is not supported.\n const inertSupported = supportsInert();\n const guards = inertSupported ? _guards : true;\n const useInert = !guards || inertSupported && outsideElementsInert;\n const orderRef = useLatestRef(order);\n const initialFocusRef = useLatestRef(initialFocus);\n const returnFocusRef = useLatestRef(returnFocus);\n const tree = useFloatingTree();\n const portalContext = usePortalContext();\n const startDismissButtonRef = React.useRef(null);\n const endDismissButtonRef = React.useRef(null);\n const preventReturnFocusRef = React.useRef(false);\n const isPointerDownRef = React.useRef(false);\n const tabbableIndexRef = React.useRef(-1);\n const blurTimeoutRef = React.useRef(-1);\n const isInsidePortal = portalContext != null;\n const floatingFocusElement = getFloatingFocusElement(floating);\n const getTabbableContent = useEffectEvent(function (container) {\n if (container === void 0) {\n container = floatingFocusElement;\n }\n return container ? tabbable(container, getTabbableOptions()) : [];\n });\n const getTabbableElements = useEffectEvent(container => {\n const content = getTabbableContent(container);\n return orderRef.current.map(type => {\n if (domReference && type === 'reference') {\n return domReference;\n }\n if (floatingFocusElement && type === 'floating') {\n return floatingFocusElement;\n }\n return content;\n }).filter(Boolean).flat();\n });\n React.useEffect(() => {\n if (disabled) return;\n if (!modal) return;\n function onKeyDown(event) {\n if (event.key === 'Tab') {\n // The focus guards have nothing to focus, so we need to stop the event.\n if (contains$1(floatingFocusElement, activeElement(getDocument$1(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {\n stopEvent(event);\n }\n const els = getTabbableElements();\n const target = getTarget$1(event);\n if (orderRef.current[0] === 'reference' && target === domReference) {\n stopEvent(event);\n if (event.shiftKey) {\n enqueueFocus(els[els.length - 1]);\n } else {\n enqueueFocus(els[1]);\n }\n }\n if (orderRef.current[1] === 'floating' && target === floatingFocusElement && event.shiftKey) {\n stopEvent(event);\n enqueueFocus(els[0]);\n }\n }\n }\n const doc = getDocument$1(floatingFocusElement);\n doc.addEventListener('keydown', onKeyDown);\n return () => {\n doc.removeEventListener('keydown', onKeyDown);\n };\n }, [disabled, domReference, floatingFocusElement, modal, orderRef, isUntrappedTypeableCombobox, getTabbableContent, getTabbableElements]);\n React.useEffect(() => {\n if (disabled) return;\n if (!floating) return;\n function handleFocusIn(event) {\n const target = getTarget$1(event);\n const tabbableContent = getTabbableContent();\n const tabbableIndex = tabbableContent.indexOf(target);\n if (tabbableIndex !== -1) {\n tabbableIndexRef.current = tabbableIndex;\n }\n }\n floating.addEventListener('focusin', handleFocusIn);\n return () => {\n floating.removeEventListener('focusin', handleFocusIn);\n };\n }, [disabled, floating, getTabbableContent]);\n React.useEffect(() => {\n if (disabled) return;\n if (!closeOnFocusOut) return;\n\n // In Safari, buttons lose focus when pressing them.\n function handlePointerDown() {\n isPointerDownRef.current = true;\n setTimeout(() => {\n isPointerDownRef.current = false;\n });\n }\n function handleFocusOutside(event) {\n const relatedTarget = event.relatedTarget;\n const currentTarget = event.currentTarget;\n const target = getTarget$1(event);\n queueMicrotask(() => {\n const nodeId = getNodeId();\n const movedToUnrelatedNode = !(contains$1(domReference, relatedTarget) || contains$1(floating, relatedTarget) || contains$1(relatedTarget, floating) || contains$1(portalContext == null ? void 0 : portalContext.portalNode, relatedTarget) || relatedTarget != null && relatedTarget.hasAttribute(createAttribute('focus-guard')) || tree && (getNodeChildren$1(tree.nodesRef.current, nodeId).find(node => {\n var _node$context, _node$context2;\n return contains$1((_node$context = node.context) == null ? void 0 : _node$context.elements.floating, relatedTarget) || contains$1((_node$context2 = node.context) == null ? void 0 : _node$context2.elements.domReference, relatedTarget);\n }) || getNodeAncestors(tree.nodesRef.current, nodeId).find(node => {\n var _node$context3, _node$context4, _node$context5;\n return [(_node$context3 = node.context) == null ? void 0 : _node$context3.elements.floating, getFloatingFocusElement((_node$context4 = node.context) == null ? void 0 : _node$context4.elements.floating)].includes(relatedTarget) || ((_node$context5 = node.context) == null ? void 0 : _node$context5.elements.domReference) === relatedTarget;\n })));\n if (currentTarget === domReference && floatingFocusElement) {\n handleTabIndex(floatingFocusElement, orderRef);\n }\n\n // Restore focus to the previous tabbable element index to prevent\n // focus from being lost outside the floating tree.\n if (restoreFocus && currentTarget !== domReference && !(target != null && target.isConnected) && activeElement(getDocument$1(floatingFocusElement)) === getDocument$1(floatingFocusElement).body) {\n // Let `FloatingPortal` effect knows that focus is still inside the\n // floating tree.\n if (isHTMLElement(floatingFocusElement)) {\n floatingFocusElement.focus();\n }\n const prevTabbableIndex = tabbableIndexRef.current;\n const tabbableContent = getTabbableContent();\n const nodeToFocus = tabbableContent[prevTabbableIndex] || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;\n if (isHTMLElement(nodeToFocus)) {\n nodeToFocus.focus();\n }\n }\n\n // https://github.com/floating-ui/floating-ui/issues/3060\n if (dataRef.current.insideReactTree) {\n dataRef.current.insideReactTree = false;\n return;\n }\n\n // Focus did not move inside the floating tree, and there are no tabbable\n // portal guards to handle closing.\n if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current &&\n // Fix React 18 Strict Mode returnFocus due to double rendering.\n relatedTarget !== getPreviouslyFocusedElement()) {\n preventReturnFocusRef.current = true;\n onOpenChange(false, event, 'focus-out');\n }\n });\n }\n const shouldHandleBlurCapture = Boolean(!tree && portalContext);\n function markInsideReactTree() {\n clearTimeoutIfSet(blurTimeoutRef);\n dataRef.current.insideReactTree = true;\n blurTimeoutRef.current = window.setTimeout(() => {\n dataRef.current.insideReactTree = false;\n });\n }\n if (floating && isHTMLElement(domReference)) {\n domReference.addEventListener('focusout', handleFocusOutside);\n domReference.addEventListener('pointerdown', handlePointerDown);\n floating.addEventListener('focusout', handleFocusOutside);\n if (shouldHandleBlurCapture) {\n floating.addEventListener('focusout', markInsideReactTree, true);\n }\n return () => {\n domReference.removeEventListener('focusout', handleFocusOutside);\n domReference.removeEventListener('pointerdown', handlePointerDown);\n floating.removeEventListener('focusout', handleFocusOutside);\n if (shouldHandleBlurCapture) {\n floating.removeEventListener('focusout', markInsideReactTree, true);\n }\n };\n }\n }, [disabled, domReference, floating, floatingFocusElement, modal, tree, portalContext, onOpenChange, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, orderRef, dataRef]);\n const beforeGuardRef = React.useRef(null);\n const afterGuardRef = React.useRef(null);\n const mergedBeforeGuardRef = useLiteMergeRefs([beforeGuardRef, portalContext == null ? void 0 : portalContext.beforeInsideRef]);\n const mergedAfterGuardRef = useLiteMergeRefs([afterGuardRef, portalContext == null ? void 0 : portalContext.afterInsideRef]);\n React.useEffect(() => {\n var _portalContext$portal, _ancestors$find;\n if (disabled) return;\n if (!floating) return;\n\n // Don't hide portals nested within the parent portal.\n const portalNodes = Array.from((portalContext == null || (_portalContext$portal = portalContext.portalNode) == null ? void 0 : _portalContext$portal.querySelectorAll(\"[\" + createAttribute('portal') + \"]\")) || []);\n const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];\n const rootAncestorComboboxDomReference = (_ancestors$find = ancestors.find(node => {\n var _node$context6;\n return isTypeableCombobox(((_node$context6 = node.context) == null ? void 0 : _node$context6.elements.domReference) || null);\n })) == null || (_ancestors$find = _ancestors$find.context) == null ? void 0 : _ancestors$find.elements.domReference;\n const insideElements = [floating, rootAncestorComboboxDomReference, ...portalNodes, ...getInsideElements(), startDismissButtonRef.current, endDismissButtonRef.current, beforeGuardRef.current, afterGuardRef.current, portalContext == null ? void 0 : portalContext.beforeOutsideRef.current, portalContext == null ? void 0 : portalContext.afterOutsideRef.current, orderRef.current.includes('reference') || isUntrappedTypeableCombobox ? domReference : null].filter(x => x != null);\n const cleanup = modal || isUntrappedTypeableCombobox ? markOthers(insideElements, !useInert, useInert) : markOthers(insideElements);\n return () => {\n cleanup();\n };\n }, [disabled, domReference, floating, modal, orderRef, portalContext, isUntrappedTypeableCombobox, guards, useInert, tree, getNodeId, getInsideElements]);\n useModernLayoutEffect(() => {\n if (disabled || !isHTMLElement(floatingFocusElement)) return;\n const doc = getDocument$1(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n\n // Wait for any layout effect state setters to execute to set `tabIndex`.\n queueMicrotask(() => {\n const focusableElements = getTabbableElements(floatingFocusElement);\n const initialFocusValue = initialFocusRef.current;\n const elToFocus = (typeof initialFocusValue === 'number' ? focusableElements[initialFocusValue] : initialFocusValue.current) || floatingFocusElement;\n const focusAlreadyInsideFloatingEl = contains$1(floatingFocusElement, previouslyFocusedElement);\n if (!ignoreInitialFocus && !focusAlreadyInsideFloatingEl && open) {\n enqueueFocus(elToFocus, {\n preventScroll: elToFocus === floatingFocusElement\n });\n }\n });\n }, [disabled, open, floatingFocusElement, ignoreInitialFocus, getTabbableElements, initialFocusRef]);\n useModernLayoutEffect(() => {\n if (disabled || !floatingFocusElement) return;\n const doc = getDocument$1(floatingFocusElement);\n const previouslyFocusedElement = activeElement(doc);\n addPreviouslyFocusedElement(previouslyFocusedElement);\n\n // Dismissing via outside press should always ignore `returnFocus` to\n // prevent unwanted scrolling.\n function onOpenChange(_ref) {\n let {\n reason,\n event,\n nested\n } = _ref;\n if (['hover', 'safe-polygon'].includes(reason) && event.type === 'mouseleave') {\n preventReturnFocusRef.current = true;\n }\n if (reason !== 'outside-press') return;\n if (nested) {\n preventReturnFocusRef.current = false;\n } else if (isVirtualClick(event) || isVirtualPointerEvent(event)) {\n preventReturnFocusRef.current = false;\n } else {\n let isPreventScrollSupported = false;\n document.createElement('div').focus({\n get preventScroll() {\n isPreventScrollSupported = true;\n return false;\n }\n });\n if (isPreventScrollSupported) {\n preventReturnFocusRef.current = false;\n } else {\n preventReturnFocusRef.current = true;\n }\n }\n }\n events.on('openchange', onOpenChange);\n const fallbackEl = doc.createElement('span');\n fallbackEl.setAttribute('tabindex', '-1');\n fallbackEl.setAttribute('aria-hidden', 'true');\n Object.assign(fallbackEl.style, HIDDEN_STYLES);\n if (isInsidePortal && domReference) {\n domReference.insertAdjacentElement('afterend', fallbackEl);\n }\n function getReturnElement() {\n if (typeof returnFocusRef.current === 'boolean') {\n const el = domReference || getPreviouslyFocusedElement();\n return el && el.isConnected ? el : fallbackEl;\n }\n return returnFocusRef.current.current || fallbackEl;\n }\n return () => {\n events.off('openchange', onOpenChange);\n const activeEl = activeElement(doc);\n const isFocusInsideFloatingTree = contains$1(floating, activeEl) || tree && getNodeChildren$1(tree.nodesRef.current, getNodeId(), false).some(node => {\n var _node$context7;\n return contains$1((_node$context7 = node.context) == null ? void 0 : _node$context7.elements.floating, activeEl);\n });\n const returnElement = getReturnElement();\n queueMicrotask(() => {\n // This is `returnElement`, if it's tabbable, or its first tabbable child.\n const tabbableReturnElement = getFirstTabbableElement(returnElement);\n if (\n // eslint-disable-next-line react-hooks/exhaustive-deps\n returnFocusRef.current && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && (\n // If the focus moved somewhere else after mount, avoid returning focus\n // since it likely entered a different element which should be\n // respected: https://github.com/floating-ui/floating-ui/issues/2607\n tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {\n tabbableReturnElement.focus({\n preventScroll: true\n });\n }\n fallbackEl.remove();\n });\n };\n }, [disabled, floating, floatingFocusElement, returnFocusRef, dataRef, events, tree, isInsidePortal, domReference, getNodeId]);\n React.useEffect(() => {\n // The `returnFocus` cleanup behavior is inside a microtask; ensure we\n // wait for it to complete before resetting the flag.\n queueMicrotask(() => {\n preventReturnFocusRef.current = false;\n });\n return () => {\n queueMicrotask(clearDisconnectedPreviouslyFocusedElements);\n };\n }, [disabled]);\n\n // Synchronize the `context` & `modal` value to the FloatingPortal context.\n // It will decide whether or not it needs to render its own guards.\n useModernLayoutEffect(() => {\n if (disabled) return;\n if (!portalContext) return;\n portalContext.setFocusManagerState({\n modal,\n closeOnFocusOut,\n open,\n onOpenChange,\n domReference\n });\n return () => {\n portalContext.setFocusManagerState(null);\n };\n }, [disabled, portalContext, modal, open, onOpenChange, closeOnFocusOut, domReference]);\n useModernLayoutEffect(() => {\n if (disabled) return;\n if (!floatingFocusElement) return;\n handleTabIndex(floatingFocusElement, orderRef);\n }, [disabled, floatingFocusElement, orderRef]);\n function renderDismissButton(location) {\n if (disabled || !visuallyHiddenDismiss || !modal) {\n return null;\n }\n return /*#__PURE__*/jsx(VisuallyHiddenDismiss, {\n ref: location === 'start' ? startDismissButtonRef : endDismissButtonRef,\n onClick: event => onOpenChange(false, event.nativeEvent),\n children: typeof visuallyHiddenDismiss === 'string' ? visuallyHiddenDismiss : 'Dismiss'\n });\n }\n const shouldRenderGuards = !disabled && guards && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);\n return /*#__PURE__*/jsxs(Fragment, {\n children: [shouldRenderGuards && /*#__PURE__*/jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedBeforeGuardRef,\n onFocus: event => {\n if (modal) {\n const els = getTabbableElements();\n enqueueFocus(order[0] === 'reference' ? els[0] : els[els.length - 1]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n preventReturnFocusRef.current = false;\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const nextTabbable = getNextTabbable(domReference);\n nextTabbable == null || nextTabbable.focus();\n } else {\n var _portalContext$before;\n (_portalContext$before = portalContext.beforeOutsideRef.current) == null || _portalContext$before.focus();\n }\n }\n }\n }), !isUntrappedTypeableCombobox && renderDismissButton('start'), children, renderDismissButton('end'), shouldRenderGuards && /*#__PURE__*/jsx(FocusGuard, {\n \"data-type\": \"inside\",\n ref: mergedAfterGuardRef,\n onFocus: event => {\n if (modal) {\n enqueueFocus(getTabbableElements()[0]);\n } else if (portalContext != null && portalContext.preserveTabOrder && portalContext.portalNode) {\n if (closeOnFocusOut) {\n preventReturnFocusRef.current = true;\n }\n if (isOutsideEvent(event, portalContext.portalNode)) {\n const prevTabbable = getPreviousTabbable(domReference);\n prevTabbable == null || prevTabbable.focus();\n } else {\n var _portalContext$afterO;\n (_portalContext$afterO = portalContext.afterOutsideRef.current) == null || _portalContext$afterO.focus();\n }\n }\n }\n })]\n });\n}\n\nlet lockCount = 0;\nconst scrollbarProperty = '--floating-ui-scrollbar-width';\nfunction enableScrollLock() {\n const platform = getPlatform();\n const isIOS = /iP(hone|ad|od)|iOS/.test(platform) ||\n // iPads can claim to be MacIntel\n platform === 'MacIntel' && navigator.maxTouchPoints > 1;\n const bodyStyle = document.body.style;\n // RTL <body> scrollbar\n const scrollbarX = Math.round(document.documentElement.getBoundingClientRect().left) + document.documentElement.scrollLeft;\n const paddingProp = scrollbarX ? 'paddingLeft' : 'paddingRight';\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n const scrollX = bodyStyle.left ? parseFloat(bodyStyle.left) : window.scrollX;\n const scrollY = bodyStyle.top ? parseFloat(bodyStyle.top) : window.scrollY;\n bodyStyle.overflow = 'hidden';\n bodyStyle.setProperty(scrollbarProperty, scrollbarWidth + \"px\");\n if (scrollbarWidth) {\n bodyStyle[paddingProp] = scrollbarWidth + \"px\";\n }\n\n // Only iOS doesn't respect `overflow: hidden` on document.body, and this\n // technique has fewer side effects.\n if (isIOS) {\n var _window$visualViewpor, _window$visualViewpor2;\n // iOS 12 does not support `visualViewport`.\n const offsetLeft = ((_window$visualViewpor = window.visualViewport) == null ? void 0 : _window$visualViewpor.offsetLeft) || 0;\n const offsetTop = ((_window$visualViewpor2 = window.visualViewport) == null ? void 0 : _window$visualViewpor2.offsetTop) || 0;\n Object.assign(bodyStyle, {\n position: 'fixed',\n top: -(scrollY - Math.floor(offsetTop)) + \"px\",\n left: -(scrollX - Math.floor(offsetLeft)) + \"px\",\n right: '0'\n });\n }\n return () => {\n Object.assign(bodyStyle, {\n overflow: '',\n [paddingProp]: ''\n });\n bodyStyle.removeProperty(scrollbarProperty);\n if (isIOS) {\n Object.assign(bodyStyle, {\n position: '',\n top: '',\n left: '',\n right: ''\n });\n window.scrollTo(scrollX, scrollY);\n }\n };\n}\nlet cleanup = () => {};\n\n/**\n * Provides base styling for a fixed overlay element to dim content or block\n * pointer events behind a floating element.\n * It's a regular `<div>`, so it can be styled via any CSS solution you prefer.\n * @see https://floating-ui.com/docs/FloatingOverlay\n */\nconst FloatingOverlay = /*#__PURE__*/React.forwardRef(function FloatingOverlay(props, ref) {\n const {\n lockScroll = false,\n ...rest\n } = props;\n useModernLayoutEffect(() => {\n if (!lockScroll) return;\n lockCount++;\n if (lockCount === 1) {\n cleanup = enableScrollLock();\n }\n return () => {\n lockCount--;\n if (lockCount === 0) {\n cleanup();\n }\n };\n }, [lockScroll]);\n return /*#__PURE__*/jsx(\"div\", {\n ref: ref,\n ...rest,\n style: {\n position: 'fixed',\n overflow: 'auto',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...rest.style\n }\n });\n});\n\nfunction isButtonTarget(event) {\n return isHTMLElement(event.target) && event.target.tagName === 'BUTTON';\n}\nfunction isAnchorTarget(event) {\n return isHTMLElement(event.target) && event.target.tagName === 'A';\n}\nfunction isSpaceIgnored(element) {\n return isTypeableElement(element);\n}\n/**\n * Opens or closes the floating element when clicking the reference element.\n * @see https://floating-ui.com/docs/useClick\n */\nfunction useClick(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n dataRef,\n elements: {\n domReference\n }\n } = context;\n const {\n enabled = true,\n event: eventOption = 'click',\n toggle = true,\n ignoreMouse = false,\n keyboardHandlers = true,\n stickIfOpen = true\n } = props;\n const pointerTypeRef = React.useRef();\n const didKeyDownRef = React.useRef(false);\n const reference = React.useMemo(() => ({\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onMouseDown(event) {\n const pointerType = pointerTypeRef.current;\n\n // Ignore all buttons except for the \"main\" button.\n // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button !== 0) return;\n if (eventOption === 'click') return;\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === 'mousedown' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n // Prevent stealing focus from the floating element\n event.preventDefault();\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onClick(event) {\n const pointerType = pointerTypeRef.current;\n if (eventOption === 'mousedown' && pointerTypeRef.current) {\n pointerTypeRef.current = undefined;\n return;\n }\n if (isMouseLikePointerType(pointerType, true) && ignoreMouse) return;\n if (open && toggle && (dataRef.current.openEvent && stickIfOpen ? dataRef.current.openEvent.type === 'click' : true)) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n },\n onKeyDown(event) {\n pointerTypeRef.current = undefined;\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event)) {\n return;\n }\n if (event.key === ' ' && !isSpaceIgnored(domReference)) {\n // Prevent scrolling\n event.preventDefault();\n didKeyDownRef.current = true;\n }\n if (isAnchorTarget(event)) {\n return;\n }\n if (event.key === 'Enter') {\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n },\n onKeyUp(event) {\n if (event.defaultPrevented || !keyboardHandlers || isButtonTarget(event) || isSpaceIgnored(domReference)) {\n return;\n }\n if (event.key === ' ' && didKeyDownRef.current) {\n didKeyDownRef.current = false;\n if (open && toggle) {\n onOpenChange(false, event.nativeEvent, 'click');\n } else {\n onOpenChange(true, event.nativeEvent, 'click');\n }\n }\n }\n }), [dataRef, domReference, eventOption, ignoreMouse, keyboardHandlers, onOpenChange, open, stickIfOpen, toggle]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nfunction createVirtualElement(domElement, data) {\n let offsetX = null;\n let offsetY = null;\n let isAutoUpdateEvent = false;\n return {\n contextElement: domElement || undefined,\n getBoundingClientRect() {\n var _data$dataRef$current;\n const domRect = (domElement == null ? void 0 : domElement.getBoundingClientRect()) || {\n width: 0,\n height: 0,\n x: 0,\n y: 0\n };\n const isXAxis = data.axis === 'x' || data.axis === 'both';\n const isYAxis = data.axis === 'y' || data.axis === 'both';\n const canTrackCursorOnAutoUpdate = ['mouseenter', 'mousemove'].includes(((_data$dataRef$current = data.dataRef.current.openEvent) == null ? void 0 : _data$dataRef$current.type) || '') && data.pointerType !== 'touch';\n let width = domRect.width;\n let height = domRect.height;\n let x = domRect.x;\n let y = domRect.y;\n if (offsetX == null && data.x && isXAxis) {\n offsetX = domRect.x - data.x;\n }\n if (offsetY == null && data.y && isYAxis) {\n offsetY = domRect.y - data.y;\n }\n x -= offsetX || 0;\n y -= offsetY || 0;\n width = 0;\n height = 0;\n if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {\n width = data.axis === 'y' ? domRect.width : 0;\n height = data.axis === 'x' ? domRect.height : 0;\n x = isXAxis && data.x != null ? data.x : x;\n y = isYAxis && data.y != null ? data.y : y;\n } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) {\n height = data.axis === 'x' ? domRect.height : height;\n width = data.axis === 'y' ? domRect.width : width;\n }\n isAutoUpdateEvent = true;\n return {\n width,\n height,\n x,\n y,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x\n };\n }\n };\n}\nfunction isMouseBasedEvent(event) {\n return event != null && event.clientX != null;\n}\n/**\n * Positions the floating element relative to a client point (in the viewport),\n * such as the mouse position. By default, it follows the mouse cursor.\n * @see https://floating-ui.com/docs/useClientPoint\n */\nfunction useClientPoint(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n dataRef,\n elements: {\n floating,\n domReference\n },\n refs\n } = context;\n const {\n enabled = true,\n axis = 'both',\n x = null,\n y = null\n } = props;\n const initialRef = React.useRef(false);\n const cleanupListenerRef = React.useRef(null);\n const [pointerType, setPointerType] = React.useState();\n const [reactive, setReactive] = React.useState([]);\n const setReference = useEffectEvent((x, y) => {\n if (initialRef.current) return;\n\n // Prevent setting if the open event was not a mouse-like one\n // (e.g. focus to open, then hover over the reference element).\n // Only apply if the event exists.\n if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {\n return;\n }\n refs.setPositionReference(createVirtualElement(domReference, {\n x,\n y,\n axis,\n dataRef,\n pointerType\n }));\n });\n const handleReferenceEnterOrMove = useEffectEvent(event => {\n if (x != null || y != null) return;\n if (!open) {\n setReference(event.clientX, event.clientY);\n } else if (!cleanupListenerRef.current) {\n // If there's no cleanup, there's no listener, but we want to ensure\n // we add the listener if the cursor landed on the floating element and\n // then back on the reference (i.e. it's interactive).\n setReactive([]);\n }\n });\n\n // If the pointer is a mouse-like pointer, we want to continue following the\n // mouse even if the floating element is transitioning out. On touch\n // devices, this is undesirable because the floating element will move to\n // the dismissal touch point.\n const openCheck = isMouseLikePointerType(pointerType) ? floating : open;\n const addListener = React.useCallback(() => {\n // Explicitly specified `x`/`y` coordinates shouldn't add a listener.\n if (!openCheck || !enabled || x != null || y != null) return;\n const win = getWindow(floating);\n function handleMouseMove(event) {\n const target = getTarget$1(event);\n if (!contains$1(floating, target)) {\n setReference(event.clientX, event.clientY);\n } else {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n }\n }\n if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {\n win.addEventListener('mousemove', handleMouseMove);\n const cleanup = () => {\n win.removeEventListener('mousemove', handleMouseMove);\n cleanupListenerRef.current = null;\n };\n cleanupListenerRef.current = cleanup;\n return cleanup;\n }\n refs.setPositionReference(domReference);\n }, [openCheck, enabled, x, y, floating, dataRef, refs, domReference, setReference]);\n React.useEffect(() => {\n return addListener();\n }, [addListener, reactive]);\n React.useEffect(() => {\n if (enabled && !floating) {\n initialRef.current = false;\n }\n }, [enabled, floating]);\n React.useEffect(() => {\n if (!enabled && open) {\n initialRef.current = true;\n }\n }, [enabled, open]);\n useModernLayoutEffect(() => {\n if (enabled && (x != null || y != null)) {\n initialRef.current = false;\n setReference(x, y);\n }\n }, [enabled, x, y, setReference]);\n const reference = React.useMemo(() => {\n function setPointerTypeRef(_ref) {\n let {\n pointerType\n } = _ref;\n setPointerType(pointerType);\n }\n return {\n onPointerDown: setPointerTypeRef,\n onPointerEnter: setPointerTypeRef,\n onMouseMove: handleReferenceEnterOrMove,\n onMouseEnter: handleReferenceEnterOrMove\n };\n }, [handleReferenceEnterOrMove]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nconst bubbleHandlerKeys = {\n pointerdown: 'onPointerDown',\n mousedown: 'onMouseDown',\n click: 'onClick'\n};\nconst captureHandlerKeys = {\n pointerdown: 'onPointerDownCapture',\n mousedown: 'onMouseDownCapture',\n click: 'onClickCapture'\n};\nconst normalizeProp = normalizable => {\n var _normalizable$escapeK, _normalizable$outside;\n return {\n escapeKey: typeof normalizable === 'boolean' ? normalizable : (_normalizable$escapeK = normalizable == null ? void 0 : normalizable.escapeKey) != null ? _normalizable$escapeK : false,\n outsidePress: typeof normalizable === 'boolean' ? normalizable : (_normalizable$outside = normalizable == null ? void 0 : normalizable.outsidePress) != null ? _normalizable$outside : true\n };\n};\n/**\n * Closes the floating element when a dismissal is requested — by default, when\n * the user presses the `escape` key or outside of the floating element.\n * @see https://floating-ui.com/docs/useDismiss\n */\nfunction useDismiss(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n elements,\n dataRef\n } = context;\n const {\n enabled = true,\n escapeKey = true,\n outsidePress: unstable_outsidePress = true,\n outsidePressEvent = 'pointerdown',\n referencePress = false,\n referencePressEvent = 'pointerdown',\n ancestorScroll = false,\n bubbles,\n capture\n } = props;\n const tree = useFloatingTree();\n const outsidePressFn = useEffectEvent(typeof unstable_outsidePress === 'function' ? unstable_outsidePress : () => false);\n const outsidePress = typeof unstable_outsidePress === 'function' ? outsidePressFn : unstable_outsidePress;\n const endedOrStartedInsideRef = React.useRef(false);\n const {\n escapeKey: escapeKeyBubbles,\n outsidePress: outsidePressBubbles\n } = normalizeProp(bubbles);\n const {\n escapeKey: escapeKeyCapture,\n outsidePress: outsidePressCapture\n } = normalizeProp(capture);\n const isComposingRef = React.useRef(false);\n const closeOnEscapeKeyDown = useEffectEvent(event => {\n var _dataRef$current$floa;\n if (!open || !enabled || !escapeKey || event.key !== 'Escape') {\n return;\n }\n\n // Wait until IME is settled. Pressing `Escape` while composing should\n // close the compose menu, but not the floating element.\n if (isComposingRef.current) {\n return;\n }\n const nodeId = (_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.nodeId;\n const children = tree ? getNodeChildren$1(tree.nodesRef.current, nodeId) : [];\n if (!escapeKeyBubbles) {\n event.stopPropagation();\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context;\n if ((_child$context = child.context) != null && _child$context.open && !child.context.dataRef.current.__escapeKeyBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n }\n onOpenChange(false, isReactEvent(event) ? event.nativeEvent : event, 'escape-key');\n });\n const closeOnEscapeKeyDownCapture = useEffectEvent(event => {\n var _getTarget2;\n const callback = () => {\n var _getTarget;\n closeOnEscapeKeyDown(event);\n (_getTarget = getTarget$1(event)) == null || _getTarget.removeEventListener('keydown', callback);\n };\n (_getTarget2 = getTarget$1(event)) == null || _getTarget2.addEventListener('keydown', callback);\n });\n const closeOnPressOutside = useEffectEvent(event => {\n var _dataRef$current$floa2;\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = dataRef.current.insideReactTree;\n dataRef.current.insideReactTree = false;\n\n // When click outside is lazy (`click` event), handle dragging.\n // Don't close if:\n // - The click started inside the floating element.\n // - The click ended inside the floating element.\n const endedOrStartedInside = endedOrStartedInsideRef.current;\n endedOrStartedInsideRef.current = false;\n if (outsidePressEvent === 'click' && endedOrStartedInside) {\n return;\n }\n if (insideReactTree) {\n return;\n }\n if (typeof outsidePress === 'function' && !outsidePress(event)) {\n return;\n }\n const target = getTarget$1(event);\n const inertSelector = \"[\" + createAttribute('inert') + \"]\";\n const markers = getDocument$1(elements.floating).querySelectorAll(inertSelector);\n let targetRootAncestor = isElement(target) ? target : null;\n while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {\n const nextParent = getParentNode(targetRootAncestor);\n if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {\n break;\n }\n targetRootAncestor = nextParent;\n }\n\n // Check if the click occurred on a third-party element injected after the\n // floating element rendered.\n if (markers.length && isElement(target) && !isRootElement(target) &&\n // Clicked on a direct ancestor (e.g. FloatingOverlay).\n !contains$1(target, elements.floating) &&\n // If the target root element contains none of the markers, then the\n // element was injected after the floating element rendered.\n Array.from(markers).every(marker => !contains$1(targetRootAncestor, marker))) {\n return;\n }\n\n // Check if the click occurred on the scrollbar\n if (isHTMLElement(target) && floating) {\n const lastTraversableNode = isLastTraversableNode(target);\n const style = getComputedStyle(target);\n const scrollRe = /auto|scroll/;\n const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);\n const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);\n const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;\n const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;\n const isRTL = style.direction === 'rtl';\n\n // Check click position relative to scrollbar.\n // In some browsers it is possible to change the <body> (or window)\n // scrollbar to the left side, but is very rare and is difficult to\n // check for. Plus, for modal dialogs with backdrops, it is more\n // important that the backdrop is checked but not so much the window.\n const pressedVerticalScrollbar = canScrollY && (isRTL ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);\n const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;\n if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {\n return;\n }\n }\n const nodeId = (_dataRef$current$floa2 = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa2.nodeId;\n const targetIsInsideChildren = tree && getNodeChildren$1(tree.nodesRef.current, nodeId).some(node => {\n var _node$context;\n return isEventTargetWithin(event, (_node$context = node.context) == null ? void 0 : _node$context.elements.floating);\n });\n if (isEventTargetWithin(event, elements.floating) || isEventTargetWithin(event, elements.domReference) || targetIsInsideChildren) {\n return;\n }\n const children = tree ? getNodeChildren$1(tree.nodesRef.current, nodeId) : [];\n if (children.length > 0) {\n let shouldDismiss = true;\n children.forEach(child => {\n var _child$context2;\n if ((_child$context2 = child.context) != null && _child$context2.open && !child.context.dataRef.current.__outsidePressBubbles) {\n shouldDismiss = false;\n return;\n }\n });\n if (!shouldDismiss) {\n return;\n }\n }\n onOpenChange(false, event, 'outside-press');\n });\n const closeOnPressOutsideCapture = useEffectEvent(event => {\n var _getTarget4;\n const callback = () => {\n var _getTarget3;\n closeOnPressOutside(event);\n (_getTarget3 = getTarget$1(event)) == null || _getTarget3.removeEventListener(outsidePressEvent, callback);\n };\n (_getTarget4 = getTarget$1(event)) == null || _getTarget4.addEventListener(outsidePressEvent, callback);\n });\n React.useEffect(() => {\n if (!open || !enabled) {\n return;\n }\n dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;\n dataRef.current.__outsidePressBubbles = outsidePressBubbles;\n let compositionTimeout = -1;\n function onScroll(event) {\n onOpenChange(false, event, 'ancestor-scroll');\n }\n function handleCompositionStart() {\n window.clearTimeout(compositionTimeout);\n isComposingRef.current = true;\n }\n function handleCompositionEnd() {\n // Safari fires `compositionend` before `keydown`, so we need to wait\n // until the next tick to set `isComposing` to `false`.\n // https://bugs.webkit.org/show_bug.cgi?id=165004\n compositionTimeout = window.setTimeout(() => {\n isComposingRef.current = false;\n },\n // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.\n // Only apply to WebKit for the test to remain 0ms.\n isWebKit() ? 5 : 0);\n }\n const doc = getDocument$1(elements.floating);\n if (escapeKey) {\n doc.addEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n doc.addEventListener('compositionstart', handleCompositionStart);\n doc.addEventListener('compositionend', handleCompositionEnd);\n }\n outsidePress && doc.addEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n let ancestors = [];\n if (ancestorScroll) {\n if (isElement(elements.domReference)) {\n ancestors = getOverflowAncestors(elements.domReference);\n }\n if (isElement(elements.floating)) {\n ancestors = ancestors.concat(getOverflowAncestors(elements.floating));\n }\n if (!isElement(elements.reference) && elements.reference && elements.reference.contextElement) {\n ancestors = ancestors.concat(getOverflowAncestors(elements.reference.contextElement));\n }\n }\n\n // Ignore the visual viewport for scrolling dismissal (allow pinch-zoom)\n ancestors = ancestors.filter(ancestor => {\n var _doc$defaultView;\n return ancestor !== ((_doc$defaultView = doc.defaultView) == null ? void 0 : _doc$defaultView.visualViewport);\n });\n ancestors.forEach(ancestor => {\n ancestor.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n return () => {\n if (escapeKey) {\n doc.removeEventListener('keydown', escapeKeyCapture ? closeOnEscapeKeyDownCapture : closeOnEscapeKeyDown, escapeKeyCapture);\n doc.removeEventListener('compositionstart', handleCompositionStart);\n doc.removeEventListener('compositionend', handleCompositionEnd);\n }\n outsidePress && doc.removeEventListener(outsidePressEvent, outsidePressCapture ? closeOnPressOutsideCapture : closeOnPressOutside, outsidePressCapture);\n ancestors.forEach(ancestor => {\n ancestor.removeEventListener('scroll', onScroll);\n });\n window.clearTimeout(compositionTimeout);\n };\n }, [dataRef, elements, escapeKey, outsidePress, outsidePressEvent, open, onOpenChange, ancestorScroll, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, escapeKeyCapture, closeOnEscapeKeyDownCapture, closeOnPressOutside, outsidePressCapture, closeOnPressOutsideCapture]);\n React.useEffect(() => {\n dataRef.current.insideReactTree = false;\n }, [dataRef, outsidePress, outsidePressEvent]);\n const reference = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n ...(referencePress && {\n [bubbleHandlerKeys[referencePressEvent]]: event => {\n onOpenChange(false, event.nativeEvent, 'reference-press');\n },\n ...(referencePressEvent !== 'click' && {\n onClick(event) {\n onOpenChange(false, event.nativeEvent, 'reference-press');\n }\n })\n })\n }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);\n const floating = React.useMemo(() => ({\n onKeyDown: closeOnEscapeKeyDown,\n onMouseDown() {\n endedOrStartedInsideRef.current = true;\n },\n onMouseUp() {\n endedOrStartedInsideRef.current = true;\n },\n [captureHandlerKeys[outsidePressEvent]]: () => {\n dataRef.current.insideReactTree = true;\n }\n }), [closeOnEscapeKeyDown, outsidePressEvent, dataRef]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction useFloatingRootContext(options) {\n const {\n open = false,\n onOpenChange: onOpenChangeProp,\n elements: elementsProp\n } = options;\n const floatingId = useId();\n const dataRef = React.useRef({});\n const [events] = React.useState(() => createEventEmitter());\n const nested = useFloatingParentNodeId() != null;\n if (process.env.NODE_ENV !== \"production\") {\n const optionDomReference = elementsProp.reference;\n if (optionDomReference && !isElement(optionDomReference)) {\n error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `refs.setPositionReference()`', 'instead.');\n }\n }\n const [positionReference, setPositionReference] = React.useState(elementsProp.reference);\n const onOpenChange = useEffectEvent((open, event, reason) => {\n dataRef.current.openEvent = open ? event : undefined;\n events.emit('openchange', {\n open,\n event,\n reason,\n nested\n });\n onOpenChangeProp == null || onOpenChangeProp(open, event, reason);\n });\n const refs = React.useMemo(() => ({\n setPositionReference\n }), []);\n const elements = React.useMemo(() => ({\n reference: positionReference || elementsProp.reference || null,\n floating: elementsProp.floating || null,\n domReference: elementsProp.reference\n }), [positionReference, elementsProp.reference, elementsProp.floating]);\n return React.useMemo(() => ({\n dataRef,\n open,\n onOpenChange,\n elements,\n events,\n floatingId,\n refs\n }), [open, onOpenChange, elements, events, floatingId, refs]);\n}\n\n/**\n * Provides data to position a floating element and context to add interactions.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n nodeId\n } = options;\n const internalRootContext = useFloatingRootContext({\n ...options,\n elements: {\n reference: null,\n floating: null,\n ...options.elements\n }\n });\n const rootContext = options.rootContext || internalRootContext;\n const computedElements = rootContext.elements;\n const [_domReference, setDomReference] = React.useState(null);\n const [positionReference, _setPositionReference] = React.useState(null);\n const optionDomReference = computedElements == null ? void 0 : computedElements.domReference;\n const domReference = optionDomReference || _domReference;\n const domReferenceRef = React.useRef(null);\n const tree = useFloatingTree();\n useModernLayoutEffect(() => {\n if (domReference) {\n domReferenceRef.current = domReference;\n }\n }, [domReference]);\n const position = useFloating$1({\n ...options,\n elements: {\n ...computedElements,\n ...(positionReference && {\n reference: positionReference\n })\n }\n });\n const setPositionReference = React.useCallback(node => {\n const computedPositionReference = isElement(node) ? {\n getBoundingClientRect: () => node.getBoundingClientRect(),\n getClientRects: () => node.getClientRects(),\n contextElement: node\n } : node;\n // Store the positionReference in state if the DOM reference is specified externally via the\n // `elements.reference` option. This ensures that it won't be overridden on future renders.\n _setPositionReference(computedPositionReference);\n position.refs.setReference(computedPositionReference);\n }, [position.refs]);\n const setReference = React.useCallback(node => {\n if (isElement(node) || node === null) {\n domReferenceRef.current = node;\n setDomReference(node);\n }\n\n // Backwards-compatibility for passing a virtual element to `reference`\n // after it has set the DOM reference.\n if (isElement(position.refs.reference.current) || position.refs.reference.current === null ||\n // Don't allow setting virtual elements using the old technique back to\n // `null` to support `positionReference` + an unstable `reference`\n // callback ref.\n node !== null && !isElement(node)) {\n position.refs.setReference(node);\n }\n }, [position.refs]);\n const refs = React.useMemo(() => ({\n ...position.refs,\n setReference,\n setPositionReference,\n domReference: domReferenceRef\n }), [position.refs, setReference, setPositionReference]);\n const elements = React.useMemo(() => ({\n ...position.elements,\n domReference: domReference\n }), [position.elements, domReference]);\n const context = React.useMemo(() => ({\n ...position,\n ...rootContext,\n refs,\n elements,\n nodeId\n }), [position, refs, elements, nodeId, rootContext]);\n useModernLayoutEffect(() => {\n rootContext.dataRef.current.floatingContext = context;\n const node = tree == null ? void 0 : tree.nodesRef.current.find(node => node.id === nodeId);\n if (node) {\n node.context = context;\n }\n });\n return React.useMemo(() => ({\n ...position,\n context,\n refs,\n elements\n }), [position, refs, elements, context]);\n}\n\nfunction isMacSafari() {\n return isMac() && isSafari();\n}\n/**\n * Opens the floating element while the reference element has focus, like CSS\n * `:focus`.\n * @see https://floating-ui.com/docs/useFocus\n */\nfunction useFocus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n onOpenChange,\n events,\n dataRef,\n elements\n } = context;\n const {\n enabled = true,\n visibleOnly = true\n } = props;\n const blockFocusRef = React.useRef(false);\n const timeoutRef = React.useRef(-1);\n const keyboardModalityRef = React.useRef(true);\n React.useEffect(() => {\n if (!enabled) return;\n const win = getWindow(elements.domReference);\n\n // If the reference was focused and the user left the tab/window, and the\n // floating element was not open, the focus should be blocked when they\n // return to the tab/window.\n function onBlur() {\n if (!open && isHTMLElement(elements.domReference) && elements.domReference === activeElement(getDocument$1(elements.domReference))) {\n blockFocusRef.current = true;\n }\n }\n function onKeyDown() {\n keyboardModalityRef.current = true;\n }\n function onPointerDown() {\n keyboardModalityRef.current = false;\n }\n win.addEventListener('blur', onBlur);\n if (isMacSafari()) {\n win.addEventListener('keydown', onKeyDown, true);\n win.addEventListener('pointerdown', onPointerDown, true);\n }\n return () => {\n win.removeEventListener('blur', onBlur);\n if (isMacSafari()) {\n win.removeEventListener('keydown', onKeyDown, true);\n win.removeEventListener('pointerdown', onPointerDown, true);\n }\n };\n }, [elements.domReference, open, enabled]);\n React.useEffect(() => {\n if (!enabled) return;\n function onOpenChange(_ref) {\n let {\n reason\n } = _ref;\n if (reason === 'reference-press' || reason === 'escape-key') {\n blockFocusRef.current = true;\n }\n }\n events.on('openchange', onOpenChange);\n return () => {\n events.off('openchange', onOpenChange);\n };\n }, [events, enabled]);\n React.useEffect(() => {\n return () => {\n clearTimeoutIfSet(timeoutRef);\n };\n }, []);\n const reference = React.useMemo(() => ({\n onMouseLeave() {\n blockFocusRef.current = false;\n },\n onFocus(event) {\n if (blockFocusRef.current) return;\n const target = getTarget$1(event.nativeEvent);\n if (visibleOnly && isElement(target)) {\n // Safari fails to match `:focus-visible` if focus was initially\n // outside the document.\n if (isMacSafari() && !event.relatedTarget) {\n if (!keyboardModalityRef.current && !isTypeableElement(target)) {\n return;\n }\n } else if (!matchesFocusVisible(target)) {\n return;\n }\n }\n onOpenChange(true, event.nativeEvent, 'focus');\n },\n onBlur(event) {\n blockFocusRef.current = false;\n const relatedTarget = event.relatedTarget;\n const nativeEvent = event.nativeEvent;\n\n // Hit the non-modal focus management portal guard. Focus will be\n // moved into the floating element immediately after.\n const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute('focus-guard')) && relatedTarget.getAttribute('data-type') === 'outside';\n\n // Wait for the window blur listener to fire.\n timeoutRef.current = window.setTimeout(() => {\n var _dataRef$current$floa;\n const activeEl = activeElement(elements.domReference ? elements.domReference.ownerDocument : document);\n\n // Focus left the page, keep it open.\n if (!relatedTarget && activeEl === elements.domReference) return;\n\n // When focusing the reference element (e.g. regular click), then\n // clicking into the floating element, prevent it from hiding.\n // Note: it must be focusable, e.g. `tabindex=\"-1\"`.\n // We can not rely on relatedTarget to point to the correct element\n // as it will only point to the shadow host of the newly focused element\n // and not the element that actually has received focus if it is located\n // inside a shadow root.\n if (contains$1((_dataRef$current$floa = dataRef.current.floatingContext) == null ? void 0 : _dataRef$current$floa.refs.floating.current, activeEl) || contains$1(elements.domReference, activeEl) || movedToFocusGuard) {\n return;\n }\n onOpenChange(false, nativeEvent, 'focus');\n });\n }\n }), [dataRef, elements.domReference, onOpenChange, visibleOnly]);\n return React.useMemo(() => enabled ? {\n reference\n } : {}, [enabled, reference]);\n}\n\nfunction mergeProps(userProps, propsList, elementKey) {\n const map = new Map();\n const isItem = elementKey === 'item';\n let domUserProps = userProps;\n if (isItem && userProps) {\n const {\n [ACTIVE_KEY]: _,\n [SELECTED_KEY]: __,\n ...validProps\n } = userProps;\n domUserProps = validProps;\n }\n return {\n ...(elementKey === 'floating' && {\n tabIndex: -1,\n [FOCUSABLE_ATTRIBUTE]: ''\n }),\n ...domUserProps,\n ...propsList.map(value => {\n const propsOrGetProps = value ? value[elementKey] : null;\n if (typeof propsOrGetProps === 'function') {\n return userProps ? propsOrGetProps(userProps) : null;\n }\n return propsOrGetProps;\n }).concat(userProps).reduce((acc, props) => {\n if (!props) {\n return acc;\n }\n Object.entries(props).forEach(_ref => {\n let [key, value] = _ref;\n if (isItem && [ACTIVE_KEY, SELECTED_KEY].includes(key)) {\n return;\n }\n if (key.indexOf('on') === 0) {\n if (!map.has(key)) {\n map.set(key, []);\n }\n if (typeof value === 'function') {\n var _map$get;\n (_map$get = map.get(key)) == null || _map$get.push(value);\n acc[key] = function () {\n var _map$get2;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_map$get2 = map.get(key)) == null ? void 0 : _map$get2.map(fn => fn(...args)).find(val => val !== undefined);\n };\n }\n } else {\n acc[key] = value;\n }\n });\n return acc;\n }, {})\n };\n}\n/**\n * Merges an array of interaction hooks' props into prop getters, allowing\n * event handler functions to be composed together without overwriting one\n * another.\n * @see https://floating-ui.com/docs/useInteractions\n */\nfunction useInteractions(propsList) {\n if (propsList === void 0) {\n propsList = [];\n }\n const referenceDeps = propsList.map(key => key == null ? void 0 : key.reference);\n const floatingDeps = propsList.map(key => key == null ? void 0 : key.floating);\n const itemDeps = propsList.map(key => key == null ? void 0 : key.item);\n const getReferenceProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'reference'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n referenceDeps);\n const getFloatingProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'floating'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n floatingDeps);\n const getItemProps = React.useCallback(userProps => mergeProps(userProps, propsList, 'item'),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n itemDeps);\n return React.useMemo(() => ({\n getReferenceProps,\n getFloatingProps,\n getItemProps\n }), [getReferenceProps, getFloatingProps, getItemProps]);\n}\n\nconst ESCAPE = 'Escape';\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl, cols) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n if (orientation === 'both' || orientation === 'horizontal' && cols && cols > 1) {\n return key === ESCAPE;\n }\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nfunction useListNavigation(context, props) {\n const {\n open,\n onOpenChange,\n elements,\n floatingId\n } = context;\n const {\n listRef,\n activeIndex,\n onNavigate: unstable_onNavigate = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loop = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n parentOrientation,\n cols = 1,\n scrollItemIntoView = true,\n virtualItemRef,\n itemSizes,\n dense = false\n } = props;\n if (process.env.NODE_ENV !== \"production\") {\n if (allowEscape) {\n if (!loop) {\n warn('`useListNavigation` looping must be enabled to allow escaping.');\n }\n if (!virtual) {\n warn('`useListNavigation` must be virtual to allow escaping.');\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n warn('In grid list navigation mode (`cols` > 1), the `orientation` should', 'be either \"horizontal\" or \"both\".');\n }\n }\n const floatingFocusElement = getFloatingFocusElement(elements.floating);\n const floatingFocusElementRef = useLatestRef(floatingFocusElement);\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree();\n useModernLayoutEffect(() => {\n context.dataRef.current.orientation = orientation;\n }, [context, orientation]);\n const onNavigate = useEffectEvent(() => {\n unstable_onNavigate(indexRef.current === -1 ? null : indexRef.current);\n });\n const typeableComboboxReference = isTypeableCombobox(elements.domReference);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex != null ? selectedIndex : -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const previousOnNavigateRef = React.useRef(onNavigate);\n const previousMountedRef = React.useRef(!!elements.floating);\n const previousOpenRef = React.useRef(open);\n const forceSyncFocusRef = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const disabledIndicesRef = useLatestRef(disabledIndices);\n const latestOpenRef = useLatestRef(open);\n const scrollItemIntoViewRef = useLatestRef(scrollItemIntoView);\n const selectedIndexRef = useLatestRef(selectedIndex);\n const [activeId, setActiveId] = React.useState();\n const [virtualId, setVirtualId] = React.useState();\n const focusItem = useEffectEvent(() => {\n function runFocus(item) {\n if (virtual) {\n var _item$id;\n if ((_item$id = item.id) != null && _item$id.endsWith('-fui-option')) {\n item.id = floatingId + \"-\" + Math.random().toString(16).slice(2, 10);\n }\n setActiveId(item.id);\n tree == null || tree.events.emit('virtualfocus', item);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n } else {\n enqueueFocus(item, {\n sync: forceSyncFocusRef.current,\n preventScroll: true\n });\n }\n }\n const initialItem = listRef.current[indexRef.current];\n const forceScrollIntoView = forceScrollIntoViewRef.current;\n if (initialItem) {\n runFocus(initialItem);\n }\n const scheduler = forceSyncFocusRef.current ? v => v() : requestAnimationFrame;\n scheduler(() => {\n const waitedItem = listRef.current[indexRef.current] || initialItem;\n if (!waitedItem) return;\n if (!initialItem) {\n runFocus(waitedItem);\n }\n const scrollIntoViewOptions = scrollItemIntoViewRef.current;\n const shouldScrollIntoView = scrollIntoViewOptions && item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n waitedItem.scrollIntoView == null || waitedItem.scrollIntoView(typeof scrollIntoViewOptions === 'boolean' ? {\n block: 'nearest',\n inline: 'nearest'\n } : scrollIntoViewOptions);\n }\n });\n });\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (open && elements.floating) {\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n indexRef.current = selectedIndex;\n onNavigate();\n }\n } else if (previousMountedRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current();\n }\n }, [enabled, open, elements.floating, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (!open) return;\n if (!elements.floating) return;\n if (activeIndex == null) {\n forceSyncFocusRef.current = false;\n if (selectedIndexRef.current != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem();\n }\n\n // Initial sync.\n if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs++;\n } else {\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinListIndex(listRef, disabledIndicesRef.current) : getMaxListIndex(listRef, disabledIndicesRef.current);\n keyRef.current = null;\n onNavigate();\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfListBounds(listRef, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem();\n forceScrollIntoViewRef.current = false;\n }\n }, [enabled, open, elements.floating, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n useModernLayoutEffect(() => {\n var _nodes$find;\n if (!enabled || elements.floating || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = (_nodes$find = nodes.find(node => node.id === parentId)) == null || (_nodes$find = _nodes$find.context) == null ? void 0 : _nodes$find.elements.floating;\n const activeEl = activeElement(getDocument$1(elements.floating));\n const treeContainsActiveEl = nodes.some(node => node.context && contains$1(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, elements.floating, tree, parentId, virtual]);\n useModernLayoutEffect(() => {\n if (!enabled) return;\n if (!tree) return;\n if (!virtual) return;\n if (parentId) return;\n function handleVirtualFocus(item) {\n setVirtualId(item.id);\n if (virtualItemRef) {\n virtualItemRef.current = item;\n }\n }\n tree.events.on('virtualfocus', handleVirtualFocus);\n return () => {\n tree.events.off('virtualfocus', handleVirtualFocus);\n };\n }, [enabled, tree, virtual, parentId, virtualItemRef]);\n useModernLayoutEffect(() => {\n previousOnNavigateRef.current = onNavigate;\n previousOpenRef.current = open;\n previousMountedRef.current = !!elements.floating;\n });\n useModernLayoutEffect(() => {\n if (!open) {\n keyRef.current = null;\n focusItemOnOpenRef.current = focusItemOnOpen;\n }\n }, [open, focusItemOnOpen]);\n const hasActiveIndex = activeIndex != null;\n const item = React.useMemo(() => {\n function syncCurrentTarget(currentTarget) {\n if (!latestOpenRef.current) return;\n const index = listRef.current.indexOf(currentTarget);\n if (index !== -1 && indexRef.current !== index) {\n indexRef.current = index;\n onNavigate();\n }\n }\n const props = {\n onFocus(_ref) {\n let {\n currentTarget\n } = _ref;\n forceSyncFocusRef.current = true;\n syncCurrentTarget(currentTarget);\n },\n onClick: _ref2 => {\n let {\n currentTarget\n } = _ref2;\n return currentTarget.focus({\n preventScroll: true\n });\n },\n // Safari\n onMouseMove(_ref3) {\n let {\n currentTarget\n } = _ref3;\n forceSyncFocusRef.current = true;\n forceScrollIntoViewRef.current = false;\n if (focusItemOnHover) {\n syncCurrentTarget(currentTarget);\n }\n },\n onPointerLeave(_ref4) {\n let {\n pointerType\n } = _ref4;\n if (!isPointerModalityRef.current || pointerType === 'touch') {\n return;\n }\n forceSyncFocusRef.current = true;\n if (!focusItemOnHover) {\n return;\n }\n indexRef.current = -1;\n onNavigate();\n if (!virtual) {\n var _floatingFocusElement;\n (_floatingFocusElement = floatingFocusElementRef.current) == null || _floatingFocusElement.focus({\n preventScroll: true\n });\n }\n }\n };\n return props;\n }, [latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, virtual]);\n const getParentOrientation = React.useCallback(() => {\n var _tree$nodesRef$curren;\n return parentOrientation != null ? parentOrientation : tree == null || (_tree$nodesRef$curren = tree.nodesRef.current.find(node => node.id === parentId)) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.context) == null || (_tree$nodesRef$curren = _tree$nodesRef$curren.dataRef) == null ? void 0 : _tree$nodesRef$curren.current.orientation;\n }, [parentId, tree, parentOrientation]);\n const commonOnKeyDown = useEffectEvent(event => {\n isPointerModalityRef.current = false;\n forceSyncFocusRef.current = true;\n\n // When composing a character, Chrome fires ArrowDown twice. Firefox/Safari\n // don't appear to suffer from this. `event.isComposing` is avoided due to\n // Safari not supporting it properly (although it's not needed in the first\n // place for Safari, just avoiding any possible issues).\n if (event.which === 229) {\n return;\n }\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, cols)) {\n // If the nested list's close key is also the parent navigation key,\n // let the parent navigate. Otherwise, stop propagating the event.\n if (!isMainOrientationKey(event.key, getParentOrientation())) {\n stopEvent(event);\n }\n onOpenChange(false, event.nativeEvent, 'list-navigation');\n if (isHTMLElement(elements.domReference)) {\n if (virtual) {\n tree == null || tree.events.emit('virtualfocus', elements.domReference);\n } else {\n elements.domReference.focus();\n }\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinListIndex(listRef, disabledIndices);\n const maxIndex = getMaxListIndex(listRef, disabledIndices);\n if (!typeableComboboxReference) {\n if (event.key === 'Home') {\n stopEvent(event);\n indexRef.current = minIndex;\n onNavigate();\n }\n if (event.key === 'End') {\n stopEvent(event);\n indexRef.current = maxIndex;\n onNavigate();\n }\n }\n\n // Grid navigation.\n if (cols > 1) {\n const sizes = itemSizes || Array.from({\n length: listRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = createGridCellMap(sizes, cols, dense);\n const minGridIndex = cellMap.findIndex(index => index != null && !isListIndexDisabled(listRef, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isListIndexDisabled(listRef, index, disabledIndices) ? cellIndex : foundIndex, -1);\n const index = cellMap[getGridNavigatedIndex({\n current: cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null)\n }, {\n event,\n orientation,\n loop,\n rtl,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getGridCellIndices([...((typeof disabledIndices !== 'function' ? disabledIndices : null) || listRef.current.map((_, index) => isListIndexDisabled(listRef, index, disabledIndices) ? index : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getGridCellIndexOfCorner(indexRef.current > maxIndex ? minIndex : indexRef.current, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction\n // we're moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n event.key === ARROW_DOWN ? 'bl' : event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT) ? 'tr' : 'tl'),\n stopEvent: true\n })];\n if (index != null) {\n indexRef.current = index;\n onNavigate();\n }\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate();\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loop) {\n indexRef.current = currentIndex >= maxIndex ? allowEscape && currentIndex !== listRef.current.length ? -1 : minIndex : findNonDisabledListIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n });\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledListIndex(listRef, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else {\n if (loop) {\n indexRef.current = currentIndex <= minIndex ? allowEscape && currentIndex !== -1 ? listRef.current.length : maxIndex : findNonDisabledListIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledListIndex(listRef, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n }\n if (isIndexOutOfListBounds(listRef, indexRef.current)) {\n indexRef.current = -1;\n }\n onNavigate();\n }\n });\n const ariaActiveDescendantProp = React.useMemo(() => {\n return virtual && open && hasActiveIndex && {\n 'aria-activedescendant': virtualId || activeId\n };\n }, [virtual, open, hasActiveIndex, virtualId, activeId]);\n const floating = React.useMemo(() => {\n return {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!typeableComboboxReference ? ariaActiveDescendantProp : {}),\n onKeyDown: commonOnKeyDown,\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n };\n }, [ariaActiveDescendantProp, commonOnKeyDown, orientation, typeableComboboxReference]);\n const reference = React.useMemo(() => {\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n return {\n ...ariaActiveDescendantProp,\n onKeyDown(event) {\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.startsWith('Arrow');\n const isHomeOrEndKey = ['Home', 'End'].includes(event.key);\n const isMoveKey = isArrowKey || isHomeOrEndKey;\n const isCrossOpenKey = isCrossOrientationOpenKey(event.key, orientation, rtl);\n const isCrossCloseKey = isCrossOrientationCloseKey(event.key, orientation, rtl, cols);\n const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && open) {\n const rootNode = tree == null ? void 0 : tree.nodesRef.current.find(node => node.parentId == null);\n const deepestNode = tree && rootNode ? getDeepestNode(tree.nodesRef.current, rootNode.id) : null;\n if (isMoveKey && deepestNode && virtualItemRef) {\n const eventObject = new KeyboardEvent('keydown', {\n key: event.key,\n bubbles: true\n });\n if (isCrossOpenKey || isCrossCloseKey) {\n var _deepestNode$context, _deepestNode$context2;\n const isCurrentTarget = ((_deepestNode$context = deepestNode.context) == null ? void 0 : _deepestNode$context.elements.domReference) === event.currentTarget;\n const dispatchItem = isCrossCloseKey && !isCurrentTarget ? (_deepestNode$context2 = deepestNode.context) == null ? void 0 : _deepestNode$context2.elements.domReference : isCrossOpenKey ? listRef.current.find(item => (item == null ? void 0 : item.id) === activeId) : null;\n if (dispatchItem) {\n stopEvent(event);\n dispatchItem.dispatchEvent(eventObject);\n setVirtualId(undefined);\n }\n }\n if ((isMainKey || isHomeOrEndKey) && deepestNode.context) {\n if (deepestNode.context.open && deepestNode.parentId && event.currentTarget !== deepestNode.context.elements.domReference) {\n var _deepestNode$context$;\n stopEvent(event);\n (_deepestNode$context$ = deepestNode.context.elements.domReference) == null || _deepestNode$context$.dispatchEvent(eventObject);\n return;\n }\n }\n }\n return commonOnKeyDown(event);\n }\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!open && !openOnArrowKeyDown && isArrowKey) {\n return;\n }\n if (isNavigationKey) {\n const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());\n keyRef.current = nested && isParentMainKey ? null : event.key;\n }\n if (nested) {\n if (isParentCrossOpenKey) {\n stopEvent(event);\n if (open) {\n indexRef.current = getMinListIndex(listRef, disabledIndicesRef.current);\n onNavigate();\n } else {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n }\n }\n return;\n }\n if (isMainKey) {\n if (selectedIndex != null) {\n indexRef.current = selectedIndex;\n }\n stopEvent(event);\n if (!open && openOnArrowKeyDown) {\n onOpenChange(true, event.nativeEvent, 'list-navigation');\n } else {\n commonOnKeyDown(event);\n }\n if (open) {\n onNavigate();\n }\n }\n },\n onFocus() {\n if (open && !virtual) {\n indexRef.current = -1;\n onNavigate();\n }\n },\n onPointerDown: checkVirtualPointer,\n onPointerEnter: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n };\n }, [activeId, ariaActiveDescendantProp, cols, commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, onOpenChange, open, openOnArrowKeyDown, orientation, getParentOrientation, rtl, selectedIndex, tree, virtual, virtualItemRef]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\nconst componentRoleToAriaRoleMap = /*#__PURE__*/new Map([['select', 'listbox'], ['combobox', 'listbox'], ['label', false]]);\n\n/**\n * Adds base screen reader props to the reference and floating elements for a\n * given floating element `role`.\n * @see https://floating-ui.com/docs/useRole\n */\nfunction useRole(context, props) {\n var _elements$domReferenc, _componentRoleToAriaR;\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n elements,\n floatingId: defaultFloatingId\n } = context;\n const {\n enabled = true,\n role = 'dialog'\n } = props;\n const defaultReferenceId = useId();\n const referenceId = ((_elements$domReferenc = elements.domReference) == null ? void 0 : _elements$domReferenc.id) || defaultReferenceId;\n const floatingId = React.useMemo(() => {\n var _getFloatingFocusElem;\n return ((_getFloatingFocusElem = getFloatingFocusElement(elements.floating)) == null ? void 0 : _getFloatingFocusElem.id) || defaultFloatingId;\n }, [elements.floating, defaultFloatingId]);\n const ariaRole = (_componentRoleToAriaR = componentRoleToAriaRoleMap.get(role)) != null ? _componentRoleToAriaR : role;\n const parentId = useFloatingParentNodeId();\n const isNested = parentId != null;\n const reference = React.useMemo(() => {\n if (ariaRole === 'tooltip' || role === 'label') {\n return {\n [\"aria-\" + (role === 'label' ? 'labelledby' : 'describedby')]: open ? floatingId : undefined\n };\n }\n return {\n 'aria-expanded': open ? 'true' : 'false',\n 'aria-haspopup': ariaRole === 'alertdialog' ? 'dialog' : ariaRole,\n 'aria-controls': open ? floatingId : undefined,\n ...(ariaRole === 'listbox' && {\n role: 'combobox'\n }),\n ...(ariaRole === 'menu' && {\n id: referenceId\n }),\n ...(ariaRole === 'menu' && isNested && {\n role: 'menuitem'\n }),\n ...(role === 'select' && {\n 'aria-autocomplete': 'none'\n }),\n ...(role === 'combobox' && {\n 'aria-autocomplete': 'list'\n })\n };\n }, [ariaRole, floatingId, isNested, open, referenceId, role]);\n const floating = React.useMemo(() => {\n const floatingProps = {\n id: floatingId,\n ...(ariaRole && {\n role: ariaRole\n })\n };\n if (ariaRole === 'tooltip' || role === 'label') {\n return floatingProps;\n }\n return {\n ...floatingProps,\n ...(ariaRole === 'menu' && {\n 'aria-labelledby': referenceId\n })\n };\n }, [ariaRole, floatingId, referenceId, role]);\n const item = React.useCallback(_ref => {\n let {\n active,\n selected\n } = _ref;\n const commonProps = {\n role: 'option',\n ...(active && {\n id: floatingId + \"-fui-option\"\n })\n };\n\n // For `menu`, we are unable to tell if the item is a `menuitemradio`\n // or `menuitemcheckbox`. For backwards-compatibility reasons, also\n // avoid defaulting to `menuitem` as it may overwrite custom role props.\n switch (role) {\n case 'select':\n case 'combobox':\n return {\n ...commonProps,\n 'aria-selected': selected\n };\n }\n return {};\n }, [floatingId, role]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item\n } : {}, [enabled, reference, floating, item]);\n}\n\n// Converts a JS style key like `backgroundColor` to a CSS transition-property\n// like `background-color`.\nconst camelCaseToKebabCase = str => str.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());\nfunction execWithArgsOrReturn(valueOrFn, args) {\n return typeof valueOrFn === 'function' ? valueOrFn(args) : valueOrFn;\n}\nfunction useDelayUnmount(open, durationMs) {\n const [isMounted, setIsMounted] = React.useState(open);\n if (open && !isMounted) {\n setIsMounted(true);\n }\n React.useEffect(() => {\n if (!open && isMounted) {\n const timeout = setTimeout(() => setIsMounted(false), durationMs);\n return () => clearTimeout(timeout);\n }\n }, [open, isMounted, durationMs]);\n return isMounted;\n}\n/**\n * Provides a status string to apply CSS transitions to a floating element,\n * correctly handling placement-aware transitions.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstatus\n */\nfunction useTransitionStatus(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n open,\n elements: {\n floating\n }\n } = context;\n const {\n duration = 250\n } = props;\n const isNumberDuration = typeof duration === 'number';\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [status, setStatus] = React.useState('unmounted');\n const isMounted = useDelayUnmount(open, closeDuration);\n if (!isMounted && status === 'close') {\n setStatus('unmounted');\n }\n useModernLayoutEffect(() => {\n if (!floating) return;\n if (open) {\n setStatus('initial');\n const frame = requestAnimationFrame(() => {\n // Ensure it opens before paint. With `FloatingDelayGroup`,\n // this avoids a flicker when moving between floating elements\n // to ensure one is always open with no missing frames.\n ReactDOM.flushSync(() => {\n setStatus('open');\n });\n });\n return () => {\n cancelAnimationFrame(frame);\n };\n }\n setStatus('close');\n }, [open, floating]);\n return {\n isMounted,\n status\n };\n}\n/**\n * Provides styles to apply CSS transitions to a floating element, correctly\n * handling placement-aware transitions. Wrapper around `useTransitionStatus`.\n * @see https://floating-ui.com/docs/useTransition#usetransitionstyles\n */\nfunction useTransitionStyles(context, props) {\n if (props === void 0) {\n props = {};\n }\n const {\n initial: unstable_initial = {\n opacity: 0\n },\n open: unstable_open,\n close: unstable_close,\n common: unstable_common,\n duration = 250\n } = props;\n const placement = context.placement;\n const side = placement.split('-')[0];\n const fnArgs = React.useMemo(() => ({\n side,\n placement\n }), [side, placement]);\n const isNumberDuration = typeof duration === 'number';\n const openDuration = (isNumberDuration ? duration : duration.open) || 0;\n const closeDuration = (isNumberDuration ? duration : duration.close) || 0;\n const [styles, setStyles] = React.useState(() => ({\n ...execWithArgsOrReturn(unstable_common, fnArgs),\n ...execWithArgsOrReturn(unstable_initial, fnArgs)\n }));\n const {\n isMounted,\n status\n } = useTransitionStatus(context, {\n duration\n });\n const initialRef = useLatestRef(unstable_initial);\n const openRef = useLatestRef(unstable_open);\n const closeRef = useLatestRef(unstable_close);\n const commonRef = useLatestRef(unstable_common);\n useModernLayoutEffect(() => {\n const initialStyles = execWithArgsOrReturn(initialRef.current, fnArgs);\n const closeStyles = execWithArgsOrReturn(closeRef.current, fnArgs);\n const commonStyles = execWithArgsOrReturn(commonRef.current, fnArgs);\n const openStyles = execWithArgsOrReturn(openRef.current, fnArgs) || Object.keys(initialStyles).reduce((acc, key) => {\n acc[key] = '';\n return acc;\n }, {});\n if (status === 'initial') {\n setStyles(styles => ({\n transitionProperty: styles.transitionProperty,\n ...commonStyles,\n ...initialStyles\n }));\n }\n if (status === 'open') {\n setStyles({\n transitionProperty: Object.keys(openStyles).map(camelCaseToKebabCase).join(','),\n transitionDuration: openDuration + \"ms\",\n ...commonStyles,\n ...openStyles\n });\n }\n if (status === 'close') {\n const styles = closeStyles || initialStyles;\n setStyles({\n transitionProperty: Object.keys(styles).map(camelCaseToKebabCase).join(','),\n transitionDuration: closeDuration + \"ms\",\n ...commonStyles,\n ...styles\n });\n }\n }, [closeDuration, closeRef, initialRef, openRef, commonRef, openDuration, status, fnArgs]);\n return {\n isMounted,\n styles\n };\n}\n\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nfunction useTypeahead(context, props) {\n var _ref;\n const {\n open,\n dataRef\n } = context;\n const {\n listRef,\n activeIndex,\n onMatch: unstable_onMatch,\n onTypingChange: unstable_onTypingChange,\n enabled = true,\n findMatch = null,\n resetMs = 750,\n ignoreKeys = [],\n selectedIndex = null\n } = props;\n const timeoutIdRef = React.useRef(-1);\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef((_ref = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref : -1);\n const matchIndexRef = React.useRef(null);\n const onMatch = useEffectEvent(unstable_onMatch);\n const onTypingChange = useEffectEvent(unstable_onTypingChange);\n const findMatchRef = useLatestRef(findMatch);\n const ignoreKeysRef = useLatestRef(ignoreKeys);\n useModernLayoutEffect(() => {\n if (open) {\n clearTimeoutIfSet(timeoutIdRef);\n matchIndexRef.current = null;\n stringRef.current = '';\n }\n }, [open]);\n useModernLayoutEffect(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n var _ref2;\n prevIndexRef.current = (_ref2 = selectedIndex != null ? selectedIndex : activeIndex) != null ? _ref2 : -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const setTypingChange = useEffectEvent(value => {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n } else {\n if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange(value);\n }\n }\n });\n const onKeyDown = useEffectEvent(event => {\n function getMatchingIndex(list, orderedList, string) {\n const str = findMatchRef.current ? findMatchRef.current(orderedList, string) : orderedList.find(text => (text == null ? void 0 : text.toLocaleLowerCase().indexOf(string.toLocaleLowerCase())) === 0);\n return str ? list.indexOf(str) : -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, listContent, stringRef.current) === -1) {\n setTypingChange(false);\n } else if (event.key === ' ') {\n stopEvent(event);\n }\n }\n if (listContent == null || ignoreKeysRef.current.includes(event.key) ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n setTypingChange(true);\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => {\n var _text$, _text$2;\n return text ? ((_text$ = text[0]) == null ? void 0 : _text$.toLocaleLowerCase()) !== ((_text$2 = text[1]) == null ? void 0 : _text$2.toLocaleLowerCase()) : true;\n });\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n clearTimeoutIfSet(timeoutIdRef);\n timeoutIdRef.current = window.setTimeout(() => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n }, resetMs);\n const prevIndex = prevIndexRef.current;\n const index = getMatchingIndex(listContent, [...listContent.slice((prevIndex || 0) + 1), ...listContent.slice(0, (prevIndex || 0) + 1)], stringRef.current);\n if (index !== -1) {\n onMatch(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n setTypingChange(false);\n }\n });\n const reference = React.useMemo(() => ({\n onKeyDown\n }), [onKeyDown]);\n const floating = React.useMemo(() => {\n return {\n onKeyDown,\n onKeyUp(event) {\n if (event.key === ' ') {\n setTypingChange(false);\n }\n }\n };\n }, [onKeyDown, setTypingChange]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}\n\nfunction getArgsWithCustomFloatingHeight(state, height) {\n return {\n ...state,\n rects: {\n ...state.rects,\n floating: {\n ...state.rects.floating,\n height\n }\n }\n };\n}\n/**\n * Positions the floating element such that an inner element inside of it is\n * anchored to the reference element.\n * @see https://floating-ui.com/docs/inner\n * @deprecated\n */\nconst inner = props => ({\n name: 'inner',\n options: props,\n async fn(state) {\n const {\n listRef,\n overflowRef,\n onFallbackChange,\n offset: innerOffset = 0,\n index = 0,\n minItemsVisible = 4,\n referenceOverflowThreshold = 0,\n scrollRef,\n ...detectOverflowOptions\n } = evaluate(props, state);\n const {\n rects,\n elements: {\n floating\n }\n } = state;\n const item = listRef.current[index];\n const scrollEl = (scrollRef == null ? void 0 : scrollRef.current) || floating;\n\n // Valid combinations:\n // 1. Floating element is the scrollRef and has a border (default)\n // 2. Floating element is not the scrollRef, floating element has a border\n // 3. Floating element is not the scrollRef, scrollRef has a border\n // Floating > {...getFloatingProps()} wrapper > scrollRef > items is not\n // allowed as VoiceOver doesn't work.\n const clientTop = floating.clientTop || scrollEl.clientTop;\n const floatingIsBordered = floating.clientTop !== 0;\n const scrollElIsBordered = scrollEl.clientTop !== 0;\n const floatingIsScrollEl = floating === scrollEl;\n if (process.env.NODE_ENV !== \"production\") {\n if (!state.placement.startsWith('bottom')) {\n warn('`placement` side must be \"bottom\" when using the `inner`', 'middleware.');\n }\n }\n if (!item) {\n return {};\n }\n const nextArgs = {\n ...state,\n ...(await offset(-item.offsetTop - floating.clientTop - rects.reference.height / 2 - item.offsetHeight / 2 - innerOffset).fn(state))\n };\n const overflow = await detectOverflow(getArgsWithCustomFloatingHeight(nextArgs, scrollEl.scrollHeight + clientTop + floating.clientTop), detectOverflowOptions);\n const refOverflow = await detectOverflow(nextArgs, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const diffY = max(0, overflow.top);\n const nextY = nextArgs.y + diffY;\n const isScrollable = scrollEl.scrollHeight > scrollEl.clientHeight;\n const rounder = isScrollable ? v => v : round;\n const maxHeight = rounder(max(0, scrollEl.scrollHeight + (floatingIsBordered && floatingIsScrollEl || scrollElIsBordered ? clientTop * 2 : 0) - diffY - max(0, overflow.bottom)));\n scrollEl.style.maxHeight = maxHeight + \"px\";\n scrollEl.scrollTop = diffY;\n\n // There is not enough space, fallback to standard anchored positioning\n if (onFallbackChange) {\n const shouldFallback = scrollEl.offsetHeight < item.offsetHeight * min(minItemsVisible, listRef.current.length) - 1 || refOverflow.top >= -referenceOverflowThreshold || refOverflow.bottom >= -referenceOverflowThreshold;\n ReactDOM.flushSync(() => onFallbackChange(shouldFallback));\n }\n if (overflowRef) {\n overflowRef.current = await detectOverflow(getArgsWithCustomFloatingHeight({\n ...nextArgs,\n y: nextY\n }, scrollEl.offsetHeight + clientTop + floating.clientTop), detectOverflowOptions);\n }\n return {\n y: nextY\n };\n }\n});\n/**\n * Changes the `inner` middleware's `offset` upon a `wheel` event to\n * expand the floating element's height, revealing more list items.\n * @see https://floating-ui.com/docs/inner\n * @deprecated\n */\nfunction useInnerOffset(context, props) {\n const {\n open,\n elements\n } = context;\n const {\n enabled = true,\n overflowRef,\n scrollRef,\n onChange: unstable_onChange\n } = props;\n const onChange = useEffectEvent(unstable_onChange);\n const controlledScrollingRef = React.useRef(false);\n const prevScrollTopRef = React.useRef(null);\n const initialOverflowRef = React.useRef(null);\n React.useEffect(() => {\n if (!enabled) return;\n function onWheel(e) {\n if (e.ctrlKey || !el || overflowRef.current == null) {\n return;\n }\n const dY = e.deltaY;\n const isAtTop = overflowRef.current.top >= -0.5;\n const isAtBottom = overflowRef.current.bottom >= -0.5;\n const remainingScroll = el.scrollHeight - el.clientHeight;\n const sign = dY < 0 ? -1 : 1;\n const method = dY < 0 ? 'max' : 'min';\n if (el.scrollHeight <= el.clientHeight) {\n return;\n }\n if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {\n e.preventDefault();\n ReactDOM.flushSync(() => {\n onChange(d => d + Math[method](dY, remainingScroll * sign));\n });\n } else if (/firefox/i.test(getUserAgent())) {\n // Needed to propagate scrolling during momentum scrolling phase once\n // it gets limited by the boundary. UX improvement, not critical.\n el.scrollTop += dY;\n }\n }\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (open && el) {\n el.addEventListener('wheel', onWheel);\n\n // Wait for the position to be ready.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n if (overflowRef.current != null) {\n initialOverflowRef.current = {\n ...overflowRef.current\n };\n }\n });\n return () => {\n prevScrollTopRef.current = null;\n initialOverflowRef.current = null;\n el.removeEventListener('wheel', onWheel);\n };\n }\n }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);\n const floating = React.useMemo(() => ({\n onKeyDown() {\n controlledScrollingRef.current = true;\n },\n onWheel() {\n controlledScrollingRef.current = false;\n },\n onPointerMove() {\n controlledScrollingRef.current = false;\n },\n onScroll() {\n const el = (scrollRef == null ? void 0 : scrollRef.current) || elements.floating;\n if (!overflowRef.current || !el || !controlledScrollingRef.current) {\n return;\n }\n if (prevScrollTopRef.current !== null) {\n const scrollDiff = el.scrollTop - prevScrollTopRef.current;\n if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {\n ReactDOM.flushSync(() => onChange(d => d + scrollDiff));\n }\n }\n\n // [Firefox] Wait for the height change to have been applied.\n requestAnimationFrame(() => {\n prevScrollTopRef.current = el.scrollTop;\n });\n }\n }), [elements.floating, onChange, overflowRef, scrollRef]);\n return React.useMemo(() => enabled ? {\n floating\n } : {}, [enabled, floating]);\n}\n\nfunction getNodeChildren(nodes, id, onlyOpenChildren) {\n if (onlyOpenChildren === void 0) {\n onlyOpenChildren = true;\n }\n const directChildren = nodes.filter(node => {\n var _node$context;\n return node.parentId === id && (!onlyOpenChildren || ((_node$context = node.context) == null ? void 0 : _node$context.open));\n });\n return directChildren.flatMap(child => [child, ...getNodeChildren(nodes, child.id, onlyOpenChildren)]);\n}\n\nfunction isPointInPolygon(point, polygon) {\n const [x, y] = point;\n let isInside = false;\n const length = polygon.length;\n for (let i = 0, j = length - 1; i < length; j = i++) {\n const [xi, yi] = polygon[i] || [0, 0];\n const [xj, yj] = polygon[j] || [0, 0];\n const intersect = yi >= y !== yj >= y && x <= (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) {\n isInside = !isInside;\n }\n }\n return isInside;\n}\nfunction isInside(point, rect) {\n return point[0] >= rect.x && point[0] <= rect.x + rect.width && point[1] >= rect.y && point[1] <= rect.y + rect.height;\n}\n/**\n * Generates a safe polygon area that the user can traverse without closing the\n * floating element once leaving the reference element.\n * @see https://floating-ui.com/docs/useHover#safepolygon\n */\nfunction safePolygon(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n buffer = 0.5,\n blockPointerEvents = false,\n requireIntent = true\n } = options;\n const timeoutRef = {\n current: -1\n };\n let hasLanded = false;\n let lastX = null;\n let lastY = null;\n let lastCursorTime = typeof performance !== 'undefined' ? performance.now() : 0;\n function getCursorSpeed(x, y) {\n const currentTime = performance.now();\n const elapsedTime = currentTime - lastCursorTime;\n if (lastX === null || lastY === null || elapsedTime === 0) {\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return null;\n }\n const deltaX = x - lastX;\n const deltaY = y - lastY;\n const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n const speed = distance / elapsedTime; // px / ms\n\n lastX = x;\n lastY = y;\n lastCursorTime = currentTime;\n return speed;\n }\n const fn = _ref => {\n let {\n x,\n y,\n placement,\n elements,\n onClose,\n nodeId,\n tree\n } = _ref;\n return function onMouseMove(event) {\n function close() {\n clearTimeoutIfSet(timeoutRef);\n onClose();\n }\n clearTimeoutIfSet(timeoutRef);\n if (!elements.domReference || !elements.floating || placement == null || x == null || y == null) {\n return;\n }\n const {\n clientX,\n clientY\n } = event;\n const clientPoint = [clientX, clientY];\n const target = getTarget(event);\n const isLeave = event.type === 'mouseleave';\n const isOverFloatingEl = contains(elements.floating, target);\n const isOverReferenceEl = contains(elements.domReference, target);\n const refRect = elements.domReference.getBoundingClientRect();\n const rect = elements.floating.getBoundingClientRect();\n const side = placement.split('-')[0];\n const cursorLeaveFromRight = x > rect.right - rect.width / 2;\n const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;\n const isOverReferenceRect = isInside(clientPoint, refRect);\n const isFloatingWider = rect.width > refRect.width;\n const isFloatingTaller = rect.height > refRect.height;\n const left = (isFloatingWider ? refRect : rect).left;\n const right = (isFloatingWider ? refRect : rect).right;\n const top = (isFloatingTaller ? refRect : rect).top;\n const bottom = (isFloatingTaller ? refRect : rect).bottom;\n if (isOverFloatingEl) {\n hasLanded = true;\n if (!isLeave) {\n return;\n }\n }\n if (isOverReferenceEl) {\n hasLanded = false;\n }\n if (isOverReferenceEl && !isLeave) {\n hasLanded = true;\n return;\n }\n\n // Prevent overlapping floating element from being stuck in an open-close\n // loop: https://github.com/floating-ui/floating-ui/issues/1910\n if (isLeave && isElement(event.relatedTarget) && contains(elements.floating, event.relatedTarget)) {\n return;\n }\n\n // If any nested child is open, abort.\n if (tree && getNodeChildren(tree.nodesRef.current, nodeId).length) {\n return;\n }\n\n // If the pointer is leaving from the opposite side, the \"buffer\" logic\n // creates a point where the floating element remains open, but should be\n // ignored.\n // A constant of 1 handles floating point rounding errors.\n if (side === 'top' && y >= refRect.bottom - 1 || side === 'bottom' && y <= refRect.top + 1 || side === 'left' && x >= refRect.right - 1 || side === 'right' && x <= refRect.left + 1) {\n return close();\n }\n\n // Ignore when the cursor is within the rectangular trough between the\n // two elements. Since the triangle is created from the cursor point,\n // which can start beyond the ref element's edge, traversing back and\n // forth from the ref to the floating element can cause it to close. This\n // ensures it always remains open in that case.\n let rectPoly = [];\n switch (side) {\n case 'top':\n rectPoly = [[left, refRect.top + 1], [left, rect.bottom - 1], [right, rect.bottom - 1], [right, refRect.top + 1]];\n break;\n case 'bottom':\n rectPoly = [[left, rect.top + 1], [left, refRect.bottom - 1], [right, refRect.bottom - 1], [right, rect.top + 1]];\n break;\n case 'left':\n rectPoly = [[rect.right - 1, bottom], [rect.right - 1, top], [refRect.left + 1, top], [refRect.left + 1, bottom]];\n break;\n case 'right':\n rectPoly = [[refRect.right - 1, bottom], [refRect.right - 1, top], [rect.left + 1, top], [rect.left + 1, bottom]];\n break;\n }\n function getPolygon(_ref2) {\n let [x, y] = _ref2;\n switch (side) {\n case 'top':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y + buffer + 1];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.bottom - buffer : isFloatingWider ? rect.bottom - buffer : rect.top], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.bottom - buffer : rect.top : rect.bottom - buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'bottom':\n {\n const cursorPointOne = [isFloatingWider ? x + buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const cursorPointTwo = [isFloatingWider ? x - buffer / 2 : cursorLeaveFromRight ? x + buffer * 4 : x - buffer * 4, y - buffer];\n const commonPoints = [[rect.left, cursorLeaveFromRight ? rect.top + buffer : isFloatingWider ? rect.top + buffer : rect.bottom], [rect.right, cursorLeaveFromRight ? isFloatingWider ? rect.top + buffer : rect.bottom : rect.top + buffer]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n case 'left':\n {\n const cursorPointOne = [x + buffer + 1, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x + buffer + 1, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.right - buffer : isFloatingTaller ? rect.right - buffer : rect.left, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.right - buffer : rect.left : rect.right - buffer, rect.bottom]];\n return [...commonPoints, cursorPointOne, cursorPointTwo];\n }\n case 'right':\n {\n const cursorPointOne = [x - buffer, isFloatingTaller ? y + buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const cursorPointTwo = [x - buffer, isFloatingTaller ? y - buffer / 2 : cursorLeaveFromBottom ? y + buffer * 4 : y - buffer * 4];\n const commonPoints = [[cursorLeaveFromBottom ? rect.left + buffer : isFloatingTaller ? rect.left + buffer : rect.right, rect.top], [cursorLeaveFromBottom ? isFloatingTaller ? rect.left + buffer : rect.right : rect.left + buffer, rect.bottom]];\n return [cursorPointOne, cursorPointTwo, ...commonPoints];\n }\n }\n }\n if (isPointInPolygon([clientX, clientY], rectPoly)) {\n return;\n }\n if (hasLanded && !isOverReferenceRect) {\n return close();\n }\n if (!isLeave && requireIntent) {\n const cursorSpeed = getCursorSpeed(event.clientX, event.clientY);\n const cursorSpeedThreshold = 0.1;\n if (cursorSpeed !== null && cursorSpeed < cursorSpeedThreshold) {\n return close();\n }\n }\n if (!isPointInPolygon([clientX, clientY], getPolygon([x, y]))) {\n close();\n } else if (!hasLanded && requireIntent) {\n timeoutRef.current = window.setTimeout(close, 40);\n }\n };\n };\n fn.__options = {\n blockPointerEvents\n };\n return fn;\n}\n\nexport { Composite, CompositeItem, FloatingArrow, FloatingDelayGroup, FloatingFocusManager, FloatingList, FloatingNode, FloatingOverlay, FloatingPortal, FloatingTree, NextFloatingDelayGroup, inner, safePolygon, useClick, useClientPoint, useDelayGroup, useDelayGroupContext, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFloatingPortalNode, useFloatingRootContext, useFloatingTree, useFocus, useHover, useId, useInnerOffset, useInteractions, useListItem, useListNavigation, useMergeRefs, useNextDelayGroup, useRole, useTransitionStatus, useTransitionStyles, useTypeahead };\n","import { createContext as W, useContext as z, useState as A, useCallback as v, useRef as H, useLayoutEffect as _, useEffect as m } from \"react\";\nimport { jsx as q } from \"react/jsx-runtime\";\nconst G = [\"shift\", \"alt\", \"meta\", \"mod\", \"ctrl\", \"control\"], O = {\n esc: \"escape\",\n return: \"enter\",\n left: \"arrowleft\",\n right: \"arrowright\",\n up: \"arrowup\",\n down: \"arrowdown\",\n ShiftLeft: \"shift\",\n ShiftRight: \"shift\",\n AltLeft: \"alt\",\n AltRight: \"alt\",\n MetaLeft: \"meta\",\n MetaRight: \"meta\",\n OSLeft: \"meta\",\n OSRight: \"meta\",\n ControlLeft: \"ctrl\",\n ControlRight: \"ctrl\"\n};\nfunction S(t) {\n return (O[t.trim()] || t.trim()).toLowerCase().replace(/key|digit|numpad/, \"\");\n}\nfunction J(t) {\n return G.includes(t);\n}\nfunction b(t, r = \",\") {\n return t.toLowerCase().split(r);\n}\nfunction R(t, r = \"+\", n = \">\", f = !1, l) {\n let u = [], c = !1;\n t.includes(n) ? (c = !0, u = t.toLocaleLowerCase().split(n).map((i) => S(i))) : u = t.toLocaleLowerCase().split(r).map((i) => S(i));\n const d = {\n alt: u.includes(\"alt\"),\n ctrl: u.includes(\"ctrl\") || u.includes(\"control\"),\n shift: u.includes(\"shift\"),\n meta: u.includes(\"meta\"),\n mod: u.includes(\"mod\"),\n useKey: f\n }, a = u.filter((i) => !G.includes(i));\n return {\n ...d,\n keys: a,\n description: l,\n isSequence: c\n };\n}\ntypeof document < \"u\" && (document.addEventListener(\"keydown\", (t) => {\n t.code !== void 0 && Q([S(t.code)]);\n}), document.addEventListener(\"keyup\", (t) => {\n t.code !== void 0 && U([S(t.code)]);\n})), typeof window < \"u\" && (window.addEventListener(\"blur\", () => {\n E.clear();\n}), window.addEventListener(\"contextmenu\", () => {\n setTimeout(() => {\n E.clear();\n }, 0);\n}));\nconst E = /* @__PURE__ */ new Set();\nfunction B(t) {\n return Array.isArray(t);\n}\nfunction ee(t, r = \",\") {\n return (B(t) ? t : t.split(r)).every((f) => E.has(f.trim().toLowerCase()));\n}\nfunction Q(t) {\n const r = Array.isArray(t) ? t : [t];\n E.has(\"meta\") && E.forEach((n) => !J(n) && E.delete(n.toLowerCase())), r.forEach((n) => E.add(n.toLowerCase()));\n}\nfunction U(t) {\n const r = Array.isArray(t) ? t : [t];\n t === \"meta\" ? E.clear() : r.forEach((n) => E.delete(n.toLowerCase()));\n}\nfunction te(t, r, n) {\n (typeof n == \"function\" && n(t, r) || n === !0) && t.preventDefault();\n}\nfunction re(t, r, n) {\n return typeof n == \"function\" ? n(t, r) : n === !0 || n === void 0;\n}\nfunction ne(t) {\n return V(t, [\"input\", \"textarea\", \"select\"]);\n}\nfunction V(t, r = !1) {\n const { target: n, composed: f } = t;\n let l;\n return ce(n) && f ? l = t.composedPath()[0] && t.composedPath()[0].tagName : l = n && n.tagName, B(r) ? !!(l && r && r.some((u) => u.toLowerCase() === l.toLowerCase())) : !!(l && r && r);\n}\nfunction ce(t) {\n return !!t.tagName && !t.tagName.startsWith(\"-\") && t.tagName.includes(\"-\");\n}\nfunction ue(t, r) {\n return t.length === 0 && r ? (console.warn(\n 'A hotkey has the \"scopes\" option set, however no active scopes were found. If you want to use the global scopes feature, you need to wrap your app in a <HotkeysProvider>'\n ), !0) : r ? t.some((n) => r.includes(n)) || t.includes(\"*\") : !0;\n}\nconst oe = (t, r, n = !1) => {\n const { alt: f, meta: l, mod: u, shift: c, ctrl: d, keys: a, useKey: i } = r, { code: w, key: e, ctrlKey: s, metaKey: y, shiftKey: k, altKey: K } = t, h = S(w);\n if (i && (a == null ? void 0 : a.length) === 1 && a.includes(e))\n return !0;\n if (!(a != null && a.includes(h)) && ![\"ctrl\", \"control\", \"unknown\", \"meta\", \"alt\", \"shift\", \"os\"].includes(h))\n return !1;\n if (!n) {\n if (f !== K && h !== \"alt\" || c !== k && h !== \"shift\")\n return !1;\n if (u) {\n if (!y && !s)\n return !1;\n } else if (l !== y && h !== \"meta\" && h !== \"os\" || d !== s && h !== \"ctrl\" && h !== \"control\")\n return !1;\n }\n return a && a.length === 1 && a.includes(h) ? !0 : a ? ee(a) : !a;\n}, X = W(void 0), ae = () => z(X);\nfunction fe({ addHotkey: t, removeHotkey: r, children: n }) {\n return /* @__PURE__ */ q(X.Provider, { value: { addHotkey: t, removeHotkey: r }, children: n });\n}\nfunction N(t, r) {\n return t && r && typeof t == \"object\" && typeof r == \"object\" ? Object.keys(t).length === Object.keys(r).length && // @ts-expect-error TS7053\n Object.keys(t).reduce((n, f) => n && N(t[f], r[f]), !0) : t === r;\n}\nconst Y = W({\n hotkeys: [],\n activeScopes: [],\n // This array has to be empty instead of containing '*' as default, to check if the provider is set or not\n toggleScope: () => {\n },\n enableScope: () => {\n },\n disableScope: () => {\n }\n}), le = () => z(Y), he = ({ initiallyActiveScopes: t = [\"*\"], children: r }) => {\n const [n, f] = A(t), [l, u] = A([]), c = v((e) => {\n f((s) => s.includes(\"*\") ? [e] : Array.from(/* @__PURE__ */ new Set([...s, e])));\n }, []), d = v((e) => {\n f((s) => s.filter((y) => y !== e));\n }, []), a = v((e) => {\n f((s) => s.includes(e) ? s.filter((y) => y !== e) : s.includes(\"*\") ? [e] : Array.from(/* @__PURE__ */ new Set([...s, e])));\n }, []), i = v((e) => {\n u((s) => [...s, e]);\n }, []), w = v((e) => {\n u((s) => s.filter((y) => !N(y, e)));\n }, []);\n return /* @__PURE__ */ q(\n Y.Provider,\n {\n value: { activeScopes: n, hotkeys: l, enableScope: c, disableScope: d, toggleScope: a },\n children: /* @__PURE__ */ q(fe, { addHotkey: i, removeHotkey: w, children: r })\n }\n );\n};\nfunction se(t) {\n const r = H(void 0);\n return N(r.current, t) || (r.current = t), r.current;\n}\nconst F = (t) => {\n t.stopPropagation(), t.preventDefault(), t.stopImmediatePropagation();\n}, ie = typeof window < \"u\" ? _ : m;\nfunction we(t, r, n, f) {\n const l = H(null), u = H(!1), c = n instanceof Array ? f instanceof Array ? void 0 : f : n, d = B(t) ? t.join(c == null ? void 0 : c.delimiter) : t, a = n instanceof Array ? n : f instanceof Array ? f : void 0, i = v(r, a ?? []), w = H(i);\n a ? w.current = i : w.current = r;\n const e = se(c), { activeScopes: s } = le(), y = ae();\n return ie(() => {\n if ((e == null ? void 0 : e.enabled) === !1 || !ue(s, e == null ? void 0 : e.scopes))\n return;\n let k = [], K;\n const h = (o, M = !1) => {\n var j;\n if (!(ne(o) && !V(o, e == null ? void 0 : e.enableOnFormTags))) {\n if (l.current !== null) {\n const L = l.current.getRootNode();\n if ((L instanceof Document || L instanceof ShadowRoot) && L.activeElement !== l.current && !l.current.contains(L.activeElement)) {\n F(o);\n return;\n }\n }\n (j = o.target) != null && j.isContentEditable && !(e != null && e.enableOnContentEditable) || b(d, e == null ? void 0 : e.delimiter).forEach((L) => {\n var D, I, p, $;\n if (L.includes((e == null ? void 0 : e.splitKey) ?? \"+\") && L.includes((e == null ? void 0 : e.sequenceSplitKey) ?? \">\")) {\n console.warn(`Hotkey ${L} contains both ${(e == null ? void 0 : e.splitKey) ?? \"+\"} and ${(e == null ? void 0 : e.sequenceSplitKey) ?? \">\"} which is not supported.`);\n return;\n }\n const g = R(L, e == null ? void 0 : e.splitKey, e == null ? void 0 : e.sequenceSplitKey, e == null ? void 0 : e.useKey, e == null ? void 0 : e.description);\n if (g.isSequence) {\n K = setTimeout(() => {\n k = [];\n }, (e == null ? void 0 : e.sequenceTimeoutMs) ?? 1e3);\n const P = g.useKey ? o.key : S(o.code);\n if (J(P.toLowerCase()))\n return;\n k.push(P);\n const Z = (D = g.keys) == null ? void 0 : D[k.length - 1];\n if (P !== Z) {\n k = [], K && clearTimeout(K);\n return;\n }\n k.length === ((I = g.keys) == null ? void 0 : I.length) && (w.current(o, g), K && clearTimeout(K), k = []);\n } else if (oe(o, g, e == null ? void 0 : e.ignoreModifiers) || (p = g.keys) != null && p.includes(\"*\")) {\n if (($ = e == null ? void 0 : e.ignoreEventWhen) != null && $.call(e, o) || M && u.current)\n return;\n if (te(o, g, e == null ? void 0 : e.preventDefault), !re(o, g, e == null ? void 0 : e.enabled)) {\n F(o);\n return;\n }\n w.current(o, g), M || (u.current = !0);\n }\n });\n }\n }, T = (o) => {\n o.code !== void 0 && (Q(S(o.code)), ((e == null ? void 0 : e.keydown) === void 0 && (e == null ? void 0 : e.keyup) !== !0 || e != null && e.keydown) && h(o));\n }, x = (o) => {\n o.code !== void 0 && (U(S(o.code)), u.current = !1, e != null && e.keyup && h(o, !0));\n }, C = l.current || (c == null ? void 0 : c.document) || document;\n return C.addEventListener(\"keyup\", x, c == null ? void 0 : c.eventListenerOptions), C.addEventListener(\"keydown\", T, c == null ? void 0 : c.eventListenerOptions), y && b(d, e == null ? void 0 : e.delimiter).forEach(\n (o) => y.addHotkey(\n R(o, e == null ? void 0 : e.splitKey, e == null ? void 0 : e.sequenceSplitKey, e == null ? void 0 : e.useKey, e == null ? void 0 : e.description)\n )\n ), () => {\n C.removeEventListener(\"keyup\", x, c == null ? void 0 : c.eventListenerOptions), C.removeEventListener(\"keydown\", T, c == null ? void 0 : c.eventListenerOptions), y && b(d, e == null ? void 0 : e.delimiter).forEach(\n (o) => y.removeHotkey(\n R(o, e == null ? void 0 : e.splitKey, e == null ? void 0 : e.sequenceSplitKey, e == null ? void 0 : e.useKey, e == null ? void 0 : e.description)\n )\n ), k = [], K && clearTimeout(K);\n };\n }, [d, e, s]), l;\n}\nfunction ge(t = !1) {\n const [r, n] = A(/* @__PURE__ */ new Set()), [f, l] = A(!1), u = v((i) => {\n i.code !== void 0 && (i.preventDefault(), i.stopPropagation(), n((w) => {\n const e = new Set(w);\n return e.add(S(t ? i.key : i.code)), e;\n }));\n }, [t]), c = v(() => {\n typeof document < \"u\" && (document.removeEventListener(\"keydown\", u), l(!1));\n }, [u]), d = v(() => {\n n(/* @__PURE__ */ new Set()), typeof document < \"u\" && (c(), document.addEventListener(\"keydown\", u), l(!0));\n }, [u, c]), a = v(() => {\n n(/* @__PURE__ */ new Set());\n }, []);\n return [r, { start: d, stop: c, resetKeys: a, isRecording: f }];\n}\nexport {\n he as HotkeysProvider,\n ee as isHotkeyPressed,\n we as useHotkeys,\n le as useHotkeysContext,\n ge as useRecordHotkeys\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = throttle;\n","import { jsx as h, jsxs as k, Fragment as J } from \"react/jsx-runtime\";\nimport * as p from \"react\";\nimport { useRef as Wc, useEffect as Kc } from \"react\";\nimport { NodeViewWrapper as Gc, Node as Yc, ReactNodeViewRenderer as qc, mergeAttributes as Jc, useCurrentEditor as Qc, useEditorState as Xc, useEditor as ta, EditorContext as ea, EditorContent as na } from \"@tiptap/react\";\nimport { StarterKit as ra } from \"@tiptap/starter-kit\";\nimport { Image as ia } from \"@tiptap/extension-image\";\nimport { TaskList as sa, TaskItem as oa } from \"@tiptap/extension-list\";\nimport { TextAlign as la } from \"@tiptap/extension-text-align\";\nimport { Typography as ca } from \"@tiptap/extension-typography\";\nimport { Highlight as aa } from \"@tiptap/extension-highlight\";\nimport { Subscript as ua } from \"@tiptap/extension-subscript\";\nimport { Superscript as da } from \"@tiptap/extension-superscript\";\nimport { M as ha, m as fa, a as ms, P as fe, b as yt, c as ga, g as pa, f as Ca, d as ma, e as wa, S as hn, F as fn, T as ut, A as ba, N as wt, E as ao, D as ws, h as bs, i as ya, j as ka, C as va, H as Sa, k as Ea, l as xa } from \"../../../paragraph-node-C0kBl9gb.js\";\nimport { FloatingDelayGroup as La, useMergeRefs as uo, FloatingPortal as Aa, useFloating as _a, offset as Ta, flip as Ia, shift as Ra, autoUpdate as Ma, useHover as Na, useFocus as Ha, useDismiss as Da, useRole as Oa, useInteractions as Ua } from \"@floating-ui/react\";\nimport * as Ht from \"@radix-ui/react-dropdown-menu\";\nimport { useHotkeys as ho } from \"react-hotkeys-hook\";\nimport * as In from \"@radix-ui/react-popover\";\nimport Va from \"lodash.throttle\";\nimport { m as gn } from \"../../../markdownTranslator-D7_8pMsF.js\";\n/* empty css */\nconst Ba = \"aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2\", Pa = \"ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2\", Kr = \"numeric\", Gr = \"ascii\", Yr = \"alpha\", Ue = \"asciinumeric\", De = \"alphanumeric\", qr = \"domain\", fo = \"emoji\", Fa = \"scheme\", za = \"slashscheme\", Rr = \"whitespace\";\nfunction ja(e, t) {\n return e in t || (t[e] = []), t[e];\n}\nfunction oe(e, t, n) {\n t[Kr] && (t[Ue] = !0, t[De] = !0), t[Gr] && (t[Ue] = !0, t[Yr] = !0), t[Ue] && (t[De] = !0), t[Yr] && (t[De] = !0), t[De] && (t[qr] = !0), t[fo] && (t[qr] = !0);\n for (const r in t) {\n const i = ja(r, n);\n i.indexOf(e) < 0 && i.push(e);\n }\n}\nfunction Za(e, t) {\n const n = {};\n for (const r in t)\n t[r].indexOf(e) >= 0 && (n[r] = !0);\n return n;\n}\nfunction K(e = null) {\n this.j = {}, this.jr = [], this.jd = null, this.t = e;\n}\nK.groups = {};\nK.prototype = {\n accepts() {\n return !!this.t;\n },\n /**\n * Follow an existing transition from the given input to the next state.\n * Does not mutate.\n * @param {string} input character or token type to transition on\n * @returns {?State<T>} the next state, if any\n */\n go(e) {\n const t = this, n = t.j[e];\n if (n)\n return n;\n for (let r = 0; r < t.jr.length; r++) {\n const i = t.jr[r][0], s = t.jr[r][1];\n if (s && i.test(e))\n return s;\n }\n return t.jd;\n },\n /**\n * Whether the state has a transition for the given input. Set the second\n * argument to true to only look for an exact match (and not a default or\n * regular-expression-based transition)\n * @param {string} input\n * @param {boolean} exactOnly\n */\n has(e, t = !1) {\n return t ? e in this.j : !!this.go(e);\n },\n /**\n * Short for \"transition all\"; create a transition from the array of items\n * in the given list to the same final resulting state.\n * @param {string | string[]} inputs Group of inputs to transition on\n * @param {Transition<T> | State<T>} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections<T>} [groups] Master list of token groups\n */\n ta(e, t, n, r) {\n for (let i = 0; i < e.length; i++)\n this.tt(e[i], t, n, r);\n },\n /**\n * Short for \"take regexp transition\"; defines a transition for this state\n * when it encounters a token which matches the given regular expression\n * @param {RegExp} regexp Regular expression transition (populate first)\n * @param {T | State<T>} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections<T>} [groups] Master list of token groups\n * @returns {State<T>} taken after the given input\n */\n tr(e, t, n, r) {\n r = r || K.groups;\n let i;\n return t && t.j ? i = t : (i = new K(t), n && r && oe(t, n, r)), this.jr.push([e, i]), i;\n },\n /**\n * Short for \"take transitions\", will take as many sequential transitions as\n * the length of the given input and returns the\n * resulting final state.\n * @param {string | string[]} input\n * @param {T | State<T>} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections<T>} [groups] Master list of token groups\n * @returns {State<T>} taken after the given input\n */\n ts(e, t, n, r) {\n let i = this;\n const s = e.length;\n if (!s)\n return i;\n for (let o = 0; o < s - 1; o++)\n i = i.tt(e[o]);\n return i.tt(e[s - 1], t, n, r);\n },\n /**\n * Short for \"take transition\", this is a method for building/working with\n * state machines.\n *\n * If a state already exists for the given input, returns it.\n *\n * If a token is specified, that state will emit that token when reached by\n * the linkify engine.\n *\n * If no state exists, it will be initialized with some default transitions\n * that resemble existing default transitions.\n *\n * If a state is given for the second argument, that state will be\n * transitioned to on the given input regardless of what that input\n * previously did.\n *\n * Specify a token group flags to define groups that this token belongs to.\n * The token will be added to corresponding entires in the given groups\n * object.\n *\n * @param {string} input character, token type to transition on\n * @param {T | State<T>} [next] Transition options\n * @param {Flags} [flags] Collections flags to add token to\n * @param {Collections<T>} [groups] Master list of groups\n * @returns {State<T>} taken after the given input\n */\n tt(e, t, n, r) {\n r = r || K.groups;\n const i = this;\n if (t && t.j)\n return i.j[e] = t, t;\n const s = t;\n let o, l = i.go(e);\n if (l ? (o = new K(), Object.assign(o.j, l.j), o.jr.push.apply(o.jr, l.jr), o.jd = l.jd, o.t = l.t) : o = new K(), s) {\n if (r)\n if (o.t && typeof o.t == \"string\") {\n const c = Object.assign(Za(o.t, r), n);\n oe(s, c, r);\n } else n && oe(s, n, r);\n o.t = s;\n }\n return i.j[e] = o, o;\n }\n};\nconst E = (e, t, n, r, i) => e.ta(t, n, r, i), D = (e, t, n, r, i) => e.tr(t, n, r, i), ys = (e, t, n, r, i) => e.ts(t, n, r, i), b = (e, t, n, r, i) => e.tt(t, n, r, i), _t = \"WORD\", Jr = \"UWORD\", go = \"ASCIINUMERICAL\", po = \"ALPHANUMERICAL\", We = \"LOCALHOST\", Qr = \"TLD\", Xr = \"UTLD\", Sn = \"SCHEME\", me = \"SLASH_SCHEME\", Ei = \"NUM\", ti = \"WS\", xi = \"NL\", Ve = \"OPENBRACE\", Be = \"CLOSEBRACE\", Rn = \"OPENBRACKET\", Mn = \"CLOSEBRACKET\", Nn = \"OPENPAREN\", Hn = \"CLOSEPAREN\", Dn = \"OPENANGLEBRACKET\", On = \"CLOSEANGLEBRACKET\", Un = \"FULLWIDTHLEFTPAREN\", Vn = \"FULLWIDTHRIGHTPAREN\", Bn = \"LEFTCORNERBRACKET\", Pn = \"RIGHTCORNERBRACKET\", Fn = \"LEFTWHITECORNERBRACKET\", zn = \"RIGHTWHITECORNERBRACKET\", jn = \"FULLWIDTHLESSTHAN\", Zn = \"FULLWIDTHGREATERTHAN\", $n = \"AMPERSAND\", Wn = \"APOSTROPHE\", Kn = \"ASTERISK\", jt = \"AT\", Gn = \"BACKSLASH\", Yn = \"BACKTICK\", qn = \"CARET\", Zt = \"COLON\", Li = \"COMMA\", Jn = \"DOLLAR\", gt = \"DOT\", Qn = \"EQUALS\", Ai = \"EXCLAMATION\", tt = \"HYPHEN\", Pe = \"PERCENT\", Xn = \"PIPE\", tr = \"PLUS\", er = \"POUND\", Fe = \"QUERY\", _i = \"QUOTE\", Co = \"FULLWIDTHMIDDLEDOT\", Ti = \"SEMI\", pt = \"SLASH\", ze = \"TILDE\", nr = \"UNDERSCORE\", mo = \"EMOJI\", rr = \"SYM\";\nvar wo = /* @__PURE__ */ Object.freeze({\n __proto__: null,\n ALPHANUMERICAL: po,\n AMPERSAND: $n,\n APOSTROPHE: Wn,\n ASCIINUMERICAL: go,\n ASTERISK: Kn,\n AT: jt,\n BACKSLASH: Gn,\n BACKTICK: Yn,\n CARET: qn,\n CLOSEANGLEBRACKET: On,\n CLOSEBRACE: Be,\n CLOSEBRACKET: Mn,\n CLOSEPAREN: Hn,\n COLON: Zt,\n COMMA: Li,\n DOLLAR: Jn,\n DOT: gt,\n EMOJI: mo,\n EQUALS: Qn,\n EXCLAMATION: Ai,\n FULLWIDTHGREATERTHAN: Zn,\n FULLWIDTHLEFTPAREN: Un,\n FULLWIDTHLESSTHAN: jn,\n FULLWIDTHMIDDLEDOT: Co,\n FULLWIDTHRIGHTPAREN: Vn,\n HYPHEN: tt,\n LEFTCORNERBRACKET: Bn,\n LEFTWHITECORNERBRACKET: Fn,\n LOCALHOST: We,\n NL: xi,\n NUM: Ei,\n OPENANGLEBRACKET: Dn,\n OPENBRACE: Ve,\n OPENBRACKET: Rn,\n OPENPAREN: Nn,\n PERCENT: Pe,\n PIPE: Xn,\n PLUS: tr,\n POUND: er,\n QUERY: Fe,\n QUOTE: _i,\n RIGHTCORNERBRACKET: Pn,\n RIGHTWHITECORNERBRACKET: zn,\n SCHEME: Sn,\n SEMI: Ti,\n SLASH: pt,\n SLASH_SCHEME: me,\n SYM: rr,\n TILDE: ze,\n TLD: Qr,\n UNDERSCORE: nr,\n UTLD: Xr,\n UWORD: Jr,\n WORD: _t,\n WS: ti\n});\nconst xt = /[a-z]/, Ne = new RegExp(\"\\\\p{L}\", \"u\"), Mr = new RegExp(\"\\\\p{Emoji}\", \"u\"), Lt = /\\d/, Nr = /\\s/, ks = \"\\r\", Hr = `\n`, $a = \"️\", Wa = \"‍\", Dr = \"\";\nlet pn = null, Cn = null;\nfunction Ka(e = []) {\n const t = {};\n K.groups = t;\n const n = new K();\n pn == null && (pn = vs(Ba)), Cn == null && (Cn = vs(Pa)), b(n, \"'\", Wn), b(n, \"{\", Ve), b(n, \"}\", Be), b(n, \"[\", Rn), b(n, \"]\", Mn), b(n, \"(\", Nn), b(n, \")\", Hn), b(n, \"<\", Dn), b(n, \">\", On), b(n, \"(\", Un), b(n, \")\", Vn), b(n, \"「\", Bn), b(n, \"」\", Pn), b(n, \"『\", Fn), b(n, \"』\", zn), b(n, \"<\", jn), b(n, \">\", Zn), b(n, \"&\", $n), b(n, \"*\", Kn), b(n, \"@\", jt), b(n, \"`\", Yn), b(n, \"^\", qn), b(n, \":\", Zt), b(n, \",\", Li), b(n, \"$\", Jn), b(n, \".\", gt), b(n, \"=\", Qn), b(n, \"!\", Ai), b(n, \"-\", tt), b(n, \"%\", Pe), b(n, \"|\", Xn), b(n, \"+\", tr), b(n, \"#\", er), b(n, \"?\", Fe), b(n, '\"', _i), b(n, \"/\", pt), b(n, \";\", Ti), b(n, \"~\", ze), b(n, \"_\", nr), b(n, \"\\\\\", Gn), b(n, \"・\", Co);\n const r = D(n, Lt, Ei, {\n [Kr]: !0\n });\n D(r, Lt, r);\n const i = D(r, xt, go, {\n [Ue]: !0\n }), s = D(r, Ne, po, {\n [De]: !0\n }), o = D(n, xt, _t, {\n [Gr]: !0\n });\n D(o, Lt, i), D(o, xt, o), D(i, Lt, i), D(i, xt, i);\n const l = D(n, Ne, Jr, {\n [Yr]: !0\n });\n D(l, xt), D(l, Lt, s), D(l, Ne, l), D(s, Lt, s), D(s, xt), D(s, Ne, s);\n const c = b(n, Hr, xi, {\n [Rr]: !0\n }), a = b(n, ks, ti, {\n [Rr]: !0\n }), u = D(n, Nr, ti, {\n [Rr]: !0\n });\n b(n, Dr, u), b(a, Hr, c), b(a, Dr, u), D(a, Nr, u), b(u, ks), b(u, Hr), D(u, Nr, u), b(u, Dr, u);\n const d = D(n, Mr, mo, {\n [fo]: !0\n });\n b(d, \"#\"), D(d, Mr, d), b(d, $a, d);\n const f = b(d, Wa);\n b(f, \"#\"), D(f, Mr, d);\n const g = [[xt, o], [Lt, i]], C = [[xt, null], [Ne, l], [Lt, s]];\n for (let m = 0; m < pn.length; m++)\n Ft(n, pn[m], Qr, _t, g);\n for (let m = 0; m < Cn.length; m++)\n Ft(n, Cn[m], Xr, Jr, C);\n oe(Qr, {\n tld: !0,\n ascii: !0\n }, t), oe(Xr, {\n utld: !0,\n alpha: !0\n }, t), Ft(n, \"file\", Sn, _t, g), Ft(n, \"mailto\", Sn, _t, g), Ft(n, \"http\", me, _t, g), Ft(n, \"https\", me, _t, g), Ft(n, \"ftp\", me, _t, g), Ft(n, \"ftps\", me, _t, g), oe(Sn, {\n scheme: !0,\n ascii: !0\n }, t), oe(me, {\n slashscheme: !0,\n ascii: !0\n }, t), e = e.sort((m, y) => m[0] > y[0] ? 1 : -1);\n for (let m = 0; m < e.length; m++) {\n const y = e[m][0], v = e[m][1] ? {\n [Fa]: !0\n } : {\n [za]: !0\n };\n y.indexOf(\"-\") >= 0 ? v[qr] = !0 : xt.test(y) ? Lt.test(y) ? v[Ue] = !0 : v[Gr] = !0 : v[Kr] = !0, ys(n, y, y, v);\n }\n return ys(n, \"localhost\", We, {\n ascii: !0\n }), n.jd = new K(rr), {\n start: n,\n tokens: Object.assign({\n groups: t\n }, wo)\n };\n}\nfunction bo(e, t) {\n const n = Ga(t.replace(/[A-Z]/g, (l) => l.toLowerCase())), r = n.length, i = [];\n let s = 0, o = 0;\n for (; o < r; ) {\n let l = e, c = null, a = 0, u = null, d = -1, f = -1;\n for (; o < r && (c = l.go(n[o])); )\n l = c, l.accepts() ? (d = 0, f = 0, u = l) : d >= 0 && (d += n[o].length, f++), a += n[o].length, s += n[o].length, o++;\n s -= d, o -= f, a -= d, i.push({\n t: u.t,\n // token type/name\n v: t.slice(s - a, s),\n // string value\n s: s - a,\n // start index\n e: s\n // end index (excluding)\n });\n }\n return i;\n}\nfunction Ga(e) {\n const t = [], n = e.length;\n let r = 0;\n for (; r < n; ) {\n let i = e.charCodeAt(r), s, o = i < 55296 || i > 56319 || r + 1 === n || (s = e.charCodeAt(r + 1)) < 56320 || s > 57343 ? e[r] : e.slice(r, r + 2);\n t.push(o), r += o.length;\n }\n return t;\n}\nfunction Ft(e, t, n, r, i) {\n let s;\n const o = t.length;\n for (let l = 0; l < o - 1; l++) {\n const c = t[l];\n e.j[c] ? s = e.j[c] : (s = new K(r), s.jr = i.slice(), e.j[c] = s), e = s;\n }\n return s = new K(n), s.jr = i.slice(), e.j[t[o - 1]] = s, s;\n}\nfunction vs(e) {\n const t = [], n = [];\n let r = 0, i = \"0123456789\";\n for (; r < e.length; ) {\n let s = 0;\n for (; i.indexOf(e[r + s]) >= 0; )\n s++;\n if (s > 0) {\n t.push(n.join(\"\"));\n for (let o = parseInt(e.substring(r, r + s), 10); o > 0; o--)\n n.pop();\n r += s;\n } else\n n.push(e[r]), r++;\n }\n return t;\n}\nconst Ke = {\n defaultProtocol: \"http\",\n events: null,\n format: Ss,\n formatHref: Ss,\n nl2br: !1,\n tagName: \"a\",\n target: null,\n rel: null,\n validate: !0,\n truncate: 1 / 0,\n className: null,\n attributes: null,\n ignoreTags: [],\n render: null\n};\nfunction Ii(e, t = null) {\n let n = Object.assign({}, Ke);\n e && (n = Object.assign(n, e instanceof Ii ? e.o : e));\n const r = n.ignoreTags, i = [];\n for (let s = 0; s < r.length; s++)\n i.push(r[s].toUpperCase());\n this.o = n, t && (this.defaultRender = t), this.ignoreTags = i;\n}\nIi.prototype = {\n o: Ke,\n /**\n * @type string[]\n */\n ignoreTags: [],\n /**\n * @param {IntermediateRepresentation} ir\n * @returns {any}\n */\n defaultRender(e) {\n return e;\n },\n /**\n * Returns true or false based on whether a token should be displayed as a\n * link based on the user options.\n * @param {MultiToken} token\n * @returns {boolean}\n */\n check(e) {\n return this.get(\"validate\", e.toString(), e);\n },\n // Private methods\n /**\n * Resolve an option's value based on the value of the option and the given\n * params. If operator and token are specified and the target option is\n * callable, automatically calls the function with the given argument.\n * @template {keyof Opts} K\n * @param {K} key Name of option to use\n * @param {string} [operator] will be passed to the target option if it's a\n * function. If not specified, RAW function value gets returned\n * @param {MultiToken} [token] The token from linkify.tokenize\n * @returns {Opts[K] | any}\n */\n get(e, t, n) {\n const r = t != null;\n let i = this.o[e];\n return i && (typeof i == \"object\" ? (i = n.t in i ? i[n.t] : Ke[e], typeof i == \"function\" && r && (i = i(t, n))) : typeof i == \"function\" && r && (i = i(t, n.t, n)), i);\n },\n /**\n * @template {keyof Opts} L\n * @param {L} key Name of options object to use\n * @param {string} [operator]\n * @param {MultiToken} [token]\n * @returns {Opts[L] | any}\n */\n getObj(e, t, n) {\n let r = this.o[e];\n return typeof r == \"function\" && t != null && (r = r(t, n.t, n)), r;\n },\n /**\n * Convert the given token to a rendered element that may be added to the\n * calling-interface's DOM\n * @param {MultiToken} token Token to render to an HTML element\n * @returns {any} Render result; e.g., HTML string, DOM element, React\n * Component, etc.\n */\n render(e) {\n const t = e.render(this);\n return (this.get(\"render\", null, e) || this.defaultRender)(t, e.t, e);\n }\n};\nfunction Ss(e) {\n return e;\n}\nfunction yo(e, t) {\n this.t = \"token\", this.v = e, this.tk = t;\n}\nyo.prototype = {\n isLink: !1,\n /**\n * Return the string this token represents.\n * @return {string}\n */\n toString() {\n return this.v;\n },\n /**\n * What should the value for this token be in the `href` HTML attribute?\n * Returns the `.toString` value by default.\n * @param {string} [scheme]\n * @return {string}\n */\n toHref(e) {\n return this.toString();\n },\n /**\n * @param {Options} options Formatting options\n * @returns {string}\n */\n toFormattedString(e) {\n const t = this.toString(), n = e.get(\"truncate\", t, this), r = e.get(\"format\", t, this);\n return n && r.length > n ? r.substring(0, n) + \"…\" : r;\n },\n /**\n *\n * @param {Options} options\n * @returns {string}\n */\n toFormattedHref(e) {\n return e.get(\"formatHref\", this.toHref(e.get(\"defaultProtocol\")), this);\n },\n /**\n * The start index of this token in the original input string\n * @returns {number}\n */\n startIndex() {\n return this.tk[0].s;\n },\n /**\n * The end index of this token in the original input string (up to this\n * index but not including it)\n * @returns {number}\n */\n endIndex() {\n return this.tk[this.tk.length - 1].e;\n },\n /**\n \tReturns an object of relevant values for this token, which includes keys\n \t* type - Kind of token ('url', 'email', etc.)\n \t* value - Original text\n \t* href - The value that should be added to the anchor tag's href\n \t\tattribute\n \t\t@method toObject\n \t@param {string} [protocol] `'http'` by default\n */\n toObject(e = Ke.defaultProtocol) {\n return {\n type: this.t,\n value: this.toString(),\n isLink: this.isLink,\n href: this.toHref(e),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n *\n * @param {Options} options Formatting option\n */\n toFormattedObject(e) {\n return {\n type: this.t,\n value: this.toFormattedString(e),\n isLink: this.isLink,\n href: this.toFormattedHref(e),\n start: this.startIndex(),\n end: this.endIndex()\n };\n },\n /**\n * Whether this token should be rendered as a link according to the given options\n * @param {Options} options\n * @returns {boolean}\n */\n validate(e) {\n return e.get(\"validate\", this.toString(), this);\n },\n /**\n * Return an object that represents how this link should be rendered.\n * @param {Options} options Formattinng options\n */\n render(e) {\n const t = this, n = this.toHref(e.get(\"defaultProtocol\")), r = e.get(\"formatHref\", n, this), i = e.get(\"tagName\", n, t), s = this.toFormattedString(e), o = {}, l = e.get(\"className\", n, t), c = e.get(\"target\", n, t), a = e.get(\"rel\", n, t), u = e.getObj(\"attributes\", n, t), d = e.getObj(\"events\", n, t);\n return o.href = r, l && (o.class = l), c && (o.target = c), a && (o.rel = a), u && Object.assign(o, u), {\n tagName: i,\n attributes: o,\n content: s,\n eventListeners: d\n };\n }\n};\nfunction pr(e, t) {\n class n extends yo {\n constructor(i, s) {\n super(i, s), this.t = e;\n }\n }\n for (const r in t)\n n.prototype[r] = t[r];\n return n.t = e, n;\n}\nconst Es = pr(\"email\", {\n isLink: !0,\n toHref() {\n return \"mailto:\" + this.toString();\n }\n}), xs = pr(\"text\"), Ya = pr(\"nl\"), mn = pr(\"url\", {\n isLink: !0,\n /**\n \tLowercases relevant parts of the domain and adds the protocol if\n \trequired. Note that this will not escape unsafe HTML characters in the\n \tURL.\n \t\t@param {string} [scheme] default scheme (e.g., 'https')\n \t@return {string} the full href\n */\n toHref(e = Ke.defaultProtocol) {\n return this.hasProtocol() ? this.v : `${e}://${this.v}`;\n },\n /**\n * Check whether this URL token has a protocol\n * @return {boolean}\n */\n hasProtocol() {\n const e = this.tk;\n return e.length >= 2 && e[0].t !== We && e[1].t === Zt;\n }\n}), X = (e) => new K(e);\nfunction qa({\n groups: e\n}) {\n const t = e.domain.concat([$n, Kn, jt, Gn, Yn, qn, Jn, Qn, tt, Ei, Pe, Xn, tr, er, pt, rr, ze, nr]), n = [Wn, Zt, Li, gt, Ai, Pe, Fe, _i, Ti, Dn, On, Ve, Be, Mn, Rn, Nn, Hn, Un, Vn, Bn, Pn, Fn, zn, jn, Zn], r = [$n, Wn, Kn, Gn, Yn, qn, Jn, Qn, tt, Ve, Be, Pe, Xn, tr, er, Fe, pt, rr, ze, nr], i = X(), s = b(i, ze);\n E(s, r, s), E(s, e.domain, s);\n const o = X(), l = X(), c = X();\n E(i, e.domain, o), E(i, e.scheme, l), E(i, e.slashscheme, c), E(o, r, s), E(o, e.domain, o);\n const a = b(o, jt);\n b(s, jt, a), b(l, jt, a), b(c, jt, a);\n const u = b(s, gt);\n E(u, r, s), E(u, e.domain, s);\n const d = X();\n E(a, e.domain, d), E(d, e.domain, d);\n const f = b(d, gt);\n E(f, e.domain, d);\n const g = X(Es);\n E(f, e.tld, g), E(f, e.utld, g), b(a, We, g);\n const C = b(d, tt);\n b(C, tt, C), E(C, e.domain, d), E(g, e.domain, d), b(g, gt, f), b(g, tt, C);\n const m = b(g, Zt);\n E(m, e.numeric, Es);\n const y = b(o, tt), w = b(o, gt);\n b(y, tt, y), E(y, e.domain, o), E(w, r, s), E(w, e.domain, o);\n const v = X(mn);\n E(w, e.tld, v), E(w, e.utld, v), E(v, e.domain, o), E(v, r, s), b(v, gt, w), b(v, tt, y), b(v, jt, a);\n const A = b(v, Zt), Y = X(mn);\n E(A, e.numeric, Y);\n const _ = X(mn), Vt = X();\n E(_, t, _), E(_, n, Vt), E(Vt, t, _), E(Vt, n, Vt), b(v, pt, _), b(Y, pt, _);\n const Ce = b(l, Zt), Qt = b(c, Zt), it = b(Qt, pt), Re = b(it, pt);\n E(l, e.domain, o), b(l, gt, w), b(l, tt, y), E(c, e.domain, o), b(c, gt, w), b(c, tt, y), E(Ce, e.domain, _), b(Ce, pt, _), b(Ce, Fe, _), E(Re, e.domain, _), E(Re, t, _), b(Re, pt, _);\n const Xt = [\n [Ve, Be],\n // {}\n [Rn, Mn],\n // []\n [Nn, Hn],\n // ()\n [Dn, On],\n // <>\n [Un, Vn],\n // ()\n [Bn, Pn],\n // 「」\n [Fn, zn],\n // 『』\n [jn, Zn]\n // <>\n ];\n for (let Me = 0; Me < Xt.length; Me++) {\n const [te, Bt] = Xt[Me], ee = b(_, te);\n b(Vt, te, ee), b(ee, Bt, _);\n const Pt = X(mn);\n E(ee, t, Pt);\n const ne = X();\n E(ee, n), E(Pt, t, Pt), E(Pt, n, ne), E(ne, t, Pt), E(ne, n, ne), b(Pt, Bt, _), b(ne, Bt, _);\n }\n return b(i, We, v), b(i, xi, Ya), {\n start: i,\n tokens: wo\n };\n}\nfunction Ja(e, t, n) {\n let r = n.length, i = 0, s = [], o = [];\n for (; i < r; ) {\n let l = e, c = null, a = null, u = 0, d = null, f = -1;\n for (; i < r && !(c = l.go(n[i].t)); )\n o.push(n[i++]);\n for (; i < r && (a = c || l.go(n[i].t)); )\n c = null, l = a, l.accepts() ? (f = 0, d = l) : f >= 0 && f++, i++, u++;\n if (f < 0)\n i -= u, i < r && (o.push(n[i]), i++);\n else {\n o.length > 0 && (s.push(Or(xs, t, o)), o = []), i -= f, u -= f;\n const g = d.t, C = n.slice(i - u, i);\n s.push(Or(g, t, C));\n }\n }\n return o.length > 0 && s.push(Or(xs, t, o)), s;\n}\nfunction Or(e, t, n) {\n const r = n[0].s, i = n[n.length - 1].e, s = t.slice(r, i);\n return new e(s, n);\n}\nconst Qa = typeof console < \"u\" && console && console.warn || (() => {\n}), Xa = \"until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.\", R = {\n scanner: null,\n parser: null,\n tokenQueue: [],\n pluginQueue: [],\n customSchemes: [],\n initialized: !1\n};\nfunction t1() {\n return K.groups = {}, R.scanner = null, R.parser = null, R.tokenQueue = [], R.pluginQueue = [], R.customSchemes = [], R.initialized = !1, R;\n}\nfunction Ls(e, t = !1) {\n if (R.initialized && Qa(`linkifyjs: already initialized - will not register custom scheme \"${e}\" ${Xa}`), !/^[0-9a-z]+(-[0-9a-z]+)*$/.test(e))\n throw new Error(`linkifyjs: incorrect scheme format.\n1. Must only contain digits, lowercase ASCII letters or \"-\"\n2. Cannot start or end with \"-\"\n3. \"-\" cannot repeat`);\n R.customSchemes.push([e, t]);\n}\nfunction e1() {\n R.scanner = Ka(R.customSchemes);\n for (let e = 0; e < R.tokenQueue.length; e++)\n R.tokenQueue[e][1]({\n scanner: R.scanner\n });\n R.parser = qa(R.scanner.tokens);\n for (let e = 0; e < R.pluginQueue.length; e++)\n R.pluginQueue[e][1]({\n scanner: R.scanner,\n parser: R.parser\n });\n return R.initialized = !0, R;\n}\nfunction Ri(e) {\n return R.initialized || e1(), Ja(R.parser.start, e, bo(R.scanner.start, e));\n}\nRi.scan = bo;\nfunction ko(e, t = null, n = null) {\n if (t && typeof t == \"object\") {\n if (n)\n throw Error(`linkifyjs: Invalid link type ${t}; must be a string`);\n n = t, t = null;\n }\n const r = new Ii(n), i = Ri(e), s = [];\n for (let o = 0; o < i.length; o++) {\n const l = i[o];\n l.isLink && (!t || l.t === t) && r.check(l) && s.push(l.toFormattedObject(r));\n }\n return s;\n}\nvar Mi = \"[\\0-   ᠎ -\\u2029  ]\", n1 = new RegExp(Mi), r1 = new RegExp(`${Mi}$`), i1 = new RegExp(Mi, \"g\");\nfunction s1(e) {\n return e.length === 1 ? e[0].isLink : e.length === 3 && e[1].isLink ? [\"()\", \"[]\"].includes(e[0].value + e[2].value) : !1;\n}\nfunction o1(e) {\n return new fe({\n key: new yt(\"autolink\"),\n appendTransaction: (t, n, r) => {\n const i = t.some((a) => a.docChanged) && !n.doc.eq(r.doc), s = t.some((a) => a.getMeta(\"preventAutolink\"));\n if (!i || s)\n return;\n const { tr: o } = r, l = ga(n.doc, [...t]);\n if (pa(l).forEach(({ newRange: a }) => {\n const u = Ca(r.doc, a, (g) => g.isTextblock);\n let d, f;\n if (u.length > 1)\n d = u[0], f = r.doc.textBetween(\n d.pos,\n d.pos + d.node.nodeSize,\n void 0,\n \" \"\n );\n else if (u.length) {\n const g = r.doc.textBetween(a.from, a.to, \" \", \" \");\n if (!r1.test(g))\n return;\n d = u[0], f = r.doc.textBetween(d.pos, a.to, void 0, \" \");\n }\n if (d && f) {\n const g = f.split(n1).filter(Boolean);\n if (g.length <= 0)\n return !1;\n const C = g[g.length - 1], m = d.pos + f.lastIndexOf(C);\n if (!C)\n return !1;\n const y = Ri(C).map((w) => w.toObject(e.defaultProtocol));\n if (!s1(y))\n return !1;\n y.filter((w) => w.isLink).map((w) => ({\n ...w,\n from: m + w.start + 1,\n to: m + w.end + 1\n })).filter((w) => r.schema.marks.code ? !r.doc.rangeHasMark(w.from, w.to, r.schema.marks.code) : !0).filter((w) => e.validate(w.value)).filter((w) => e.shouldAutoLink(w.value)).forEach((w) => {\n ma(w.from, w.to, r.doc).some((v) => v.mark.type === e.type) || o.addMark(\n w.from,\n w.to,\n e.type.create({\n href: w.href\n })\n );\n });\n }\n }), !!o.steps.length)\n return o;\n }\n });\n}\nfunction l1(e) {\n return new fe({\n key: new yt(\"handleClickLink\"),\n props: {\n handleClick: (t, n, r) => {\n var i, s;\n if (r.button !== 0 || !t.editable)\n return !1;\n let o = null;\n if (r.target instanceof HTMLAnchorElement)\n o = r.target;\n else {\n let u = r.target;\n const d = [];\n for (; u.nodeName !== \"DIV\"; )\n d.push(u), u = u.parentNode;\n o = d.find((f) => f.nodeName === \"A\");\n }\n if (!o)\n return !1;\n const l = wa(t.state, e.type.name), c = (i = o?.href) != null ? i : l.href, a = (s = o?.target) != null ? s : l.target;\n return e.enableClickSelection && e.editor.commands.extendMarkRange(e.type.name), o && c ? (window.open(c, a), !0) : !1;\n }\n }\n });\n}\nfunction c1(e) {\n return new fe({\n key: new yt(\"handlePasteLink\"),\n props: {\n handlePaste: (t, n, r) => {\n const { state: i } = t, { selection: s } = i, { empty: o } = s;\n if (o)\n return !1;\n let l = \"\";\n r.content.forEach((a) => {\n l += a.textContent;\n });\n const c = ko(l, { defaultProtocol: e.defaultProtocol }).find(\n (a) => a.isLink && a.value === l\n );\n return !l || !c ? !1 : e.editor.commands.setMark(e.type, {\n href: c.href\n });\n }\n }\n });\n}\nfunction ie(e, t) {\n const n = [\"http\", \"https\", \"ftp\", \"ftps\", \"mailto\", \"tel\", \"callto\", \"sms\", \"cid\", \"xmpp\"];\n return t && t.forEach((r) => {\n const i = typeof r == \"string\" ? r : r.scheme;\n i && n.push(i);\n }), !e || e.replace(i1, \"\").match(\n new RegExp(\n // eslint-disable-next-line no-useless-escape\n `^(?:(?:${n.join(\"|\")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,\n \"i\"\n )\n );\n}\nvar a1 = ha.create({\n name: \"link\",\n priority: 1e3,\n keepOnSplit: !1,\n exitable: !0,\n onCreate() {\n this.options.validate && !this.options.shouldAutoLink && (this.options.shouldAutoLink = this.options.validate, console.warn(\"The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.\")), this.options.protocols.forEach((e) => {\n if (typeof e == \"string\") {\n Ls(e);\n return;\n }\n Ls(e.scheme, e.optionalSlashes);\n });\n },\n onDestroy() {\n t1();\n },\n inclusive() {\n return this.options.autolink;\n },\n addOptions() {\n return {\n openOnClick: !0,\n enableClickSelection: !1,\n linkOnPaste: !0,\n autolink: !0,\n protocols: [],\n defaultProtocol: \"http\",\n HTMLAttributes: {\n target: \"_blank\",\n rel: \"noopener noreferrer nofollow\",\n class: null\n },\n isAllowedUri: (e, t) => !!ie(e, t.protocols),\n validate: (e) => !!e,\n shouldAutoLink: (e) => !!e\n };\n },\n addAttributes() {\n return {\n href: {\n default: null,\n parseHTML(e) {\n return e.getAttribute(\"href\");\n }\n },\n target: {\n default: this.options.HTMLAttributes.target\n },\n rel: {\n default: this.options.HTMLAttributes.rel\n },\n class: {\n default: this.options.HTMLAttributes.class\n }\n };\n },\n parseHTML() {\n return [\n {\n tag: \"a[href]\",\n getAttrs: (e) => {\n const t = e.getAttribute(\"href\");\n return !t || !this.options.isAllowedUri(t, {\n defaultValidate: (n) => !!ie(n, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol\n }) ? !1 : null;\n }\n }\n ];\n },\n renderHTML({ HTMLAttributes: e }) {\n return this.options.isAllowedUri(e.href, {\n defaultValidate: (t) => !!ie(t, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol\n }) ? [\"a\", ms(this.options.HTMLAttributes, e), 0] : [\"a\", ms(this.options.HTMLAttributes, { ...e, href: \"\" }), 0];\n },\n addCommands() {\n return {\n setLink: (e) => ({ chain: t }) => {\n const { href: n } = e;\n return this.options.isAllowedUri(n, {\n defaultValidate: (r) => !!ie(r, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol\n }) ? t().setMark(this.name, e).setMeta(\"preventAutolink\", !0).run() : !1;\n },\n toggleLink: (e) => ({ chain: t }) => {\n const { href: n } = e || {};\n return n && !this.options.isAllowedUri(n, {\n defaultValidate: (r) => !!ie(r, this.options.protocols),\n protocols: this.options.protocols,\n defaultProtocol: this.options.defaultProtocol\n }) ? !1 : t().toggleMark(this.name, e, { extendEmptyMarkRange: !0 }).setMeta(\"preventAutolink\", !0).run();\n },\n unsetLink: () => ({ chain: e }) => e().unsetMark(this.name, { extendEmptyMarkRange: !0 }).setMeta(\"preventAutolink\", !0).run()\n };\n },\n addPasteRules() {\n return [\n fa({\n find: (e) => {\n const t = [];\n if (e) {\n const { protocols: n, defaultProtocol: r } = this.options, i = ko(e).filter(\n (s) => s.isLink && this.options.isAllowedUri(s.value, {\n defaultValidate: (o) => !!ie(o, n),\n protocols: n,\n defaultProtocol: r\n })\n );\n i.length && i.forEach(\n (s) => t.push({\n text: s.value,\n data: {\n href: s.href\n },\n index: s.start\n })\n );\n }\n return t;\n },\n type: this.type,\n getAttributes: (e) => {\n var t;\n return {\n href: (t = e.data) == null ? void 0 : t.href\n };\n }\n })\n ];\n },\n addProseMirrorPlugins() {\n const e = [], { protocols: t, defaultProtocol: n } = this.options;\n return this.options.autolink && e.push(\n o1({\n type: this.type,\n defaultProtocol: this.options.defaultProtocol,\n validate: (r) => this.options.isAllowedUri(r, {\n defaultValidate: (i) => !!ie(i, t),\n protocols: t,\n defaultProtocol: n\n }),\n shouldAutoLink: this.options.shouldAutoLink\n })\n ), this.options.openOnClick === !0 && e.push(\n l1({\n type: this.type,\n editor: this.editor,\n enableClickSelection: this.options.enableClickSelection\n })\n ), this.options.linkOnPaste && e.push(\n c1({\n editor: this.editor,\n defaultProtocol: this.options.defaultProtocol,\n type: this.type\n })\n ), e;\n }\n});\nconst rt = () => /* @__PURE__ */ new Map(), ei = (e) => {\n const t = rt();\n return e.forEach((n, r) => {\n t.set(r, n);\n }), t;\n}, kt = (e, t, n) => {\n let r = e.get(t);\n return r === void 0 && e.set(t, r = n()), r;\n}, u1 = (e, t) => {\n const n = [];\n for (const [r, i] of e)\n n.push(t(i, r));\n return n;\n}, d1 = (e, t) => {\n for (const [n, r] of e)\n if (t(r, n))\n return !0;\n return !1;\n}, ce = () => /* @__PURE__ */ new Set(), Ur = (e) => e[e.length - 1], h1 = (e, t) => {\n for (let n = 0; n < t.length; n++)\n e.push(t[n]);\n}, ae = Array.from, f1 = (e, t) => {\n for (let n = 0; n < e.length; n++)\n if (t(e[n], n, e))\n return !0;\n return !1;\n}, ni = Array.isArray;\nclass vo {\n constructor() {\n this._observers = rt();\n }\n /**\n * @template {keyof EVENTS & string} NAME\n * @param {NAME} name\n * @param {EVENTS[NAME]} f\n */\n on(t, n) {\n return kt(\n this._observers,\n /** @type {string} */\n t,\n ce\n ).add(n), n;\n }\n /**\n * @template {keyof EVENTS & string} NAME\n * @param {NAME} name\n * @param {EVENTS[NAME]} f\n */\n once(t, n) {\n const r = (...i) => {\n this.off(\n t,\n /** @type {any} */\n r\n ), n(...i);\n };\n this.on(\n t,\n /** @type {any} */\n r\n );\n }\n /**\n * @template {keyof EVENTS & string} NAME\n * @param {NAME} name\n * @param {EVENTS[NAME]} f\n */\n off(t, n) {\n const r = this._observers.get(t);\n r !== void 0 && (r.delete(n), r.size === 0 && this._observers.delete(t));\n }\n /**\n * Emit a named event. All registered event listeners that listen to the\n * specified name will receive the event.\n *\n * @todo This should catch exceptions\n *\n * @template {keyof EVENTS & string} NAME\n * @param {NAME} name The event name.\n * @param {Parameters<EVENTS[NAME]>} args The arguments that are applied to the event listener.\n */\n emit(t, n) {\n return ae((this._observers.get(t) || rt()).values()).forEach((r) => r(...n));\n }\n destroy() {\n this._observers = rt();\n }\n}\nconst Nt = Math.floor, En = Math.abs, It = (e, t) => e < t ? e : t, bt = (e, t) => e > t ? e : t, So = (e) => e !== 0 ? e < 0 : 1 / e < 0, As = 1, _s = 2, Vr = 4, Br = 8, Ge = 32, Rt = 64, $ = 128, g1 = 1 << 29, Cr = 31, ri = 63, le = 127, p1 = 2147483647, Eo = Number.MAX_SAFE_INTEGER, C1 = Number.isInteger || ((e) => typeof e == \"number\" && isFinite(e) && Nt(e) === e), m1 = String.fromCharCode, w1 = (e) => e.toLowerCase(), b1 = /^\\s*/g, y1 = (e) => e.replace(b1, \"\"), k1 = /([A-Z])/g, Ts = (e, t) => y1(e.replace(k1, (n) => `${t}${w1(n)}`)), v1 = (e) => {\n const t = unescape(encodeURIComponent(e)), n = t.length, r = new Uint8Array(n);\n for (let i = 0; i < n; i++)\n r[i] = /** @type {number} */\n t.codePointAt(i);\n return r;\n}, Ye = (\n /** @type {TextEncoder} */\n typeof TextEncoder < \"u\" ? new TextEncoder() : null\n), S1 = (e) => Ye.encode(e), E1 = Ye ? S1 : v1;\nlet je = typeof TextDecoder > \"u\" ? null : new TextDecoder(\"utf-8\", { fatal: !0, ignoreBOM: !0 });\nje && je.decode(new Uint8Array()).length === 1 && (je = null);\nclass rn {\n constructor() {\n this.cpos = 0, this.cbuf = new Uint8Array(100), this.bufs = [];\n }\n}\nconst sn = () => new rn(), x1 = (e) => {\n const t = sn();\n return e(t), ot(t);\n}, L1 = (e) => {\n let t = e.cpos;\n for (let n = 0; n < e.bufs.length; n++)\n t += e.bufs[n].length;\n return t;\n}, ot = (e) => {\n const t = new Uint8Array(L1(e));\n let n = 0;\n for (let r = 0; r < e.bufs.length; r++) {\n const i = e.bufs[r];\n t.set(i, n), n += i.length;\n }\n return t.set(new Uint8Array(e.cbuf.buffer, 0, e.cpos), n), t;\n}, A1 = (e, t) => {\n const n = e.cbuf.length;\n n - e.cpos < t && (e.bufs.push(new Uint8Array(e.cbuf.buffer, 0, e.cpos)), e.cbuf = new Uint8Array(bt(n, t) * 2), e.cpos = 0);\n}, P = (e, t) => {\n const n = e.cbuf.length;\n e.cpos === n && (e.bufs.push(e.cbuf), e.cbuf = new Uint8Array(n * 2), e.cpos = 0), e.cbuf[e.cpos++] = t;\n}, ii = P, x = (e, t) => {\n for (; t > le; )\n P(e, $ | le & t), t = Nt(t / 128);\n P(e, le & t);\n}, Ni = (e, t) => {\n const n = So(t);\n for (n && (t = -t), P(e, (t > ri ? $ : 0) | (n ? Rt : 0) | ri & t), t = Nt(t / 64); t > 0; )\n P(e, (t > le ? $ : 0) | le & t), t = Nt(t / 128);\n}, si = new Uint8Array(3e4), _1 = si.length / 3, T1 = (e, t) => {\n if (t.length < _1) {\n const n = Ye.encodeInto(t, si).written || 0;\n x(e, n);\n for (let r = 0; r < n; r++)\n P(e, si[r]);\n } else\n q(e, E1(t));\n}, I1 = (e, t) => {\n const n = unescape(encodeURIComponent(t)), r = n.length;\n x(e, r);\n for (let i = 0; i < r; i++)\n P(\n e,\n /** @type {number} */\n n.codePointAt(i)\n );\n}, be = Ye && /** @type {any} */\nYe.encodeInto ? T1 : I1, mr = (e, t) => {\n const n = e.cbuf.length, r = e.cpos, i = It(n - r, t.length), s = t.length - i;\n e.cbuf.set(t.subarray(0, i), r), e.cpos += i, s > 0 && (e.bufs.push(e.cbuf), e.cbuf = new Uint8Array(bt(n * 2, s)), e.cbuf.set(t.subarray(i)), e.cpos = s);\n}, q = (e, t) => {\n x(e, t.byteLength), mr(e, t);\n}, Hi = (e, t) => {\n A1(e, t);\n const n = new DataView(e.cbuf.buffer, e.cpos, t);\n return e.cpos += t, n;\n}, R1 = (e, t) => Hi(e, 4).setFloat32(0, t, !1), M1 = (e, t) => Hi(e, 8).setFloat64(0, t, !1), N1 = (e, t) => (\n /** @type {any} */\n Hi(e, 8).setBigInt64(0, t, !1)\n), Is = new DataView(new ArrayBuffer(4)), H1 = (e) => (Is.setFloat32(0, e), Is.getFloat32(0) === e), Ee = (e, t) => {\n switch (typeof t) {\n case \"string\":\n P(e, 119), be(e, t);\n break;\n case \"number\":\n C1(t) && En(t) <= p1 ? (P(e, 125), Ni(e, t)) : H1(t) ? (P(e, 124), R1(e, t)) : (P(e, 123), M1(e, t));\n break;\n case \"bigint\":\n P(e, 122), N1(e, t);\n break;\n case \"object\":\n if (t === null)\n P(e, 126);\n else if (ni(t)) {\n P(e, 117), x(e, t.length);\n for (let n = 0; n < t.length; n++)\n Ee(e, t[n]);\n } else if (t instanceof Uint8Array)\n P(e, 116), q(e, t);\n else {\n P(e, 118);\n const n = Object.keys(t);\n x(e, n.length);\n for (let r = 0; r < n.length; r++) {\n const i = n[r];\n be(e, i), Ee(e, t[i]);\n }\n }\n break;\n case \"boolean\":\n P(e, t ? 120 : 121);\n break;\n default:\n P(e, 127);\n }\n};\nclass Rs extends rn {\n /**\n * @param {function(Encoder, T):void} writer\n */\n constructor(t) {\n super(), this.w = t, this.s = null, this.count = 0;\n }\n /**\n * @param {T} v\n */\n write(t) {\n this.s === t ? this.count++ : (this.count > 0 && x(this, this.count - 1), this.count = 1, this.w(this, t), this.s = t);\n }\n}\nconst Ms = (e) => {\n e.count > 0 && (Ni(e.encoder, e.count === 1 ? e.s : -e.s), e.count > 1 && x(e.encoder, e.count - 2));\n};\nclass xn {\n constructor() {\n this.encoder = new rn(), this.s = 0, this.count = 0;\n }\n /**\n * @param {number} v\n */\n write(t) {\n this.s === t ? this.count++ : (Ms(this), this.count = 1, this.s = t);\n }\n /**\n * Flush the encoded state and transform this to a Uint8Array.\n *\n * Note that this should only be called once.\n */\n toUint8Array() {\n return Ms(this), ot(this.encoder);\n }\n}\nconst Ns = (e) => {\n if (e.count > 0) {\n const t = e.diff * 2 + (e.count === 1 ? 0 : 1);\n Ni(e.encoder, t), e.count > 1 && x(e.encoder, e.count - 2);\n }\n};\nclass Pr {\n constructor() {\n this.encoder = new rn(), this.s = 0, this.count = 0, this.diff = 0;\n }\n /**\n * @param {number} v\n */\n write(t) {\n this.diff === t - this.s ? (this.s = t, this.count++) : (Ns(this), this.count = 1, this.diff = t - this.s, this.s = t);\n }\n /**\n * Flush the encoded state and transform this to a Uint8Array.\n *\n * Note that this should only be called once.\n */\n toUint8Array() {\n return Ns(this), ot(this.encoder);\n }\n}\nclass D1 {\n constructor() {\n this.sarr = [], this.s = \"\", this.lensE = new xn();\n }\n /**\n * @param {string} string\n */\n write(t) {\n this.s += t, this.s.length > 19 && (this.sarr.push(this.s), this.s = \"\"), this.lensE.write(t.length);\n }\n toUint8Array() {\n const t = new rn();\n return this.sarr.push(this.s), this.s = \"\", be(t, this.sarr.join(\"\")), mr(t, this.lensE.toUint8Array()), ot(t);\n }\n}\nconst Wt = (e) => new Error(e), lt = () => {\n throw Wt(\"Method unimplemented\");\n}, W = () => {\n throw Wt(\"Unexpected case\");\n}, xo = Wt(\"Unexpected end of array\"), Lo = Wt(\"Integer out of Range\");\nclass wr {\n /**\n * @param {Uint8Array} uint8Array Binary data to decode\n */\n constructor(t) {\n this.arr = t, this.pos = 0;\n }\n}\nconst Di = (e) => new wr(e), O1 = (e) => e.pos !== e.arr.length, U1 = (e, t) => {\n const n = new Uint8Array(e.arr.buffer, e.pos + e.arr.byteOffset, t);\n return e.pos += t, n;\n}, et = (e) => U1(e, M(e)), qe = (e) => e.arr[e.pos++], M = (e) => {\n let t = 0, n = 1;\n const r = e.arr.length;\n for (; e.pos < r; ) {\n const i = e.arr[e.pos++];\n if (t = t + (i & le) * n, n *= 128, i < $)\n return t;\n if (t > Eo)\n throw Lo;\n }\n throw xo;\n}, Oi = (e) => {\n let t = e.arr[e.pos++], n = t & ri, r = 64;\n const i = (t & Rt) > 0 ? -1 : 1;\n if ((t & $) === 0)\n return i * n;\n const s = e.arr.length;\n for (; e.pos < s; ) {\n if (t = e.arr[e.pos++], n = n + (t & le) * r, r *= 128, t < $)\n return i * n;\n if (n > Eo)\n throw Lo;\n }\n throw xo;\n}, V1 = (e) => {\n let t = M(e);\n if (t === 0)\n return \"\";\n {\n let n = String.fromCodePoint(qe(e));\n if (--t < 100)\n for (; t--; )\n n += String.fromCodePoint(qe(e));\n else\n for (; t > 0; ) {\n const r = t < 1e4 ? t : 1e4, i = e.arr.subarray(e.pos, e.pos + r);\n e.pos += r, n += String.fromCodePoint.apply(\n null,\n /** @type {any} */\n i\n ), t -= r;\n }\n return decodeURIComponent(escape(n));\n }\n}, B1 = (e) => (\n /** @type any */\n je.decode(et(e))\n), oi = je ? B1 : V1, Ui = (e, t) => {\n const n = new DataView(e.arr.buffer, e.arr.byteOffset + e.pos, t);\n return e.pos += t, n;\n}, P1 = (e) => Ui(e, 4).getFloat32(0, !1), F1 = (e) => Ui(e, 8).getFloat64(0, !1), z1 = (e) => (\n /** @type {any} */\n Ui(e, 8).getBigInt64(0, !1)\n), j1 = [\n (e) => {\n },\n // CASE 127: undefined\n (e) => null,\n // CASE 126: null\n Oi,\n // CASE 125: integer\n P1,\n // CASE 124: float32\n F1,\n // CASE 123: float64\n z1,\n // CASE 122: bigint\n (e) => !1,\n // CASE 121: boolean (false)\n (e) => !0,\n // CASE 120: boolean (true)\n oi,\n // CASE 119: string\n (e) => {\n const t = M(e), n = {};\n for (let r = 0; r < t; r++) {\n const i = oi(e);\n n[i] = ir(e);\n }\n return n;\n },\n (e) => {\n const t = M(e), n = [];\n for (let r = 0; r < t; r++)\n n.push(ir(e));\n return n;\n },\n et\n // CASE 116: Uint8Array\n], ir = (e) => j1[127 - qe(e)](e);\nclass Hs extends wr {\n /**\n * @param {Uint8Array} uint8Array\n * @param {function(Decoder):T} reader\n */\n constructor(t, n) {\n super(t), this.reader = n, this.s = null, this.count = 0;\n }\n read() {\n return this.count === 0 && (this.s = this.reader(this), O1(this) ? this.count = M(this) + 1 : this.count = -1), this.count--, /** @type {T} */\n this.s;\n }\n}\nclass Ln extends wr {\n /**\n * @param {Uint8Array} uint8Array\n */\n constructor(t) {\n super(t), this.s = 0, this.count = 0;\n }\n read() {\n if (this.count === 0) {\n this.s = Oi(this);\n const t = So(this.s);\n this.count = 1, t && (this.s = -this.s, this.count = M(this) + 2);\n }\n return this.count--, /** @type {number} */\n this.s;\n }\n}\nclass Fr extends wr {\n /**\n * @param {Uint8Array} uint8Array\n */\n constructor(t) {\n super(t), this.s = 0, this.count = 0, this.diff = 0;\n }\n /**\n * @return {number}\n */\n read() {\n if (this.count === 0) {\n const t = Oi(this), n = t & 1;\n this.diff = Nt(t / 2), this.count = 1, n && (this.count = M(this) + 2);\n }\n return this.s += this.diff, this.count--, this.s;\n }\n}\nclass Z1 {\n /**\n * @param {Uint8Array} uint8Array\n */\n constructor(t) {\n this.decoder = new Ln(t), this.str = oi(this.decoder), this.spos = 0;\n }\n /**\n * @return {string}\n */\n read() {\n const t = this.spos + this.decoder.read(), n = this.str.slice(this.spos, t);\n return this.spos = t, n;\n }\n}\nconst $1 = crypto.getRandomValues.bind(crypto), W1 = Math.random, Ao = () => $1(new Uint32Array(1))[0], K1 = (e) => e[Nt(W1() * e.length)], G1 = \"10000000-1000-4000-8000\" + -1e11, Y1 = () => G1.replace(\n /[018]/g,\n /** @param {number} c */\n (e) => (e ^ Ao() & 15 >> e / 4).toString(16)\n), q1 = Date.now, Ds = (e) => (\n /** @type {Promise<T>} */\n new Promise(e)\n);\nPromise.all.bind(Promise);\nconst Os = (e) => e === void 0 ? null : e;\nclass J1 {\n constructor() {\n this.map = /* @__PURE__ */ new Map();\n }\n /**\n * @param {string} key\n * @param {any} newValue\n */\n setItem(t, n) {\n this.map.set(t, n);\n }\n /**\n * @param {string} key\n */\n getItem(t) {\n return this.map.get(t);\n }\n}\nlet _o = new J1(), Q1 = !0;\ntry {\n typeof localStorage < \"u\" && localStorage && (_o = localStorage, Q1 = !1);\n} catch {\n}\nconst X1 = _o, tu = Object.assign, To = Object.keys, eu = (e, t) => {\n for (const n in e)\n t(e[n], n);\n}, Us = (e) => To(e).length, nu = (e) => {\n for (const t in e)\n return !1;\n return !0;\n}, Io = (e, t) => {\n for (const n in e)\n if (!t(e[n], n))\n return !1;\n return !0;\n}, ru = (e, t) => Object.prototype.hasOwnProperty.call(e, t), iu = (e, t) => e === t || Us(e) === Us(t) && Io(e, (n, r) => (n !== void 0 || ru(t, r)) && t[r] === n), su = Object.freeze, Ro = (e) => {\n for (const t in e) {\n const n = e[t];\n (typeof n == \"object\" || typeof n == \"function\") && Ro(e[t]);\n }\n return su(e);\n}, Vi = (e, t, n = 0) => {\n try {\n for (; n < e.length; n++)\n e[n](...t);\n } finally {\n n < e.length && Vi(e, t, n + 1);\n }\n}, ou = (e, t) => t.includes(e), xe = typeof process < \"u\" && process.release && /node|io\\.js/.test(process.release.name) && Object.prototype.toString.call(typeof process < \"u\" ? process : 0) === \"[object process]\", Mo = typeof window < \"u\" && typeof document < \"u\" && !xe;\nlet ft;\nconst lu = () => {\n if (ft === void 0)\n if (xe) {\n ft = rt();\n const e = process.argv;\n let t = null;\n for (let n = 0; n < e.length; n++) {\n const r = e[n];\n r[0] === \"-\" ? (t !== null && ft.set(t, \"\"), t = r) : t !== null && (ft.set(t, r), t = null);\n }\n t !== null && ft.set(t, \"\");\n } else typeof location == \"object\" ? (ft = rt(), (location.search || \"?\").slice(1).split(\"&\").forEach((e) => {\n if (e.length !== 0) {\n const [t, n] = e.split(\"=\");\n ft.set(`--${Ts(t, \"-\")}`, n), ft.set(`-${Ts(t, \"-\")}`, n);\n }\n })) : ft = rt();\n return ft;\n}, li = (e) => lu().has(e), sr = (e) => Os(xe ? process.env[e.toUpperCase().replaceAll(\"-\", \"_\")] : X1.getItem(e)), No = (e) => li(\"--\" + e) || sr(e) !== null;\nNo(\"production\");\nconst cu = xe && ou(process.env.FORCE_COLOR, [\"true\", \"1\", \"2\"]), au = cu || !li(\"--no-colors\") && // @todo deprecate --no-colors\n!No(\"no-color\") && (!xe || process.stdout.isTTY) && (!xe || li(\"--color\") || sr(\"COLORTERM\") !== null || (sr(\"TERM\") || \"\").includes(\"color\")), uu = (e) => {\n let t = \"\";\n for (let n = 0; n < e.byteLength; n++)\n t += m1(e[n]);\n return btoa(t);\n}, du = (e) => Buffer.from(e.buffer, e.byteOffset, e.byteLength).toString(\"base64\"), hu = Mo ? uu : du, fu = (e) => x1((t) => Ee(t, e));\nclass gu {\n /**\n * @param {L} left\n * @param {R} right\n */\n constructor(t, n) {\n this.left = t, this.right = n;\n }\n}\nconst At = (e, t) => new gu(e, t), pu = (\n /** @type {Document} */\n typeof document < \"u\" ? document : {}\n);\ntypeof DOMParser < \"u\" && new DOMParser();\nconst Cu = (e) => u1(e, (t, n) => `${n}:${t};`).join(\"\"), mu = (e) => class {\n /**\n * @param {number} timeoutId\n */\n constructor(n) {\n this._ = n;\n }\n destroy() {\n e(this._);\n }\n}, wu = mu(clearTimeout), Bi = (e, t) => new wu(setTimeout(t, e)), Dt = Symbol, Ho = Dt(), Do = Dt(), bu = Dt(), yu = Dt(), ku = Dt(), Oo = Dt(), vu = Dt(), Pi = Dt(), Su = Dt(), Eu = (e) => {\n e.length === 1 && e[0]?.constructor === Function && (e = /** @type {Array<string|Symbol|Object|number>} */\n /** @type {[function]} */\n e[0]());\n const t = [], n = [];\n let r = 0;\n for (; r < e.length; r++) {\n const i = e[r];\n if (i === void 0)\n break;\n if (i.constructor === String || i.constructor === Number)\n t.push(i);\n else if (i.constructor === Object)\n break;\n }\n for (r > 0 && n.push(t.join(\"\")); r < e.length; r++) {\n const i = e[r];\n i instanceof Symbol || n.push(i);\n }\n return n;\n}, xu = {\n [Ho]: At(\"font-weight\", \"bold\"),\n [Do]: At(\"font-weight\", \"normal\"),\n [bu]: At(\"color\", \"blue\"),\n [ku]: At(\"color\", \"green\"),\n [yu]: At(\"color\", \"grey\"),\n [Oo]: At(\"color\", \"red\"),\n [vu]: At(\"color\", \"purple\"),\n [Pi]: At(\"color\", \"orange\"),\n // not well supported in chrome when debugging node with inspector - TODO: deprecate\n [Su]: At(\"color\", \"black\")\n}, Lu = (e) => {\n e.length === 1 && e[0]?.constructor === Function && (e = /** @type {Array<string|Symbol|Object|number>} */\n /** @type {[function]} */\n e[0]());\n const t = [], n = [], r = rt();\n let i = [], s = 0;\n for (; s < e.length; s++) {\n const o = e[s], l = xu[o];\n if (l !== void 0)\n r.set(l.left, l.right);\n else {\n if (o === void 0)\n break;\n if (o.constructor === String || o.constructor === Number) {\n const c = Cu(r);\n s > 0 || c.length > 0 ? (t.push(\"%c\" + o), n.push(c)) : t.push(o);\n } else\n break;\n }\n }\n for (s > 0 && (i = n, i.unshift(t.join(\"\"))); s < e.length; s++) {\n const o = e[s];\n o instanceof Symbol || i.push(o);\n }\n return i;\n}, Uo = au ? Lu : Eu, Au = (...e) => {\n console.log(...Uo(e)), Bo.forEach((t) => t.print(e));\n}, Vo = (...e) => {\n console.warn(...Uo(e)), e.unshift(Pi), Bo.forEach((t) => t.print(e));\n}, Bo = ce(), Po = (e) => ({\n /**\n * @return {IterableIterator<T>}\n */\n [Symbol.iterator]() {\n return this;\n },\n // @ts-ignore\n next: e\n}), _u = (e, t) => Po(() => {\n let n;\n do\n n = e.next();\n while (!n.done && !t(n.value));\n return n;\n}), zr = (e, t) => Po(() => {\n const { done: n, value: r } = e.next();\n return { done: n, value: n ? void 0 : t(r) };\n});\nclass Fi {\n /**\n * @param {number} clock\n * @param {number} len\n */\n constructor(t, n) {\n this.clock = t, this.len = n;\n }\n}\nclass _e {\n constructor() {\n this.clients = /* @__PURE__ */ new Map();\n }\n}\nconst Kt = (e, t, n) => t.clients.forEach((r, i) => {\n const s = (\n /** @type {Array<GC|Item>} */\n e.doc.store.clients.get(i)\n );\n if (s != null) {\n const o = s[s.length - 1], l = o.id.clock + o.length;\n for (let c = 0, a = r[c]; c < r.length && a.clock < l; a = r[++c])\n Yo(e, s, a.clock, a.len, n);\n }\n}), Tu = (e, t) => {\n let n = 0, r = e.length - 1;\n for (; n <= r; ) {\n const i = Nt((n + r) / 2), s = e[i], o = s.clock;\n if (o <= t) {\n if (t < o + s.len)\n return i;\n n = i + 1;\n } else\n r = i - 1;\n }\n return null;\n}, Te = (e, t) => {\n const n = e.clients.get(t.client);\n return n !== void 0 && Tu(n, t.clock) !== null;\n}, zi = (e) => {\n e.clients.forEach((t) => {\n t.sort((i, s) => i.clock - s.clock);\n let n, r;\n for (n = 1, r = 1; n < t.length; n++) {\n const i = t[r - 1], s = t[n];\n i.clock + i.len >= s.clock ? i.len = bt(i.len, s.clock + s.len - i.clock) : (r < n && (t[r] = s), r++);\n }\n t.length = r;\n });\n}, ci = (e) => {\n const t = new _e();\n for (let n = 0; n < e.length; n++)\n e[n].clients.forEach((r, i) => {\n if (!t.clients.has(i)) {\n const s = r.slice();\n for (let o = n + 1; o < e.length; o++)\n h1(s, e[o].clients.get(i) || []);\n t.clients.set(i, s);\n }\n });\n return zi(t), t;\n}, Je = (e, t, n, r) => {\n kt(e.clients, t, () => (\n /** @type {Array<DeleteItem>} */\n []\n )).push(new Fi(n, r));\n}, Fo = () => new _e(), Iu = (e) => {\n const t = Fo();\n return e.clients.forEach((n, r) => {\n const i = [];\n for (let s = 0; s < n.length; s++) {\n const o = n[s];\n if (o.deleted) {\n const l = o.id.clock;\n let c = o.length;\n if (s + 1 < n.length)\n for (let a = n[s + 1]; s + 1 < n.length && a.deleted; a = n[++s + 1])\n c += a.length;\n i.push(new Fi(l, c));\n }\n }\n i.length > 0 && t.clients.set(r, i);\n }), t;\n}, ji = (e, t) => {\n x(e.restEncoder, t.clients.size), ae(t.clients.entries()).sort((n, r) => r[0] - n[0]).forEach(([n, r]) => {\n e.resetDsCurVal(), x(e.restEncoder, n);\n const i = r.length;\n x(e.restEncoder, i);\n for (let s = 0; s < i; s++) {\n const o = r[s];\n e.writeDsClock(o.clock), e.writeDsLen(o.len);\n }\n });\n}, Ru = (e) => {\n const t = new _e(), n = M(e.restDecoder);\n for (let r = 0; r < n; r++) {\n e.resetDsCurVal();\n const i = M(e.restDecoder), s = M(e.restDecoder);\n if (s > 0) {\n const o = kt(t.clients, i, () => (\n /** @type {Array<DeleteItem>} */\n []\n ));\n for (let l = 0; l < s; l++)\n o.push(new Fi(e.readDsClock(), e.readDsLen()));\n }\n }\n return t;\n}, Vs = (e, t, n) => {\n const r = new _e(), i = M(e.restDecoder);\n for (let s = 0; s < i; s++) {\n e.resetDsCurVal();\n const o = M(e.restDecoder), l = M(e.restDecoder), c = n.clients.get(o) || [], a = O(n, o);\n for (let u = 0; u < l; u++) {\n const d = e.readDsClock(), f = d + e.readDsLen();\n if (d < a) {\n a < f && Je(r, o, a, f - a);\n let g = ct(c, d), C = c[g];\n for (!C.deleted && C.id.clock < d && (c.splice(g + 1, 0, dr(t, C, d - C.id.clock)), g++); g < c.length && (C = c[g++], C.id.clock < f); )\n C.deleted || (f < C.id.clock + C.length && c.splice(g, 0, dr(t, C, f - C.id.clock)), C.delete(t));\n } else\n Je(r, o, d, f - d);\n }\n }\n if (r.clients.size > 0) {\n const s = new br();\n return x(s.restEncoder, 0), ji(s, r), s.toUint8Array();\n }\n return null;\n}, zo = Ao;\nclass ge extends vo {\n /**\n * @param {DocOpts} opts configuration\n */\n constructor({ guid: t = Y1(), collectionid: n = null, gc: r = !0, gcFilter: i = () => !0, meta: s = null, autoLoad: o = !1, shouldLoad: l = !0 } = {}) {\n super(), this.gc = r, this.gcFilter = i, this.clientID = zo(), this.guid = t, this.collectionid = n, this.share = /* @__PURE__ */ new Map(), this.store = new Ko(), this._transaction = null, this._transactionCleanups = [], this.subdocs = /* @__PURE__ */ new Set(), this._item = null, this.shouldLoad = l, this.autoLoad = o, this.meta = s, this.isLoaded = !1, this.isSynced = !1, this.isDestroyed = !1, this.whenLoaded = Ds((a) => {\n this.on(\"load\", () => {\n this.isLoaded = !0, a(this);\n });\n });\n const c = () => Ds((a) => {\n const u = (d) => {\n (d === void 0 || d === !0) && (this.off(\"sync\", u), a());\n };\n this.on(\"sync\", u);\n });\n this.on(\"sync\", (a) => {\n a === !1 && this.isSynced && (this.whenSynced = c()), this.isSynced = a === void 0 || a === !0, this.isSynced && !this.isLoaded && this.emit(\"load\", [this]);\n }), this.whenSynced = c();\n }\n /**\n * Notify the parent document that you request to load data into this subdocument (if it is a subdocument).\n *\n * `load()` might be used in the future to request any provider to load the most current data.\n *\n * It is safe to call `load()` multiple times.\n */\n load() {\n const t = this._item;\n t !== null && !this.shouldLoad && I(\n /** @type {any} */\n t.parent.doc,\n (n) => {\n n.subdocsLoaded.add(this);\n },\n null,\n !0\n ), this.shouldLoad = !0;\n }\n getSubdocs() {\n return this.subdocs;\n }\n getSubdocGuids() {\n return new Set(ae(this.subdocs).map((t) => t.guid));\n }\n /**\n * Changes that happen inside of a transaction are bundled. This means that\n * the observer fires _after_ the transaction is finished and that all changes\n * that happened inside of the transaction are sent as one message to the\n * other peers.\n *\n * @template T\n * @param {function(Transaction):T} f The function that should be executed as a transaction\n * @param {any} [origin] Origin of who started the transaction. Will be stored on transaction.origin\n * @return T\n *\n * @public\n */\n transact(t, n = null) {\n return I(this, t, n);\n }\n /**\n * Define a shared data type.\n *\n * Multiple calls of `ydoc.get(name, TypeConstructor)` yield the same result\n * and do not overwrite each other. I.e.\n * `ydoc.get(name, Y.Array) === ydoc.get(name, Y.Array)`\n *\n * After this method is called, the type is also available on `ydoc.share.get(name)`.\n *\n * *Best Practices:*\n * Define all types right after the Y.Doc instance is created and store them in a separate object.\n * Also use the typed methods `getText(name)`, `getArray(name)`, ..\n *\n * @template {typeof AbstractType<any>} Type\n * @example\n * const ydoc = new Y.Doc(..)\n * const appState = {\n * document: ydoc.getText('document')\n * comments: ydoc.getArray('comments')\n * }\n *\n * @param {string} name\n * @param {Type} TypeConstructor The constructor of the type definition. E.g. Y.Text, Y.Array, Y.Map, ...\n * @return {InstanceType<Type>} The created type. Constructed with TypeConstructor\n *\n * @public\n */\n get(t, n = (\n /** @type {any} */\n F\n )) {\n const r = kt(this.share, t, () => {\n const s = new n();\n return s._integrate(this, null), s;\n }), i = r.constructor;\n if (n !== F && i !== n)\n if (i === F) {\n const s = new n();\n s._map = r._map, r._map.forEach(\n /** @param {Item?} n */\n (o) => {\n for (; o !== null; o = o.left)\n o.parent = s;\n }\n ), s._start = r._start;\n for (let o = s._start; o !== null; o = o.right)\n o.parent = s;\n return s._length = r._length, this.share.set(t, s), s._integrate(this, null), /** @type {InstanceType<Type>} */\n s;\n } else\n throw new Error(`Type with the name ${t} has already been defined with a different constructor`);\n return (\n /** @type {InstanceType<Type>} */\n r\n );\n }\n /**\n * @template T\n * @param {string} [name]\n * @return {YArray<T>}\n *\n * @public\n */\n getArray(t = \"\") {\n return (\n /** @type {YArray<T>} */\n this.get(t, Se)\n );\n }\n /**\n * @param {string} [name]\n * @return {YText}\n *\n * @public\n */\n getText(t = \"\") {\n return this.get(t, qt);\n }\n /**\n * @template T\n * @param {string} [name]\n * @return {YMap<T>}\n *\n * @public\n */\n getMap(t = \"\") {\n return (\n /** @type {YMap<T>} */\n this.get(t, Ae)\n );\n }\n /**\n * @param {string} [name]\n * @return {YXmlElement}\n *\n * @public\n */\n getXmlElement(t = \"\") {\n return (\n /** @type {YXmlElement<{[key:string]:string}>} */\n this.get(t, j)\n );\n }\n /**\n * @param {string} [name]\n * @return {YXmlFragment}\n *\n * @public\n */\n getXmlFragment(t = \"\") {\n return this.get(t, ue);\n }\n /**\n * Converts the entire document into a js object, recursively traversing each yjs type\n * Doesn't log types that have not been defined (using ydoc.getType(..)).\n *\n * @deprecated Do not use this method and rather call toJSON directly on the shared types.\n *\n * @return {Object<string, any>}\n */\n toJSON() {\n const t = {};\n return this.share.forEach((n, r) => {\n t[r] = n.toJSON();\n }), t;\n }\n /**\n * Emit `destroy` event and unregister all event handlers.\n */\n destroy() {\n this.isDestroyed = !0, ae(this.subdocs).forEach((n) => n.destroy());\n const t = this._item;\n if (t !== null) {\n this._item = null;\n const n = (\n /** @type {ContentDoc} */\n t.content\n );\n n.doc = new ge({ guid: this.guid, ...n.opts, shouldLoad: !1 }), n.doc._item = t, I(\n /** @type {any} */\n t.parent.doc,\n (r) => {\n const i = n.doc;\n t.deleted || r.subdocsAdded.add(i), r.subdocsRemoved.add(this);\n },\n null,\n !0\n );\n }\n this.emit(\"destroyed\", [!0]), this.emit(\"destroy\", [this]), super.destroy();\n }\n}\nclass Mu {\n /**\n * @param {decoding.Decoder} decoder\n */\n constructor(t) {\n this.dsCurrVal = 0, this.restDecoder = t;\n }\n resetDsCurVal() {\n this.dsCurrVal = 0;\n }\n /**\n * @return {number}\n */\n readDsClock() {\n return this.dsCurrVal += M(this.restDecoder), this.dsCurrVal;\n }\n /**\n * @return {number}\n */\n readDsLen() {\n const t = M(this.restDecoder) + 1;\n return this.dsCurrVal += t, t;\n }\n}\nclass or extends Mu {\n /**\n * @param {decoding.Decoder} decoder\n */\n constructor(t) {\n super(t), this.keys = [], M(t), this.keyClockDecoder = new Fr(et(t)), this.clientDecoder = new Ln(et(t)), this.leftClockDecoder = new Fr(et(t)), this.rightClockDecoder = new Fr(et(t)), this.infoDecoder = new Hs(et(t), qe), this.stringDecoder = new Z1(et(t)), this.parentInfoDecoder = new Hs(et(t), qe), this.typeRefDecoder = new Ln(et(t)), this.lenDecoder = new Ln(et(t));\n }\n /**\n * @return {ID}\n */\n readLeftID() {\n return new ye(this.clientDecoder.read(), this.leftClockDecoder.read());\n }\n /**\n * @return {ID}\n */\n readRightID() {\n return new ye(this.clientDecoder.read(), this.rightClockDecoder.read());\n }\n /**\n * Read the next client id.\n * Use this in favor of readID whenever possible to reduce the number of objects created.\n */\n readClient() {\n return this.clientDecoder.read();\n }\n /**\n * @return {number} info An unsigned 8-bit integer\n */\n readInfo() {\n return (\n /** @type {number} */\n this.infoDecoder.read()\n );\n }\n /**\n * @return {string}\n */\n readString() {\n return this.stringDecoder.read();\n }\n /**\n * @return {boolean}\n */\n readParentInfo() {\n return this.parentInfoDecoder.read() === 1;\n }\n /**\n * @return {number} An unsigned 8-bit integer\n */\n readTypeRef() {\n return this.typeRefDecoder.read();\n }\n /**\n * Write len of a struct - well suited for Opt RLE encoder.\n *\n * @return {number}\n */\n readLen() {\n return this.lenDecoder.read();\n }\n /**\n * @return {any}\n */\n readAny() {\n return ir(this.restDecoder);\n }\n /**\n * @return {Uint8Array}\n */\n readBuf() {\n return et(this.restDecoder);\n }\n /**\n * This is mainly here for legacy purposes.\n *\n * Initial we incoded objects using JSON. Now we use the much faster lib0/any-encoder. This method mainly exists for legacy purposes for the v1 encoder.\n *\n * @return {any}\n */\n readJSON() {\n return ir(this.restDecoder);\n }\n /**\n * @return {string}\n */\n readKey() {\n const t = this.keyClockDecoder.read();\n if (t < this.keys.length)\n return this.keys[t];\n {\n const n = this.stringDecoder.read();\n return this.keys.push(n), n;\n }\n }\n}\nclass Nu {\n constructor() {\n this.restEncoder = sn();\n }\n toUint8Array() {\n return ot(this.restEncoder);\n }\n resetDsCurVal() {\n }\n /**\n * @param {number} clock\n */\n writeDsClock(t) {\n x(this.restEncoder, t);\n }\n /**\n * @param {number} len\n */\n writeDsLen(t) {\n x(this.restEncoder, t);\n }\n}\nclass Hu extends Nu {\n /**\n * @param {ID} id\n */\n writeLeftID(t) {\n x(this.restEncoder, t.client), x(this.restEncoder, t.clock);\n }\n /**\n * @param {ID} id\n */\n writeRightID(t) {\n x(this.restEncoder, t.client), x(this.restEncoder, t.clock);\n }\n /**\n * Use writeClient and writeClock instead of writeID if possible.\n * @param {number} client\n */\n writeClient(t) {\n x(this.restEncoder, t);\n }\n /**\n * @param {number} info An unsigned 8-bit integer\n */\n writeInfo(t) {\n ii(this.restEncoder, t);\n }\n /**\n * @param {string} s\n */\n writeString(t) {\n be(this.restEncoder, t);\n }\n /**\n * @param {boolean} isYKey\n */\n writeParentInfo(t) {\n x(this.restEncoder, t ? 1 : 0);\n }\n /**\n * @param {number} info An unsigned 8-bit integer\n */\n writeTypeRef(t) {\n x(this.restEncoder, t);\n }\n /**\n * Write len of a struct - well suited for Opt RLE encoder.\n *\n * @param {number} len\n */\n writeLen(t) {\n x(this.restEncoder, t);\n }\n /**\n * @param {any} any\n */\n writeAny(t) {\n Ee(this.restEncoder, t);\n }\n /**\n * @param {Uint8Array} buf\n */\n writeBuf(t) {\n q(this.restEncoder, t);\n }\n /**\n * @param {any} embed\n */\n writeJSON(t) {\n be(this.restEncoder, JSON.stringify(t));\n }\n /**\n * @param {string} key\n */\n writeKey(t) {\n be(this.restEncoder, t);\n }\n}\nclass Du {\n constructor() {\n this.restEncoder = sn(), this.dsCurrVal = 0;\n }\n toUint8Array() {\n return ot(this.restEncoder);\n }\n resetDsCurVal() {\n this.dsCurrVal = 0;\n }\n /**\n * @param {number} clock\n */\n writeDsClock(t) {\n const n = t - this.dsCurrVal;\n this.dsCurrVal = t, x(this.restEncoder, n);\n }\n /**\n * @param {number} len\n */\n writeDsLen(t) {\n t === 0 && W(), x(this.restEncoder, t - 1), this.dsCurrVal += t;\n }\n}\nclass br extends Du {\n constructor() {\n super(), this.keyMap = /* @__PURE__ */ new Map(), this.keyClock = 0, this.keyClockEncoder = new Pr(), this.clientEncoder = new xn(), this.leftClockEncoder = new Pr(), this.rightClockEncoder = new Pr(), this.infoEncoder = new Rs(ii), this.stringEncoder = new D1(), this.parentInfoEncoder = new Rs(ii), this.typeRefEncoder = new xn(), this.lenEncoder = new xn();\n }\n toUint8Array() {\n const t = sn();\n return x(t, 0), q(t, this.keyClockEncoder.toUint8Array()), q(t, this.clientEncoder.toUint8Array()), q(t, this.leftClockEncoder.toUint8Array()), q(t, this.rightClockEncoder.toUint8Array()), q(t, ot(this.infoEncoder)), q(t, this.stringEncoder.toUint8Array()), q(t, ot(this.parentInfoEncoder)), q(t, this.typeRefEncoder.toUint8Array()), q(t, this.lenEncoder.toUint8Array()), mr(t, ot(this.restEncoder)), ot(t);\n }\n /**\n * @param {ID} id\n */\n writeLeftID(t) {\n this.clientEncoder.write(t.client), this.leftClockEncoder.write(t.clock);\n }\n /**\n * @param {ID} id\n */\n writeRightID(t) {\n this.clientEncoder.write(t.client), this.rightClockEncoder.write(t.clock);\n }\n /**\n * @param {number} client\n */\n writeClient(t) {\n this.clientEncoder.write(t);\n }\n /**\n * @param {number} info An unsigned 8-bit integer\n */\n writeInfo(t) {\n this.infoEncoder.write(t);\n }\n /**\n * @param {string} s\n */\n writeString(t) {\n this.stringEncoder.write(t);\n }\n /**\n * @param {boolean} isYKey\n */\n writeParentInfo(t) {\n this.parentInfoEncoder.write(t ? 1 : 0);\n }\n /**\n * @param {number} info An unsigned 8-bit integer\n */\n writeTypeRef(t) {\n this.typeRefEncoder.write(t);\n }\n /**\n * Write len of a struct - well suited for Opt RLE encoder.\n *\n * @param {number} len\n */\n writeLen(t) {\n this.lenEncoder.write(t);\n }\n /**\n * @param {any} any\n */\n writeAny(t) {\n Ee(this.restEncoder, t);\n }\n /**\n * @param {Uint8Array} buf\n */\n writeBuf(t) {\n q(this.restEncoder, t);\n }\n /**\n * This is mainly here for legacy purposes.\n *\n * Initial we incoded objects using JSON. Now we use the much faster lib0/any-encoder. This method mainly exists for legacy purposes for the v1 encoder.\n *\n * @param {any} embed\n */\n writeJSON(t) {\n Ee(this.restEncoder, t);\n }\n /**\n * Property keys are often reused. For example, in y-prosemirror the key `bold` might\n * occur very often. For a 3d application, the key `position` might occur very often.\n *\n * We cache these keys in a Map and refer to them via a unique number.\n *\n * @param {string} key\n */\n writeKey(t) {\n const n = this.keyMap.get(t);\n n === void 0 ? (this.keyClockEncoder.write(this.keyClock++), this.stringEncoder.write(t)) : this.keyClockEncoder.write(n);\n }\n}\nconst Ou = (e, t, n, r) => {\n r = bt(r, t[0].id.clock);\n const i = ct(t, r);\n x(e.restEncoder, t.length - i), e.writeClient(n), x(e.restEncoder, r);\n const s = t[i];\n s.write(e, r - s.id.clock);\n for (let o = i + 1; o < t.length; o++)\n t[o].write(e, 0);\n}, jo = (e, t, n) => {\n const r = /* @__PURE__ */ new Map();\n n.forEach((i, s) => {\n O(t, s) > i && r.set(s, i);\n }), yr(t).forEach((i, s) => {\n n.has(s) || r.set(s, 0);\n }), x(e.restEncoder, r.size), ae(r.entries()).sort((i, s) => s[0] - i[0]).forEach(([i, s]) => {\n Ou(\n e,\n /** @type {Array<GC|Item>} */\n t.clients.get(i),\n i,\n s\n );\n });\n}, Uu = (e, t) => {\n const n = rt(), r = M(e.restDecoder);\n for (let i = 0; i < r; i++) {\n const s = M(e.restDecoder), o = new Array(s), l = e.readClient();\n let c = M(e.restDecoder);\n n.set(l, { i: 0, refs: o });\n for (let a = 0; a < s; a++) {\n const u = e.readInfo();\n switch (Cr & u) {\n case 0: {\n const d = e.readLen();\n o[a] = new nt(S(l, c), d), c += d;\n break;\n }\n case 10: {\n const d = M(e.restDecoder);\n o[a] = new st(S(l, c), d), c += d;\n break;\n }\n default: {\n const d = (u & (Rt | $)) === 0, f = new L(\n S(l, c),\n null,\n // left\n (u & $) === $ ? e.readLeftID() : null,\n // origin\n null,\n // right\n (u & Rt) === Rt ? e.readRightID() : null,\n // right origin\n d ? e.readParentInfo() ? t.get(e.readString()) : e.readLeftID() : null,\n // parent\n d && (u & Ge) === Ge ? e.readString() : null,\n // parentSub\n ml(e, u)\n // item content\n );\n o[a] = f, c += f.length;\n }\n }\n }\n }\n return n;\n}, Vu = (e, t, n) => {\n const r = [];\n let i = ae(n.keys()).sort((g, C) => g - C);\n if (i.length === 0)\n return null;\n const s = () => {\n if (i.length === 0)\n return null;\n let g = (\n /** @type {{i:number,refs:Array<GC|Item>}} */\n n.get(i[i.length - 1])\n );\n for (; g.refs.length === g.i; )\n if (i.pop(), i.length > 0)\n g = /** @type {{i:number,refs:Array<GC|Item>}} */\n n.get(i[i.length - 1]);\n else\n return null;\n return g;\n };\n let o = s();\n if (o === null)\n return null;\n const l = new Ko(), c = /* @__PURE__ */ new Map(), a = (g, C) => {\n const m = c.get(g);\n (m == null || m > C) && c.set(g, C);\n };\n let u = (\n /** @type {any} */\n o.refs[\n /** @type {any} */\n o.i++\n ]\n );\n const d = /* @__PURE__ */ new Map(), f = () => {\n for (const g of r) {\n const C = g.id.client, m = n.get(C);\n m ? (m.i--, l.clients.set(C, m.refs.slice(m.i)), n.delete(C), m.i = 0, m.refs = []) : l.clients.set(C, [g]), i = i.filter((y) => y !== C);\n }\n r.length = 0;\n };\n for (; ; ) {\n if (u.constructor !== st) {\n const C = kt(d, u.id.client, () => O(t, u.id.client)) - u.id.clock;\n if (C < 0)\n r.push(u), a(u.id.client, u.id.clock - 1), f();\n else {\n const m = u.getMissing(e, t);\n if (m !== null) {\n r.push(u);\n const y = n.get(\n /** @type {number} */\n m\n ) || { refs: [], i: 0 };\n if (y.refs.length === y.i)\n a(\n /** @type {number} */\n m,\n O(t, m)\n ), f();\n else {\n u = y.refs[y.i++];\n continue;\n }\n } else (C === 0 || C < u.length) && (u.integrate(e, C), d.set(u.id.client, u.id.clock + u.length));\n }\n }\n if (r.length > 0)\n u = /** @type {GC|Item} */\n r.pop();\n else if (o !== null && o.i < o.refs.length)\n u = /** @type {GC|Item} */\n o.refs[o.i++];\n else {\n if (o = s(), o === null)\n break;\n u = /** @type {GC|Item} */\n o.refs[o.i++];\n }\n }\n if (l.clients.size > 0) {\n const g = new br();\n return jo(g, l, /* @__PURE__ */ new Map()), x(g.restEncoder, 0), { missing: c, update: g.toUint8Array() };\n }\n return null;\n}, Bu = (e, t) => jo(e, t.doc.store, t.beforeState), Pu = (e, t, n, r = new or(e)) => I(t, (i) => {\n i.local = !1;\n let s = !1;\n const o = i.doc, l = o.store, c = Uu(r, o), a = Vu(i, l, c), u = l.pendingStructs;\n if (u) {\n for (const [f, g] of u.missing)\n if (g < O(l, f)) {\n s = !0;\n break;\n }\n if (a) {\n for (const [f, g] of a.missing) {\n const C = u.missing.get(f);\n (C == null || C > g) && u.missing.set(f, g);\n }\n u.update = Gs([u.update, a.update]);\n }\n } else\n l.pendingStructs = a;\n const d = Vs(r, i, l);\n if (l.pendingDs) {\n const f = new or(Di(l.pendingDs));\n M(f.restDecoder);\n const g = Vs(f, i, l);\n d && g ? l.pendingDs = Gs([d, g]) : l.pendingDs = d || g;\n } else\n l.pendingDs = d;\n if (s) {\n const f = (\n /** @type {{update: Uint8Array}} */\n l.pendingStructs.update\n );\n l.pendingStructs = null, ai(i.doc, f);\n }\n}, n, !1), ai = (e, t, n, r = or) => {\n const i = Di(t);\n Pu(i, e, n, new r(i));\n};\nclass Fu {\n constructor() {\n this.l = [];\n }\n}\nconst Bs = () => new Fu(), Ps = (e, t) => e.l.push(t), Fs = (e, t) => {\n const n = e.l, r = n.length;\n e.l = n.filter((i) => t !== i), r === e.l.length && console.error(\"[yjs] Tried to remove event handler that doesn't exist.\");\n}, Zo = (e, t, n) => Vi(e.l, [t, n]);\nclass ye {\n /**\n * @param {number} client client id\n * @param {number} clock unique per client id, continuous number\n */\n constructor(t, n) {\n this.client = t, this.clock = n;\n }\n}\nconst we = (e, t) => e === t || e !== null && t !== null && e.client === t.client && e.clock === t.clock, S = (e, t) => new ye(e, t), Gt = (e) => {\n for (const [t, n] of e.doc.share.entries())\n if (n === e)\n return t;\n throw W();\n}, Le = (e, t) => {\n for (; t !== null; ) {\n if (t.parent === e)\n return !0;\n t = /** @type {AbstractType<any>} */\n t.parent._item;\n }\n return !1;\n};\nclass Yt {\n /**\n * @param {ID|null} type\n * @param {string|null} tname\n * @param {ID|null} item\n * @param {number} assoc\n */\n constructor(t, n, r, i = 0) {\n this.type = t, this.tname = n, this.item = r, this.assoc = i;\n }\n}\nconst Ze = (e) => new Yt(e.type == null ? null : S(e.type.client, e.type.clock), e.tname ?? null, e.item == null ? null : S(e.item.client, e.item.clock), e.assoc == null ? 0 : e.assoc);\nclass zu {\n /**\n * @param {AbstractType<any>} type\n * @param {number} index\n * @param {number} [assoc]\n */\n constructor(t, n, r = 0) {\n this.type = t, this.index = n, this.assoc = r;\n }\n}\nconst ju = (e, t, n = 0) => new zu(e, t, n), wn = (e, t, n) => {\n let r = null, i = null;\n return e._item === null ? i = Gt(e) : r = S(e._item.id.client, e._item.id.clock), new Yt(r, i, t, n);\n}, ke = (e, t, n = 0) => {\n let r = e._start;\n if (n < 0) {\n if (t === 0)\n return wn(e, null, n);\n t--;\n }\n for (; r !== null; ) {\n if (!r.deleted && r.countable) {\n if (r.length > t)\n return wn(e, S(r.id.client, r.id.clock + t), n);\n t -= r.length;\n }\n if (r.right === null && n < 0)\n return wn(e, r.lastId, n);\n r = r.right;\n }\n return wn(e, null, n);\n}, Zu = (e, t) => {\n const n = ve(e, t), r = t.clock - n.id.clock;\n return {\n item: n,\n diff: r\n };\n}, $o = (e, t, n = !0) => {\n const r = t.store, i = e.item, s = e.type, o = e.tname, l = e.assoc;\n let c = null, a = 0;\n if (i !== null) {\n if (O(r, i.client) <= i.clock)\n return null;\n const u = n ? fi(r, i) : Zu(r, i), d = u.item;\n if (!(d instanceof L))\n return null;\n if (c = /** @type {AbstractType<any>} */\n d.parent, c._item === null || !c._item.deleted) {\n a = d.deleted || !d.countable ? 0 : u.diff + (l >= 0 ? 0 : 1);\n let f = d.left;\n for (; f !== null; )\n !f.deleted && f.countable && (a += f.length), f = f.left;\n }\n } else {\n if (o !== null)\n c = t.get(o);\n else if (s !== null) {\n if (O(r, s.client) <= s.clock)\n return null;\n const { item: u } = n ? fi(r, s) : { item: ve(r, s) };\n if (u instanceof L && u.content instanceof dt)\n c = u.content.type;\n else\n return null;\n } else\n throw W();\n l >= 0 ? a = c._length : a = 0;\n }\n return ju(c, a, e.assoc);\n}, zs = (e, t) => e === t || e !== null && t !== null && e.tname === t.tname && we(e.item, t.item) && we(e.type, t.type) && e.assoc === t.assoc;\nclass Zi {\n /**\n * @param {DeleteSet} ds\n * @param {Map<number,number>} sv state map\n */\n constructor(t, n) {\n this.ds = t, this.sv = n;\n }\n}\nconst Wo = (e, t) => new Zi(e, t), jr = (e) => Wo(Iu(e.store), yr(e.store)), se = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && (t.sv.get(e.id.client) || 0) > e.id.clock && !Te(t.ds, e.id), ui = (e, t) => {\n const n = kt(e.meta, ui, ce), r = e.doc.store;\n n.has(t) || (t.sv.forEach((i, s) => {\n i < O(r, s) && G(e, S(s, i));\n }), Kt(e, t.ds, (i) => {\n }), n.add(t));\n};\nclass Ko {\n constructor() {\n this.clients = /* @__PURE__ */ new Map(), this.pendingStructs = null, this.pendingDs = null;\n }\n}\nconst yr = (e) => {\n const t = /* @__PURE__ */ new Map();\n return e.clients.forEach((n, r) => {\n const i = n[n.length - 1];\n t.set(r, i.id.clock + i.length);\n }), t;\n}, O = (e, t) => {\n const n = e.clients.get(t);\n if (n === void 0)\n return 0;\n const r = n[n.length - 1];\n return r.id.clock + r.length;\n}, Go = (e, t) => {\n let n = e.clients.get(t.id.client);\n if (n === void 0)\n n = [], e.clients.set(t.id.client, n);\n else {\n const r = n[n.length - 1];\n if (r.id.clock + r.length !== t.id.clock)\n throw W();\n }\n n.push(t);\n}, ct = (e, t) => {\n let n = 0, r = e.length - 1, i = e[r], s = i.id.clock;\n if (s === t)\n return r;\n let o = Nt(t / (s + i.length - 1) * r);\n for (; n <= r; ) {\n if (i = e[o], s = i.id.clock, s <= t) {\n if (t < s + i.length)\n return o;\n n = o + 1;\n } else\n r = o - 1;\n o = Nt((n + r) / 2);\n }\n throw W();\n}, $u = (e, t) => {\n const n = e.clients.get(t.client);\n return n[ct(n, t.clock)];\n}, ve = (\n /** @type {function(StructStore,ID):Item} */\n $u\n), di = (e, t, n) => {\n const r = ct(t, n), i = t[r];\n return i.id.clock < n && i instanceof L ? (t.splice(r + 1, 0, dr(e, i, n - i.id.clock)), r + 1) : r;\n}, G = (e, t) => {\n const n = (\n /** @type {Array<Item>} */\n e.doc.store.clients.get(t.client)\n );\n return n[di(e, n, t.clock)];\n}, js = (e, t, n) => {\n const r = t.clients.get(n.client), i = ct(r, n.clock), s = r[i];\n return n.clock !== s.id.clock + s.length - 1 && s.constructor !== nt && r.splice(i + 1, 0, dr(e, s, n.clock - s.id.clock + 1)), s;\n}, Wu = (e, t, n) => {\n const r = (\n /** @type {Array<GC|Item>} */\n e.clients.get(t.id.client)\n );\n r[ct(r, t.id.clock)] = n;\n}, Yo = (e, t, n, r, i) => {\n if (r === 0)\n return;\n const s = n + r;\n let o = di(e, t, n), l;\n do\n l = t[o++], s < l.id.clock + l.length && di(e, t, s), i(l);\n while (o < t.length && t[o].id.clock < s);\n};\nclass Ku {\n /**\n * @param {Doc} doc\n * @param {any} origin\n * @param {boolean} local\n */\n constructor(t, n, r) {\n this.doc = t, this.deleteSet = new _e(), this.beforeState = yr(t.store), this.afterState = /* @__PURE__ */ new Map(), this.changed = /* @__PURE__ */ new Map(), this.changedParentTypes = /* @__PURE__ */ new Map(), this._mergeStructs = [], this.origin = n, this.meta = /* @__PURE__ */ new Map(), this.local = r, this.subdocsAdded = /* @__PURE__ */ new Set(), this.subdocsRemoved = /* @__PURE__ */ new Set(), this.subdocsLoaded = /* @__PURE__ */ new Set(), this._needFormattingCleanup = !1;\n }\n}\nconst Zs = (e, t) => t.deleteSet.clients.size === 0 && !d1(t.afterState, (n, r) => t.beforeState.get(r) !== n) ? !1 : (zi(t.deleteSet), Bu(e, t), ji(e, t.deleteSet), !0), $s = (e, t, n) => {\n const r = t._item;\n (r === null || r.id.clock < (e.beforeState.get(r.id.client) || 0) && !r.deleted) && kt(e.changed, t, ce).add(n);\n}, An = (e, t) => {\n let n = e[t], r = e[t - 1], i = t;\n for (; i > 0; n = r, r = e[--i - 1]) {\n if (r.deleted === n.deleted && r.constructor === n.constructor && r.mergeWith(n)) {\n n instanceof L && n.parentSub !== null && /** @type {AbstractType<any>} */\n n.parent._map.get(n.parentSub) === n && n.parent._map.set(\n n.parentSub,\n /** @type {Item} */\n r\n );\n continue;\n }\n break;\n }\n const s = t - i;\n return s && e.splice(t + 1 - s, s), s;\n}, Gu = (e, t, n) => {\n for (const [r, i] of e.clients.entries()) {\n const s = (\n /** @type {Array<GC|Item>} */\n t.clients.get(r)\n );\n for (let o = i.length - 1; o >= 0; o--) {\n const l = i[o], c = l.clock + l.len;\n for (let a = ct(s, l.clock), u = s[a]; a < s.length && u.id.clock < c; u = s[++a]) {\n const d = s[a];\n if (l.clock + l.len <= d.id.clock)\n break;\n d instanceof L && d.deleted && !d.keep && n(d) && d.gc(t, !1);\n }\n }\n }\n}, Yu = (e, t) => {\n e.clients.forEach((n, r) => {\n const i = (\n /** @type {Array<GC|Item>} */\n t.clients.get(r)\n );\n for (let s = n.length - 1; s >= 0; s--) {\n const o = n[s], l = It(i.length - 1, 1 + ct(i, o.clock + o.len - 1));\n for (let c = l, a = i[c]; c > 0 && a.id.clock >= o.clock; a = i[c])\n c -= 1 + An(i, c);\n }\n });\n}, qo = (e, t) => {\n if (t < e.length) {\n const n = e[t], r = n.doc, i = r.store, s = n.deleteSet, o = n._mergeStructs;\n try {\n zi(s), n.afterState = yr(n.doc.store), r.emit(\"beforeObserverCalls\", [n, r]);\n const l = [];\n n.changed.forEach(\n (c, a) => l.push(() => {\n (a._item === null || !a._item.deleted) && a._callObserver(n, c);\n })\n ), l.push(() => {\n n.changedParentTypes.forEach((c, a) => {\n a._dEH.l.length > 0 && (a._item === null || !a._item.deleted) && (c = c.filter(\n (u) => u.target._item === null || !u.target._item.deleted\n ), c.forEach((u) => {\n u.currentTarget = a, u._path = null;\n }), c.sort((u, d) => u.path.length - d.path.length), Zo(a._dEH, c, n));\n });\n }), l.push(() => r.emit(\"afterTransaction\", [n, r])), Vi(l, []), n._needFormattingCleanup && pd(n);\n } finally {\n r.gc && Gu(s, i, r.gcFilter), Yu(s, i), n.afterState.forEach((u, d) => {\n const f = n.beforeState.get(d) || 0;\n if (f !== u) {\n const g = (\n /** @type {Array<GC|Item>} */\n i.clients.get(d)\n ), C = bt(ct(g, f), 1);\n for (let m = g.length - 1; m >= C; )\n m -= 1 + An(g, m);\n }\n });\n for (let u = o.length - 1; u >= 0; u--) {\n const { client: d, clock: f } = o[u].id, g = (\n /** @type {Array<GC|Item>} */\n i.clients.get(d)\n ), C = ct(g, f);\n C + 1 < g.length && An(g, C + 1) > 1 || C > 0 && An(g, C);\n }\n if (!n.local && n.afterState.get(r.clientID) !== n.beforeState.get(r.clientID) && (Au(Pi, Ho, \"[yjs] \", Do, Oo, \"Changed the client-id because another client seems to be using it.\"), r.clientID = zo()), r.emit(\"afterTransactionCleanup\", [n, r]), r._observers.has(\"update\")) {\n const u = new Hu();\n Zs(u, n) && r.emit(\"update\", [u.toUint8Array(), n.origin, r, n]);\n }\n if (r._observers.has(\"updateV2\")) {\n const u = new br();\n Zs(u, n) && r.emit(\"updateV2\", [u.toUint8Array(), n.origin, r, n]);\n }\n const { subdocsAdded: l, subdocsLoaded: c, subdocsRemoved: a } = n;\n (l.size > 0 || a.size > 0 || c.size > 0) && (l.forEach((u) => {\n u.clientID = r.clientID, u.collectionid == null && (u.collectionid = r.collectionid), r.subdocs.add(u);\n }), a.forEach((u) => r.subdocs.delete(u)), r.emit(\"subdocs\", [{ loaded: c, added: l, removed: a }, r, n]), a.forEach((u) => u.destroy())), e.length <= t + 1 ? (r._transactionCleanups = [], r.emit(\"afterAllTransactions\", [r, e])) : qo(e, t + 1);\n }\n }\n}, I = (e, t, n = null, r = !0) => {\n const i = e._transactionCleanups;\n let s = !1, o = null;\n e._transaction === null && (s = !0, e._transaction = new Ku(e, n, r), i.push(e._transaction), i.length === 1 && e.emit(\"beforeAllTransactions\", [e]), e.emit(\"beforeTransaction\", [e._transaction, e]));\n try {\n o = t(e._transaction);\n } finally {\n if (s) {\n const l = e._transaction === i[0];\n e._transaction = null, l && qo(i, 0);\n }\n }\n return o;\n};\nclass qu {\n /**\n * @param {DeleteSet} deletions\n * @param {DeleteSet} insertions\n */\n constructor(t, n) {\n this.insertions = n, this.deletions = t, this.meta = /* @__PURE__ */ new Map();\n }\n}\nconst Ws = (e, t, n) => {\n Kt(e, n.deletions, (r) => {\n r instanceof L && t.scope.some((i) => i === e.doc || Le(\n /** @type {AbstractType<any>} */\n i,\n r\n )) && Yi(r, !1);\n });\n}, Ks = (e, t, n) => {\n let r = null;\n const i = e.doc, s = e.scope;\n I(i, (l) => {\n for (; t.length > 0 && e.currStackItem === null; ) {\n const c = i.store, a = (\n /** @type {StackItem} */\n t.pop()\n ), u = /* @__PURE__ */ new Set(), d = [];\n let f = !1;\n Kt(l, a.insertions, (g) => {\n if (g instanceof L) {\n if (g.redone !== null) {\n let { item: C, diff: m } = fi(c, g.id);\n m > 0 && (C = G(l, S(C.id.client, C.id.clock + m))), g = C;\n }\n !g.deleted && s.some((C) => C === l.doc || Le(\n /** @type {AbstractType<any>} */\n C,\n /** @type {Item} */\n g\n )) && d.push(g);\n }\n }), Kt(l, a.deletions, (g) => {\n g instanceof L && s.some((C) => C === l.doc || Le(\n /** @type {AbstractType<any>} */\n C,\n g\n )) && // Never redo structs in stackItem.insertions because they were created and deleted in the same capture interval.\n !Te(a.insertions, g.id) && u.add(g);\n }), u.forEach((g) => {\n f = Cl(l, g, u, a.insertions, e.ignoreRemoteMapChanges, e) !== null || f;\n });\n for (let g = d.length - 1; g >= 0; g--) {\n const C = d[g];\n e.deleteFilter(C) && (C.delete(l), f = !0);\n }\n e.currStackItem = f ? a : null;\n }\n l.changed.forEach((c, a) => {\n c.has(null) && a._searchMarker && (a._searchMarker.length = 0);\n }), r = l;\n }, e);\n const o = e.currStackItem;\n if (o != null) {\n const l = r.changedParentTypes;\n e.emit(\"stack-item-popped\", [{ stackItem: o, type: n, changedParentTypes: l, origin: e }, e]), e.currStackItem = null;\n }\n return o;\n};\nclass Jo extends vo {\n /**\n * @param {Doc|AbstractType<any>|Array<AbstractType<any>>} typeScope Limits the scope of the UndoManager. If this is set to a ydoc instance, all changes on that ydoc will be undone. If set to a specific type, only changes on that type or its children will be undone. Also accepts an array of types.\n * @param {UndoManagerOptions} options\n */\n constructor(t, {\n captureTimeout: n = 500,\n captureTransaction: r = (c) => !0,\n deleteFilter: i = () => !0,\n trackedOrigins: s = /* @__PURE__ */ new Set([null]),\n ignoreRemoteMapChanges: o = !1,\n doc: l = (\n /** @type {Doc} */\n ni(t) ? t[0].doc : t instanceof ge ? t : t.doc\n )\n } = {}) {\n super(), this.scope = [], this.doc = l, this.addToScope(t), this.deleteFilter = i, s.add(this), this.trackedOrigins = s, this.captureTransaction = r, this.undoStack = [], this.redoStack = [], this.undoing = !1, this.redoing = !1, this.currStackItem = null, this.lastChange = 0, this.ignoreRemoteMapChanges = o, this.captureTimeout = n, this.afterTransactionHandler = (c) => {\n if (!this.captureTransaction(c) || !this.scope.some((y) => c.changedParentTypes.has(\n /** @type {AbstractType<any>} */\n y\n ) || y === this.doc) || !this.trackedOrigins.has(c.origin) && (!c.origin || !this.trackedOrigins.has(c.origin.constructor)))\n return;\n const a = this.undoing, u = this.redoing, d = a ? this.redoStack : this.undoStack;\n a ? this.stopCapturing() : u || this.clear(!1, !0);\n const f = new _e();\n c.afterState.forEach((y, w) => {\n const v = c.beforeState.get(w) || 0, A = y - v;\n A > 0 && Je(f, w, v, A);\n });\n const g = q1();\n let C = !1;\n if (this.lastChange > 0 && g - this.lastChange < this.captureTimeout && d.length > 0 && !a && !u) {\n const y = d[d.length - 1];\n y.deletions = ci([y.deletions, c.deleteSet]), y.insertions = ci([y.insertions, f]);\n } else\n d.push(new qu(c.deleteSet, f)), C = !0;\n !a && !u && (this.lastChange = g), Kt(\n c,\n c.deleteSet,\n /** @param {Item|GC} item */\n (y) => {\n y instanceof L && this.scope.some((w) => w === c.doc || Le(\n /** @type {AbstractType<any>} */\n w,\n y\n )) && Yi(y, !0);\n }\n );\n const m = [{ stackItem: d[d.length - 1], origin: c.origin, type: a ? \"redo\" : \"undo\", changedParentTypes: c.changedParentTypes }, this];\n C ? this.emit(\"stack-item-added\", m) : this.emit(\"stack-item-updated\", m);\n }, this.doc.on(\"afterTransaction\", this.afterTransactionHandler), this.doc.on(\"destroy\", () => {\n this.destroy();\n });\n }\n /**\n * Extend the scope.\n *\n * @param {Array<AbstractType<any> | Doc> | AbstractType<any> | Doc} ytypes\n */\n addToScope(t) {\n const n = new Set(this.scope);\n t = ni(t) ? t : [t], t.forEach((r) => {\n n.has(r) || (n.add(r), (r instanceof F ? r.doc !== this.doc : r !== this.doc) && Vo(\"[yjs#509] Not same Y.Doc\"), this.scope.push(r));\n });\n }\n /**\n * @param {any} origin\n */\n addTrackedOrigin(t) {\n this.trackedOrigins.add(t);\n }\n /**\n * @param {any} origin\n */\n removeTrackedOrigin(t) {\n this.trackedOrigins.delete(t);\n }\n clear(t = !0, n = !0) {\n (t && this.canUndo() || n && this.canRedo()) && this.doc.transact((r) => {\n t && (this.undoStack.forEach((i) => Ws(r, this, i)), this.undoStack = []), n && (this.redoStack.forEach((i) => Ws(r, this, i)), this.redoStack = []), this.emit(\"stack-cleared\", [{ undoStackCleared: t, redoStackCleared: n }]);\n });\n }\n /**\n * UndoManager merges Undo-StackItem if they are created within time-gap\n * smaller than `options.captureTimeout`. Call `um.stopCapturing()` so that the next\n * StackItem won't be merged.\n *\n *\n * @example\n * // without stopCapturing\n * ytext.insert(0, 'a')\n * ytext.insert(1, 'b')\n * um.undo()\n * ytext.toString() // => '' (note that 'ab' was removed)\n * // with stopCapturing\n * ytext.insert(0, 'a')\n * um.stopCapturing()\n * ytext.insert(0, 'b')\n * um.undo()\n * ytext.toString() // => 'a' (note that only 'b' was removed)\n *\n */\n stopCapturing() {\n this.lastChange = 0;\n }\n /**\n * Undo last changes on type.\n *\n * @return {StackItem?} Returns StackItem if a change was applied\n */\n undo() {\n this.undoing = !0;\n let t;\n try {\n t = Ks(this, this.undoStack, \"undo\");\n } finally {\n this.undoing = !1;\n }\n return t;\n }\n /**\n * Redo last undo operation.\n *\n * @return {StackItem?} Returns StackItem if a change was applied\n */\n redo() {\n this.redoing = !0;\n let t;\n try {\n t = Ks(this, this.redoStack, \"redo\");\n } finally {\n this.redoing = !1;\n }\n return t;\n }\n /**\n * Are undo steps available?\n *\n * @return {boolean} `true` if undo is possible\n */\n canUndo() {\n return this.undoStack.length > 0;\n }\n /**\n * Are redo steps available?\n *\n * @return {boolean} `true` if redo is possible\n */\n canRedo() {\n return this.redoStack.length > 0;\n }\n destroy() {\n this.trackedOrigins.delete(this), this.doc.off(\"afterTransaction\", this.afterTransactionHandler), super.destroy();\n }\n}\nfunction* Ju(e) {\n const t = M(e.restDecoder);\n for (let n = 0; n < t; n++) {\n const r = M(e.restDecoder), i = e.readClient();\n let s = M(e.restDecoder);\n for (let o = 0; o < r; o++) {\n const l = e.readInfo();\n if (l === 10) {\n const c = M(e.restDecoder);\n yield new st(S(i, s), c), s += c;\n } else if ((Cr & l) !== 0) {\n const c = (l & (Rt | $)) === 0, a = new L(\n S(i, s),\n null,\n // left\n (l & $) === $ ? e.readLeftID() : null,\n // origin\n null,\n // right\n (l & Rt) === Rt ? e.readRightID() : null,\n // right origin\n // @ts-ignore Force writing a string here.\n c ? e.readParentInfo() ? e.readString() : e.readLeftID() : null,\n // parent\n c && (l & Ge) === Ge ? e.readString() : null,\n // parentSub\n ml(e, l)\n // item content\n );\n yield a, s += a.length;\n } else {\n const c = e.readLen();\n yield new nt(S(i, s), c), s += c;\n }\n }\n }\n}\nclass Qu {\n /**\n * @param {UpdateDecoderV1 | UpdateDecoderV2} decoder\n * @param {boolean} filterSkips\n */\n constructor(t, n) {\n this.gen = Ju(t), this.curr = null, this.done = !1, this.filterSkips = n, this.next();\n }\n /**\n * @return {Item | GC | Skip |null}\n */\n next() {\n do\n this.curr = this.gen.next().value || null;\n while (this.filterSkips && this.curr !== null && this.curr.constructor === st);\n return this.curr;\n }\n}\nclass Xu {\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n */\n constructor(t) {\n this.currClient = 0, this.startClock = 0, this.written = 0, this.encoder = t, this.clientStructs = [];\n }\n}\nconst td = (e, t) => {\n if (e.constructor === nt) {\n const { client: n, clock: r } = e.id;\n return new nt(S(n, r + t), e.length - t);\n } else if (e.constructor === st) {\n const { client: n, clock: r } = e.id;\n return new st(S(n, r + t), e.length - t);\n } else {\n const n = (\n /** @type {Item} */\n e\n ), { client: r, clock: i } = n.id;\n return new L(\n S(r, i + t),\n null,\n S(r, i + t - 1),\n null,\n n.rightOrigin,\n n.parent,\n n.parentSub,\n n.content.splice(t)\n );\n }\n}, Gs = (e, t = or, n = br) => {\n if (e.length === 1)\n return e[0];\n const r = e.map((u) => new t(Di(u)));\n let i = r.map((u) => new Qu(u, !0)), s = null;\n const o = new n(), l = new Xu(o);\n for (; i = i.filter((f) => f.curr !== null), i.sort(\n /** @type {function(any,any):number} */\n (f, g) => {\n if (f.curr.id.client === g.curr.id.client) {\n const C = f.curr.id.clock - g.curr.id.clock;\n return C === 0 ? f.curr.constructor === g.curr.constructor ? 0 : f.curr.constructor === st ? 1 : -1 : C;\n } else\n return g.curr.id.client - f.curr.id.client;\n }\n ), i.length !== 0; ) {\n const u = i[0], d = (\n /** @type {Item | GC} */\n u.curr.id.client\n );\n if (s !== null) {\n let f = (\n /** @type {Item | GC | null} */\n u.curr\n ), g = !1;\n for (; f !== null && f.id.clock + f.length <= s.struct.id.clock + s.struct.length && f.id.client >= s.struct.id.client; )\n f = u.next(), g = !0;\n if (f === null || // current decoder is empty\n f.id.client !== d || // check whether there is another decoder that has has updates from `firstClient`\n g && f.id.clock > s.struct.id.clock + s.struct.length)\n continue;\n if (d !== s.struct.id.client)\n He(l, s.struct, s.offset), s = { struct: f, offset: 0 }, u.next();\n else if (s.struct.id.clock + s.struct.length < f.id.clock)\n if (s.struct.constructor === st)\n s.struct.length = f.id.clock + f.length - s.struct.id.clock;\n else {\n He(l, s.struct, s.offset);\n const C = f.id.clock - s.struct.id.clock - s.struct.length;\n s = { struct: new st(S(d, s.struct.id.clock + s.struct.length), C), offset: 0 };\n }\n else {\n const C = s.struct.id.clock + s.struct.length - f.id.clock;\n C > 0 && (s.struct.constructor === st ? s.struct.length -= C : f = td(f, C)), s.struct.mergeWith(\n /** @type {any} */\n f\n ) || (He(l, s.struct, s.offset), s = { struct: f, offset: 0 }, u.next());\n }\n } else\n s = { struct: (\n /** @type {Item | GC} */\n u.curr\n ), offset: 0 }, u.next();\n for (let f = u.curr; f !== null && f.id.client === d && f.id.clock === s.struct.id.clock + s.struct.length && f.constructor !== st; f = u.next())\n He(l, s.struct, s.offset), s = { struct: f, offset: 0 };\n }\n s !== null && (He(l, s.struct, s.offset), s = null), ed(l);\n const c = r.map((u) => Ru(u)), a = ci(c);\n return ji(o, a), o.toUint8Array();\n}, Qo = (e) => {\n e.written > 0 && (e.clientStructs.push({ written: e.written, restEncoder: ot(e.encoder.restEncoder) }), e.encoder.restEncoder = sn(), e.written = 0);\n}, He = (e, t, n) => {\n e.written > 0 && e.currClient !== t.id.client && Qo(e), e.written === 0 && (e.currClient = t.id.client, e.encoder.writeClient(t.id.client), x(e.encoder.restEncoder, t.id.clock + n)), t.write(e.encoder, n), e.written++;\n}, ed = (e) => {\n Qo(e);\n const t = e.encoder.restEncoder;\n x(t, e.clientStructs.length);\n for (let n = 0; n < e.clientStructs.length; n++) {\n const r = e.clientStructs[n];\n x(t, r.written), mr(t, r.restEncoder);\n }\n}, Ys = \"You must not compute changes after the event-handler fired.\";\nclass kr {\n /**\n * @param {T} target The changed type.\n * @param {Transaction} transaction\n */\n constructor(t, n) {\n this.target = t, this.currentTarget = t, this.transaction = n, this._changes = null, this._keys = null, this._delta = null, this._path = null;\n }\n /**\n * Computes the path from `y` to the changed type.\n *\n * @todo v14 should standardize on path: Array<{parent, index}> because that is easier to work with.\n *\n * The following property holds:\n * @example\n * let type = y\n * event.path.forEach(dir => {\n * type = type.get(dir)\n * })\n * type === event.target // => true\n */\n get path() {\n return this._path || (this._path = nd(this.currentTarget, this.target));\n }\n /**\n * Check if a struct is deleted by this event.\n *\n * In contrast to change.deleted, this method also returns true if the struct was added and then deleted.\n *\n * @param {AbstractStruct} struct\n * @return {boolean}\n */\n deletes(t) {\n return Te(this.transaction.deleteSet, t.id);\n }\n /**\n * @type {Map<string, { action: 'add' | 'update' | 'delete', oldValue: any, newValue: any }>}\n */\n get keys() {\n if (this._keys === null) {\n if (this.transaction.doc._transactionCleanups.length === 0)\n throw Wt(Ys);\n const t = /* @__PURE__ */ new Map(), n = this.target;\n /** @type Set<string|null> */\n this.transaction.changed.get(n).forEach((i) => {\n if (i !== null) {\n const s = (\n /** @type {Item} */\n n._map.get(i)\n );\n let o, l;\n if (this.adds(s)) {\n let c = s.left;\n for (; c !== null && this.adds(c); )\n c = c.left;\n if (this.deletes(s))\n if (c !== null && this.deletes(c))\n o = \"delete\", l = Ur(c.content.getContent());\n else\n return;\n else\n c !== null && this.deletes(c) ? (o = \"update\", l = Ur(c.content.getContent())) : (o = \"add\", l = void 0);\n } else if (this.deletes(s))\n o = \"delete\", l = Ur(\n /** @type {Item} */\n s.content.getContent()\n );\n else\n return;\n t.set(i, { action: o, oldValue: l });\n }\n }), this._keys = t;\n }\n return this._keys;\n }\n /**\n * This is a computed property. Note that this can only be safely computed during the\n * event call. Computing this property after other changes happened might result in\n * unexpected behavior (incorrect computation of deltas). A safe way to collect changes\n * is to store the `changes` or the `delta` object. Avoid storing the `transaction` object.\n *\n * @type {Array<{insert?: string | Array<any> | object | AbstractType<any>, retain?: number, delete?: number, attributes?: Object<string, any>}>}\n */\n get delta() {\n return this.changes.delta;\n }\n /**\n * Check if a struct is added by this event.\n *\n * In contrast to change.deleted, this method also returns true if the struct was added and then deleted.\n *\n * @param {AbstractStruct} struct\n * @return {boolean}\n */\n adds(t) {\n return t.id.clock >= (this.transaction.beforeState.get(t.id.client) || 0);\n }\n /**\n * This is a computed property. Note that this can only be safely computed during the\n * event call. Computing this property after other changes happened might result in\n * unexpected behavior (incorrect computation of deltas). A safe way to collect changes\n * is to store the `changes` or the `delta` object. Avoid storing the `transaction` object.\n *\n * @type {{added:Set<Item>,deleted:Set<Item>,keys:Map<string,{action:'add'|'update'|'delete',oldValue:any}>,delta:Array<{insert?:Array<any>|string, delete?:number, retain?:number}>}}\n */\n get changes() {\n let t = this._changes;\n if (t === null) {\n if (this.transaction.doc._transactionCleanups.length === 0)\n throw Wt(Ys);\n const n = this.target, r = ce(), i = ce(), s = [];\n if (t = {\n added: r,\n deleted: i,\n delta: s,\n keys: this.keys\n }, /** @type Set<string|null> */\n this.transaction.changed.get(n).has(null)) {\n let l = null;\n const c = () => {\n l && s.push(l);\n };\n for (let a = n._start; a !== null; a = a.right)\n a.deleted ? this.deletes(a) && !this.adds(a) && ((l === null || l.delete === void 0) && (c(), l = { delete: 0 }), l.delete += a.length, i.add(a)) : this.adds(a) ? ((l === null || l.insert === void 0) && (c(), l = { insert: [] }), l.insert = l.insert.concat(a.content.getContent()), r.add(a)) : ((l === null || l.retain === void 0) && (c(), l = { retain: 0 }), l.retain += a.length);\n l !== null && l.retain === void 0 && c();\n }\n this._changes = t;\n }\n return (\n /** @type {any} */\n t\n );\n }\n}\nconst nd = (e, t) => {\n const n = [];\n for (; t._item !== null && t !== e; ) {\n if (t._item.parentSub !== null)\n n.unshift(t._item.parentSub);\n else {\n let r = 0, i = (\n /** @type {AbstractType<any>} */\n t._item.parent._start\n );\n for (; i !== t._item && i !== null; )\n !i.deleted && i.countable && (r += i.length), i = i.right;\n n.unshift(r);\n }\n t = /** @type {AbstractType<any>} */\n t._item.parent;\n }\n return n;\n}, Z = () => {\n Vo(\"Invalid access: Add Yjs type to a document before reading data.\");\n}, Xo = 80;\nlet $i = 0;\nclass rd {\n /**\n * @param {Item} p\n * @param {number} index\n */\n constructor(t, n) {\n t.marker = !0, this.p = t, this.index = n, this.timestamp = $i++;\n }\n}\nconst id = (e) => {\n e.timestamp = $i++;\n}, tl = (e, t, n) => {\n e.p.marker = !1, e.p = t, t.marker = !0, e.index = n, e.timestamp = $i++;\n}, sd = (e, t, n) => {\n if (e.length >= Xo) {\n const r = e.reduce((i, s) => i.timestamp < s.timestamp ? i : s);\n return tl(r, t, n), r;\n } else {\n const r = new rd(t, n);\n return e.push(r), r;\n }\n}, vr = (e, t) => {\n if (e._start === null || t === 0 || e._searchMarker === null)\n return null;\n const n = e._searchMarker.length === 0 ? null : e._searchMarker.reduce((s, o) => En(t - s.index) < En(t - o.index) ? s : o);\n let r = e._start, i = 0;\n for (n !== null && (r = n.p, i = n.index, id(n)); r.right !== null && i < t; ) {\n if (!r.deleted && r.countable) {\n if (t < i + r.length)\n break;\n i += r.length;\n }\n r = r.right;\n }\n for (; r.left !== null && i > t; )\n r = r.left, !r.deleted && r.countable && (i -= r.length);\n for (; r.left !== null && r.left.id.client === r.id.client && r.left.id.clock + r.left.length === r.id.clock; )\n r = r.left, !r.deleted && r.countable && (i -= r.length);\n return n !== null && En(n.index - i) < /** @type {YText|YArray<any>} */\n r.parent.length / Xo ? (tl(n, r, i), n) : sd(e._searchMarker, r, i);\n}, Qe = (e, t, n) => {\n for (let r = e.length - 1; r >= 0; r--) {\n const i = e[r];\n if (n > 0) {\n let s = i.p;\n for (s.marker = !1; s && (s.deleted || !s.countable); )\n s = s.left, s && !s.deleted && s.countable && (i.index -= s.length);\n if (s === null || s.marker === !0) {\n e.splice(r, 1);\n continue;\n }\n i.p = s, s.marker = !0;\n }\n (t < i.index || n > 0 && t === i.index) && (i.index = bt(t, i.index + n));\n }\n}, Sr = (e, t, n) => {\n const r = e, i = t.changedParentTypes;\n for (; kt(i, e, () => []).push(n), e._item !== null; )\n e = /** @type {AbstractType<any>} */\n e._item.parent;\n Zo(r._eH, n, t);\n};\nclass F {\n constructor() {\n this._item = null, this._map = /* @__PURE__ */ new Map(), this._start = null, this.doc = null, this._length = 0, this._eH = Bs(), this._dEH = Bs(), this._searchMarker = null;\n }\n /**\n * @return {AbstractType<any>|null}\n */\n get parent() {\n return this._item ? (\n /** @type {AbstractType<any>} */\n this._item.parent\n ) : null;\n }\n /**\n * Integrate this type into the Yjs instance.\n *\n * * Save this struct in the os\n * * This type is sent to other client\n * * Observer functions are fired\n *\n * @param {Doc} y The Yjs instance\n * @param {Item|null} item\n */\n _integrate(t, n) {\n this.doc = t, this._item = n;\n }\n /**\n * @return {AbstractType<EventType>}\n */\n _copy() {\n throw lt();\n }\n /**\n * Makes a copy of this data type that can be included somewhere else.\n *\n * Note that the content is only readable _after_ it has been included somewhere in the Ydoc.\n *\n * @return {AbstractType<EventType>}\n */\n clone() {\n throw lt();\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} _encoder\n */\n _write(t) {\n }\n /**\n * The first non-deleted item\n */\n get _first() {\n let t = this._start;\n for (; t !== null && t.deleted; )\n t = t.right;\n return t;\n }\n /**\n * Creates YEvent and calls all type observers.\n * Must be implemented by each type.\n *\n * @param {Transaction} transaction\n * @param {Set<null|string>} _parentSubs Keys changed on this type. `null` if list was modified.\n */\n _callObserver(t, n) {\n !t.local && this._searchMarker && (this._searchMarker.length = 0);\n }\n /**\n * Observe all events that are created on this type.\n *\n * @param {function(EventType, Transaction):void} f Observer function\n */\n observe(t) {\n Ps(this._eH, t);\n }\n /**\n * Observe all events that are created by this type and its children.\n *\n * @param {function(Array<YEvent<any>>,Transaction):void} f Observer function\n */\n observeDeep(t) {\n Ps(this._dEH, t);\n }\n /**\n * Unregister an observer function.\n *\n * @param {function(EventType,Transaction):void} f Observer function\n */\n unobserve(t) {\n Fs(this._eH, t);\n }\n /**\n * Unregister an observer function.\n *\n * @param {function(Array<YEvent<any>>,Transaction):void} f Observer function\n */\n unobserveDeep(t) {\n Fs(this._dEH, t);\n }\n /**\n * @abstract\n * @return {any}\n */\n toJSON() {\n }\n}\nconst el = (e, t, n) => {\n e.doc ?? Z(), t < 0 && (t = e._length + t), n < 0 && (n = e._length + n);\n let r = n - t;\n const i = [];\n let s = e._start;\n for (; s !== null && r > 0; ) {\n if (s.countable && !s.deleted) {\n const o = s.content.getContent();\n if (o.length <= t)\n t -= o.length;\n else {\n for (let l = t; l < o.length && r > 0; l++)\n i.push(o[l]), r--;\n t = 0;\n }\n }\n s = s.right;\n }\n return i;\n}, nl = (e) => {\n e.doc ?? Z();\n const t = [];\n let n = e._start;\n for (; n !== null; ) {\n if (n.countable && !n.deleted) {\n const r = n.content.getContent();\n for (let i = 0; i < r.length; i++)\n t.push(r[i]);\n }\n n = n.right;\n }\n return t;\n}, rl = (e, t) => {\n const n = [];\n let r = e._start;\n for (; r !== null; ) {\n if (r.countable && se(r, t)) {\n const i = r.content.getContent();\n for (let s = 0; s < i.length; s++)\n n.push(i[s]);\n }\n r = r.right;\n }\n return n;\n}, Xe = (e, t) => {\n let n = 0, r = e._start;\n for (e.doc ?? Z(); r !== null; ) {\n if (r.countable && !r.deleted) {\n const i = r.content.getContent();\n for (let s = 0; s < i.length; s++)\n t(i[s], n++, e);\n }\n r = r.right;\n }\n}, il = (e, t) => {\n const n = [];\n return Xe(e, (r, i) => {\n n.push(t(r, i, e));\n }), n;\n}, od = (e) => {\n let t = e._start, n = null, r = 0;\n return {\n [Symbol.iterator]() {\n return this;\n },\n next: () => {\n if (n === null) {\n for (; t !== null && t.deleted; )\n t = t.right;\n if (t === null)\n return {\n done: !0,\n value: void 0\n };\n n = t.content.getContent(), r = 0, t = t.right;\n }\n const i = n[r++];\n return n.length <= r && (n = null), {\n done: !1,\n value: i\n };\n }\n };\n}, sl = (e, t) => {\n e.doc ?? Z();\n const n = vr(e, t);\n let r = e._start;\n for (n !== null && (r = n.p, t -= n.index); r !== null; r = r.right)\n if (!r.deleted && r.countable) {\n if (t < r.length)\n return r.content.getContent()[t];\n t -= r.length;\n }\n}, lr = (e, t, n, r) => {\n let i = n;\n const s = e.doc, o = s.clientID, l = s.store, c = n === null ? t._start : n.right;\n let a = [];\n const u = () => {\n a.length > 0 && (i = new L(S(o, O(l, o)), i, i && i.lastId, c, c && c.id, t, null, new de(a)), i.integrate(e, 0), a = []);\n };\n r.forEach((d) => {\n if (d === null)\n a.push(d);\n else\n switch (d.constructor) {\n case Number:\n case Object:\n case Boolean:\n case Array:\n case String:\n a.push(d);\n break;\n default:\n switch (u(), d.constructor) {\n case Uint8Array:\n case ArrayBuffer:\n i = new L(S(o, O(l, o)), i, i && i.lastId, c, c && c.id, t, null, new on(new Uint8Array(\n /** @type {Uint8Array} */\n d\n ))), i.integrate(e, 0);\n break;\n case ge:\n i = new L(S(o, O(l, o)), i, i && i.lastId, c, c && c.id, t, null, new ln(\n /** @type {Doc} */\n d\n )), i.integrate(e, 0);\n break;\n default:\n if (d instanceof F)\n i = new L(S(o, O(l, o)), i, i && i.lastId, c, c && c.id, t, null, new dt(d)), i.integrate(e, 0);\n else\n throw new Error(\"Unexpected content type in insert operation\");\n }\n }\n }), u();\n}, ol = () => Wt(\"Length exceeded!\"), ll = (e, t, n, r) => {\n if (n > t._length)\n throw ol();\n if (n === 0)\n return t._searchMarker && Qe(t._searchMarker, n, r.length), lr(e, t, null, r);\n const i = n, s = vr(t, n);\n let o = t._start;\n for (s !== null && (o = s.p, n -= s.index, n === 0 && (o = o.prev, n += o && o.countable && !o.deleted ? o.length : 0)); o !== null; o = o.right)\n if (!o.deleted && o.countable) {\n if (n <= o.length) {\n n < o.length && G(e, S(o.id.client, o.id.clock + n));\n break;\n }\n n -= o.length;\n }\n return t._searchMarker && Qe(t._searchMarker, i, r.length), lr(e, t, o, r);\n}, ld = (e, t, n) => {\n let i = (t._searchMarker || []).reduce((s, o) => o.index > s.index ? o : s, { index: 0, p: t._start }).p;\n if (i)\n for (; i.right; )\n i = i.right;\n return lr(e, t, i, n);\n}, cl = (e, t, n, r) => {\n if (r === 0)\n return;\n const i = n, s = r, o = vr(t, n);\n let l = t._start;\n for (o !== null && (l = o.p, n -= o.index); l !== null && n > 0; l = l.right)\n !l.deleted && l.countable && (n < l.length && G(e, S(l.id.client, l.id.clock + n)), n -= l.length);\n for (; r > 0 && l !== null; )\n l.deleted || (r < l.length && G(e, S(l.id.client, l.id.clock + r)), l.delete(e), r -= l.length), l = l.right;\n if (r > 0)\n throw ol();\n t._searchMarker && Qe(\n t._searchMarker,\n i,\n -s + r\n /* in case we remove the above exception */\n );\n}, cr = (e, t, n) => {\n const r = t._map.get(n);\n r !== void 0 && r.delete(e);\n}, Wi = (e, t, n, r) => {\n const i = t._map.get(n) || null, s = e.doc, o = s.clientID;\n let l;\n if (r == null)\n l = new de([r]);\n else\n switch (r.constructor) {\n case Number:\n case Object:\n case Boolean:\n case Array:\n case String:\n case Date:\n case BigInt:\n l = new de([r]);\n break;\n case Uint8Array:\n l = new on(\n /** @type {Uint8Array} */\n r\n );\n break;\n case ge:\n l = new ln(\n /** @type {Doc} */\n r\n );\n break;\n default:\n if (r instanceof F)\n l = new dt(r);\n else\n throw new Error(\"Unexpected content type\");\n }\n new L(S(o, O(s.store, o)), i, i && i.lastId, null, null, t, n, l).integrate(e, 0);\n}, Ki = (e, t) => {\n e.doc ?? Z();\n const n = e._map.get(t);\n return n !== void 0 && !n.deleted ? n.content.getContent()[n.length - 1] : void 0;\n}, al = (e) => {\n const t = {};\n return e.doc ?? Z(), e._map.forEach((n, r) => {\n n.deleted || (t[r] = n.content.getContent()[n.length - 1]);\n }), t;\n}, ul = (e, t) => {\n e.doc ?? Z();\n const n = e._map.get(t);\n return n !== void 0 && !n.deleted;\n}, cd = (e, t) => {\n const n = {};\n return e._map.forEach((r, i) => {\n let s = r;\n for (; s !== null && (!t.sv.has(s.id.client) || s.id.clock >= (t.sv.get(s.id.client) || 0)); )\n s = s.left;\n s !== null && se(s, t) && (n[i] = s.content.getContent()[s.length - 1]);\n }), n;\n}, bn = (e) => (e.doc ?? Z(), _u(\n e._map.entries(),\n /** @param {any} entry */\n (t) => !t[1].deleted\n));\nclass ad extends kr {\n}\nclass Se extends F {\n constructor() {\n super(), this._prelimContent = [], this._searchMarker = [];\n }\n /**\n * Construct a new YArray containing the specified items.\n * @template {Object<string,any>|Array<any>|number|null|string|Uint8Array} T\n * @param {Array<T>} items\n * @return {YArray<T>}\n */\n static from(t) {\n const n = new Se();\n return n.push(t), n;\n }\n /**\n * Integrate this type into the Yjs instance.\n *\n * * Save this struct in the os\n * * This type is sent to other client\n * * Observer functions are fired\n *\n * @param {Doc} y The Yjs instance\n * @param {Item} item\n */\n _integrate(t, n) {\n super._integrate(t, n), this.insert(\n 0,\n /** @type {Array<any>} */\n this._prelimContent\n ), this._prelimContent = null;\n }\n /**\n * @return {YArray<T>}\n */\n _copy() {\n return new Se();\n }\n /**\n * Makes a copy of this data type that can be included somewhere else.\n *\n * Note that the content is only readable _after_ it has been included somewhere in the Ydoc.\n *\n * @return {YArray<T>}\n */\n clone() {\n const t = new Se();\n return t.insert(0, this.toArray().map(\n (n) => n instanceof F ? (\n /** @type {typeof el} */\n n.clone()\n ) : n\n )), t;\n }\n get length() {\n return this.doc ?? Z(), this._length;\n }\n /**\n * Creates YArrayEvent and calls observers.\n *\n * @param {Transaction} transaction\n * @param {Set<null|string>} parentSubs Keys changed on this type. `null` if list was modified.\n */\n _callObserver(t, n) {\n super._callObserver(t, n), Sr(this, t, new ad(this, t));\n }\n /**\n * Inserts new content at an index.\n *\n * Important: This function expects an array of content. Not just a content\n * object. The reason for this \"weirdness\" is that inserting several elements\n * is very efficient when it is done as a single operation.\n *\n * @example\n * // Insert character 'a' at position 0\n * yarray.insert(0, ['a'])\n * // Insert numbers 1, 2 at position 1\n * yarray.insert(1, [1, 2])\n *\n * @param {number} index The index to insert content at.\n * @param {Array<T>} content The array of content\n */\n insert(t, n) {\n this.doc !== null ? I(this.doc, (r) => {\n ll(\n r,\n this,\n t,\n /** @type {any} */\n n\n );\n }) : this._prelimContent.splice(t, 0, ...n);\n }\n /**\n * Appends content to this YArray.\n *\n * @param {Array<T>} content Array of content to append.\n *\n * @todo Use the following implementation in all types.\n */\n push(t) {\n this.doc !== null ? I(this.doc, (n) => {\n ld(\n n,\n this,\n /** @type {any} */\n t\n );\n }) : this._prelimContent.push(...t);\n }\n /**\n * Prepends content to this YArray.\n *\n * @param {Array<T>} content Array of content to prepend.\n */\n unshift(t) {\n this.insert(0, t);\n }\n /**\n * Deletes elements starting from an index.\n *\n * @param {number} index Index at which to start deleting elements\n * @param {number} length The number of elements to remove. Defaults to 1.\n */\n delete(t, n = 1) {\n this.doc !== null ? I(this.doc, (r) => {\n cl(r, this, t, n);\n }) : this._prelimContent.splice(t, n);\n }\n /**\n * Returns the i-th element from a YArray.\n *\n * @param {number} index The index of the element to return from the YArray\n * @return {T}\n */\n get(t) {\n return sl(this, t);\n }\n /**\n * Transforms this YArray to a JavaScript Array.\n *\n * @return {Array<T>}\n */\n toArray() {\n return nl(this);\n }\n /**\n * Returns a portion of this YArray into a JavaScript Array selected\n * from start to end (end not included).\n *\n * @param {number} [start]\n * @param {number} [end]\n * @return {Array<T>}\n */\n slice(t = 0, n = this.length) {\n return el(this, t, n);\n }\n /**\n * Transforms this Shared Type to a JSON object.\n *\n * @return {Array<any>}\n */\n toJSON() {\n return this.map((t) => t instanceof F ? t.toJSON() : t);\n }\n /**\n * Returns an Array with the result of calling a provided function on every\n * element of this YArray.\n *\n * @template M\n * @param {function(T,number,YArray<T>):M} f Function that produces an element of the new Array\n * @return {Array<M>} A new array with each element being the result of the\n * callback function\n */\n map(t) {\n return il(\n this,\n /** @type {any} */\n t\n );\n }\n /**\n * Executes a provided function once on every element of this YArray.\n *\n * @param {function(T,number,YArray<T>):void} f A function to execute on every element of this YArray.\n */\n forEach(t) {\n Xe(this, t);\n }\n /**\n * @return {IterableIterator<T>}\n */\n [Symbol.iterator]() {\n return od(this);\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n */\n _write(t) {\n t.writeTypeRef(Hd);\n }\n}\nconst ud = (e) => new Se();\nclass dd extends kr {\n /**\n * @param {YMap<T>} ymap The YArray that changed.\n * @param {Transaction} transaction\n * @param {Set<any>} subs The keys that changed.\n */\n constructor(t, n, r) {\n super(t, n), this.keysChanged = r;\n }\n}\nclass Ae extends F {\n /**\n *\n * @param {Iterable<readonly [string, any]>=} entries - an optional iterable to initialize the YMap\n */\n constructor(t) {\n super(), this._prelimContent = null, t === void 0 ? this._prelimContent = /* @__PURE__ */ new Map() : this._prelimContent = new Map(t);\n }\n /**\n * Integrate this type into the Yjs instance.\n *\n * * Save this struct in the os\n * * This type is sent to other client\n * * Observer functions are fired\n *\n * @param {Doc} y The Yjs instance\n * @param {Item} item\n */\n _integrate(t, n) {\n super._integrate(t, n), this._prelimContent.forEach((r, i) => {\n this.set(i, r);\n }), this._prelimContent = null;\n }\n /**\n * @return {YMap<MapType>}\n */\n _copy() {\n return new Ae();\n }\n /**\n * Makes a copy of this data type that can be included somewhere else.\n *\n * Note that the content is only readable _after_ it has been included somewhere in the Ydoc.\n *\n * @return {YMap<MapType>}\n */\n clone() {\n const t = new Ae();\n return this.forEach((n, r) => {\n t.set(r, n instanceof F ? (\n /** @type {typeof value} */\n n.clone()\n ) : n);\n }), t;\n }\n /**\n * Creates YMapEvent and calls observers.\n *\n * @param {Transaction} transaction\n * @param {Set<null|string>} parentSubs Keys changed on this type. `null` if list was modified.\n */\n _callObserver(t, n) {\n Sr(this, t, new dd(this, t, n));\n }\n /**\n * Transforms this Shared Type to a JSON object.\n *\n * @return {Object<string,any>}\n */\n toJSON() {\n this.doc ?? Z();\n const t = {};\n return this._map.forEach((n, r) => {\n if (!n.deleted) {\n const i = n.content.getContent()[n.length - 1];\n t[r] = i instanceof F ? i.toJSON() : i;\n }\n }), t;\n }\n /**\n * Returns the size of the YMap (count of key/value pairs)\n *\n * @return {number}\n */\n get size() {\n return [...bn(this)].length;\n }\n /**\n * Returns the keys for each element in the YMap Type.\n *\n * @return {IterableIterator<string>}\n */\n keys() {\n return zr(\n bn(this),\n /** @param {any} v */\n (t) => t[0]\n );\n }\n /**\n * Returns the values for each element in the YMap Type.\n *\n * @return {IterableIterator<MapType>}\n */\n values() {\n return zr(\n bn(this),\n /** @param {any} v */\n (t) => t[1].content.getContent()[t[1].length - 1]\n );\n }\n /**\n * Returns an Iterator of [key, value] pairs\n *\n * @return {IterableIterator<[string, MapType]>}\n */\n entries() {\n return zr(\n bn(this),\n /** @param {any} v */\n (t) => (\n /** @type {any} */\n [t[0], t[1].content.getContent()[t[1].length - 1]]\n )\n );\n }\n /**\n * Executes a provided function on once on every key-value pair.\n *\n * @param {function(MapType,string,YMap<MapType>):void} f A function to execute on every element of this YArray.\n */\n forEach(t) {\n this.doc ?? Z(), this._map.forEach((n, r) => {\n n.deleted || t(n.content.getContent()[n.length - 1], r, this);\n });\n }\n /**\n * Returns an Iterator of [key, value] pairs\n *\n * @return {IterableIterator<[string, MapType]>}\n */\n [Symbol.iterator]() {\n return this.entries();\n }\n /**\n * Remove a specified element from this YMap.\n *\n * @param {string} key The key of the element to remove.\n */\n delete(t) {\n this.doc !== null ? I(this.doc, (n) => {\n cr(n, this, t);\n }) : this._prelimContent.delete(t);\n }\n /**\n * Adds or updates an element with a specified key and value.\n * @template {MapType} VAL\n *\n * @param {string} key The key of the element to add to this YMap\n * @param {VAL} value The value of the element to add\n * @return {VAL}\n */\n set(t, n) {\n return this.doc !== null ? I(this.doc, (r) => {\n Wi(\n r,\n this,\n t,\n /** @type {any} */\n n\n );\n }) : this._prelimContent.set(t, n), n;\n }\n /**\n * Returns a specified element from this YMap.\n *\n * @param {string} key\n * @return {MapType|undefined}\n */\n get(t) {\n return (\n /** @type {any} */\n Ki(this, t)\n );\n }\n /**\n * Returns a boolean indicating whether the specified key exists or not.\n *\n * @param {string} key The key to test.\n * @return {boolean}\n */\n has(t) {\n return ul(this, t);\n }\n /**\n * Removes all elements from this YMap.\n */\n clear() {\n this.doc !== null ? I(this.doc, (t) => {\n this.forEach(function(n, r, i) {\n cr(t, i, r);\n });\n }) : this._prelimContent.clear();\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n */\n _write(t) {\n t.writeTypeRef(Dd);\n }\n}\nconst hd = (e) => new Ae(), $t = (e, t) => e === t || typeof e == \"object\" && typeof t == \"object\" && e && t && iu(e, t);\nclass hi {\n /**\n * @param {Item|null} left\n * @param {Item|null} right\n * @param {number} index\n * @param {Map<string,any>} currentAttributes\n */\n constructor(t, n, r, i) {\n this.left = t, this.right = n, this.index = r, this.currentAttributes = i;\n }\n /**\n * Only call this if you know that this.right is defined\n */\n forward() {\n switch (this.right === null && W(), this.right.content.constructor) {\n case U:\n this.right.deleted || Ie(\n this.currentAttributes,\n /** @type {ContentFormat} */\n this.right.content\n );\n break;\n default:\n this.right.deleted || (this.index += this.right.length);\n break;\n }\n this.left = this.right, this.right = this.right.right;\n }\n}\nconst qs = (e, t, n) => {\n for (; t.right !== null && n > 0; ) {\n switch (t.right.content.constructor) {\n case U:\n t.right.deleted || Ie(\n t.currentAttributes,\n /** @type {ContentFormat} */\n t.right.content\n );\n break;\n default:\n t.right.deleted || (n < t.right.length && G(e, S(t.right.id.client, t.right.id.clock + n)), t.index += t.right.length, n -= t.right.length);\n break;\n }\n t.left = t.right, t.right = t.right.right;\n }\n return t;\n}, yn = (e, t, n, r) => {\n const i = /* @__PURE__ */ new Map(), s = r ? vr(t, n) : null;\n if (s) {\n const o = new hi(s.p.left, s.p, s.index, i);\n return qs(e, o, n - s.index);\n } else {\n const o = new hi(null, t._start, 0, i);\n return qs(e, o, n);\n }\n}, dl = (e, t, n, r) => {\n for (; n.right !== null && (n.right.deleted === !0 || n.right.content.constructor === U && $t(\n r.get(\n /** @type {ContentFormat} */\n n.right.content.key\n ),\n /** @type {ContentFormat} */\n n.right.content.value\n )); )\n n.right.deleted || r.delete(\n /** @type {ContentFormat} */\n n.right.content.key\n ), n.forward();\n const i = e.doc, s = i.clientID;\n r.forEach((o, l) => {\n const c = n.left, a = n.right, u = new L(S(s, O(i.store, s)), c, c && c.lastId, a, a && a.id, t, null, new U(l, o));\n u.integrate(e, 0), n.right = u, n.forward();\n });\n}, Ie = (e, t) => {\n const { key: n, value: r } = t;\n r === null ? e.delete(n) : e.set(n, r);\n}, hl = (e, t) => {\n for (; e.right !== null; ) {\n if (!(e.right.deleted || e.right.content.constructor === U && $t(\n t[\n /** @type {ContentFormat} */\n e.right.content.key\n ] ?? null,\n /** @type {ContentFormat} */\n e.right.content.value\n ))) break;\n e.forward();\n }\n}, fl = (e, t, n, r) => {\n const i = e.doc, s = i.clientID, o = /* @__PURE__ */ new Map();\n for (const l in r) {\n const c = r[l], a = n.currentAttributes.get(l) ?? null;\n if (!$t(a, c)) {\n o.set(l, a);\n const { left: u, right: d } = n;\n n.right = new L(S(s, O(i.store, s)), u, u && u.lastId, d, d && d.id, t, null, new U(l, c)), n.right.integrate(e, 0), n.forward();\n }\n }\n return o;\n}, Zr = (e, t, n, r, i) => {\n n.currentAttributes.forEach((f, g) => {\n i[g] === void 0 && (i[g] = null);\n });\n const s = e.doc, o = s.clientID;\n hl(n, i);\n const l = fl(e, t, n, i), c = r.constructor === String ? new at(\n /** @type {string} */\n r\n ) : r instanceof F ? new dt(r) : new pe(r);\n let { left: a, right: u, index: d } = n;\n t._searchMarker && Qe(t._searchMarker, n.index, c.getLength()), u = new L(S(o, O(s.store, o)), a, a && a.lastId, u, u && u.id, t, null, c), u.integrate(e, 0), n.right = u, n.index = d, n.forward(), dl(e, t, n, l);\n}, Js = (e, t, n, r, i) => {\n const s = e.doc, o = s.clientID;\n hl(n, i);\n const l = fl(e, t, n, i);\n t: for (; n.right !== null && (r > 0 || l.size > 0 && (n.right.deleted || n.right.content.constructor === U)); ) {\n if (!n.right.deleted)\n switch (n.right.content.constructor) {\n case U: {\n const { key: c, value: a } = (\n /** @type {ContentFormat} */\n n.right.content\n ), u = i[c];\n if (u !== void 0) {\n if ($t(u, a))\n l.delete(c);\n else {\n if (r === 0)\n break t;\n l.set(c, a);\n }\n n.right.delete(e);\n } else\n n.currentAttributes.set(c, a);\n break;\n }\n default:\n r < n.right.length && G(e, S(n.right.id.client, n.right.id.clock + r)), r -= n.right.length;\n break;\n }\n n.forward();\n }\n if (r > 0) {\n let c = \"\";\n for (; r > 0; r--)\n c += `\n`;\n n.right = new L(S(o, O(s.store, o)), n.left, n.left && n.left.lastId, n.right, n.right && n.right.id, t, null, new at(c)), n.right.integrate(e, 0), n.forward();\n }\n dl(e, t, n, l);\n}, gl = (e, t, n, r, i) => {\n let s = t;\n const o = rt();\n for (; s && (!s.countable || s.deleted); ) {\n if (!s.deleted && s.content.constructor === U) {\n const a = (\n /** @type {ContentFormat} */\n s.content\n );\n o.set(a.key, a);\n }\n s = s.right;\n }\n let l = 0, c = !1;\n for (; t !== s; ) {\n if (n === t && (c = !0), !t.deleted) {\n const a = t.content;\n switch (a.constructor) {\n case U: {\n const { key: u, value: d } = (\n /** @type {ContentFormat} */\n a\n ), f = r.get(u) ?? null;\n (o.get(u) !== a || f === d) && (t.delete(e), l++, !c && (i.get(u) ?? null) === d && f !== d && (f === null ? i.delete(u) : i.set(u, f))), !c && !t.deleted && Ie(\n i,\n /** @type {ContentFormat} */\n a\n );\n break;\n }\n }\n }\n t = /** @type {Item} */\n t.right;\n }\n return l;\n}, fd = (e, t) => {\n for (; t && t.right && (t.right.deleted || !t.right.countable); )\n t = t.right;\n const n = /* @__PURE__ */ new Set();\n for (; t && (t.deleted || !t.countable); ) {\n if (!t.deleted && t.content.constructor === U) {\n const r = (\n /** @type {ContentFormat} */\n t.content.key\n );\n n.has(r) ? t.delete(e) : n.add(r);\n }\n t = t.left;\n }\n}, gd = (e) => {\n let t = 0;\n return I(\n /** @type {Doc} */\n e.doc,\n (n) => {\n let r = (\n /** @type {Item} */\n e._start\n ), i = e._start, s = rt();\n const o = ei(s);\n for (; i; ) {\n if (i.deleted === !1)\n switch (i.content.constructor) {\n case U:\n Ie(\n o,\n /** @type {ContentFormat} */\n i.content\n );\n break;\n default:\n t += gl(n, r, i, s, o), s = ei(o), r = i;\n break;\n }\n i = i.right;\n }\n }\n ), t;\n}, pd = (e) => {\n const t = /* @__PURE__ */ new Set(), n = e.doc;\n for (const [r, i] of e.afterState.entries()) {\n const s = e.beforeState.get(r) || 0;\n i !== s && Yo(\n e,\n /** @type {Array<Item|GC>} */\n n.store.clients.get(r),\n s,\n i,\n (o) => {\n !o.deleted && /** @type {Item} */\n o.content.constructor === U && o.constructor !== nt && t.add(\n /** @type {any} */\n o.parent\n );\n }\n );\n }\n I(n, (r) => {\n Kt(e, e.deleteSet, (i) => {\n if (i instanceof nt || !/** @type {YText} */\n i.parent._hasFormatting || t.has(\n /** @type {YText} */\n i.parent\n ))\n return;\n const s = (\n /** @type {YText} */\n i.parent\n );\n i.content.constructor === U ? t.add(s) : fd(r, i);\n });\n for (const i of t)\n gd(i);\n });\n}, Qs = (e, t, n) => {\n const r = n, i = ei(t.currentAttributes), s = t.right;\n for (; n > 0 && t.right !== null; ) {\n if (t.right.deleted === !1)\n switch (t.right.content.constructor) {\n case dt:\n case pe:\n case at:\n n < t.right.length && G(e, S(t.right.id.client, t.right.id.clock + n)), n -= t.right.length, t.right.delete(e);\n break;\n }\n t.forward();\n }\n s && gl(e, s, t.right, i, t.currentAttributes);\n const o = (\n /** @type {AbstractType<any>} */\n /** @type {Item} */\n (t.left || t.right).parent\n );\n return o._searchMarker && Qe(o._searchMarker, t.index, -r + n), t;\n};\nclass Cd extends kr {\n /**\n * @param {YText} ytext\n * @param {Transaction} transaction\n * @param {Set<any>} subs The keys that changed\n */\n constructor(t, n, r) {\n super(t, n), this.childListChanged = !1, this.keysChanged = /* @__PURE__ */ new Set(), r.forEach((i) => {\n i === null ? this.childListChanged = !0 : this.keysChanged.add(i);\n });\n }\n /**\n * @type {{added:Set<Item>,deleted:Set<Item>,keys:Map<string,{action:'add'|'update'|'delete',oldValue:any}>,delta:Array<{insert?:Array<any>|string, delete?:number, retain?:number}>}}\n */\n get changes() {\n if (this._changes === null) {\n const t = {\n keys: this.keys,\n delta: this.delta,\n added: /* @__PURE__ */ new Set(),\n deleted: /* @__PURE__ */ new Set()\n };\n this._changes = t;\n }\n return (\n /** @type {any} */\n this._changes\n );\n }\n /**\n * Compute the changes in the delta format.\n * A {@link https://quilljs.com/docs/delta/|Quill Delta}) that represents the changes on the document.\n *\n * @type {Array<{insert?:string|object|AbstractType<any>, delete?:number, retain?:number, attributes?: Object<string,any>}>}\n *\n * @public\n */\n get delta() {\n if (this._delta === null) {\n const t = (\n /** @type {Doc} */\n this.target.doc\n ), n = [];\n I(t, (r) => {\n const i = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();\n let o = this.target._start, l = null;\n const c = {};\n let a = \"\", u = 0, d = 0;\n const f = () => {\n if (l !== null) {\n let g = null;\n switch (l) {\n case \"delete\":\n d > 0 && (g = { delete: d }), d = 0;\n break;\n case \"insert\":\n (typeof a == \"object\" || a.length > 0) && (g = { insert: a }, i.size > 0 && (g.attributes = {}, i.forEach((C, m) => {\n C !== null && (g.attributes[m] = C);\n }))), a = \"\";\n break;\n case \"retain\":\n u > 0 && (g = { retain: u }, nu(c) || (g.attributes = tu({}, c))), u = 0;\n break;\n }\n g && n.push(g), l = null;\n }\n };\n for (; o !== null; ) {\n switch (o.content.constructor) {\n case dt:\n case pe:\n this.adds(o) ? this.deletes(o) || (f(), l = \"insert\", a = o.content.getContent()[0], f()) : this.deletes(o) ? (l !== \"delete\" && (f(), l = \"delete\"), d += 1) : o.deleted || (l !== \"retain\" && (f(), l = \"retain\"), u += 1);\n break;\n case at:\n this.adds(o) ? this.deletes(o) || (l !== \"insert\" && (f(), l = \"insert\"), a += /** @type {ContentString} */\n o.content.str) : this.deletes(o) ? (l !== \"delete\" && (f(), l = \"delete\"), d += o.length) : o.deleted || (l !== \"retain\" && (f(), l = \"retain\"), u += o.length);\n break;\n case U: {\n const { key: g, value: C } = (\n /** @type {ContentFormat} */\n o.content\n );\n if (this.adds(o)) {\n if (!this.deletes(o)) {\n const m = i.get(g) ?? null;\n $t(m, C) ? C !== null && o.delete(r) : (l === \"retain\" && f(), $t(C, s.get(g) ?? null) ? delete c[g] : c[g] = C);\n }\n } else if (this.deletes(o)) {\n s.set(g, C);\n const m = i.get(g) ?? null;\n $t(m, C) || (l === \"retain\" && f(), c[g] = m);\n } else if (!o.deleted) {\n s.set(g, C);\n const m = c[g];\n m !== void 0 && ($t(m, C) ? m !== null && o.delete(r) : (l === \"retain\" && f(), C === null ? delete c[g] : c[g] = C));\n }\n o.deleted || (l === \"insert\" && f(), Ie(\n i,\n /** @type {ContentFormat} */\n o.content\n ));\n break;\n }\n }\n o = o.right;\n }\n for (f(); n.length > 0; ) {\n const g = n[n.length - 1];\n if (g.retain !== void 0 && g.attributes === void 0)\n n.pop();\n else\n break;\n }\n }), this._delta = n;\n }\n return (\n /** @type {any} */\n this._delta\n );\n }\n}\nclass qt extends F {\n /**\n * @param {String} [string] The initial value of the YText.\n */\n constructor(t) {\n super(), this._pending = t !== void 0 ? [() => this.insert(0, t)] : [], this._searchMarker = [], this._hasFormatting = !1;\n }\n /**\n * Number of characters of this text type.\n *\n * @type {number}\n */\n get length() {\n return this.doc ?? Z(), this._length;\n }\n /**\n * @param {Doc} y\n * @param {Item} item\n */\n _integrate(t, n) {\n super._integrate(t, n);\n try {\n this._pending.forEach((r) => r());\n } catch (r) {\n console.error(r);\n }\n this._pending = null;\n }\n _copy() {\n return new qt();\n }\n /**\n * Makes a copy of this data type that can be included somewhere else.\n *\n * Note that the content is only readable _after_ it has been included somewhere in the Ydoc.\n *\n * @return {YText}\n */\n clone() {\n const t = new qt();\n return t.applyDelta(this.toDelta()), t;\n }\n /**\n * Creates YTextEvent and calls observers.\n *\n * @param {Transaction} transaction\n * @param {Set<null|string>} parentSubs Keys changed on this type. `null` if list was modified.\n */\n _callObserver(t, n) {\n super._callObserver(t, n);\n const r = new Cd(this, t, n);\n Sr(this, t, r), !t.local && this._hasFormatting && (t._needFormattingCleanup = !0);\n }\n /**\n * Returns the unformatted string representation of this YText type.\n *\n * @public\n */\n toString() {\n this.doc ?? Z();\n let t = \"\", n = this._start;\n for (; n !== null; )\n !n.deleted && n.countable && n.content.constructor === at && (t += /** @type {ContentString} */\n n.content.str), n = n.right;\n return t;\n }\n /**\n * Returns the unformatted string representation of this YText type.\n *\n * @return {string}\n * @public\n */\n toJSON() {\n return this.toString();\n }\n /**\n * Apply a {@link Delta} on this shared YText type.\n *\n * @param {Array<any>} delta The changes to apply on this element.\n * @param {object} opts\n * @param {boolean} [opts.sanitize] Sanitize input delta. Removes ending newlines if set to true.\n *\n *\n * @public\n */\n applyDelta(t, { sanitize: n = !0 } = {}) {\n this.doc !== null ? I(this.doc, (r) => {\n const i = new hi(null, this._start, 0, /* @__PURE__ */ new Map());\n for (let s = 0; s < t.length; s++) {\n const o = t[s];\n if (o.insert !== void 0) {\n const l = !n && typeof o.insert == \"string\" && s === t.length - 1 && i.right === null && o.insert.slice(-1) === `\n` ? o.insert.slice(0, -1) : o.insert;\n (typeof l != \"string\" || l.length > 0) && Zr(r, this, i, l, o.attributes || {});\n } else o.retain !== void 0 ? Js(r, this, i, o.retain, o.attributes || {}) : o.delete !== void 0 && Qs(r, i, o.delete);\n }\n }) : this._pending.push(() => this.applyDelta(t));\n }\n /**\n * Returns the Delta representation of this YText type.\n *\n * @param {Snapshot} [snapshot]\n * @param {Snapshot} [prevSnapshot]\n * @param {function('removed' | 'added', ID):any} [computeYChange]\n * @return {any} The Delta representation of this type.\n *\n * @public\n */\n toDelta(t, n, r) {\n this.doc ?? Z();\n const i = [], s = /* @__PURE__ */ new Map(), o = (\n /** @type {Doc} */\n this.doc\n );\n let l = \"\", c = this._start;\n function a() {\n if (l.length > 0) {\n const d = {};\n let f = !1;\n s.forEach((C, m) => {\n f = !0, d[m] = C;\n });\n const g = { insert: l };\n f && (g.attributes = d), i.push(g), l = \"\";\n }\n }\n const u = () => {\n for (; c !== null; ) {\n if (se(c, t) || n !== void 0 && se(c, n))\n switch (c.content.constructor) {\n case at: {\n const d = s.get(\"ychange\");\n t !== void 0 && !se(c, t) ? (d === void 0 || d.user !== c.id.client || d.type !== \"removed\") && (a(), s.set(\"ychange\", r ? r(\"removed\", c.id) : { type: \"removed\" })) : n !== void 0 && !se(c, n) ? (d === void 0 || d.user !== c.id.client || d.type !== \"added\") && (a(), s.set(\"ychange\", r ? r(\"added\", c.id) : { type: \"added\" })) : d !== void 0 && (a(), s.delete(\"ychange\")), l += /** @type {ContentString} */\n c.content.str;\n break;\n }\n case dt:\n case pe: {\n a();\n const d = {\n insert: c.content.getContent()[0]\n };\n if (s.size > 0) {\n const f = (\n /** @type {Object<string,any>} */\n {}\n );\n d.attributes = f, s.forEach((g, C) => {\n f[C] = g;\n });\n }\n i.push(d);\n break;\n }\n case U:\n se(c, t) && (a(), Ie(\n s,\n /** @type {ContentFormat} */\n c.content\n ));\n break;\n }\n c = c.right;\n }\n a();\n };\n return t || n ? I(o, (d) => {\n t && ui(d, t), n && ui(d, n), u();\n }, \"cleanup\") : u(), i;\n }\n /**\n * Insert text at a given index.\n *\n * @param {number} index The index at which to start inserting.\n * @param {String} text The text to insert at the specified position.\n * @param {TextAttributes} [attributes] Optionally define some formatting\n * information to apply on the inserted\n * Text.\n * @public\n */\n insert(t, n, r) {\n if (n.length <= 0)\n return;\n const i = this.doc;\n i !== null ? I(i, (s) => {\n const o = yn(s, this, t, !r);\n r || (r = {}, o.currentAttributes.forEach((l, c) => {\n r[c] = l;\n })), Zr(s, this, o, n, r);\n }) : this._pending.push(() => this.insert(t, n, r));\n }\n /**\n * Inserts an embed at a index.\n *\n * @param {number} index The index to insert the embed at.\n * @param {Object | AbstractType<any>} embed The Object that represents the embed.\n * @param {TextAttributes} [attributes] Attribute information to apply on the\n * embed\n *\n * @public\n */\n insertEmbed(t, n, r) {\n const i = this.doc;\n i !== null ? I(i, (s) => {\n const o = yn(s, this, t, !r);\n Zr(s, this, o, n, r || {});\n }) : this._pending.push(() => this.insertEmbed(t, n, r || {}));\n }\n /**\n * Deletes text starting from an index.\n *\n * @param {number} index Index at which to start deleting.\n * @param {number} length The number of characters to remove. Defaults to 1.\n *\n * @public\n */\n delete(t, n) {\n if (n === 0)\n return;\n const r = this.doc;\n r !== null ? I(r, (i) => {\n Qs(i, yn(i, this, t, !0), n);\n }) : this._pending.push(() => this.delete(t, n));\n }\n /**\n * Assigns properties to a range of text.\n *\n * @param {number} index The position where to start formatting.\n * @param {number} length The amount of characters to assign properties to.\n * @param {TextAttributes} attributes Attribute information to apply on the\n * text.\n *\n * @public\n */\n format(t, n, r) {\n if (n === 0)\n return;\n const i = this.doc;\n i !== null ? I(i, (s) => {\n const o = yn(s, this, t, !1);\n o.right !== null && Js(s, this, o, n, r);\n }) : this._pending.push(() => this.format(t, n, r));\n }\n /**\n * Removes an attribute.\n *\n * @note Xml-Text nodes don't have attributes. You can use this feature to assign properties to complete text-blocks.\n *\n * @param {String} attributeName The attribute name that is to be removed.\n *\n * @public\n */\n removeAttribute(t) {\n this.doc !== null ? I(this.doc, (n) => {\n cr(n, this, t);\n }) : this._pending.push(() => this.removeAttribute(t));\n }\n /**\n * Sets or updates an attribute.\n *\n * @note Xml-Text nodes don't have attributes. You can use this feature to assign properties to complete text-blocks.\n *\n * @param {String} attributeName The attribute name that is to be set.\n * @param {any} attributeValue The attribute value that is to be set.\n *\n * @public\n */\n setAttribute(t, n) {\n this.doc !== null ? I(this.doc, (r) => {\n Wi(r, this, t, n);\n }) : this._pending.push(() => this.setAttribute(t, n));\n }\n /**\n * Returns an attribute value that belongs to the attribute name.\n *\n * @note Xml-Text nodes don't have attributes. You can use this feature to assign properties to complete text-blocks.\n *\n * @param {String} attributeName The attribute name that identifies the\n * queried value.\n * @return {any} The queried attribute value.\n *\n * @public\n */\n getAttribute(t) {\n return (\n /** @type {any} */\n Ki(this, t)\n );\n }\n /**\n * Returns all attribute name/value pairs in a JSON Object.\n *\n * @note Xml-Text nodes don't have attributes. You can use this feature to assign properties to complete text-blocks.\n *\n * @return {Object<string, any>} A JSON Object that describes the attributes.\n *\n * @public\n */\n getAttributes() {\n return al(this);\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n */\n _write(t) {\n t.writeTypeRef(Od);\n }\n}\nconst md = (e) => new qt();\nclass $r {\n /**\n * @param {YXmlFragment | YXmlElement} root\n * @param {function(AbstractType<any>):boolean} [f]\n */\n constructor(t, n = () => !0) {\n this._filter = n, this._root = t, this._currentNode = /** @type {Item} */\n t._start, this._firstCall = !0, t.doc ?? Z();\n }\n [Symbol.iterator]() {\n return this;\n }\n /**\n * Get the next node.\n *\n * @return {IteratorResult<YXmlElement|YXmlText|YXmlHook>} The next node.\n *\n * @public\n */\n next() {\n let t = this._currentNode, n = t && t.content && /** @type {any} */\n t.content.type;\n if (t !== null && (!this._firstCall || t.deleted || !this._filter(n)))\n do\n if (n = /** @type {any} */\n t.content.type, !t.deleted && (n.constructor === j || n.constructor === ue) && n._start !== null)\n t = n._start;\n else\n for (; t !== null; ) {\n const r = t.next;\n if (r !== null) {\n t = r;\n break;\n } else t.parent === this._root ? t = null : t = /** @type {AbstractType<any>} */\n t.parent._item;\n }\n while (t !== null && (t.deleted || !this._filter(\n /** @type {ContentType} */\n t.content.type\n )));\n return this._firstCall = !1, t === null ? { value: void 0, done: !0 } : (this._currentNode = t, { value: (\n /** @type {any} */\n t.content.type\n ), done: !1 });\n }\n}\nclass ue extends F {\n constructor() {\n super(), this._prelimContent = [];\n }\n /**\n * @type {YXmlElement|YXmlText|null}\n */\n get firstChild() {\n const t = this._first;\n return t ? t.content.getContent()[0] : null;\n }\n /**\n * Integrate this type into the Yjs instance.\n *\n * * Save this struct in the os\n * * This type is sent to other client\n * * Observer functions are fired\n *\n * @param {Doc} y The Yjs instance\n * @param {Item} item\n */\n _integrate(t, n) {\n super._integrate(t, n), this.insert(\n 0,\n /** @type {Array<any>} */\n this._prelimContent\n ), this._prelimContent = null;\n }\n _copy() {\n return new ue();\n }\n /**\n * Makes a copy of this data type that can be included somewhere else.\n *\n * Note that the content is only readable _after_ it has been included somewhere in the Ydoc.\n *\n * @return {YXmlFragment}\n */\n clone() {\n const t = new ue();\n return t.insert(0, this.toArray().map((n) => n instanceof F ? n.clone() : n)), t;\n }\n get length() {\n return this.doc ?? Z(), this._prelimContent === null ? this._length : this._prelimContent.length;\n }\n /**\n * Create a subtree of childNodes.\n *\n * @example\n * const walker = elem.createTreeWalker(dom => dom.nodeName === 'div')\n * for (let node in walker) {\n * // `node` is a div node\n * nop(node)\n * }\n *\n * @param {function(AbstractType<any>):boolean} filter Function that is called on each child element and\n * returns a Boolean indicating whether the child\n * is to be included in the subtree.\n * @return {YXmlTreeWalker} A subtree and a position within it.\n *\n * @public\n */\n createTreeWalker(t) {\n return new $r(this, t);\n }\n /**\n * Returns the first YXmlElement that matches the query.\n * Similar to DOM's {@link querySelector}.\n *\n * Query support:\n * - tagname\n * TODO:\n * - id\n * - attribute\n *\n * @param {CSS_Selector} query The query on the children.\n * @return {YXmlElement|YXmlText|YXmlHook|null} The first element that matches the query or null.\n *\n * @public\n */\n querySelector(t) {\n t = t.toUpperCase();\n const r = new $r(this, (i) => i.nodeName && i.nodeName.toUpperCase() === t).next();\n return r.done ? null : r.value;\n }\n /**\n * Returns all YXmlElements that match the query.\n * Similar to Dom's {@link querySelectorAll}.\n *\n * @todo Does not yet support all queries. Currently only query by tagName.\n *\n * @param {CSS_Selector} query The query on the children\n * @return {Array<YXmlElement|YXmlText|YXmlHook|null>} The elements that match this query.\n *\n * @public\n */\n querySelectorAll(t) {\n return t = t.toUpperCase(), ae(new $r(this, (n) => n.nodeName && n.nodeName.toUpperCase() === t));\n }\n /**\n * Creates YXmlEvent and calls observers.\n *\n * @param {Transaction} transaction\n * @param {Set<null|string>} parentSubs Keys changed on this type. `null` if list was modified.\n */\n _callObserver(t, n) {\n Sr(this, t, new yd(this, n, t));\n }\n /**\n * Get the string representation of all the children of this YXmlFragment.\n *\n * @return {string} The string representation of all children.\n */\n toString() {\n return il(this, (t) => t.toString()).join(\"\");\n }\n /**\n * @return {string}\n */\n toJSON() {\n return this.toString();\n }\n /**\n * Creates a Dom Element that mirrors this YXmlElement.\n *\n * @param {Document} [_document=document] The document object (you must define\n * this when calling this method in\n * nodejs)\n * @param {Object<string, any>} [hooks={}] Optional property to customize how hooks\n * are presented in the DOM\n * @param {any} [binding] You should not set this property. This is\n * used if DomBinding wants to create a\n * association to the created DOM type.\n * @return {Node} The {@link https://developer.mozilla.org/en-US/docs/Web/API/Element|Dom Element}\n *\n * @public\n */\n toDOM(t = document, n = {}, r) {\n const i = t.createDocumentFragment();\n return r !== void 0 && r._createAssociation(i, this), Xe(this, (s) => {\n i.insertBefore(s.toDOM(t, n, r), null);\n }), i;\n }\n /**\n * Inserts new content at an index.\n *\n * @example\n * // Insert character 'a' at position 0\n * xml.insert(0, [new Y.XmlText('text')])\n *\n * @param {number} index The index to insert content at\n * @param {Array<YXmlElement|YXmlText>} content The array of content\n */\n insert(t, n) {\n this.doc !== null ? I(this.doc, (r) => {\n ll(r, this, t, n);\n }) : this._prelimContent.splice(t, 0, ...n);\n }\n /**\n * Inserts new content at an index.\n *\n * @example\n * // Insert character 'a' at position 0\n * xml.insert(0, [new Y.XmlText('text')])\n *\n * @param {null|Item|YXmlElement|YXmlText} ref The index to insert content at\n * @param {Array<YXmlElement|YXmlText>} content The array of content\n */\n insertAfter(t, n) {\n if (this.doc !== null)\n I(this.doc, (r) => {\n const i = t && t instanceof F ? t._item : t;\n lr(r, this, i, n);\n });\n else {\n const r = (\n /** @type {Array<any>} */\n this._prelimContent\n ), i = t === null ? 0 : r.findIndex((s) => s === t) + 1;\n if (i === 0 && t !== null)\n throw Wt(\"Reference item not found\");\n r.splice(i, 0, ...n);\n }\n }\n /**\n * Deletes elements starting from an index.\n *\n * @param {number} index Index at which to start deleting elements\n * @param {number} [length=1] The number of elements to remove. Defaults to 1.\n */\n delete(t, n = 1) {\n this.doc !== null ? I(this.doc, (r) => {\n cl(r, this, t, n);\n }) : this._prelimContent.splice(t, n);\n }\n /**\n * Transforms this YArray to a JavaScript Array.\n *\n * @return {Array<YXmlElement|YXmlText|YXmlHook>}\n */\n toArray() {\n return nl(this);\n }\n /**\n * Appends content to this YArray.\n *\n * @param {Array<YXmlElement|YXmlText>} content Array of content to append.\n */\n push(t) {\n this.insert(this.length, t);\n }\n /**\n * Prepends content to this YArray.\n *\n * @param {Array<YXmlElement|YXmlText>} content Array of content to prepend.\n */\n unshift(t) {\n this.insert(0, t);\n }\n /**\n * Returns the i-th element from a YArray.\n *\n * @param {number} index The index of the element to return from the YArray\n * @return {YXmlElement|YXmlText}\n */\n get(t) {\n return sl(this, t);\n }\n /**\n * Returns a portion of this YXmlFragment into a JavaScript Array selected\n * from start to end (end not included).\n *\n * @param {number} [start]\n * @param {number} [end]\n * @return {Array<YXmlElement|YXmlText>}\n */\n slice(t = 0, n = this.length) {\n return el(this, t, n);\n }\n /**\n * Executes a provided function on once on every child element.\n *\n * @param {function(YXmlElement|YXmlText,number, typeof self):void} f A function to execute on every element of this YArray.\n */\n forEach(t) {\n Xe(this, t);\n }\n /**\n * Transform the properties of this type to binary and write it to an\n * BinaryEncoder.\n *\n * This is called when this Item is sent to a remote peer.\n *\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder The encoder to write data to.\n */\n _write(t) {\n t.writeTypeRef(Vd);\n }\n}\nconst wd = (e) => new ue();\nclass j extends ue {\n constructor(t = \"UNDEFINED\") {\n super(), this.nodeName = t, this._prelimAttrs = /* @__PURE__ */ new Map();\n }\n /**\n * @type {YXmlElement|YXmlText|null}\n */\n get nextSibling() {\n const t = this._item ? this._item.next : null;\n return t ? (\n /** @type {YXmlElement|YXmlText} */\n /** @type {ContentType} */\n t.content.type\n ) : null;\n }\n /**\n * @type {YXmlElement|YXmlText|null}\n */\n get prevSibling() {\n const t = this._item ? this._item.prev : null;\n return t ? (\n /** @type {YXmlElement|YXmlText} */\n /** @type {ContentType} */\n t.content.type\n ) : null;\n }\n /**\n * Integrate this type into the Yjs instance.\n *\n * * Save this struct in the os\n * * This type is sent to other client\n * * Observer functions are fired\n *\n * @param {Doc} y The Yjs instance\n * @param {Item} item\n */\n _integrate(t, n) {\n super._integrate(t, n), /** @type {Map<string, any>} */\n this._prelimAttrs.forEach((r, i) => {\n this.setAttribute(i, r);\n }), this._prelimAttrs = null;\n }\n /**\n * Creates an Item with the same effect as this Item (without position effect)\n *\n * @return {YXmlElement}\n */\n _copy() {\n return new j(this.nodeName);\n }\n /**\n * Makes a copy of this data type that can be included somewhere else.\n *\n * Note that the content is only readable _after_ it has been included somewhere in the Ydoc.\n *\n * @return {YXmlElement<KV>}\n */\n clone() {\n const t = new j(this.nodeName), n = this.getAttributes();\n return eu(n, (r, i) => {\n typeof r == \"string\" && t.setAttribute(i, r);\n }), t.insert(0, this.toArray().map((r) => r instanceof F ? r.clone() : r)), t;\n }\n /**\n * Returns the XML serialization of this YXmlElement.\n * The attributes are ordered by attribute-name, so you can easily use this\n * method to compare YXmlElements\n *\n * @return {string} The string representation of this type.\n *\n * @public\n */\n toString() {\n const t = this.getAttributes(), n = [], r = [];\n for (const l in t)\n r.push(l);\n r.sort();\n const i = r.length;\n for (let l = 0; l < i; l++) {\n const c = r[l];\n n.push(c + '=\"' + t[c] + '\"');\n }\n const s = this.nodeName.toLocaleLowerCase(), o = n.length > 0 ? \" \" + n.join(\" \") : \"\";\n return `<${s}${o}>${super.toString()}</${s}>`;\n }\n /**\n * Removes an attribute from this YXmlElement.\n *\n * @param {string} attributeName The attribute name that is to be removed.\n *\n * @public\n */\n removeAttribute(t) {\n this.doc !== null ? I(this.doc, (n) => {\n cr(n, this, t);\n }) : this._prelimAttrs.delete(t);\n }\n /**\n * Sets or updates an attribute.\n *\n * @template {keyof KV & string} KEY\n *\n * @param {KEY} attributeName The attribute name that is to be set.\n * @param {KV[KEY]} attributeValue The attribute value that is to be set.\n *\n * @public\n */\n setAttribute(t, n) {\n this.doc !== null ? I(this.doc, (r) => {\n Wi(r, this, t, n);\n }) : this._prelimAttrs.set(t, n);\n }\n /**\n * Returns an attribute value that belongs to the attribute name.\n *\n * @template {keyof KV & string} KEY\n *\n * @param {KEY} attributeName The attribute name that identifies the\n * queried value.\n * @return {KV[KEY]|undefined} The queried attribute value.\n *\n * @public\n */\n getAttribute(t) {\n return (\n /** @type {any} */\n Ki(this, t)\n );\n }\n /**\n * Returns whether an attribute exists\n *\n * @param {string} attributeName The attribute name to check for existence.\n * @return {boolean} whether the attribute exists.\n *\n * @public\n */\n hasAttribute(t) {\n return (\n /** @type {any} */\n ul(this, t)\n );\n }\n /**\n * Returns all attribute name/value pairs in a JSON Object.\n *\n * @param {Snapshot} [snapshot]\n * @return {{ [Key in Extract<keyof KV,string>]?: KV[Key]}} A JSON Object that describes the attributes.\n *\n * @public\n */\n getAttributes(t) {\n return (\n /** @type {any} */\n t ? cd(this, t) : al(this)\n );\n }\n /**\n * Creates a Dom Element that mirrors this YXmlElement.\n *\n * @param {Document} [_document=document] The document object (you must define\n * this when calling this method in\n * nodejs)\n * @param {Object<string, any>} [hooks={}] Optional property to customize how hooks\n * are presented in the DOM\n * @param {any} [binding] You should not set this property. This is\n * used if DomBinding wants to create a\n * association to the created DOM type.\n * @return {Node} The {@link https://developer.mozilla.org/en-US/docs/Web/API/Element|Dom Element}\n *\n * @public\n */\n toDOM(t = document, n = {}, r) {\n const i = t.createElement(this.nodeName), s = this.getAttributes();\n for (const o in s) {\n const l = s[o];\n typeof l == \"string\" && i.setAttribute(o, l);\n }\n return Xe(this, (o) => {\n i.appendChild(o.toDOM(t, n, r));\n }), r !== void 0 && r._createAssociation(i, this), i;\n }\n /**\n * Transform the properties of this type to binary and write it to an\n * BinaryEncoder.\n *\n * This is called when this Item is sent to a remote peer.\n *\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder The encoder to write data to.\n */\n _write(t) {\n t.writeTypeRef(Ud), t.writeKey(this.nodeName);\n }\n}\nconst bd = (e) => new j(e.readKey());\nclass yd extends kr {\n /**\n * @param {YXmlElement|YXmlText|YXmlFragment} target The target on which the event is created.\n * @param {Set<string|null>} subs The set of changed attributes. `null` is included if the\n * child list changed.\n * @param {Transaction} transaction The transaction instance with which the\n * change was created.\n */\n constructor(t, n, r) {\n super(t, r), this.childListChanged = !1, this.attributesChanged = /* @__PURE__ */ new Set(), n.forEach((i) => {\n i === null ? this.childListChanged = !0 : this.attributesChanged.add(i);\n });\n }\n}\nclass ar extends Ae {\n /**\n * @param {string} hookName nodeName of the Dom Node.\n */\n constructor(t) {\n super(), this.hookName = t;\n }\n /**\n * Creates an Item with the same effect as this Item (without position effect)\n */\n _copy() {\n return new ar(this.hookName);\n }\n /**\n * Makes a copy of this data type that can be included somewhere else.\n *\n * Note that the content is only readable _after_ it has been included somewhere in the Ydoc.\n *\n * @return {YXmlHook}\n */\n clone() {\n const t = new ar(this.hookName);\n return this.forEach((n, r) => {\n t.set(r, n);\n }), t;\n }\n /**\n * Creates a Dom Element that mirrors this YXmlElement.\n *\n * @param {Document} [_document=document] The document object (you must define\n * this when calling this method in\n * nodejs)\n * @param {Object.<string, any>} [hooks] Optional property to customize how hooks\n * are presented in the DOM\n * @param {any} [binding] You should not set this property. This is\n * used if DomBinding wants to create a\n * association to the created DOM type\n * @return {Element} The {@link https://developer.mozilla.org/en-US/docs/Web/API/Element|Dom Element}\n *\n * @public\n */\n toDOM(t = document, n = {}, r) {\n const i = n[this.hookName];\n let s;\n return i !== void 0 ? s = i.createDom(this) : s = document.createElement(this.hookName), s.setAttribute(\"data-yjs-hook\", this.hookName), r !== void 0 && r._createAssociation(s, this), s;\n }\n /**\n * Transform the properties of this type to binary and write it to an\n * BinaryEncoder.\n *\n * This is called when this Item is sent to a remote peer.\n *\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder The encoder to write data to.\n */\n _write(t) {\n t.writeTypeRef(Bd), t.writeKey(this.hookName);\n }\n}\nconst kd = (e) => new ar(e.readKey());\nclass B extends qt {\n /**\n * @type {YXmlElement|YXmlText|null}\n */\n get nextSibling() {\n const t = this._item ? this._item.next : null;\n return t ? (\n /** @type {YXmlElement|YXmlText} */\n /** @type {ContentType} */\n t.content.type\n ) : null;\n }\n /**\n * @type {YXmlElement|YXmlText|null}\n */\n get prevSibling() {\n const t = this._item ? this._item.prev : null;\n return t ? (\n /** @type {YXmlElement|YXmlText} */\n /** @type {ContentType} */\n t.content.type\n ) : null;\n }\n _copy() {\n return new B();\n }\n /**\n * Makes a copy of this data type that can be included somewhere else.\n *\n * Note that the content is only readable _after_ it has been included somewhere in the Ydoc.\n *\n * @return {YXmlText}\n */\n clone() {\n const t = new B();\n return t.applyDelta(this.toDelta()), t;\n }\n /**\n * Creates a Dom Element that mirrors this YXmlText.\n *\n * @param {Document} [_document=document] The document object (you must define\n * this when calling this method in\n * nodejs)\n * @param {Object<string, any>} [hooks] Optional property to customize how hooks\n * are presented in the DOM\n * @param {any} [binding] You should not set this property. This is\n * used if DomBinding wants to create a\n * association to the created DOM type.\n * @return {Text} The {@link https://developer.mozilla.org/en-US/docs/Web/API/Element|Dom Element}\n *\n * @public\n */\n toDOM(t = document, n, r) {\n const i = t.createTextNode(this.toString());\n return r !== void 0 && r._createAssociation(i, this), i;\n }\n toString() {\n return this.toDelta().map((t) => {\n const n = [];\n for (const i in t.attributes) {\n const s = [];\n for (const o in t.attributes[i])\n s.push({ key: o, value: t.attributes[i][o] });\n s.sort((o, l) => o.key < l.key ? -1 : 1), n.push({ nodeName: i, attrs: s });\n }\n n.sort((i, s) => i.nodeName < s.nodeName ? -1 : 1);\n let r = \"\";\n for (let i = 0; i < n.length; i++) {\n const s = n[i];\n r += `<${s.nodeName}`;\n for (let o = 0; o < s.attrs.length; o++) {\n const l = s.attrs[o];\n r += ` ${l.key}=\"${l.value}\"`;\n }\n r += \">\";\n }\n r += t.insert;\n for (let i = n.length - 1; i >= 0; i--)\n r += `</${n[i].nodeName}>`;\n return r;\n }).join(\"\");\n }\n /**\n * @return {string}\n */\n toJSON() {\n return this.toString();\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n */\n _write(t) {\n t.writeTypeRef(Pd);\n }\n}\nconst vd = (e) => new B();\nclass Gi {\n /**\n * @param {ID} id\n * @param {number} length\n */\n constructor(t, n) {\n this.id = t, this.length = n;\n }\n /**\n * @type {boolean}\n */\n get deleted() {\n throw lt();\n }\n /**\n * Merge this struct with the item to the right.\n * This method is already assuming that `this.id.clock + this.length === this.id.clock`.\n * Also this method does *not* remove right from StructStore!\n * @param {AbstractStruct} right\n * @return {boolean} whether this merged with right\n */\n mergeWith(t) {\n return !1;\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder The encoder to write data to.\n * @param {number} offset\n * @param {number} encodingRef\n */\n write(t, n, r) {\n throw lt();\n }\n /**\n * @param {Transaction} transaction\n * @param {number} offset\n */\n integrate(t, n) {\n throw lt();\n }\n}\nconst Sd = 0;\nclass nt extends Gi {\n get deleted() {\n return !0;\n }\n delete() {\n }\n /**\n * @param {GC} right\n * @return {boolean}\n */\n mergeWith(t) {\n return this.constructor !== t.constructor ? !1 : (this.length += t.length, !0);\n }\n /**\n * @param {Transaction} transaction\n * @param {number} offset\n */\n integrate(t, n) {\n n > 0 && (this.id.clock += n, this.length -= n), Go(t.doc.store, this);\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n t.writeInfo(Sd), t.writeLen(this.length - n);\n }\n /**\n * @param {Transaction} transaction\n * @param {StructStore} store\n * @return {null | number}\n */\n getMissing(t, n) {\n return null;\n }\n}\nclass on {\n /**\n * @param {Uint8Array} content\n */\n constructor(t) {\n this.content = t;\n }\n /**\n * @return {number}\n */\n getLength() {\n return 1;\n }\n /**\n * @return {Array<any>}\n */\n getContent() {\n return [this.content];\n }\n /**\n * @return {boolean}\n */\n isCountable() {\n return !0;\n }\n /**\n * @return {ContentBinary}\n */\n copy() {\n return new on(this.content);\n }\n /**\n * @param {number} offset\n * @return {ContentBinary}\n */\n splice(t) {\n throw lt();\n }\n /**\n * @param {ContentBinary} right\n * @return {boolean}\n */\n mergeWith(t) {\n return !1;\n }\n /**\n * @param {Transaction} transaction\n * @param {Item} item\n */\n integrate(t, n) {\n }\n /**\n * @param {Transaction} transaction\n */\n delete(t) {\n }\n /**\n * @param {StructStore} store\n */\n gc(t) {\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n t.writeBuf(this.content);\n }\n /**\n * @return {number}\n */\n getRef() {\n return 3;\n }\n}\nconst Ed = (e) => new on(e.readBuf());\nclass tn {\n /**\n * @param {number} len\n */\n constructor(t) {\n this.len = t;\n }\n /**\n * @return {number}\n */\n getLength() {\n return this.len;\n }\n /**\n * @return {Array<any>}\n */\n getContent() {\n return [];\n }\n /**\n * @return {boolean}\n */\n isCountable() {\n return !1;\n }\n /**\n * @return {ContentDeleted}\n */\n copy() {\n return new tn(this.len);\n }\n /**\n * @param {number} offset\n * @return {ContentDeleted}\n */\n splice(t) {\n const n = new tn(this.len - t);\n return this.len = t, n;\n }\n /**\n * @param {ContentDeleted} right\n * @return {boolean}\n */\n mergeWith(t) {\n return this.len += t.len, !0;\n }\n /**\n * @param {Transaction} transaction\n * @param {Item} item\n */\n integrate(t, n) {\n Je(t.deleteSet, n.id.client, n.id.clock, this.len), n.markDeleted();\n }\n /**\n * @param {Transaction} transaction\n */\n delete(t) {\n }\n /**\n * @param {StructStore} store\n */\n gc(t) {\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n t.writeLen(this.len - n);\n }\n /**\n * @return {number}\n */\n getRef() {\n return 1;\n }\n}\nconst xd = (e) => new tn(e.readLen()), pl = (e, t) => new ge({ guid: e, ...t, shouldLoad: t.shouldLoad || t.autoLoad || !1 });\nclass ln {\n /**\n * @param {Doc} doc\n */\n constructor(t) {\n t._item && console.error(\"This document was already integrated as a sub-document. You should create a second instance instead with the same guid.\"), this.doc = t;\n const n = {};\n this.opts = n, t.gc || (n.gc = !1), t.autoLoad && (n.autoLoad = !0), t.meta !== null && (n.meta = t.meta);\n }\n /**\n * @return {number}\n */\n getLength() {\n return 1;\n }\n /**\n * @return {Array<any>}\n */\n getContent() {\n return [this.doc];\n }\n /**\n * @return {boolean}\n */\n isCountable() {\n return !0;\n }\n /**\n * @return {ContentDoc}\n */\n copy() {\n return new ln(pl(this.doc.guid, this.opts));\n }\n /**\n * @param {number} offset\n * @return {ContentDoc}\n */\n splice(t) {\n throw lt();\n }\n /**\n * @param {ContentDoc} right\n * @return {boolean}\n */\n mergeWith(t) {\n return !1;\n }\n /**\n * @param {Transaction} transaction\n * @param {Item} item\n */\n integrate(t, n) {\n this.doc._item = n, t.subdocsAdded.add(this.doc), this.doc.shouldLoad && t.subdocsLoaded.add(this.doc);\n }\n /**\n * @param {Transaction} transaction\n */\n delete(t) {\n t.subdocsAdded.has(this.doc) ? t.subdocsAdded.delete(this.doc) : t.subdocsRemoved.add(this.doc);\n }\n /**\n * @param {StructStore} store\n */\n gc(t) {\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n t.writeString(this.doc.guid), t.writeAny(this.opts);\n }\n /**\n * @return {number}\n */\n getRef() {\n return 9;\n }\n}\nconst Ld = (e) => new ln(pl(e.readString(), e.readAny()));\nclass pe {\n /**\n * @param {Object} embed\n */\n constructor(t) {\n this.embed = t;\n }\n /**\n * @return {number}\n */\n getLength() {\n return 1;\n }\n /**\n * @return {Array<any>}\n */\n getContent() {\n return [this.embed];\n }\n /**\n * @return {boolean}\n */\n isCountable() {\n return !0;\n }\n /**\n * @return {ContentEmbed}\n */\n copy() {\n return new pe(this.embed);\n }\n /**\n * @param {number} offset\n * @return {ContentEmbed}\n */\n splice(t) {\n throw lt();\n }\n /**\n * @param {ContentEmbed} right\n * @return {boolean}\n */\n mergeWith(t) {\n return !1;\n }\n /**\n * @param {Transaction} transaction\n * @param {Item} item\n */\n integrate(t, n) {\n }\n /**\n * @param {Transaction} transaction\n */\n delete(t) {\n }\n /**\n * @param {StructStore} store\n */\n gc(t) {\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n t.writeJSON(this.embed);\n }\n /**\n * @return {number}\n */\n getRef() {\n return 5;\n }\n}\nconst Ad = (e) => new pe(e.readJSON());\nclass U {\n /**\n * @param {string} key\n * @param {Object} value\n */\n constructor(t, n) {\n this.key = t, this.value = n;\n }\n /**\n * @return {number}\n */\n getLength() {\n return 1;\n }\n /**\n * @return {Array<any>}\n */\n getContent() {\n return [];\n }\n /**\n * @return {boolean}\n */\n isCountable() {\n return !1;\n }\n /**\n * @return {ContentFormat}\n */\n copy() {\n return new U(this.key, this.value);\n }\n /**\n * @param {number} _offset\n * @return {ContentFormat}\n */\n splice(t) {\n throw lt();\n }\n /**\n * @param {ContentFormat} _right\n * @return {boolean}\n */\n mergeWith(t) {\n return !1;\n }\n /**\n * @param {Transaction} _transaction\n * @param {Item} item\n */\n integrate(t, n) {\n const r = (\n /** @type {YText} */\n n.parent\n );\n r._searchMarker = null, r._hasFormatting = !0;\n }\n /**\n * @param {Transaction} transaction\n */\n delete(t) {\n }\n /**\n * @param {StructStore} store\n */\n gc(t) {\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n t.writeKey(this.key), t.writeJSON(this.value);\n }\n /**\n * @return {number}\n */\n getRef() {\n return 6;\n }\n}\nconst _d = (e) => new U(e.readKey(), e.readJSON());\nclass ur {\n /**\n * @param {Array<any>} arr\n */\n constructor(t) {\n this.arr = t;\n }\n /**\n * @return {number}\n */\n getLength() {\n return this.arr.length;\n }\n /**\n * @return {Array<any>}\n */\n getContent() {\n return this.arr;\n }\n /**\n * @return {boolean}\n */\n isCountable() {\n return !0;\n }\n /**\n * @return {ContentJSON}\n */\n copy() {\n return new ur(this.arr);\n }\n /**\n * @param {number} offset\n * @return {ContentJSON}\n */\n splice(t) {\n const n = new ur(this.arr.slice(t));\n return this.arr = this.arr.slice(0, t), n;\n }\n /**\n * @param {ContentJSON} right\n * @return {boolean}\n */\n mergeWith(t) {\n return this.arr = this.arr.concat(t.arr), !0;\n }\n /**\n * @param {Transaction} transaction\n * @param {Item} item\n */\n integrate(t, n) {\n }\n /**\n * @param {Transaction} transaction\n */\n delete(t) {\n }\n /**\n * @param {StructStore} store\n */\n gc(t) {\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n const r = this.arr.length;\n t.writeLen(r - n);\n for (let i = n; i < r; i++) {\n const s = this.arr[i];\n t.writeString(s === void 0 ? \"undefined\" : JSON.stringify(s));\n }\n }\n /**\n * @return {number}\n */\n getRef() {\n return 2;\n }\n}\nconst Td = (e) => {\n const t = e.readLen(), n = [];\n for (let r = 0; r < t; r++) {\n const i = e.readString();\n i === \"undefined\" ? n.push(void 0) : n.push(JSON.parse(i));\n }\n return new ur(n);\n}, Id = sr(\"node_env\") === \"development\";\nclass de {\n /**\n * @param {Array<any>} arr\n */\n constructor(t) {\n this.arr = t, Id && Ro(t);\n }\n /**\n * @return {number}\n */\n getLength() {\n return this.arr.length;\n }\n /**\n * @return {Array<any>}\n */\n getContent() {\n return this.arr;\n }\n /**\n * @return {boolean}\n */\n isCountable() {\n return !0;\n }\n /**\n * @return {ContentAny}\n */\n copy() {\n return new de(this.arr);\n }\n /**\n * @param {number} offset\n * @return {ContentAny}\n */\n splice(t) {\n const n = new de(this.arr.slice(t));\n return this.arr = this.arr.slice(0, t), n;\n }\n /**\n * @param {ContentAny} right\n * @return {boolean}\n */\n mergeWith(t) {\n return this.arr = this.arr.concat(t.arr), !0;\n }\n /**\n * @param {Transaction} transaction\n * @param {Item} item\n */\n integrate(t, n) {\n }\n /**\n * @param {Transaction} transaction\n */\n delete(t) {\n }\n /**\n * @param {StructStore} store\n */\n gc(t) {\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n const r = this.arr.length;\n t.writeLen(r - n);\n for (let i = n; i < r; i++) {\n const s = this.arr[i];\n t.writeAny(s);\n }\n }\n /**\n * @return {number}\n */\n getRef() {\n return 8;\n }\n}\nconst Rd = (e) => {\n const t = e.readLen(), n = [];\n for (let r = 0; r < t; r++)\n n.push(e.readAny());\n return new de(n);\n};\nclass at {\n /**\n * @param {string} str\n */\n constructor(t) {\n this.str = t;\n }\n /**\n * @return {number}\n */\n getLength() {\n return this.str.length;\n }\n /**\n * @return {Array<any>}\n */\n getContent() {\n return this.str.split(\"\");\n }\n /**\n * @return {boolean}\n */\n isCountable() {\n return !0;\n }\n /**\n * @return {ContentString}\n */\n copy() {\n return new at(this.str);\n }\n /**\n * @param {number} offset\n * @return {ContentString}\n */\n splice(t) {\n const n = new at(this.str.slice(t));\n this.str = this.str.slice(0, t);\n const r = this.str.charCodeAt(t - 1);\n return r >= 55296 && r <= 56319 && (this.str = this.str.slice(0, t - 1) + \"�\", n.str = \"�\" + n.str.slice(1)), n;\n }\n /**\n * @param {ContentString} right\n * @return {boolean}\n */\n mergeWith(t) {\n return this.str += t.str, !0;\n }\n /**\n * @param {Transaction} transaction\n * @param {Item} item\n */\n integrate(t, n) {\n }\n /**\n * @param {Transaction} transaction\n */\n delete(t) {\n }\n /**\n * @param {StructStore} store\n */\n gc(t) {\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n t.writeString(n === 0 ? this.str : this.str.slice(n));\n }\n /**\n * @return {number}\n */\n getRef() {\n return 4;\n }\n}\nconst Md = (e) => new at(e.readString()), Nd = [\n ud,\n hd,\n md,\n bd,\n wd,\n kd,\n vd\n], Hd = 0, Dd = 1, Od = 2, Ud = 3, Vd = 4, Bd = 5, Pd = 6;\nclass dt {\n /**\n * @param {AbstractType<any>} type\n */\n constructor(t) {\n this.type = t;\n }\n /**\n * @return {number}\n */\n getLength() {\n return 1;\n }\n /**\n * @return {Array<any>}\n */\n getContent() {\n return [this.type];\n }\n /**\n * @return {boolean}\n */\n isCountable() {\n return !0;\n }\n /**\n * @return {ContentType}\n */\n copy() {\n return new dt(this.type._copy());\n }\n /**\n * @param {number} offset\n * @return {ContentType}\n */\n splice(t) {\n throw lt();\n }\n /**\n * @param {ContentType} right\n * @return {boolean}\n */\n mergeWith(t) {\n return !1;\n }\n /**\n * @param {Transaction} transaction\n * @param {Item} item\n */\n integrate(t, n) {\n this.type._integrate(t.doc, n);\n }\n /**\n * @param {Transaction} transaction\n */\n delete(t) {\n let n = this.type._start;\n for (; n !== null; )\n n.deleted ? n.id.clock < (t.beforeState.get(n.id.client) || 0) && t._mergeStructs.push(n) : n.delete(t), n = n.right;\n this.type._map.forEach((r) => {\n r.deleted ? r.id.clock < (t.beforeState.get(r.id.client) || 0) && t._mergeStructs.push(r) : r.delete(t);\n }), t.changed.delete(this.type);\n }\n /**\n * @param {StructStore} store\n */\n gc(t) {\n let n = this.type._start;\n for (; n !== null; )\n n.gc(t, !0), n = n.right;\n this.type._start = null, this.type._map.forEach(\n /** @param {Item | null} item */\n (r) => {\n for (; r !== null; )\n r.gc(t, !0), r = r.left;\n }\n ), this.type._map = /* @__PURE__ */ new Map();\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n this.type._write(t);\n }\n /**\n * @return {number}\n */\n getRef() {\n return 7;\n }\n}\nconst Fd = (e) => new dt(Nd[e.readTypeRef()](e)), fi = (e, t) => {\n let n = t, r = 0, i;\n do\n r > 0 && (n = S(n.client, n.clock + r)), i = ve(e, n), r = n.clock - i.id.clock, n = i.redone;\n while (n !== null && i instanceof L);\n return {\n item: i,\n diff: r\n };\n}, Yi = (e, t) => {\n for (; e !== null && e.keep !== t; )\n e.keep = t, e = /** @type {AbstractType<any>} */\n e.parent._item;\n}, dr = (e, t, n) => {\n const { client: r, clock: i } = t.id, s = new L(\n S(r, i + n),\n t,\n S(r, i + n - 1),\n t.right,\n t.rightOrigin,\n t.parent,\n t.parentSub,\n t.content.splice(n)\n );\n return t.deleted && s.markDeleted(), t.keep && (s.keep = !0), t.redone !== null && (s.redone = S(t.redone.client, t.redone.clock + n)), t.right = s, s.right !== null && (s.right.left = s), e._mergeStructs.push(s), s.parentSub !== null && s.right === null && s.parent._map.set(s.parentSub, s), t.length = n, s;\n}, Xs = (e, t) => f1(\n e,\n /** @param {StackItem} s */\n (n) => Te(n.deletions, t)\n), Cl = (e, t, n, r, i, s) => {\n const o = e.doc, l = o.store, c = o.clientID, a = t.redone;\n if (a !== null)\n return G(e, a);\n let u = (\n /** @type {AbstractType<any>} */\n t.parent._item\n ), d = null, f;\n if (u !== null && u.deleted === !0) {\n if (u.redone === null && (!n.has(u) || Cl(e, u, n, r, i, s) === null))\n return null;\n for (; u.redone !== null; )\n u = G(e, u.redone);\n }\n const g = u === null ? (\n /** @type {AbstractType<any>} */\n t.parent\n ) : (\n /** @type {ContentType} */\n u.content.type\n );\n if (t.parentSub === null) {\n for (d = t.left, f = t; d !== null; ) {\n let w = d;\n for (; w !== null && /** @type {AbstractType<any>} */\n w.parent._item !== u; )\n w = w.redone === null ? null : G(e, w.redone);\n if (w !== null && /** @type {AbstractType<any>} */\n w.parent._item === u) {\n d = w;\n break;\n }\n d = d.left;\n }\n for (; f !== null; ) {\n let w = f;\n for (; w !== null && /** @type {AbstractType<any>} */\n w.parent._item !== u; )\n w = w.redone === null ? null : G(e, w.redone);\n if (w !== null && /** @type {AbstractType<any>} */\n w.parent._item === u) {\n f = w;\n break;\n }\n f = f.right;\n }\n } else if (f = null, t.right && !i) {\n for (d = t; d !== null && d.right !== null && (d.right.redone || Te(r, d.right.id) || Xs(s.undoStack, d.right.id) || Xs(s.redoStack, d.right.id)); )\n for (d = d.right; d.redone; ) d = G(e, d.redone);\n if (d && d.right !== null)\n return null;\n } else\n d = g._map.get(t.parentSub) || null;\n const C = O(l, c), m = S(c, C), y = new L(\n m,\n d,\n d && d.lastId,\n f,\n f && f.id,\n g,\n t.parentSub,\n t.content.copy()\n );\n return t.redone = m, Yi(y, !0), y.integrate(e, 0), y;\n};\nclass L extends Gi {\n /**\n * @param {ID} id\n * @param {Item | null} left\n * @param {ID | null} origin\n * @param {Item | null} right\n * @param {ID | null} rightOrigin\n * @param {AbstractType<any>|ID|null} parent Is a type if integrated, is null if it is possible to copy parent from left or right, is ID before integration to search for it.\n * @param {string | null} parentSub\n * @param {AbstractContent} content\n */\n constructor(t, n, r, i, s, o, l, c) {\n super(t, c.getLength()), this.origin = r, this.left = n, this.right = i, this.rightOrigin = s, this.parent = o, this.parentSub = l, this.redone = null, this.content = c, this.info = this.content.isCountable() ? _s : 0;\n }\n /**\n * This is used to mark the item as an indexed fast-search marker\n *\n * @type {boolean}\n */\n set marker(t) {\n (this.info & Br) > 0 !== t && (this.info ^= Br);\n }\n get marker() {\n return (this.info & Br) > 0;\n }\n /**\n * If true, do not garbage collect this Item.\n */\n get keep() {\n return (this.info & As) > 0;\n }\n set keep(t) {\n this.keep !== t && (this.info ^= As);\n }\n get countable() {\n return (this.info & _s) > 0;\n }\n /**\n * Whether this item was deleted or not.\n * @type {Boolean}\n */\n get deleted() {\n return (this.info & Vr) > 0;\n }\n set deleted(t) {\n this.deleted !== t && (this.info ^= Vr);\n }\n markDeleted() {\n this.info |= Vr;\n }\n /**\n * Return the creator clientID of the missing op or define missing items and return null.\n *\n * @param {Transaction} transaction\n * @param {StructStore} store\n * @return {null | number}\n */\n getMissing(t, n) {\n if (this.origin && this.origin.client !== this.id.client && this.origin.clock >= O(n, this.origin.client))\n return this.origin.client;\n if (this.rightOrigin && this.rightOrigin.client !== this.id.client && this.rightOrigin.clock >= O(n, this.rightOrigin.client))\n return this.rightOrigin.client;\n if (this.parent && this.parent.constructor === ye && this.id.client !== this.parent.client && this.parent.clock >= O(n, this.parent.client))\n return this.parent.client;\n if (this.origin && (this.left = js(t, n, this.origin), this.origin = this.left.lastId), this.rightOrigin && (this.right = G(t, this.rightOrigin), this.rightOrigin = this.right.id), this.left && this.left.constructor === nt || this.right && this.right.constructor === nt)\n this.parent = null;\n else if (!this.parent)\n this.left && this.left.constructor === L ? (this.parent = this.left.parent, this.parentSub = this.left.parentSub) : this.right && this.right.constructor === L && (this.parent = this.right.parent, this.parentSub = this.right.parentSub);\n else if (this.parent.constructor === ye) {\n const r = ve(n, this.parent);\n r.constructor === nt ? this.parent = null : this.parent = /** @type {ContentType} */\n r.content.type;\n }\n return null;\n }\n /**\n * @param {Transaction} transaction\n * @param {number} offset\n */\n integrate(t, n) {\n if (n > 0 && (this.id.clock += n, this.left = js(t, t.doc.store, S(this.id.client, this.id.clock - 1)), this.origin = this.left.lastId, this.content = this.content.splice(n), this.length -= n), this.parent) {\n if (!this.left && (!this.right || this.right.left !== null) || this.left && this.left.right !== this.right) {\n let r = this.left, i;\n if (r !== null)\n i = r.right;\n else if (this.parentSub !== null)\n for (i = /** @type {AbstractType<any>} */\n this.parent._map.get(this.parentSub) || null; i !== null && i.left !== null; )\n i = i.left;\n else\n i = /** @type {AbstractType<any>} */\n this.parent._start;\n const s = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set();\n for (; i !== null && i !== this.right; ) {\n if (o.add(i), s.add(i), we(this.origin, i.origin)) {\n if (i.id.client < this.id.client)\n r = i, s.clear();\n else if (we(this.rightOrigin, i.rightOrigin))\n break;\n } else if (i.origin !== null && o.has(ve(t.doc.store, i.origin)))\n s.has(ve(t.doc.store, i.origin)) || (r = i, s.clear());\n else\n break;\n i = i.right;\n }\n this.left = r;\n }\n if (this.left !== null) {\n const r = this.left.right;\n this.right = r, this.left.right = this;\n } else {\n let r;\n if (this.parentSub !== null)\n for (r = /** @type {AbstractType<any>} */\n this.parent._map.get(this.parentSub) || null; r !== null && r.left !== null; )\n r = r.left;\n else\n r = /** @type {AbstractType<any>} */\n this.parent._start, this.parent._start = this;\n this.right = r;\n }\n this.right !== null ? this.right.left = this : this.parentSub !== null && (this.parent._map.set(this.parentSub, this), this.left !== null && this.left.delete(t)), this.parentSub === null && this.countable && !this.deleted && (this.parent._length += this.length), Go(t.doc.store, this), this.content.integrate(t, this), $s(\n t,\n /** @type {AbstractType<any>} */\n this.parent,\n this.parentSub\n ), /** @type {AbstractType<any>} */\n (this.parent._item !== null && /** @type {AbstractType<any>} */\n this.parent._item.deleted || this.parentSub !== null && this.right !== null) && this.delete(t);\n } else\n new nt(this.id, this.length).integrate(t, 0);\n }\n /**\n * Returns the next non-deleted item\n */\n get next() {\n let t = this.right;\n for (; t !== null && t.deleted; )\n t = t.right;\n return t;\n }\n /**\n * Returns the previous non-deleted item\n */\n get prev() {\n let t = this.left;\n for (; t !== null && t.deleted; )\n t = t.left;\n return t;\n }\n /**\n * Computes the last content address of this Item.\n */\n get lastId() {\n return this.length === 1 ? this.id : S(this.id.client, this.id.clock + this.length - 1);\n }\n /**\n * Try to merge two items\n *\n * @param {Item} right\n * @return {boolean}\n */\n mergeWith(t) {\n if (this.constructor === t.constructor && we(t.origin, this.lastId) && this.right === t && we(this.rightOrigin, t.rightOrigin) && this.id.client === t.id.client && this.id.clock + this.length === t.id.clock && this.deleted === t.deleted && this.redone === null && t.redone === null && this.content.constructor === t.content.constructor && this.content.mergeWith(t.content)) {\n const n = (\n /** @type {AbstractType<any>} */\n this.parent._searchMarker\n );\n return n && n.forEach((r) => {\n r.p === t && (r.p = this, !this.deleted && this.countable && (r.index -= this.length));\n }), t.keep && (this.keep = !0), this.right = t.right, this.right !== null && (this.right.left = this), this.length += t.length, !0;\n }\n return !1;\n }\n /**\n * Mark this Item as deleted.\n *\n * @param {Transaction} transaction\n */\n delete(t) {\n if (!this.deleted) {\n const n = (\n /** @type {AbstractType<any>} */\n this.parent\n );\n this.countable && this.parentSub === null && (n._length -= this.length), this.markDeleted(), Je(t.deleteSet, this.id.client, this.id.clock, this.length), $s(t, n, this.parentSub), this.content.delete(t);\n }\n }\n /**\n * @param {StructStore} store\n * @param {boolean} parentGCd\n */\n gc(t, n) {\n if (!this.deleted)\n throw W();\n this.content.gc(t), n ? Wu(t, this, new nt(this.id, this.length)) : this.content = new tn(this.length);\n }\n /**\n * Transform the properties of this type to binary and write it to an\n * BinaryEncoder.\n *\n * This is called when this Item is sent to a remote peer.\n *\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder The encoder to write data to.\n * @param {number} offset\n */\n write(t, n) {\n const r = n > 0 ? S(this.id.client, this.id.clock + n - 1) : this.origin, i = this.rightOrigin, s = this.parentSub, o = this.content.getRef() & Cr | (r === null ? 0 : $) | // origin is defined\n (i === null ? 0 : Rt) | // right origin is defined\n (s === null ? 0 : Ge);\n if (t.writeInfo(o), r !== null && t.writeLeftID(r), i !== null && t.writeRightID(i), r === null && i === null) {\n const l = (\n /** @type {AbstractType<any>} */\n this.parent\n );\n if (l._item !== void 0) {\n const c = l._item;\n if (c === null) {\n const a = Gt(l);\n t.writeParentInfo(!0), t.writeString(a);\n } else\n t.writeParentInfo(!1), t.writeLeftID(c.id);\n } else l.constructor === String ? (t.writeParentInfo(!0), t.writeString(l)) : l.constructor === ye ? (t.writeParentInfo(!1), t.writeLeftID(l)) : W();\n s !== null && t.writeString(s);\n }\n this.content.write(t, n);\n }\n}\nconst ml = (e, t) => zd[t & Cr](e), zd = [\n () => {\n W();\n },\n // GC is not ItemContent\n xd,\n // 1\n Td,\n // 2\n Ed,\n // 3\n Md,\n // 4\n Ad,\n // 5\n _d,\n // 6\n Fd,\n // 7\n Rd,\n // 8\n Ld,\n // 9\n () => {\n W();\n }\n // 10 - Skip is not ItemContent\n], jd = 10;\nclass st extends Gi {\n get deleted() {\n return !0;\n }\n delete() {\n }\n /**\n * @param {Skip} right\n * @return {boolean}\n */\n mergeWith(t) {\n return this.constructor !== t.constructor ? !1 : (this.length += t.length, !0);\n }\n /**\n * @param {Transaction} transaction\n * @param {number} offset\n */\n integrate(t, n) {\n W();\n }\n /**\n * @param {UpdateEncoderV1 | UpdateEncoderV2} encoder\n * @param {number} offset\n */\n write(t, n) {\n t.writeInfo(jd), x(t.restEncoder, this.length - n);\n }\n /**\n * @param {Transaction} transaction\n * @param {StructStore} store\n * @return {null | number}\n */\n getMissing(t, n) {\n return null;\n }\n}\nconst wl = (\n /** @type {any} */\n typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : {}\n), bl = \"__ $YJS$ __\";\nwl[bl] === !0 && console.error(\"Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438\");\nwl[bl] = !0;\nconst Zd = () => {\n let e = !0;\n return (t, n) => {\n if (e) {\n e = !1;\n try {\n t();\n } finally {\n e = !0;\n }\n } else n !== void 0 && n();\n };\n}, $d = /[\\uD800-\\uDBFF]/, Wd = /[\\uDC00-\\uDFFF]/, Kd = (e, t) => {\n let n = 0, r = 0;\n for (; n < e.length && n < t.length && e[n] === t[n]; )\n n++;\n for (n > 0 && $d.test(e[n - 1]) && n--; r + n < e.length && r + n < t.length && e[e.length - r - 1] === t[t.length - r - 1]; )\n r++;\n return r > 0 && Wd.test(e[e.length - r]) && r--, {\n index: n,\n remove: e.length - n - r,\n insert: t.slice(n, t.length - r)\n };\n}, Gd = Kd, mt = (e, t) => e >>> t | e << 32 - t, Yd = (e) => mt(e, 2) ^ mt(e, 13) ^ mt(e, 22), qd = (e) => mt(e, 6) ^ mt(e, 11) ^ mt(e, 25), Jd = (e) => mt(e, 7) ^ mt(e, 18) ^ e >>> 3, Qd = (e) => mt(e, 17) ^ mt(e, 19) ^ e >>> 10, Xd = new Uint32Array([\n 1116352408,\n 1899447441,\n 3049323471,\n 3921009573,\n 961987163,\n 1508970993,\n 2453635748,\n 2870763221,\n 3624381080,\n 310598401,\n 607225278,\n 1426881987,\n 1925078388,\n 2162078206,\n 2614888103,\n 3248222580,\n 3835390401,\n 4022224774,\n 264347078,\n 604807628,\n 770255983,\n 1249150122,\n 1555081692,\n 1996064986,\n 2554220882,\n 2821834349,\n 2952996808,\n 3210313671,\n 3336571891,\n 3584528711,\n 113926993,\n 338241895,\n 666307205,\n 773529912,\n 1294757372,\n 1396182291,\n 1695183700,\n 1986661051,\n 2177026350,\n 2456956037,\n 2730485921,\n 2820302411,\n 3259730800,\n 3345764771,\n 3516065817,\n 3600352804,\n 4094571909,\n 275423344,\n 430227734,\n 506948616,\n 659060556,\n 883997877,\n 958139571,\n 1322822218,\n 1537002063,\n 1747873779,\n 1955562222,\n 2024104815,\n 2227730452,\n 2361852424,\n 2428436474,\n 2756734187,\n 3204031479,\n 3329325298\n]), t2 = new Uint32Array([\n 1779033703,\n 3144134277,\n 1013904242,\n 2773480762,\n 1359893119,\n 2600822924,\n 528734635,\n 1541459225\n]);\nclass e2 {\n constructor() {\n const t = new ArrayBuffer(320);\n this._H = new Uint32Array(t, 0, 8), this._H.set(t2), this._W = new Uint32Array(t, 64, 64);\n }\n _updateHash() {\n const t = this._H, n = this._W;\n for (let d = 16; d < 64; d++)\n n[d] = Qd(n[d - 2]) + n[d - 7] + Jd(n[d - 15]) + n[d - 16];\n let r = t[0], i = t[1], s = t[2], o = t[3], l = t[4], c = t[5], a = t[6], u = t[7];\n for (let d = 0, f, g; d < 64; d++)\n f = u + qd(l) + (l & c ^ ~l & a) + Xd[d] + n[d] >>> 0, g = Yd(r) + (r & i ^ r & s ^ i & s) >>> 0, u = a, a = c, c = l, l = o + f >>> 0, o = s, s = i, i = r, r = f + g >>> 0;\n t[0] += r, t[1] += i, t[2] += s, t[3] += o, t[4] += l, t[5] += c, t[6] += a, t[7] += u;\n }\n /**\n * Returns a 32-byte hash.\n *\n * @param {Uint8Array} data\n */\n digest(t) {\n let n = 0;\n for (; n + 56 <= t.length; ) {\n let o = 0;\n for (; o < 16 && n + 3 < t.length; o++)\n this._W[o] = t[n++] << 24 | t[n++] << 16 | t[n++] << 8 | t[n++];\n if (n % 64 !== 0) {\n for (this._W.fill(0, o, 16); n < t.length; )\n this._W[o] |= t[n] << (3 - n % 4) * 8, n++;\n this._W[o] |= $ << (3 - n % 4) * 8;\n }\n this._updateHash();\n }\n const r = n % 64 !== 0;\n this._W.fill(0, 0, 16);\n let i = 0;\n for (; n < t.length; i++)\n for (let o = 3; o >= 0 && n < t.length; o--)\n this._W[i] |= t[n++] << o * 8;\n r || (this._W[i - (n % 4 === 0 ? 0 : 1)] |= $ << (3 - n % 4) * 8), this._W[14] = t.byteLength / g1, this._W[15] = t.byteLength * 8, this._updateHash();\n const s = new Uint8Array(32);\n for (let o = 0; o < this._H.length; o++)\n for (let l = 0; l < 4; l++)\n s[o * 4 + l] = this._H[o] >>> (3 - l) * 8;\n return s;\n }\n}\nconst n2 = (e) => new e2().digest(e), V = new yt(\"y-sync\"), Mt = new yt(\"y-undo\");\nnew yt(\"yjs-cursor\");\nconst r2 = (e) => {\n for (let n = 6; n < e.length; n++)\n e[n % 6] = e[n % 6] ^ e[n];\n return e.slice(0, 6);\n}, i2 = (e) => hu(r2(n2(fu(e)))), hr = (e, t) => t === void 0 ? !e.deleted : t.sv.has(e.id.client) && /** @type {number} */\nt.sv.get(e.id.client) > e.id.clock && !Te(t.ds, e.id), s2 = [{ light: \"#ecd44433\", dark: \"#ecd444\" }], o2 = (e, t, n) => {\n if (!e.has(n)) {\n if (e.size < t.length) {\n const r = ce();\n e.forEach((i) => r.add(i)), t = t.filter((i) => !r.has(i));\n }\n e.set(n, K1(t));\n }\n return (\n /** @type {ColorDef} */\n e.get(n)\n );\n}, l2 = (e, {\n colors: t = s2,\n colorMapping: n = /* @__PURE__ */ new Map(),\n permanentUserData: r = null,\n onFirstRender: i = () => {\n },\n mapping: s\n} = {}) => {\n let o = !1;\n const l = new a2(e, s), c = new fe({\n props: {\n editable: (a) => {\n const u = V.getState(a);\n return u.snapshot == null && u.prevSnapshot == null;\n }\n },\n key: V,\n state: {\n /**\n * @returns {any}\n */\n init: (a, u) => ({\n type: e,\n doc: e.doc,\n binding: l,\n snapshot: null,\n prevSnapshot: null,\n isChangeOrigin: !1,\n isUndoRedoOperation: !1,\n addToHistory: !0,\n colors: t,\n colorMapping: n,\n permanentUserData: r\n }),\n apply: (a, u) => {\n const d = a.getMeta(V);\n if (d !== void 0) {\n u = Object.assign({}, u);\n for (const f in d)\n u[f] = d[f];\n }\n return u.addToHistory = a.getMeta(\"addToHistory\") !== !1, u.isChangeOrigin = d !== void 0 && !!d.isChangeOrigin, u.isUndoRedoOperation = d !== void 0 && !!d.isChangeOrigin && !!d.isUndoRedoOperation, l.prosemirrorView !== null && d !== void 0 && (d.snapshot != null || d.prevSnapshot != null) && Bi(0, () => {\n l.prosemirrorView != null && (d.restore == null ? l._renderSnapshot(\n d.snapshot,\n d.prevSnapshot,\n u\n ) : (l._renderSnapshot(\n d.snapshot,\n d.snapshot,\n u\n ), delete u.restore, delete u.snapshot, delete u.prevSnapshot, l.mux(() => {\n l._prosemirrorChanged(\n l.prosemirrorView.state.doc\n );\n })));\n }), u;\n }\n },\n view: (a) => (l.initView(a), s == null && l._forceRerender(), i(), {\n update: () => {\n const u = c.getState(a.state);\n if (u.snapshot == null && u.prevSnapshot == null && // If the content doesn't change initially, we don't render anything to Yjs\n // If the content was cleared by a user action, we want to catch the change and\n // represent it in Yjs\n (o || a.state.doc.content.findDiffStart(\n a.state.doc.type.createAndFill().content\n ) !== null)) {\n if (o = !0, u.addToHistory === !1 && !u.isChangeOrigin) {\n const d = Mt.getState(a.state), f = d && d.undoManager;\n f && f.stopCapturing();\n }\n l.mux(() => {\n u.doc.transact((d) => {\n d.meta.set(\"addToHistory\", u.addToHistory), l._prosemirrorChanged(a.state.doc);\n }, V);\n });\n }\n },\n destroy: () => {\n l.destroy();\n }\n })\n });\n return c;\n}, c2 = (e, t, n) => {\n if (t !== null && t.anchor !== null && t.head !== null)\n if (t.type === \"all\")\n e.setSelection(new ba(e.doc));\n else if (t.type === \"node\") {\n const r = Wr(\n n.doc,\n n.type,\n t.anchor,\n n.mapping\n );\n e.setSelection(wt.create(e.doc, r));\n } else {\n const r = Wr(\n n.doc,\n n.type,\n t.anchor,\n n.mapping\n ), i = Wr(\n n.doc,\n n.type,\n t.head,\n n.mapping\n );\n r !== null && i !== null && e.setSelection(ut.between(e.doc.resolve(r), e.doc.resolve(i)));\n }\n}, gi = (e, t) => ({\n type: (\n /** @type {any} */\n t.selection.jsonID\n ),\n anchor: no(\n t.selection.anchor,\n e.type,\n e.mapping\n ),\n head: no(\n t.selection.head,\n e.type,\n e.mapping\n )\n});\nclass a2 {\n /**\n * @param {Y.XmlFragment} yXmlFragment The bind source\n * @param {ProsemirrorMapping} mapping\n */\n constructor(t, n = /* @__PURE__ */ new Map()) {\n this.type = t, this.prosemirrorView = null, this.mux = Zd(), this.mapping = n, this.isOMark = /* @__PURE__ */ new Map(), this._observeFunction = this._typeChanged.bind(this), this.doc = t.doc, this.beforeTransactionSelection = null, this.beforeAllTransactions = () => {\n this.beforeTransactionSelection === null && this.prosemirrorView != null && (this.beforeTransactionSelection = gi(\n this,\n this.prosemirrorView.state\n ));\n }, this.afterAllTransactions = () => {\n this.beforeTransactionSelection = null;\n }, this._domSelectionInView = null;\n }\n /**\n * Create a transaction for changing the prosemirror state.\n *\n * @returns\n */\n get _tr() {\n return this.prosemirrorView.state.tr.setMeta(\"addToHistory\", !1);\n }\n _isLocalCursorInView() {\n return this.prosemirrorView.hasFocus() ? (Mo && this._domSelectionInView === null && (Bi(0, () => {\n this._domSelectionInView = null;\n }), this._domSelectionInView = this._isDomSelectionInView()), this._domSelectionInView) : !1;\n }\n _isDomSelectionInView() {\n const t = this.prosemirrorView._root.getSelection();\n if (t == null || t.anchorNode == null) return !1;\n const n = this.prosemirrorView._root.createRange();\n n.setStart(t.anchorNode, t.anchorOffset), n.setEnd(t.focusNode, t.focusOffset), n.getClientRects().length === 0 && n.startContainer && n.collapsed && n.selectNodeContents(n.startContainer);\n const i = n.getBoundingClientRect(), s = pu.documentElement;\n return i.bottom >= 0 && i.right >= 0 && i.left <= (window.innerWidth || s.clientWidth || 0) && i.top <= (window.innerHeight || s.clientHeight || 0);\n }\n /**\n * @param {Y.Snapshot} snapshot\n * @param {Y.Snapshot} prevSnapshot\n */\n renderSnapshot(t, n) {\n n || (n = Wo(Fo(), /* @__PURE__ */ new Map())), this.prosemirrorView.dispatch(\n this._tr.setMeta(V, { snapshot: t, prevSnapshot: n })\n );\n }\n unrenderSnapshot() {\n this.mapping.clear(), this.mux(() => {\n const t = this.type.toArray().map(\n (r) => _n(\n /** @type {Y.XmlElement} */\n r,\n this.prosemirrorView.state.schema,\n this\n )\n ).filter((r) => r !== null), n = this._tr.replace(\n 0,\n this.prosemirrorView.state.doc.content.size,\n new hn(fn.from(t), 0, 0)\n );\n n.setMeta(V, { snapshot: null, prevSnapshot: null }), this.prosemirrorView.dispatch(n);\n });\n }\n _forceRerender() {\n this.mapping.clear(), this.mux(() => {\n const t = this.beforeTransactionSelection !== null ? null : this.prosemirrorView.state.selection, n = this.type.toArray().map(\n (i) => _n(\n /** @type {Y.XmlElement} */\n i,\n this.prosemirrorView.state.schema,\n this\n )\n ).filter((i) => i !== null), r = this._tr.replace(\n 0,\n this.prosemirrorView.state.doc.content.size,\n new hn(fn.from(n), 0, 0)\n );\n if (t) {\n const i = It(bt(t.anchor, 0), r.doc.content.size), s = It(bt(t.head, 0), r.doc.content.size);\n r.setSelection(ut.create(r.doc, i, s));\n }\n this.prosemirrorView.dispatch(\n r.setMeta(V, { isChangeOrigin: !0, binding: this })\n );\n });\n }\n /**\n * @param {Y.Snapshot|Uint8Array} snapshot\n * @param {Y.Snapshot|Uint8Array} prevSnapshot\n * @param {Object} pluginState\n */\n _renderSnapshot(t, n, r) {\n let i = this.doc, s = this.type;\n if (t || (t = jr(this.doc)), t instanceof Uint8Array || n instanceof Uint8Array)\n if ((!(t instanceof Uint8Array) || !(n instanceof Uint8Array)) && W(), i = new ge({ gc: !1 }), ai(i, n), n = jr(i), ai(i, t), t = jr(i), s._item === null) {\n const o = Array.from(this.doc.share.keys()).find(\n (l) => this.doc.share.get(l) === this.type\n );\n s = i.getXmlFragment(o);\n } else {\n const o = i.store.clients.get(s._item.id.client) ?? [], l = ct(\n o,\n s._item.id.clock\n );\n s = /** @type {Y.XmlFragment} */\n /** @type {Y.ContentType} */\n /** @type {Y.Item} */\n o[l].content.type;\n }\n this.mapping.clear(), this.mux(() => {\n i.transact((o) => {\n const l = r.permanentUserData;\n l && l.dss.forEach((d) => {\n Kt(o, d, (f) => {\n });\n });\n const c = (d, f) => {\n const g = d === \"added\" ? l.getUserByClientId(f.client) : l.getUserByDeletedId(f);\n return {\n user: g,\n type: d,\n color: o2(\n r.colorMapping,\n r.colors,\n g\n )\n };\n }, a = rl(\n s,\n new Zi(n.ds, t.sv)\n ).map((d) => !d._item.deleted || hr(d._item, t) || hr(d._item, n) ? _n(\n d,\n this.prosemirrorView.state.schema,\n { mapping: /* @__PURE__ */ new Map(), isOMark: /* @__PURE__ */ new Map() },\n t,\n n,\n c\n ) : null).filter((d) => d !== null), u = this._tr.replace(\n 0,\n this.prosemirrorView.state.doc.content.size,\n new hn(fn.from(a), 0, 0)\n );\n this.prosemirrorView.dispatch(\n u.setMeta(V, { isChangeOrigin: !0 })\n );\n }, V);\n });\n }\n /**\n * @param {Array<Y.YEvent<any>>} events\n * @param {Y.Transaction} transaction\n */\n _typeChanged(t, n) {\n if (this.prosemirrorView == null) return;\n const r = V.getState(this.prosemirrorView.state);\n if (t.length === 0 || r.snapshot != null || r.prevSnapshot != null) {\n this.renderSnapshot(r.snapshot, r.prevSnapshot);\n return;\n }\n this.mux(() => {\n const i = (l, c) => this.mapping.delete(c);\n Kt(\n n,\n n.deleteSet,\n (l) => {\n if (l.constructor === L) {\n const c = (\n /** @type {Y.ContentType} */\n /** @type {Y.Item} */\n l.content.type\n );\n c && this.mapping.delete(c);\n }\n }\n ), n.changed.forEach(i), n.changedParentTypes.forEach(i);\n const s = this.type.toArray().map(\n (l) => yl(\n /** @type {Y.XmlElement | Y.XmlHook} */\n l,\n this.prosemirrorView.state.schema,\n this\n )\n ).filter((l) => l !== null);\n let o = this._tr.replace(\n 0,\n this.prosemirrorView.state.doc.content.size,\n new hn(fn.from(s), 0, 0)\n );\n c2(o, this.beforeTransactionSelection, this), o = o.setMeta(V, { isChangeOrigin: !0, isUndoRedoOperation: n.origin instanceof Jo }), this.beforeTransactionSelection !== null && this._isLocalCursorInView() && o.scrollIntoView(), this.prosemirrorView.dispatch(o);\n });\n }\n /**\n * @param {import('prosemirror-model').Node} doc\n */\n _prosemirrorChanged(t) {\n this.doc.transact(() => {\n Ci(this.doc, this.type, t, this), this.beforeTransactionSelection = gi(\n this,\n this.prosemirrorView.state\n );\n }, V);\n }\n /**\n * View is ready to listen to changes. Register observers.\n * @param {any} prosemirrorView\n */\n initView(t) {\n this.prosemirrorView != null && this.destroy(), this.prosemirrorView = t, this.doc.on(\"beforeAllTransactions\", this.beforeAllTransactions), this.doc.on(\"afterAllTransactions\", this.afterAllTransactions), this.type.observeDeep(this._observeFunction);\n }\n destroy() {\n this.prosemirrorView != null && (this.prosemirrorView = null, this.type.unobserveDeep(this._observeFunction), this.doc.off(\"beforeAllTransactions\", this.beforeAllTransactions), this.doc.off(\"afterAllTransactions\", this.afterAllTransactions));\n }\n}\nconst yl = (e, t, n, r, i, s) => {\n const o = (\n /** @type {PModel.Node} */\n n.mapping.get(e)\n );\n if (o === void 0) {\n if (e instanceof j)\n return _n(\n e,\n t,\n n,\n r,\n i,\n s\n );\n throw lt();\n }\n return o;\n}, _n = (e, t, n, r, i, s) => {\n const o = [], l = (c) => {\n if (c instanceof j) {\n const a = yl(\n c,\n t,\n n,\n r,\n i,\n s\n );\n a !== null && o.push(a);\n } else {\n const a = (\n /** @type {Y.ContentType} */\n c._item.right?.content?.type\n );\n a instanceof qt && !a._item.deleted && a._item.id.client === a.doc.clientID && (c.applyDelta([\n { retain: c.length },\n ...a.toDelta()\n ]), a.doc.transact((d) => {\n a._item.delete(d);\n }));\n const u = u2(\n c,\n t,\n n,\n r,\n i,\n s\n );\n u !== null && u.forEach((d) => {\n d !== null && o.push(d);\n });\n }\n };\n r === void 0 || i === void 0 ? e.toArray().forEach(l) : rl(e, new Zi(i.ds, r.sv)).forEach(l);\n try {\n const c = e.getAttributes(r);\n r !== void 0 && (hr(\n /** @type {Y.Item} */\n e._item,\n r\n ) ? hr(\n /** @type {Y.Item} */\n e._item,\n i\n ) || (c.ychange = s ? s(\n \"added\",\n /** @type {Y.Item} */\n e._item.id\n ) : { type: \"added\" }) : c.ychange = s ? s(\n \"removed\",\n /** @type {Y.Item} */\n e._item.id\n ) : { type: \"removed\" });\n const a = t.node(e.nodeName, c, o);\n return n.mapping.set(e, a), a;\n } catch {\n return e.doc.transact((a) => {\n e._item.delete(a);\n }, V), n.mapping.delete(e), null;\n }\n}, u2 = (e, t, n, r, i, s) => {\n const o = [], l = e.toDelta(r, i, s);\n try {\n for (let c = 0; c < l.length; c++) {\n const a = l[c];\n o.push(t.text(a.insert, C2(a.attributes, t)));\n }\n } catch {\n return e.doc.transact((a) => {\n e._item.delete(a);\n }, V), null;\n }\n return o;\n}, d2 = (e, t) => {\n const n = new B(), r = e.map((i) => ({\n // @ts-ignore\n insert: i.text,\n attributes: vl(i.marks, t)\n }));\n return n.applyDelta(r), t.mapping.set(n, e), n;\n}, h2 = (e, t) => {\n const n = new j(e.type.name);\n for (const r in e.attrs) {\n const i = e.attrs[r];\n i !== null && r !== \"ychange\" && n.setAttribute(r, i);\n }\n return n.insert(\n 0,\n Er(e).map(\n (r) => pi(r, t)\n )\n ), t.mapping.set(n, e), n;\n}, pi = (e, t) => e instanceof Array ? d2(e, t) : h2(e, t), to = (e) => typeof e == \"object\" && e !== null, qi = (e, t) => {\n const n = Object.keys(e).filter((i) => e[i] !== null);\n let r = n.length === Object.keys(t).filter((i) => t[i] !== null).length;\n for (let i = 0; i < n.length && r; i++) {\n const s = n[i], o = e[s], l = t[s];\n r = s === \"ychange\" || o === l || to(o) && to(l) && qi(o, l);\n }\n return r;\n}, Er = (e) => {\n const t = e.content.content, n = [];\n for (let r = 0; r < t.length; r++) {\n const i = t[r];\n if (i.isText) {\n const s = [];\n for (let o = t[r]; r < t.length && o.isText; o = t[++r])\n s.push(o);\n r--, n.push(s);\n } else\n n.push(i);\n }\n return n;\n}, kl = (e, t) => {\n const n = e.toDelta();\n return n.length === t.length && n.every(\n /** @type {(d:any,i:number) => boolean} */\n (r, i) => r.insert === /** @type {any} */\n t[i].text && To(r.attributes || {}).length === t[i].marks.length && Io(r.attributes, (s, o) => {\n const l = Ji(o), c = t[i].marks;\n return qi(s, c.find(\n /** @param {any} mark */\n (a) => a.type.name === l\n )?.attrs);\n })\n );\n}, en = (e, t) => {\n if (e instanceof j && !(t instanceof Array) && mi(e, t)) {\n const n = Er(t);\n return e._length === n.length && qi(e.getAttributes(), t.attrs) && e.toArray().every(\n (r, i) => en(r, n[i])\n );\n }\n return e instanceof B && t instanceof Array && kl(e, t);\n}, fr = (e, t) => e === t || e instanceof Array && t instanceof Array && e.length === t.length && e.every(\n (n, r) => t[r] === n\n), eo = (e, t, n) => {\n const r = e.toArray(), i = Er(t), s = i.length, o = r.length, l = It(o, s);\n let c = 0, a = 0, u = !1;\n for (; c < l; c++) {\n const d = r[c], f = i[c];\n if (fr(n.mapping.get(d), f))\n u = !0;\n else if (!en(d, f))\n break;\n }\n for (; c + a < l; a++) {\n const d = r[o - a - 1], f = i[s - a - 1];\n if (fr(n.mapping.get(d), f))\n u = !0;\n else if (!en(d, f))\n break;\n }\n return {\n equalityFactor: c + a,\n foundMappedChild: u\n };\n}, f2 = (e) => {\n let t = \"\", n = e._start;\n const r = {};\n for (; n !== null; )\n n.deleted || (n.countable && n.content instanceof at ? t += n.content.str : n.content instanceof U && (r[n.content.key] = null)), n = n.right;\n return {\n str: t,\n nAttrs: r\n };\n}, g2 = (e, t, n) => {\n n.mapping.set(e, t);\n const { nAttrs: r, str: i } = f2(e), s = t.map((a) => ({\n insert: (\n /** @type {any} */\n a.text\n ),\n attributes: Object.assign({}, r, vl(a.marks, n))\n })), { insert: o, remove: l, index: c } = Gd(\n i,\n s.map((a) => a.insert).join(\"\")\n );\n e.delete(c, l), e.insert(c, o), e.applyDelta(\n s.map((a) => ({ retain: a.insert.length, attributes: a.attributes }))\n );\n}, p2 = /(.*)(--[a-zA-Z0-9+/=]{8})$/, Ji = (e) => p2.exec(e)?.[1] ?? e, C2 = (e, t) => {\n const n = [];\n for (const r in e)\n n.push(t.mark(Ji(r), e[r]));\n return n;\n}, vl = (e, t) => {\n const n = {};\n return e.forEach((r) => {\n if (r.type.name !== \"ychange\") {\n const i = kt(t.isOMark, r.type, () => !r.type.excludes(r.type));\n n[i ? `${r.type.name}--${i2(r.toJSON())}` : r.type.name] = r.attrs;\n }\n }), n;\n}, Ci = (e, t, n, r) => {\n if (t instanceof j && t.nodeName !== n.type.name)\n throw new Error(\"node name mismatch!\");\n if (r.mapping.set(t, n), t instanceof j) {\n const d = t.getAttributes(), f = n.attrs;\n for (const g in f)\n f[g] !== null ? d[g] !== f[g] && g !== \"ychange\" && t.setAttribute(g, f[g]) : t.removeAttribute(g);\n for (const g in d)\n f[g] === void 0 && t.removeAttribute(g);\n }\n const i = Er(n), s = i.length, o = t.toArray(), l = o.length, c = It(s, l);\n let a = 0, u = 0;\n for (; a < c; a++) {\n const d = o[a], f = i[a];\n if (!fr(r.mapping.get(d), f))\n if (en(d, f))\n r.mapping.set(d, f);\n else\n break;\n }\n for (; u + a + 1 < c; u++) {\n const d = o[l - u - 1], f = i[s - u - 1];\n if (!fr(r.mapping.get(d), f))\n if (en(d, f))\n r.mapping.set(d, f);\n else\n break;\n }\n e.transact(() => {\n for (; l - a - u > 0 && s - a - u > 0; ) {\n const f = o[a], g = i[a], C = o[l - u - 1], m = i[s - u - 1];\n if (f instanceof B && g instanceof Array)\n kl(f, g) || g2(f, g, r), a += 1;\n else {\n let y = f instanceof j && mi(f, g), w = C instanceof j && mi(C, m);\n if (y && w) {\n const v = eo(\n /** @type {Y.XmlElement} */\n f,\n /** @type {PModel.Node} */\n g,\n r\n ), A = eo(\n /** @type {Y.XmlElement} */\n C,\n /** @type {PModel.Node} */\n m,\n r\n );\n v.foundMappedChild && !A.foundMappedChild ? w = !1 : !v.foundMappedChild && A.foundMappedChild || v.equalityFactor < A.equalityFactor ? y = !1 : w = !1;\n }\n y ? (Ci(\n e,\n /** @type {Y.XmlFragment} */\n f,\n /** @type {PModel.Node} */\n g,\n r\n ), a += 1) : w ? (Ci(\n e,\n /** @type {Y.XmlFragment} */\n C,\n /** @type {PModel.Node} */\n m,\n r\n ), u += 1) : (r.mapping.delete(t.get(a)), t.delete(a, 1), t.insert(a, [\n pi(g, r)\n ]), a += 1);\n }\n }\n const d = l - a - u;\n if (l === 1 && s === 0 && o[0] instanceof B ? (r.mapping.delete(o[0]), o[0].delete(0, o[0].length)) : d > 0 && (t.slice(a, a + d).forEach((f) => r.mapping.delete(f)), t.delete(a, d)), a + u < s) {\n const f = [];\n for (let g = a; g < s - u; g++)\n f.push(pi(i[g], r));\n t.insert(a, f);\n }\n }, V);\n}, mi = (e, t) => !(t instanceof Array) && e.nodeName === t.type.name, no = (e, t, n) => {\n if (e === 0)\n return ke(t, 0, -1);\n let r = t._first === null ? null : (\n /** @type {Y.ContentType} */\n t._first.content.type\n );\n for (; r !== null && t !== r; ) {\n if (r instanceof B) {\n if (r._length >= e)\n return ke(r, e, -1);\n if (e -= r._length, r._item !== null && r._item.next !== null)\n r = /** @type {Y.ContentType} */\n r._item.next.content.type;\n else {\n do\n r = r._item === null ? null : r._item.parent, e--;\n while (r !== t && r !== null && r._item !== null && r._item.next === null);\n r !== null && r !== t && (r = r._item === null ? null : (\n /** @type {Y.ContentType} */\n /** @type Y.Item */\n r._item.next.content.type\n ));\n }\n } else {\n const i = (\n /** @type {any} */\n (n.get(r) || { nodeSize: 0 }).nodeSize\n );\n if (r._first !== null && e < i)\n r = /** @type {Y.ContentType} */\n r._first.content.type, e--;\n else {\n if (e === 1 && r._length === 0 && i > 1)\n return new Yt(r._item === null ? null : r._item.id, r._item === null ? Gt(r) : null, null);\n if (e -= i, r._item !== null && r._item.next !== null)\n r = /** @type {Y.ContentType} */\n r._item.next.content.type;\n else {\n if (e === 0)\n return r = r._item === null ? r : r._item.parent, new Yt(r._item === null ? null : r._item.id, r._item === null ? Gt(r) : null, null);\n do\n r = /** @type {Y.Item} */\n r._item.parent, e--;\n while (r !== t && /** @type {Y.Item} */\n r._item.next === null);\n r !== t && (r = /** @type {Y.ContentType} */\n /** @type {Y.Item} */\n /** @type {Y.Item} */\n r._item.next.content.type);\n }\n }\n }\n if (r === null)\n throw W();\n if (e === 0 && r.constructor !== B && r !== t)\n return m2(r._item.parent, r._item);\n }\n return ke(t, t._length, -1);\n}, m2 = (e, t) => {\n let n = null, r = null;\n return e._item === null ? r = Gt(e) : n = S(e._item.id.client, e._item.id.clock), new Yt(n, r, t.id);\n}, Wr = (e, t, n, r) => {\n const i = $o(n, e);\n if (i === null || i.type !== t && !Le(t, i.type._item))\n return null;\n let s = i.type, o = 0;\n if (s.constructor === B)\n o = i.index;\n else if (s._item === null || !s._item.deleted) {\n let l = s._first, c = 0;\n for (; c < s._length && c < i.index && l !== null; ) {\n if (!l.deleted) {\n const a = (\n /** @type {Y.ContentType} */\n l.content.type\n );\n c++, a instanceof B ? o += a._length : o += /** @type {any} */\n r.get(a).nodeSize;\n }\n l = /** @type {Y.Item} */\n l.right;\n }\n o += 1;\n }\n for (; s !== t && s._item !== null; ) {\n const l = s._item.parent;\n if (l._item === null || !l._item.deleted) {\n o += 1;\n let c = (\n /** @type {Y.AbstractType} */\n l._first\n );\n for (; c !== null; ) {\n const a = (\n /** @type {Y.ContentType} */\n c.content.type\n );\n if (a === s)\n break;\n c.deleted || (a instanceof B ? o += a._length : o += /** @type {any} */\n r.get(a).nodeSize), c = c.right;\n }\n }\n s = /** @type {Y.AbstractType} */\n l;\n }\n return o - 1;\n};\nfunction w2(e) {\n const t = e.toArray(), n = (r) => {\n let i;\n if (r instanceof B)\n i = r.toDelta().map(\n /** @param {any} d */\n (o) => {\n const l = {\n type: \"text\",\n text: o.insert\n };\n return o.attributes && (l.marks = Object.keys(o.attributes).map((c) => {\n const a = o.attributes[c], d = {\n type: Ji(c)\n };\n return Object.keys(a) && (d.attrs = a), d;\n })), l;\n }\n );\n else if (r instanceof j) {\n i = {\n type: r.nodeName\n };\n const s = r.getAttributes();\n Object.keys(s).length && (i.attrs = s);\n const o = r.toArray();\n o.length && (i.content = o.map(n).flat());\n } else\n W();\n return i;\n };\n return {\n type: \"doc\",\n content: t.map(n)\n };\n}\nconst b2 = (e) => {\n const t = Mt.getState(e).undoManager;\n if (t != null)\n return t.undo(), !0;\n}, y2 = (e) => {\n const t = Mt.getState(e).undoManager;\n if (t != null)\n return t.redo(), !0;\n}, k2 = /* @__PURE__ */ new Set([\"paragraph\"]), v2 = (e, t) => !(e instanceof L) || !(e.content instanceof dt) || !(e.content.type instanceof qt || e.content.type instanceof j && t.has(e.content.type.nodeName)) || e.content.type._length === 0, S2 = ({ protectedNodes: e = k2, trackedOrigins: t = [], undoManager: n = null } = {}) => new fe({\n key: Mt,\n state: {\n init: (r, i) => {\n const s = V.getState(i), o = n || new Jo(s.type, {\n trackedOrigins: new Set([V].concat(t)),\n deleteFilter: (l) => v2(l, e),\n captureTransaction: (l) => l.meta.get(\"addToHistory\") !== !1\n });\n return {\n undoManager: o,\n prevSel: null,\n hasUndoOps: o.undoStack.length > 0,\n hasRedoOps: o.redoStack.length > 0\n };\n },\n /**\n * @returns {any}\n */\n apply: (r, i, s, o) => {\n const l = V.getState(o).binding, c = i.undoManager, a = c.undoStack.length > 0, u = c.redoStack.length > 0;\n return l ? {\n undoManager: c,\n prevSel: gi(l, s),\n hasUndoOps: a,\n hasRedoOps: u\n } : a !== i.hasUndoOps || u !== i.hasRedoOps ? Object.assign({}, i, {\n hasUndoOps: c.undoStack.length > 0,\n hasRedoOps: c.redoStack.length > 0\n }) : i;\n }\n },\n view: (r) => {\n const i = V.getState(r.state), s = Mt.getState(r.state).undoManager;\n return s.on(\"stack-item-added\", ({ stackItem: o }) => {\n const l = i.binding;\n l && o.meta.set(l, Mt.getState(r.state).prevSel);\n }), s.on(\"stack-item-popped\", ({ stackItem: o }) => {\n const l = i.binding;\n l && (l.beforeTransactionSelection = o.meta.get(l) || l.beforeTransactionSelection);\n }), {\n destroy: () => {\n s.destroy();\n }\n };\n }\n});\nvar E2 = ao.create({\n name: \"collaboration\",\n priority: 1e3,\n addOptions() {\n return {\n document: null,\n field: \"default\",\n fragment: null,\n provider: null\n };\n },\n addStorage() {\n return {\n isDisabled: !1\n };\n },\n onCreate() {\n this.editor.extensionManager.extensions.find((e) => e.name === \"undoRedo\") && console.warn(\n '[tiptap warn]: \"@tiptap/extension-collaboration\" comes with its own history support and is not compatible with \"@tiptap/extension-undo-redo\".'\n );\n },\n addCommands() {\n return {\n undo: () => ({ tr: e, state: t, dispatch: n }) => (e.setMeta(\"preventDispatch\", !0), Mt.getState(t).undoManager.undoStack.length === 0 ? !1 : n ? b2(t) : !0),\n redo: () => ({ tr: e, state: t, dispatch: n }) => (e.setMeta(\"preventDispatch\", !0), Mt.getState(t).undoManager.redoStack.length === 0 ? !1 : n ? y2(t) : !0)\n };\n },\n addKeyboardShortcuts() {\n return {\n \"Mod-z\": () => this.editor.commands.undo(),\n \"Mod-y\": () => this.editor.commands.redo(),\n \"Shift-Mod-z\": () => this.editor.commands.redo()\n };\n },\n addProseMirrorPlugins() {\n var e;\n const t = this.options.fragment ? this.options.fragment : this.options.document.getXmlFragment(this.options.field), n = S2(this.options.yUndoOptions), r = n.spec.view;\n n.spec.view = (o) => {\n const { undoManager: l } = Mt.getState(o.state);\n l.restore && (l.restore(), l.restore = () => {\n });\n const c = r ? r(o) : void 0;\n return {\n destroy: () => {\n const a = l.trackedOrigins.has(l), u = l._observers;\n l.restore = () => {\n a && l.trackedOrigins.add(l), l.doc.on(\"afterTransaction\", l.afterTransactionHandler), l._observers = u;\n }, c?.destroy && c.destroy();\n }\n };\n };\n const i = {\n ...this.options.ySyncOptions,\n onFirstRender: this.options.onFirstRender\n }, s = l2(t, i);\n return this.editor.options.enableContentCheck && ((e = t.doc) == null || e.on(\"beforeTransaction\", () => {\n try {\n const o = w2(t);\n if (o.content.length === 0)\n return;\n this.editor.schema.nodeFromJSON(o).check();\n } catch (o) {\n return this.editor.emit(\"contentError\", {\n error: o,\n editor: this.editor,\n disableCollaboration: () => {\n var l;\n (l = t.doc) == null || l.destroy(), this.storage.isDisabled = !0;\n }\n }), !1;\n }\n })), [\n s,\n n,\n // Only add the filterInvalidContent plugin if content checking is enabled\n this.editor.options.enableContentCheck && new fe({\n key: new yt(\"filterInvalidContent\"),\n filterTransaction: () => {\n var o;\n return this.storage.isDisabled !== !1 && ((o = t.doc) == null || o.destroy()), !0;\n }\n })\n ].filter(Boolean);\n }\n});\nconst gr = new yt(\"y-sync\");\nnew yt(\"y-undo\");\nconst kn = new yt(\"yjs-cursor\");\nlet $e = null;\nconst x2 = () => {\n const e = (\n /** @type {Map<EditorView, Map<any, any>>} */\n $e\n );\n $e = null, e.forEach((t, n) => {\n const r = n.state.tr, i = gr.getState(n.state);\n i && i.binding && !i.binding.isDestroyed && (t.forEach((s, o) => {\n r.setMeta(o, s);\n }), n.dispatch(r));\n });\n}, L2 = (e, t, n) => {\n $e || ($e = /* @__PURE__ */ new Map(), Bi(0, x2)), kt($e, e, rt).set(t, n);\n}, ro = (e, t, n) => {\n if (e === 0)\n return ke(t, 0, t.length === 0 ? -1 : 0);\n let r = t._first === null ? null : (\n /** @type {Y.ContentType} */\n t._first.content.type\n );\n for (; r !== null && t !== r; ) {\n if (r instanceof B) {\n if (r._length >= e)\n return ke(r, e, t.length === 0 ? -1 : 0);\n if (e -= r._length, r._item !== null && r._item.next !== null)\n r = /** @type {Y.ContentType} */\n r._item.next.content.type;\n else {\n do\n r = r._item === null ? null : r._item.parent, e--;\n while (r !== t && r !== null && r._item !== null && r._item.next === null);\n r !== null && r !== t && (r = r._item === null ? null : (\n /** @type {Y.ContentType} */\n /** @type Y.Item */\n r._item.next.content.type\n ));\n }\n } else {\n const i = (\n /** @type {any} */\n (n.get(r) || { nodeSize: 0 }).nodeSize\n );\n if (r._first !== null && e < i)\n r = /** @type {Y.ContentType} */\n r._first.content.type, e--;\n else {\n if (e === 1 && r._length === 0 && i > 1)\n return new Yt(r._item === null ? null : r._item.id, r._item === null ? Gt(r) : null, null);\n if (e -= i, r._item !== null && r._item.next !== null)\n r = /** @type {Y.ContentType} */\n r._item.next.content.type;\n else {\n if (e === 0)\n return r = r._item === null ? r : r._item.parent, new Yt(r._item === null ? null : r._item.id, r._item === null ? Gt(r) : null, null);\n do\n r = /** @type {Y.Item} */\n r._item.parent, e--;\n while (r !== t && /** @type {Y.Item} */\n r._item.next === null);\n r !== t && (r = /** @type {Y.ContentType} */\n /** @type {Y.Item} */\n /** @type {Y.Item} */\n r._item.next.content.type);\n }\n }\n }\n if (r === null)\n throw W();\n if (e === 0 && r.constructor !== B && r !== t)\n return A2(r._item.parent, r._item);\n }\n return ke(t, t._length, t.length === 0 ? -1 : 0);\n}, A2 = (e, t) => {\n let n = null, r = null;\n return e._item === null ? r = Gt(e) : n = S(e._item.id.client, e._item.id.clock), new Yt(n, r, t.id);\n}, wi = (e, t, n, r) => {\n const i = $o(n, e);\n if (i === null || i.type !== t && !Le(t, i.type._item))\n return null;\n let s = i.type, o = 0;\n if (s.constructor === B)\n o = i.index;\n else if (s._item === null || !s._item.deleted) {\n let l = s._first, c = 0;\n for (; c < s._length && c < i.index && l !== null; ) {\n if (!l.deleted) {\n const a = (\n /** @type {Y.ContentType} */\n l.content.type\n );\n c++, a instanceof B ? o += a._length : o += /** @type {any} */\n r.get(a).nodeSize;\n }\n l = /** @type {Y.Item} */\n l.right;\n }\n o += 1;\n }\n for (; s !== t && s._item !== null; ) {\n const l = s._item.parent;\n if (l._item === null || !l._item.deleted) {\n o += 1;\n let c = (\n /** @type {Y.AbstractType} */\n l._first\n );\n for (; c !== null; ) {\n const a = (\n /** @type {Y.ContentType} */\n c.content.type\n );\n if (a === s)\n break;\n c.deleted || (a instanceof B ? o += a._length : o += /** @type {any} */\n r.get(a).nodeSize), c = c.right;\n }\n }\n s = /** @type {Y.AbstractType} */\n l;\n }\n return o - 1;\n}, _2 = (e, t, n) => e !== t, T2 = (e) => {\n const t = document.createElement(\"span\");\n t.classList.add(\"ProseMirror-yjs-cursor\"), t.setAttribute(\"style\", `border-color: ${e.color}`);\n const n = document.createElement(\"div\");\n n.setAttribute(\"style\", `background-color: ${e.color}`), n.insertBefore(document.createTextNode(e.name), null);\n const r = document.createTextNode(\"⁠\"), i = document.createTextNode(\"⁠\");\n return t.insertBefore(r, null), t.insertBefore(n, null), t.insertBefore(i, null), t;\n}, Sl = (e) => ({\n style: `background-color: ${e.color}70`,\n class: \"ProseMirror-yjs-selection\"\n}), I2 = /^#[0-9a-fA-F]{6}$/, io = (e, t, n, r, i) => {\n const s = gr.getState(e), o = s.doc, l = [];\n return s.snapshot != null || s.prevSnapshot != null || s.binding.mapping.size === 0 ? ws.create(e.doc, []) : (t.getStates().forEach((c, a) => {\n if (n(o.clientID, a, c) && c.cursor != null) {\n const u = c.user || {};\n u.color == null ? u.color = \"#ffa500\" : I2.test(u.color) || console.warn(\"A user uses an unsupported color format\", u), u.name == null && (u.name = `User: ${a}`);\n let d = wi(\n o,\n s.type,\n Ze(c.cursor.anchor),\n s.binding.mapping\n ), f = wi(\n o,\n s.type,\n Ze(c.cursor.head),\n s.binding.mapping\n );\n if (d !== null && f !== null) {\n const g = bt(e.doc.content.size - 1, 0);\n d = It(d, g), f = It(f, g), l.push(\n bs.widget(f, () => r(u, a), {\n key: a + \"\",\n side: 10\n })\n );\n const C = It(d, f), m = bt(d, f);\n l.push(\n bs.inline(C, m, i(u, a), {\n inclusiveEnd: !0,\n inclusiveStart: !1\n })\n );\n }\n }\n }), ws.create(e.doc, l));\n}, R2 = (e, {\n awarenessStateFilter: t = _2,\n cursorBuilder: n = T2,\n selectionBuilder: r = Sl,\n getSelection: i = (o) => o.selection\n} = {}, s = \"cursor\") => new fe({\n key: kn,\n state: {\n init(o, l) {\n return io(\n l,\n e,\n t,\n n,\n r\n );\n },\n apply(o, l, c, a) {\n const u = gr.getState(a), d = o.getMeta(kn);\n return u && u.isChangeOrigin || d && d.awarenessUpdated ? io(\n a,\n e,\n t,\n n,\n r\n ) : l.map(o.mapping, o.doc);\n }\n },\n props: {\n decorations: (o) => kn.getState(o)\n },\n view: (o) => {\n const l = () => {\n o.docView && L2(o, kn, { awarenessUpdated: !0 });\n }, c = () => {\n const a = gr.getState(o.state), u = e.getLocalState() || {};\n if (o.hasFocus()) {\n const d = i(o.state), f = ro(\n d.anchor,\n a.type,\n a.binding.mapping\n ), g = ro(\n d.head,\n a.type,\n a.binding.mapping\n );\n (u.cursor == null || !zs(\n Ze(u.cursor.anchor),\n f\n ) || !zs(\n Ze(u.cursor.head),\n g\n )) && e.setLocalStateField(s, {\n anchor: f,\n head: g\n });\n } else u.cursor != null && wi(\n a.doc,\n a.type,\n Ze(u.cursor.anchor),\n a.binding.mapping\n ) !== null && e.setLocalStateField(s, null);\n };\n return e.on(\"change\", l), o.dom.addEventListener(\"focusin\", c), o.dom.addEventListener(\"focusout\", c), {\n update: c,\n destroy: () => {\n o.dom.removeEventListener(\"focusin\", c), o.dom.removeEventListener(\"focusout\", c), e.off(\"change\", l), e.setLocalStateField(s, null);\n }\n };\n }\n}), so = (e) => Array.from(e.entries()).map(([t, n]) => ({\n clientId: t,\n ...n.user\n})), oo = () => null, M2 = ao.create({\n name: \"collaborationCursor\",\n priority: 999,\n addOptions() {\n return {\n provider: null,\n user: {\n name: null,\n color: null\n },\n render: (e) => {\n const t = document.createElement(\"span\");\n t.classList.add(\"collaboration-cursor__caret\"), t.setAttribute(\"style\", `border-color: ${e.color}`);\n const n = document.createElement(\"div\");\n return n.classList.add(\"collaboration-cursor__label\"), n.setAttribute(\"style\", `background-color: ${e.color}`), n.insertBefore(document.createTextNode(e.name), null), t.insertBefore(n, null), t;\n },\n selectionRender: Sl,\n onUpdate: oo\n };\n },\n onCreate() {\n if (this.options.onUpdate !== oo && console.warn('[tiptap warn]: DEPRECATED: The \"onUpdate\" option is deprecated. Please use `editor.storage.collaborationCursor.users` instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor'), !this.options.provider)\n throw new Error('The \"provider\" option is required for the CollaborationCursor extension');\n },\n addStorage() {\n return {\n users: []\n };\n },\n addCommands() {\n return {\n updateUser: (e) => () => (this.options.user = e, this.options.provider.awareness.setLocalStateField(\"user\", this.options.user), !0),\n user: (e) => ({ editor: t }) => (console.warn('[tiptap warn]: DEPRECATED: The \"user\" command is deprecated. Please use \"updateUser\" instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor'), t.commands.updateUser(e))\n };\n },\n addProseMirrorPlugins() {\n return [\n R2(\n (this.options.provider.awareness.setLocalStateField(\"user\", this.options.user), this.storage.users = so(this.options.provider.awareness.states), this.options.provider.awareness.on(\"update\", () => {\n this.storage.users = so(this.options.provider.awareness.states);\n }), this.options.provider.awareness),\n // @ts-ignore\n {\n cursorBuilder: this.options.render,\n selectionBuilder: this.options.selectionRender\n }\n )\n ];\n }\n});\nfunction N2({\n initialOpen: e = !1,\n placement: t = \"top\",\n open: n,\n onOpenChange: r,\n delay: i = 600,\n closeDelay: s = 0\n} = {}) {\n const [o, l] = p.useState(e), c = n ?? o, a = r ?? l, u = _a({\n placement: t,\n open: c,\n onOpenChange: a,\n whileElementsMounted: Ma,\n middleware: [\n Ta(4),\n Ia({\n crossAxis: t.includes(\"-\"),\n fallbackAxisSideDirection: \"start\",\n padding: 4\n }),\n Ra({ padding: 4 })\n ]\n }), d = u.context, f = Na(d, {\n mouseOnly: !0,\n move: !1,\n restMs: i,\n enabled: n == null,\n delay: {\n close: s\n }\n }), g = Ha(d, {\n enabled: n == null\n }), C = Da(d), m = Oa(d, { role: \"tooltip\" }), y = Ua([f, g, C, m]);\n return p.useMemo(\n () => ({\n open: c,\n setOpen: a,\n ...y,\n ...u\n }),\n [c, a, y, u]\n );\n}\nconst bi = p.createContext(null);\nfunction El() {\n const e = p.useContext(bi);\n if (e == null)\n throw new Error(\"Tooltip components must be wrapped in <TooltipProvider />\");\n return e;\n}\nfunction xl({ children: e, ...t }) {\n const n = N2(t);\n return t.useDelayGroup ? /* @__PURE__ */ h(\n La,\n {\n delay: { open: t.delay ?? 0, close: t.closeDelay ?? 0 },\n timeoutMs: t.timeout,\n children: /* @__PURE__ */ h(bi.Provider, { value: n, children: e })\n }\n ) : /* @__PURE__ */ h(bi.Provider, { value: n, children: e });\n}\nconst Ll = p.forwardRef(function({ children: t, asChild: n = !1, ...r }, i) {\n const s = El(), o = p.isValidElement(t) ? parseInt(p.version, 10) >= 19 ? (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n t.props.ref\n ) : (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n t.ref\n ) : void 0, l = uo([s.refs.setReference, i, o]);\n if (n && p.isValidElement(t)) {\n const c = {\n \"data-tooltip-state\": s.open ? \"open\" : \"closed\"\n };\n return p.cloneElement(\n t,\n s.getReferenceProps({\n ref: l,\n ...r,\n ...typeof t.props == \"object\" ? t.props : {},\n ...c\n })\n );\n }\n return /* @__PURE__ */ h(\n \"button\",\n {\n ref: l,\n \"data-tooltip-state\": s.open ? \"open\" : \"closed\",\n ...s.getReferenceProps(r),\n children: t\n }\n );\n}), Al = p.forwardRef(function({ style: t, children: n, portal: r = !0, portalProps: i = {}, ...s }, o) {\n const l = El(), c = uo([l.refs.setFloating, o]);\n if (!l.open) return null;\n const a = /* @__PURE__ */ h(\n \"div\",\n {\n ref: c,\n style: {\n ...l.floatingStyles,\n ...t\n },\n ...l.getFloatingProps(s),\n className: \"tiptap-tooltip\",\n children: n\n }\n );\n return r ? /* @__PURE__ */ h(Aa, { ...i, children: a }) : a;\n});\nxl.displayName = \"Tooltip\";\nLl.displayName = \"TooltipTrigger\";\nAl.displayName = \"TooltipContent\";\nconst yi = 5 * 1024 * 1024, H2 = {\n mod: \"⌘\",\n command: \"⌘\",\n meta: \"⌘\",\n ctrl: \"⌃\",\n control: \"⌃\",\n alt: \"⌥\",\n option: \"⌥\",\n shift: \"⇧\",\n backspace: \"Del\",\n delete: \"⌦\",\n enter: \"⏎\",\n escape: \"⎋\",\n capslock: \"⇪\"\n};\nfunction z(...e) {\n return e.filter(Boolean).join(\" \");\n}\nfunction D2() {\n return typeof navigator < \"u\" && navigator.platform.toLowerCase().includes(\"mac\");\n}\nconst O2 = (e, t, n = !0) => {\n if (t) {\n const r = e.toLowerCase();\n return H2[r] || (n ? e.toUpperCase() : e);\n }\n return n ? e.charAt(0).toUpperCase() + e.slice(1) : e;\n}, vt = (e) => {\n const { shortcutKeys: t, delimiter: n = \"+\", capitalize: r = !0 } = e;\n return t ? t.split(n).map((i) => i.trim()).map((i) => O2(i, D2(), r)) : [];\n}, cn = (e, t) => t?.schema ? t.schema.spec.marks.get(e) !== void 0 : !1, Ot = (e, t) => t?.schema ? t.schema.spec.nodes.get(e) !== void 0 : !1;\nfunction U2(e) {\n const { state: t, view: n } = e, { doc: r, selection: i } = t, s = ya.findFrom(i.$to, 1, !0);\n if (s)\n return n.dispatch(t.tr.setSelection(s).scrollIntoView()), !0;\n const o = t.schema.nodes.paragraph;\n if (!o)\n return console.warn(\"No paragraph node type found in schema.\"), !1;\n const l = r.content.size, c = o.create();\n let a = t.tr.insert(l, c);\n const u = a.doc.resolve(l + 1);\n return a = a.setSelection(ut.near(u)).scrollIntoView(), n.dispatch(a), !0;\n}\nfunction St(e) {\n return typeof e == \"number\" && e >= 0;\n}\nfunction xr(e, t) {\n if (!e) return !1;\n const n = Array.isArray(t) ? t : [t], r = n.some(\n (i) => e.extensionManager.extensions.some((s) => s.name === i)\n );\n return r || console.warn(\n `None of the extensions [${n.join(\", \")}] were found in the editor schema. Ensure they are included in the editor configuration.`\n ), r;\n}\nfunction V2(e, t) {\n try {\n const n = e.state.doc.nodeAt(t);\n return n || (console.warn(`No node found at position ${t}`), null);\n } catch (n) {\n return console.error(`Error getting node at position ${t}:`, n), null;\n }\n}\nfunction Jt(e) {\n const { editor: t, node: n, nodePos: r } = e;\n if (!t || !t.state?.doc) return null;\n const i = n != null, s = St(r);\n if (!i && !s)\n return null;\n if (i) {\n let o = -1, l = null;\n if (t.state.doc.descendants((c, a) => c === n ? (o = a, l = c, !1) : !0), o !== -1 && l !== null)\n return { pos: o, node: l };\n }\n if (s) {\n const o = V2(t, r);\n if (o)\n return { pos: r, node: o };\n }\n return null;\n}\nfunction Ut(e, t = []) {\n if (!e || !e.state.selection) return !1;\n const { state: n } = e, { selection: r } = n;\n if (r.empty) return !1;\n if (r instanceof wt) {\n const i = r.node;\n return i ? t.includes(i.type.name) : !1;\n }\n return !1;\n}\nconst B2 = async (e, t, n) => {\n if (!e)\n throw new Error(\"No file provided\");\n if (e.size > yi)\n throw new Error(\n `File size exceeds maximum allowed (${yi / (1024 * 1024)}MB)`\n );\n for (let r = 0; r <= 100; r += 10) {\n if (n?.aborted)\n throw new Error(\"Upload cancelled\");\n await new Promise((i) => setTimeout(i, 500)), t?.({ progress: r });\n }\n return \"/images/tiptap-ui-placeholder-image.jpg\";\n}, P2 = (\n // eslint-disable-next-line no-control-regex\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g\n);\nfunction F2(e, t) {\n const n = [\n \"http\",\n \"https\",\n \"ftp\",\n \"ftps\",\n \"mailto\",\n \"tel\",\n \"callto\",\n \"sms\",\n \"cid\",\n \"xmpp\"\n ];\n return !e || e.replace(P2, \"\").match(\n new RegExp(\n // eslint-disable-next-line no-useless-escape\n `^(?:(?:${n.join(\"|\")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,\n \"i\"\n )\n );\n}\nfunction z2(e, t, n) {\n try {\n const r = new URL(e, t);\n if (F2(r.href, n))\n return r.href;\n } catch {\n }\n return \"#\";\n}\nconst j2 = ({\n shortcuts: e\n}) => e.length === 0 ? null : /* @__PURE__ */ h(\"div\", { children: e.map((t, n) => /* @__PURE__ */ k(p.Fragment, { children: [\n n > 0 && /* @__PURE__ */ h(\"kbd\", { children: \"+\" }),\n /* @__PURE__ */ h(\"kbd\", { children: t })\n] }, n)) }), H = p.forwardRef(\n ({\n className: e,\n children: t,\n tooltip: n,\n showTooltip: r = !0,\n shortcutKeys: i,\n \"aria-label\": s,\n ...o\n }, l) => {\n const c = p.useMemo(\n () => vt({ shortcutKeys: i }),\n [i]\n );\n return !n || !r ? /* @__PURE__ */ h(\n \"button\",\n {\n className: z(\"tiptap-button\", e),\n ref: l,\n \"aria-label\": s,\n ...o,\n children: t\n }\n ) : /* @__PURE__ */ k(xl, { delay: 200, children: [\n /* @__PURE__ */ h(\n Ll,\n {\n className: z(\"tiptap-button\", e),\n ref: l,\n \"aria-label\": s,\n ...o,\n children: t\n }\n ),\n /* @__PURE__ */ k(Al, { children: [\n n,\n /* @__PURE__ */ h(j2, { shortcuts: c })\n ] })\n ] });\n }\n);\nH.displayName = \"Button\";\nconst he = p.forwardRef(({ className: e, children: t, orientation: n = \"vertical\", ...r }, i) => /* @__PURE__ */ h(\n \"div\",\n {\n ref: i,\n className: z(\"tiptap-button-group\", e),\n \"data-orientation\": n,\n role: \"group\",\n ...r,\n children: t\n }\n));\nhe.displayName = \"ButtonGroup\";\nfunction lo({\n orientation: e = \"horizontal\",\n size: t,\n style: n = {},\n ...r\n}) {\n const i = {\n ...n,\n ...e === \"horizontal\" && !t && { flex: 1 },\n ...t && {\n width: e === \"vertical\" ? \"1px\" : t,\n height: e === \"horizontal\" ? \"1px\" : t\n }\n };\n return /* @__PURE__ */ h(\"div\", { ...r, style: i });\n}\nconst Lr = p.forwardRef(\n ({ decorative: e, orientation: t = \"vertical\", className: n, ...r }, i) => {\n const o = e ? { role: \"none\" } : { \"aria-orientation\": t === \"vertical\" ? t : void 0, role: \"separator\" };\n return /* @__PURE__ */ h(\n \"div\",\n {\n className: z(\"tiptap-separator\", n),\n \"data-orientation\": t,\n ...o,\n ...r,\n ref: i\n }\n );\n }\n);\nLr.displayName = \"Separator\";\nfunction _l({\n editor: e,\n containerRef: t,\n query: n,\n items: r,\n onSelect: i,\n onClose: s,\n orientation: o = \"vertical\",\n autoSelectFirstItem: l = !0\n}) {\n const [c, a] = p.useState(\n l ? 0 : -1\n );\n return p.useEffect(() => {\n const u = (f) => {\n if (!r.length) return !1;\n const g = () => a((m) => m === -1 ? 0 : (m + 1) % r.length), C = () => a((m) => m === -1 ? r.length - 1 : (m - 1 + r.length) % r.length);\n switch (f.key) {\n case \"ArrowUp\":\n return o === \"horizontal\" ? !1 : (f.preventDefault(), C(), !0);\n case \"ArrowDown\":\n return o === \"horizontal\" ? !1 : (f.preventDefault(), g(), !0);\n case \"ArrowLeft\":\n return o === \"vertical\" ? !1 : (f.preventDefault(), C(), !0);\n case \"ArrowRight\":\n return o === \"vertical\" ? !1 : (f.preventDefault(), g(), !0);\n case \"Tab\":\n return f.preventDefault(), f.shiftKey ? C() : g(), !0;\n case \"Home\":\n return f.preventDefault(), a(0), !0;\n case \"End\":\n return f.preventDefault(), a(r.length - 1), !0;\n case \"Enter\":\n return f.isComposing ? !1 : (f.preventDefault(), c !== -1 && r[c] && i?.(r[c]), !0);\n case \"Escape\":\n return f.preventDefault(), s?.(), !0;\n default:\n return !1;\n }\n };\n let d = null;\n if (e ? d = e.view.dom : t?.current && (d = t.current), d)\n return d.addEventListener(\"keydown\", u, !0), () => {\n d?.removeEventListener(\n \"keydown\",\n u,\n !0\n );\n };\n }, [\n e,\n t,\n r,\n c,\n i,\n s,\n o\n ]), p.useEffect(() => {\n n && a(l ? 0 : -1);\n }, [n, l]), {\n selectedIndex: r.length ? c : void 0,\n setSelectedIndex: a\n };\n}\nconst co = (e, t) => {\n typeof e == \"function\" ? e(t) : e && typeof e == \"object\" && \"current\" in e && (e.current = t);\n}, Z2 = (e, t) => {\n const n = p.useRef(null);\n return p.useCallback(\n (r) => {\n e && \"current\" in e && (e.current = r), n.current && co(n.current, null), n.current = t, t && co(t, r);\n },\n [e, t]\n );\n}, $2 = (e) => {\n const [t, n] = p.useState([]), r = p.useCallback(() => e.current ? Array.from(\n e.current.querySelectorAll(\n 'button:not([disabled]), [role=\"button\"]:not([disabled]), [tabindex=\"0\"]:not([disabled])'\n )\n ) : [], [e]);\n p.useEffect(() => {\n const s = e.current;\n if (!s) return;\n const o = () => n(r());\n o();\n const l = new MutationObserver(o);\n return l.observe(s, { childList: !0, subtree: !0 }), () => l.disconnect();\n }, [r, e]);\n const { selectedIndex: i } = _l({\n containerRef: e,\n items: t,\n orientation: \"horizontal\",\n onSelect: (s) => s.click(),\n autoSelectFirstItem: !1\n });\n p.useEffect(() => {\n const s = e.current;\n if (!s) return;\n const o = (c) => {\n const a = c.target;\n s.contains(a) && a.setAttribute(\"data-focus-visible\", \"true\");\n }, l = (c) => {\n const a = c.target;\n s.contains(a) && a.removeAttribute(\"data-focus-visible\");\n };\n return s.addEventListener(\"focus\", o, !0), s.addEventListener(\"blur\", l, !0), () => {\n s.removeEventListener(\"focus\", o, !0), s.removeEventListener(\"blur\", l, !0);\n };\n }, [e]), p.useEffect(() => {\n i !== void 0 && t[i] && t[i].focus();\n }, [i, t]);\n}, Tl = p.forwardRef(\n ({ children: e, className: t, variant: n = \"fixed\", ...r }, i) => {\n const s = p.useRef(null), o = Z2(s, i);\n return $2(s), /* @__PURE__ */ h(\n \"div\",\n {\n ref: o,\n role: \"toolbar\",\n \"aria-label\": \"toolbar\",\n \"data-variant\": n,\n className: z(\"tiptap-toolbar\", t),\n ...r,\n children: e\n }\n );\n }\n);\nTl.displayName = \"Toolbar\";\nconst Ct = p.forwardRef(\n ({ children: e, className: t, ...n }, r) => /* @__PURE__ */ h(\n \"div\",\n {\n ref: r,\n role: \"group\",\n className: z(\"tiptap-toolbar-group\", t),\n ...n,\n children: e\n }\n )\n);\nCt.displayName = \"ToolbarGroup\";\nconst Tt = p.forwardRef(\n ({ ...e }, t) => /* @__PURE__ */ h(Lr, { ref: t, orientation: \"vertical\", decorative: !0, ...e })\n);\nTt.displayName = \"ToolbarSeparator\";\nconst Il = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M18.7071 6.70711C19.0976 6.31658 19.0976 5.68342 18.7071 5.29289C18.3166 4.90237 17.6834 4.90237 17.2929 5.29289L12 10.5858L6.70711 5.29289C6.31658 4.90237 5.68342 4.90237 5.29289 5.29289C4.90237 5.68342 4.90237 6.31658 5.29289 6.70711L10.5858 12L5.29289 17.2929C4.90237 17.6834 4.90237 18.3166 5.29289 18.7071C5.68342 19.0976 6.31658 19.0976 6.70711 18.7071L12 13.4142L17.2929 18.7071C17.6834 19.0976 18.3166 19.0976 18.7071 18.7071C19.0976 18.3166 19.0976 17.6834 18.7071 17.2929L13.4142 12L18.7071 6.70711Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nIl.displayName = \"CloseIcon\";\nfunction W2(e) {\n const [t, n] = p.useState([]), r = async (l) => {\n if (l.size > e.maxSize) {\n const d = new Error(\n `File size exceeds maximum allowed (${e.maxSize / 1024 / 1024}MB)`\n );\n return e.onError?.(d), null;\n }\n const c = new AbortController(), a = crypto.randomUUID(), u = {\n id: a,\n file: l,\n progress: 0,\n status: \"uploading\",\n abortController: c\n };\n n((d) => [...d, u]);\n try {\n if (!e.upload)\n throw new Error(\"Upload function is not defined\");\n const d = await e.upload(\n l,\n (f) => {\n n(\n (g) => g.map(\n (C) => C.id === a ? { ...C, progress: f.progress } : C\n )\n );\n },\n c.signal\n );\n if (!d) throw new Error(\"Upload failed: No URL returned\");\n return c.signal.aborted ? null : (n(\n (f) => f.map(\n (g) => g.id === a ? { ...g, status: \"success\", url: d, progress: 100 } : g\n )\n ), e.onSuccess?.(d), d);\n } catch (d) {\n return c.signal.aborted || (n(\n (f) => f.map(\n (g) => g.id === a ? { ...g, status: \"error\", progress: 0 } : g\n )\n ), e.onError?.(\n d instanceof Error ? d : new Error(\"Upload failed\")\n )), null;\n }\n };\n return {\n fileItems: t,\n uploadFiles: async (l) => {\n if (!l || l.length === 0)\n return e.onError?.(new Error(\"No files to upload\")), [];\n if (e.limit && l.length > e.limit)\n return e.onError?.(\n new Error(\n `Maximum ${e.limit} file${e.limit === 1 ? \"\" : \"s\"} allowed`\n )\n ), [];\n const c = l.map((u) => r(u));\n return (await Promise.all(c)).filter((u) => u !== null);\n },\n removeFileItem: (l) => {\n n((c) => {\n const a = c.find((u) => u.id === l);\n return a?.abortController && a.abortController.abort(), a?.url && URL.revokeObjectURL(a.url), c.filter((u) => u.id !== l);\n });\n },\n clearAllFiles: () => {\n t.forEach((l) => {\n l.abortController && l.abortController.abort(), l.url && URL.revokeObjectURL(l.url);\n }), n([]);\n }\n };\n}\nconst Rl = () => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n className: \"tiptap-image-upload-icon\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M11.1953 4.41771C10.3478 4.08499 9.43578 3.94949 8.5282 4.02147C7.62062 4.09345 6.74133 4.37102 5.95691 4.83316C5.1725 5.2953 4.50354 5.92989 4.00071 6.68886C3.49788 7.44783 3.17436 8.31128 3.05465 9.2138C2.93495 10.1163 3.0222 11.0343 3.3098 11.8981C3.5974 12.7619 4.07781 13.5489 4.71463 14.1995C5.10094 14.5942 5.09414 15.2274 4.69945 15.6137C4.30476 16 3.67163 15.9932 3.28532 15.5985C2.43622 14.731 1.79568 13.6816 1.41221 12.5299C1.02875 11.3781 0.91241 10.1542 1.07201 8.95084C1.23162 7.74748 1.66298 6.59621 2.33343 5.58425C3.00387 4.57229 3.89581 3.72617 4.9417 3.10998C5.98758 2.4938 7.15998 2.1237 8.37008 2.02773C9.58018 1.93176 10.7963 2.11243 11.9262 2.55605C13.0561 2.99968 14.0703 3.69462 14.8919 4.58825C15.5423 5.29573 16.0585 6.11304 16.4177 7.00002H17.4999C18.6799 6.99991 19.8288 7.37933 20.7766 8.08222C21.7245 8.78515 22.4212 9.7743 22.7637 10.9036C23.1062 12.0328 23.0765 13.2423 22.6788 14.3534C22.2812 15.4644 21.5367 16.4181 20.5554 17.0736C20.0962 17.3803 19.4752 17.2567 19.1684 16.7975C18.8617 16.3382 18.9853 15.7172 19.4445 15.4105C20.069 14.9934 20.5427 14.3865 20.7958 13.6794C21.0488 12.9724 21.0678 12.2027 20.8498 11.4841C20.6318 10.7655 20.1885 10.136 19.5853 9.6887C18.9821 9.24138 18.251 8.99993 17.5001 9.00002H15.71C15.2679 9.00002 14.8783 8.70973 14.7518 8.28611C14.4913 7.41374 14.0357 6.61208 13.4195 5.94186C12.8034 5.27164 12.0427 4.75043 11.1953 4.41771Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M11 14.4142V21C11 21.5523 11.4477 22 12 22C12.5523 22 13 21.5523 13 21V14.4142L15.2929 16.7071C15.6834 17.0976 16.3166 17.0976 16.7071 16.7071C17.0976 16.3166 17.0976 15.6834 16.7071 15.2929L12.7078 11.2936C12.7054 11.2912 12.703 11.2888 12.7005 11.2864C12.5208 11.1099 12.2746 11.0008 12.003 11L12 11L11.997 11C11.8625 11.0004 11.7343 11.0273 11.6172 11.0759C11.502 11.1236 11.3938 11.1937 11.2995 11.2864C11.297 11.2888 11.2946 11.2912 11.2922 11.2936L7.29289 15.2929C6.90237 15.6834 6.90237 16.3166 7.29289 16.7071C7.68342 17.0976 8.31658 17.0976 8.70711 16.7071L11 14.4142Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n), K2 = () => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"43\",\n height: \"57\",\n viewBox: \"0 0 43 57\",\n fill: \"currentColor\",\n className: \"tiptap-image-upload-dropzone-rect-primary\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M0.75 10.75C0.75 5.64137 4.89137 1.5 10 1.5H32.3431C33.2051 1.5 34.0317 1.84241 34.6412 2.4519L40.2981 8.10876C40.9076 8.71825 41.25 9.5449 41.25 10.4069V46.75C41.25 51.8586 37.1086 56 32 56H10C4.89137 56 0.75 51.8586 0.75 46.75V10.75Z\",\n fill: \"currentColor\",\n fillOpacity: \"0.11\",\n stroke: \"currentColor\",\n strokeWidth: \"1.5\"\n }\n )\n }\n), G2 = () => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"10\",\n height: \"10\",\n className: \"tiptap-image-upload-dropzone-rect-secondary\",\n viewBox: \"0 0 10 10\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M0 0.75H0.343146C1.40401 0.75 2.42143 1.17143 3.17157 1.92157L8.82843 7.57843C9.57857 8.32857 10 9.34599 10 10.4069V10.75H4C1.79086 10.75 0 8.95914 0 6.75V0.75Z\",\n fill: \"currentColor\"\n }\n )\n }\n), Y2 = ({\n onFile: e,\n children: t\n}) => {\n const [n, r] = p.useState(!1), [i, s] = p.useState(!1);\n return /* @__PURE__ */ h(\n \"div\",\n {\n className: `tiptap-image-upload-drag-area ${i ? \"drag-active\" : \"\"} ${n ? \"drag-over\" : \"\"}`,\n onDragEnter: (u) => {\n u.preventDefault(), u.stopPropagation(), s(!0);\n },\n onDragLeave: (u) => {\n u.preventDefault(), u.stopPropagation(), u.currentTarget.contains(u.relatedTarget) || (s(!1), r(!1));\n },\n onDragOver: (u) => {\n u.preventDefault(), u.stopPropagation(), r(!0);\n },\n onDrop: (u) => {\n u.preventDefault(), u.stopPropagation(), s(!1), r(!1);\n const d = Array.from(u.dataTransfer.files);\n d.length > 0 && e(d);\n },\n children: t\n }\n );\n}, q2 = ({\n fileItem: e,\n onRemove: t\n}) => {\n const n = (r) => {\n if (r === 0) return \"0 Bytes\";\n const i = 1024, s = [\"Bytes\", \"KB\", \"MB\", \"GB\"], o = Math.floor(Math.log(r) / Math.log(i));\n return `${parseFloat((r / Math.pow(i, o)).toFixed(2))} ${s[o]}`;\n };\n return /* @__PURE__ */ k(\"div\", { className: \"tiptap-image-upload-preview\", children: [\n e.status === \"uploading\" && /* @__PURE__ */ h(\n \"div\",\n {\n className: \"tiptap-image-upload-progress\",\n style: { width: `${e.progress}%` }\n }\n ),\n /* @__PURE__ */ k(\"div\", { className: \"tiptap-image-upload-preview-content\", children: [\n /* @__PURE__ */ k(\"div\", { className: \"tiptap-image-upload-file-info\", children: [\n /* @__PURE__ */ h(\"div\", { className: \"tiptap-image-upload-file-icon\", children: /* @__PURE__ */ h(Rl, {}) }),\n /* @__PURE__ */ k(\"div\", { className: \"tiptap-image-upload-details\", children: [\n /* @__PURE__ */ h(\"span\", { className: \"tiptap-image-upload-text\", children: e.file.name }),\n /* @__PURE__ */ h(\"span\", { className: \"tiptap-image-upload-subtext\", children: n(e.file.size) })\n ] })\n ] }),\n /* @__PURE__ */ k(\"div\", { className: \"tiptap-image-upload-actions\", children: [\n e.status === \"uploading\" && /* @__PURE__ */ k(\"span\", { className: \"tiptap-image-upload-progress-text\", children: [\n e.progress,\n \"%\"\n ] }),\n /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n onClick: (r) => {\n r.stopPropagation(), t();\n },\n children: /* @__PURE__ */ h(Il, { className: \"tiptap-button-icon\" })\n }\n )\n ] })\n ] })\n ] });\n}, J2 = ({\n maxSize: e,\n limit: t\n}) => /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ k(\"div\", { className: \"tiptap-image-upload-dropzone\", children: [\n /* @__PURE__ */ h(K2, {}),\n /* @__PURE__ */ h(G2, {}),\n /* @__PURE__ */ h(\"div\", { className: \"tiptap-image-upload-icon-container\", children: /* @__PURE__ */ h(Rl, {}) })\n ] }),\n /* @__PURE__ */ k(\"div\", { className: \"tiptap-image-upload-content\", children: [\n /* @__PURE__ */ k(\"span\", { className: \"tiptap-image-upload-text\", children: [\n /* @__PURE__ */ h(\"em\", { children: \"Click to upload\" }),\n \" or drag and drop\"\n ] }),\n /* @__PURE__ */ k(\"span\", { className: \"tiptap-image-upload-subtext\", children: [\n \"Maximum \",\n t,\n \" file\",\n t === 1 ? \"\" : \"s\",\n \", \",\n e / 1024 / 1024,\n \"MB each.\"\n ] })\n ] })\n] }), Q2 = (e) => {\n const { accept: t, limit: n, maxSize: r } = e.node.attrs, i = p.useRef(null), s = e.extension, o = {\n maxSize: r,\n limit: n,\n accept: t,\n upload: s.options.upload,\n onSuccess: s.options.onSuccess,\n onError: s.options.onError\n }, { fileItems: l, uploadFiles: c, removeFileItem: a, clearAllFiles: u } = W2(o), d = async (m) => {\n const y = await c(m);\n if (y.length > 0) {\n const w = e.getPos();\n if (St(w)) {\n const v = y.map((A, Y) => {\n const _ = m[Y]?.name.replace(/\\.[^/.]+$/, \"\") || \"unknown\";\n return {\n type: s.options.type,\n attrs: {\n ...s.options,\n src: A,\n alt: _,\n title: _\n }\n };\n });\n e.editor.chain().focus().deleteRange({ from: w, to: w + e.node.nodeSize }).insertContentAt(w, v).run(), U2(e.editor);\n }\n }\n }, f = (m) => {\n const y = m.target.files;\n if (!y || y.length === 0) {\n s.options.onError?.(new Error(\"No file selected\"));\n return;\n }\n d(Array.from(y));\n }, g = () => {\n i.current && l.length === 0 && (i.current.value = \"\", i.current.click());\n }, C = l.length > 0;\n return /* @__PURE__ */ k(\n Gc,\n {\n className: \"tiptap-image-upload\",\n tabIndex: 0,\n onClick: g,\n children: [\n !C && /* @__PURE__ */ h(Y2, { onFile: d, children: /* @__PURE__ */ h(J2, { maxSize: r, limit: n }) }),\n C && /* @__PURE__ */ k(\"div\", { className: \"tiptap-image-upload-previews\", children: [\n l.length > 1 && /* @__PURE__ */ k(\"div\", { className: \"tiptap-image-upload-header\", children: [\n /* @__PURE__ */ k(\"span\", { children: [\n \"Uploading \",\n l.length,\n \" files\"\n ] }),\n /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n onClick: (m) => {\n m.stopPropagation(), u();\n },\n children: \"Clear All\"\n }\n )\n ] }),\n l.map((m) => /* @__PURE__ */ h(\n q2,\n {\n fileItem: m,\n onRemove: () => a(m.id)\n },\n m.id\n ))\n ] }),\n /* @__PURE__ */ h(\n \"input\",\n {\n ref: i,\n name: \"file\",\n accept: t,\n type: \"file\",\n multiple: n > 1,\n onChange: f,\n onClick: (m) => m.stopPropagation()\n }\n )\n ]\n }\n );\n}, X2 = Yc.create({\n name: \"imageUpload\",\n group: \"block\",\n draggable: !0,\n atom: !0,\n addOptions() {\n return {\n type: \"image\",\n accept: \"image/*\",\n limit: 1,\n maxSize: 0,\n upload: void 0,\n onError: void 0,\n onSuccess: void 0,\n HTMLAttributes: {}\n };\n },\n addAttributes() {\n return {\n accept: {\n default: this.options.accept\n },\n limit: {\n default: this.options.limit\n },\n maxSize: {\n default: this.options.maxSize\n }\n };\n },\n parseHTML() {\n return [{ tag: 'div[data-type=\"image-upload\"]' }];\n },\n renderHTML({ HTMLAttributes: e }) {\n return [\n \"div\",\n Jc({ \"data-type\": \"image-upload\" }, e)\n ];\n },\n addNodeView() {\n return qc(Q2);\n },\n addCommands() {\n return {\n setImageUploadNode: (e) => ({ commands: t }) => t.insertContent({\n type: this.name,\n attrs: e\n })\n };\n },\n /**\n * Adds Enter key handler to trigger the upload component when it's selected.\n */\n addKeyboardShortcuts() {\n return {\n Enter: ({ editor: e }) => {\n const { selection: t } = e.state, { nodeAfter: n } = t.$from;\n if (n && n.type.name === \"imageUpload\" && e.isActive(\"imageUpload\")) {\n const r = e.view.nodeDOM(t.$from.pos);\n if (r && r instanceof HTMLElement) {\n const i = r.firstChild;\n if (i && i instanceof HTMLElement)\n return i.click(), !0;\n }\n }\n return !1;\n }\n };\n }\n}), Qi = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.29289 8.29289C5.68342 7.90237 6.31658 7.90237 6.70711 8.29289L12 13.5858L17.2929 8.29289C17.6834 7.90237 18.3166 7.90237 18.7071 8.29289C19.0976 8.68342 19.0976 9.31658 18.7071 9.70711L12.7071 15.7071C12.3166 16.0976 11.6834 16.0976 11.2929 15.7071L5.29289 9.70711C4.90237 9.31658 4.90237 8.68342 5.29289 8.29289Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nQi.displayName = \"ChevronDownIcon\";\nfunction N(e) {\n const { editor: t } = Qc(), n = p.useMemo(\n () => e || t,\n [e, t]\n );\n return Xc({\n editor: n,\n selector(i) {\n return i.editor ? {\n editor: i.editor,\n editorState: i.editor.state,\n canCommand: i.editor.can\n } : {\n editor: null,\n editorState: void 0,\n canCommand: void 0\n };\n }\n }) || { editor: null };\n}\nconst Et = p.forwardRef(\n ({\n variant: e,\n size: t = \"default\",\n appearance: n = \"default\",\n trimText: r = !1,\n className: i,\n children: s,\n ...o\n }, l) => /* @__PURE__ */ h(\n \"div\",\n {\n ref: l,\n className: `tiptap-badge ${i || \"\"}`,\n \"data-style\": e,\n \"data-size\": t,\n \"data-appearance\": n,\n \"data-text-trim\": r ? \"on\" : \"off\",\n ...o,\n children: s\n }\n )\n);\nEt.displayName = \"Badge\";\nfunction th({\n level: e,\n shortcutKeys: t = Pl[e]\n}) {\n return /* @__PURE__ */ h(Et, { children: vt({ shortcutKeys: t }) });\n}\nconst Ml = p.forwardRef(\n ({\n editor: e,\n level: t,\n text: n,\n hideWhenUnavailable: r = !1,\n onToggled: i,\n showShortcut: s = !1,\n onClick: o,\n children: l,\n ...c\n }, a) => {\n const { editor: u } = N(e), {\n isVisible: d,\n canToggle: f,\n isActive: g,\n handleToggle: C,\n label: m,\n Icon: y,\n shortcutKeys: w\n } = nh({\n editor: u,\n level: t,\n hideWhenUnavailable: r,\n onToggled: i\n }), v = p.useCallback(\n (A) => {\n o?.(A), !A.defaultPrevented && C();\n },\n [C, o]\n );\n return d ? /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n \"data-active-state\": g ? \"on\" : \"off\",\n role: \"button\",\n tabIndex: -1,\n disabled: !f,\n \"data-disabled\": !f,\n \"aria-label\": m,\n \"aria-pressed\": g,\n tooltip: m,\n onClick: v,\n ...c,\n ref: a,\n children: l ?? /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(y, { className: \"tiptap-button-icon\" }),\n n && /* @__PURE__ */ h(\"span\", { className: \"tiptap-button-text\", children: n }),\n s && /* @__PURE__ */ h(th, { level: t, shortcutKeys: w })\n ] })\n }\n ) : null;\n }\n);\nMl.displayName = \"HeadingButton\";\nconst Nl = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M5 6C5 5.44772 4.55228 5 4 5C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19C4.55228 19 5 18.5523 5 18V13H11V18C11 18.5523 11.4477 19 12 19C12.5523 19 13 18.5523 13 18V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V11H5V6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M21.0001 10C21.0001 9.63121 20.7971 9.29235 20.472 9.11833C20.1468 8.94431 19.7523 8.96338 19.4454 9.16795L16.4454 11.168C15.9859 11.4743 15.8617 12.0952 16.1681 12.5547C16.4744 13.0142 17.0953 13.1384 17.5548 12.8321L19.0001 11.8685V18C19.0001 18.5523 19.4478 19 20.0001 19C20.5524 19 21.0001 18.5523 21.0001 18V10Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nNl.displayName = \"HeadingOneIcon\";\nconst Hl = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M5 6C5 5.44772 4.55228 5 4 5C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19C4.55228 19 5 18.5523 5 18V13H11V18C11 18.5523 11.4477 19 12 19C12.5523 19 13 18.5523 13 18V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V11H5V6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M22.0001 12C22.0001 10.7611 21.1663 9.79297 20.0663 9.42632C18.9547 9.05578 17.6171 9.28724 16.4001 10.2C15.9582 10.5314 15.8687 11.1582 16.2001 11.6C16.5314 12.0418 17.1582 12.1314 17.6001 11.8C18.383 11.2128 19.0455 11.1942 19.4338 11.3237C19.8339 11.457 20.0001 11.7389 20.0001 12C20.0001 12.4839 19.8554 12.7379 19.6537 12.9481C19.4275 13.1837 19.1378 13.363 18.7055 13.6307C18.6313 13.6767 18.553 13.7252 18.4701 13.777C17.9572 14.0975 17.3128 14.5261 16.8163 15.2087C16.3007 15.9177 16.0001 16.8183 16.0001 18C16.0001 18.5523 16.4478 19 17.0001 19H21.0001C21.5523 19 22.0001 18.5523 22.0001 18C22.0001 17.4477 21.5523 17 21.0001 17H18.131C18.21 16.742 18.3176 16.5448 18.4338 16.385C18.6873 16.0364 19.0429 15.7775 19.5301 15.473C19.5898 15.4357 19.6536 15.3966 19.7205 15.3556C20.139 15.0992 20.6783 14.7687 21.0964 14.3332C21.6447 13.7621 22.0001 13.0161 22.0001 12Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nHl.displayName = \"HeadingTwoIcon\";\nconst Dl = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M4 5C4.55228 5 5 5.44772 5 6V11H11V6C11 5.44772 11.4477 5 12 5C12.5523 5 13 5.44772 13 6V18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18V13H5V18C5 18.5523 4.55228 19 4 19C3.44772 19 3 18.5523 3 18V6C3 5.44772 3.44772 5 4 5Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M19.4608 11.2169C19.1135 11.0531 18.5876 11.0204 18.0069 11.3619C17.5309 11.642 16.918 11.4831 16.638 11.007C16.358 10.531 16.5169 9.91809 16.9929 9.63807C18.1123 8.97962 19.3364 8.94691 20.314 9.40808C21.2839 9.86558 21.9999 10.818 21.9999 12C21.9999 12.7957 21.6838 13.5587 21.1212 14.1213C20.5586 14.6839 19.7956 15 18.9999 15C18.4476 15 17.9999 14.5523 17.9999 14C17.9999 13.4477 18.4476 13 18.9999 13C19.2651 13 19.5195 12.8947 19.707 12.7071C19.8946 12.5196 19.9999 12.2652 19.9999 12C19.9999 11.6821 19.8159 11.3844 19.4608 11.2169Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.0001 14C18.0001 13.4477 18.4478 13 19.0001 13C19.7957 13 20.5588 13.3161 21.1214 13.8787C21.684 14.4413 22.0001 15.2043 22.0001 16C22.0001 17.2853 21.2767 18.3971 20.1604 18.8994C19.0257 19.41 17.642 19.2315 16.4001 18.3C15.9582 17.9686 15.8687 17.3418 16.2001 16.9C16.5314 16.4582 17.1582 16.3686 17.6001 16.7C18.3581 17.2685 18.9744 17.24 19.3397 17.0756C19.7234 16.9029 20.0001 16.5147 20.0001 16C20.0001 15.7348 19.8947 15.4804 19.7072 15.2929C19.5196 15.1054 19.2653 15 19.0001 15C18.4478 15 18.0001 14.5523 18.0001 14Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nDl.displayName = \"HeadingThreeIcon\";\nconst Ol = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M4 5C4.55228 5 5 5.44772 5 6V11H11V6C11 5.44772 11.4477 5 12 5C12.5523 5 13 5.44772 13 6V18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18V13H5V18C5 18.5523 4.55228 19 4 19C3.44772 19 3 18.5523 3 18V6C3 5.44772 3.44772 5 4 5Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M17 9C17.5523 9 18 9.44772 18 10V13H20V10C20 9.44772 20.4477 9 21 9C21.5523 9 22 9.44772 22 10V18C22 18.5523 21.5523 19 21 19C20.4477 19 20 18.5523 20 18V15H17C16.4477 15 16 14.5523 16 14V10C16 9.44772 16.4477 9 17 9Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nOl.displayName = \"HeadingFourIcon\";\nconst Ul = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M5 6C5 5.44772 4.55228 5 4 5C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19C4.55228 19 5 18.5523 5 18V13H11V18C11 18.5523 11.4477 19 12 19C12.5523 19 13 18.5523 13 18V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V11H5V6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M16 10C16 9.44772 16.4477 9 17 9H21C21.5523 9 22 9.44772 22 10C22 10.5523 21.5523 11 21 11H18V12H18.3C20.2754 12 22 13.4739 22 15.5C22 17.5261 20.2754 19 18.3 19C17.6457 19 17.0925 18.8643 16.5528 18.5944C16.0588 18.3474 15.8586 17.7468 16.1055 17.2528C16.3525 16.7588 16.9532 16.5586 17.4472 16.8056C17.7074 16.9357 17.9542 17 18.3 17C19.3246 17 20 16.2739 20 15.5C20 14.7261 19.3246 14 18.3 14H17C16.4477 14 16 13.5523 16 13L16 12.9928V10Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nUl.displayName = \"HeadingFiveIcon\";\nconst Vl = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M5 6C5 5.44772 4.55228 5 4 5C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19C4.55228 19 5 18.5523 5 18V13H11V18C11 18.5523 11.4477 19 12 19C12.5523 19 13 18.5523 13 18V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V11H5V6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.7071 9.29289C21.0976 9.68342 21.0976 10.3166 20.7071 10.7071C19.8392 11.575 19.2179 12.2949 18.7889 13.0073C18.8587 13.0025 18.929 13 19 13C20.6569 13 22 14.3431 22 16C22 17.6569 20.6569 19 19 19C17.3431 19 16 17.6569 16 16C16 14.6007 16.2837 13.4368 16.8676 12.3419C17.4384 11.2717 18.2728 10.3129 19.2929 9.29289C19.6834 8.90237 20.3166 8.90237 20.7071 9.29289ZM19 17C18.4477 17 18 16.5523 18 16C18 15.4477 18.4477 15 19 15C19.5523 15 20 15.4477 20 16C20 16.5523 19.5523 17 19 17Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nVl.displayName = \"HeadingSixIcon\";\nconst Bl = {\n 1: Nl,\n 2: Hl,\n 3: Dl,\n 4: Ol,\n 5: Ul,\n 6: Vl\n}, Pl = {\n 1: \"ctrl+alt+1\",\n 2: \"ctrl+alt+2\",\n 3: \"ctrl+alt+3\",\n 4: \"ctrl+alt+4\",\n 5: \"ctrl+alt+5\",\n 6: \"ctrl+alt+6\"\n};\nfunction nn(e, t, n = !0) {\n if (!e || !e.isEditable || !Ot(\"heading\", e) || Ut(e, [\"image\"]))\n return !1;\n if (!n)\n return t ? e.can().setNode(\"heading\", { level: t }) : e.can().setNode(\"heading\");\n try {\n const i = e.view.state, s = i.selection;\n if (s.empty || s instanceof ut) {\n const o = Jt({\n editor: e,\n node: i.selection.$anchor.node(1)\n })?.pos;\n if (!St(o)) return !1;\n }\n return !0;\n } catch {\n return !1;\n }\n}\nfunction Xi(e, t) {\n return !e || !e.isEditable ? !1 : Array.isArray(t) ? t.some((n) => e.isActive(\"heading\", { level: n })) : t ? e.isActive(\"heading\", { level: t }) : e.isActive(\"heading\");\n}\nfunction eh(e, t) {\n if (!e || !e.isEditable) return !1;\n const n = Array.isArray(t) ? t : [t], r = n.find((i) => nn(e, i));\n if (!r) return !1;\n try {\n const i = e.view;\n let s = i.state, o = s.tr;\n if (s.selection.empty || s.selection instanceof ut) {\n const d = Jt({\n editor: e,\n node: s.selection.$anchor.node(1)\n })?.pos;\n if (!St(d)) return !1;\n o = o.setSelection(wt.create(s.doc, d)), i.dispatch(o), s = i.state;\n }\n const l = s.selection;\n let c = e.chain().focus();\n if (l instanceof wt) {\n const d = l.node.firstChild?.firstChild, f = l.node.lastChild?.lastChild, g = d ? l.from + d.nodeSize : l.from + 1, C = f ? l.to - f.nodeSize : l.to - 1;\n c = c.setTextSelection({ from: g, to: C }).clearNodes();\n }\n return (n.some(\n (d) => e.isActive(\"heading\", { level: d })\n ) ? c.setNode(\"paragraph\") : c.setNode(\"heading\", { level: r })).run(), e.chain().focus().selectTextblockEnd().run(), !0;\n } catch {\n return !1;\n }\n}\nfunction Fl(e) {\n const { editor: t, level: n, hideWhenUnavailable: r } = e;\n return !t || !t.isEditable || !Ot(\"heading\", t) ? !1 : r && !t.isActive(\"code\") ? Array.isArray(n) ? n.some((i) => nn(t, i)) : nn(t, n) : !0;\n}\nfunction nh(e) {\n const {\n editor: t,\n level: n,\n hideWhenUnavailable: r = !1,\n onToggled: i\n } = e, { editor: s } = N(t), [o, l] = p.useState(!0), c = nn(s, n), a = Xi(s, n);\n p.useEffect(() => {\n if (!s) return;\n const d = () => {\n l(Fl({ editor: s, level: n, hideWhenUnavailable: r }));\n };\n return d(), s.on(\"selectionUpdate\", d), () => {\n s.off(\"selectionUpdate\", d);\n };\n }, [s, n, r]);\n const u = p.useCallback(() => {\n if (!s) return !1;\n const d = eh(s, n);\n return d && i?.(), d;\n }, [s, n, i]);\n return {\n isVisible: o,\n isActive: a,\n handleToggle: u,\n canToggle: c,\n label: `Heading ${n}`,\n shortcutKeys: Pl[n],\n Icon: Bl[n]\n };\n}\nfunction zl({\n ...e\n}) {\n return /* @__PURE__ */ h(Ht.Root, { modal: !1, ...e });\n}\nfunction jl({\n ...e\n}) {\n return /* @__PURE__ */ h(Ht.Portal, { ...e });\n}\nconst ts = p.forwardRef(({ ...e }, t) => /* @__PURE__ */ h(Ht.Trigger, { ref: t, ...e }));\nts.displayName = Ht.Trigger.displayName;\nconst Zl = Ht.Item, rh = p.forwardRef(({ className: e, portal: t = !0, ...n }, r) => {\n const i = /* @__PURE__ */ h(\n Ht.SubContent,\n {\n ref: r,\n className: z(\"tiptap-dropdown-menu\", e),\n ...n\n }\n );\n return t ? /* @__PURE__ */ h(jl, { ...typeof t == \"object\" ? t : {}, children: i }) : i;\n});\nrh.displayName = Ht.SubContent.displayName;\nconst es = p.forwardRef(({ className: e, sideOffset: t = 4, portal: n = !1, ...r }, i) => {\n const s = /* @__PURE__ */ h(\n Ht.Content,\n {\n ref: i,\n sideOffset: t,\n onCloseAutoFocus: (o) => o.preventDefault(),\n className: z(\"tiptap-dropdown-menu\", e),\n ...r\n }\n );\n return n ? /* @__PURE__ */ h(jl, { ...typeof n == \"object\" ? n : {}, children: s }) : s;\n});\nes.displayName = Ht.Content.displayName;\nconst an = p.forwardRef(\n ({ className: e, ...t }, n) => /* @__PURE__ */ h(\"div\", { ref: n, className: z(\"tiptap-card\", e), ...t })\n);\nan.displayName = \"Card\";\nconst ih = p.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ h(\"div\", { ref: n, className: z(\"tiptap-card-header\", e), ...t }));\nih.displayName = \"CardHeader\";\nconst un = p.forwardRef(\n ({ className: e, ...t }, n) => /* @__PURE__ */ h(\"div\", { ref: n, className: z(\"tiptap-card-body\", e), ...t })\n);\nun.displayName = \"CardBody\";\nconst ns = p.forwardRef(({ className: e, orientation: t = \"vertical\", ...n }, r) => /* @__PURE__ */ h(\n \"div\",\n {\n ref: r,\n \"data-orientation\": t,\n className: z(\"tiptap-card-item-group\", e),\n ...n\n }\n));\nns.displayName = \"CardItemGroup\";\nconst sh = p.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ h(\n \"div\",\n {\n ref: n,\n className: z(\"tiptap-card-group-label\", e),\n ...t\n }\n));\nsh.displayName = \"CardGroupLabel\";\nconst oh = p.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ h(\"div\", { ref: n, className: z(\"tiptap-card-footer\", e), ...t }));\noh.displayName = \"CardFooter\";\nconst $l = p.forwardRef(\n ({\n editor: e,\n levels: t = [1, 2, 3, 4, 5, 6],\n hideWhenUnavailable: n = !1,\n portal: r = !1,\n onOpenChange: i,\n ...s\n }, o) => {\n const { editor: l } = N(e), [c, a] = p.useState(!1), { isVisible: u, isActive: d, canToggle: f, Icon: g } = ch({\n editor: l,\n levels: t,\n hideWhenUnavailable: n\n }), C = p.useCallback(\n (m) => {\n !l || !f || (a(m), i?.(m));\n },\n [f, l, i]\n );\n return u ? /* @__PURE__ */ k(zl, { modal: !0, open: c, onOpenChange: C, children: [\n /* @__PURE__ */ h(ts, { asChild: !0, children: /* @__PURE__ */ k(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n \"data-active-state\": d ? \"on\" : \"off\",\n role: \"button\",\n tabIndex: -1,\n disabled: !f,\n \"data-disabled\": !f,\n \"aria-label\": \"Format text as heading\",\n \"aria-pressed\": d,\n tooltip: \"Heading\",\n ...s,\n ref: o,\n children: [\n /* @__PURE__ */ h(g, { className: \"tiptap-button-icon\" }),\n /* @__PURE__ */ h(Qi, { className: \"tiptap-button-dropdown-small\" })\n ]\n }\n ) }),\n /* @__PURE__ */ h(es, { align: \"start\", portal: r, children: /* @__PURE__ */ h(an, { children: /* @__PURE__ */ h(un, { children: /* @__PURE__ */ h(he, { children: t.map((m) => /* @__PURE__ */ h(Zl, { asChild: !0, children: /* @__PURE__ */ h(\n Ml,\n {\n editor: l,\n level: m,\n text: `Heading ${m}`,\n showTooltip: !1\n }\n ) }, `heading-${m}`)) }) }) }) })\n ] }) : null;\n }\n);\n$l.displayName = \"HeadingDropdownMenu\";\nconst Wl = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M6 3C6.55228 3 7 3.44772 7 4V11H17V4C17 3.44772 17.4477 3 18 3C18.5523 3 19 3.44772 19 4V20C19 20.5523 18.5523 21 18 21C17.4477 21 17 20.5523 17 20V13H7V20C7 20.5523 6.55228 21 6 21C5.44772 21 5 20.5523 5 20V4C5 3.44772 5.44772 3 6 3Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nWl.displayName = \"HeadingIcon\";\nfunction lh(e, t = [1, 2, 3, 4, 5, 6]) {\n if (!(!e || !e.isEditable))\n return t.find((n) => Xi(e, n));\n}\nfunction ch(e) {\n const {\n editor: t,\n levels: n = [1, 2, 3, 4, 5, 6],\n hideWhenUnavailable: r = !1\n } = e || {}, { editor: i } = N(t), [s, o] = p.useState(!0), l = lh(i, n), c = Xi(i), a = nn(i);\n return p.useEffect(() => {\n if (!i) return;\n const u = () => {\n o(\n Fl({ editor: i, hideWhenUnavailable: r, level: n })\n );\n };\n return u(), i.on(\"selectionUpdate\", u), () => {\n i.off(\"selectionUpdate\", u);\n };\n }, [i, r, n]), {\n isVisible: s,\n activeLevel: l,\n isActive: c,\n canToggle: a,\n levels: n,\n label: \"Heading\",\n Icon: l ? Bl[l] : Wl\n };\n}\nfunction ah({\n shortcutKeys: e = ki\n}) {\n return /* @__PURE__ */ h(Et, { children: vt({ shortcutKeys: e }) });\n}\nconst Kl = p.forwardRef(\n ({\n editor: e,\n text: t,\n hideWhenUnavailable: n = !1,\n onInserted: r,\n showShortcut: i = !1,\n onClick: s,\n children: o,\n ...l\n }, c) => {\n const { editor: a } = N(e), {\n isVisible: u,\n canInsert: d,\n handleImage: f,\n label: g,\n isActive: C,\n shortcutKeys: m,\n Icon: y\n } = fh({\n editor: a,\n hideWhenUnavailable: n,\n onInserted: r\n }), w = p.useCallback(\n (v) => {\n s?.(v), !v.defaultPrevented && f();\n },\n [f, s]\n );\n return u ? /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n \"data-active-state\": C ? \"on\" : \"off\",\n role: \"button\",\n tabIndex: -1,\n disabled: !d,\n \"data-disabled\": !d,\n \"aria-label\": g,\n \"aria-pressed\": C,\n tooltip: g,\n onClick: w,\n ...l,\n ref: c,\n children: o ?? /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(y, { className: \"tiptap-button-icon\" }),\n t && /* @__PURE__ */ h(\"span\", { className: \"tiptap-button-text\", children: t }),\n i && /* @__PURE__ */ h(ah, { shortcutKeys: m })\n ] })\n }\n ) : null;\n }\n);\nKl.displayName = \"ImageUploadButton\";\nfunction dn(e = 768) {\n const [t, n] = p.useState(void 0);\n return p.useEffect(() => {\n const r = window.matchMedia(`(max-width: ${e - 1}px)`), i = () => {\n n(window.innerWidth < e);\n };\n return r.addEventListener(\"change\", i), n(window.innerWidth < e), () => r.removeEventListener(\"change\", i);\n }, [e]), !!t;\n}\nconst Gl = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 2C20 1.44772 19.5523 1 19 1C18.4477 1 18 1.44772 18 2V4H16C15.4477 4 15 4.44772 15 5C15 5.55228 15.4477 6 16 6H18V8C18 8.55228 18.4477 9 19 9C19.5523 9 20 8.55228 20 8V6H22C22.5523 6 23 5.55228 23 5C23 4.44772 22.5523 4 22 4H20V2ZM5 4C4.73478 4 4.48043 4.10536 4.29289 4.29289C4.10536 4.48043 4 4.73478 4 5V19C4 19.2652 4.10536 19.5196 4.29289 19.7071C4.48043 19.8946 4.73478 20 5 20H5.58579L14.379 11.2068C14.9416 10.6444 15.7045 10.3284 16.5 10.3284C17.2955 10.3284 18.0584 10.6444 18.621 11.2068L20 12.5858V12C20 11.4477 20.4477 11 21 11C21.5523 11 22 11.4477 22 12V14.998C22 14.9994 22 15.0007 22 15.002V19C22 19.7957 21.6839 20.5587 21.1213 21.1213C20.5587 21.6839 19.7957 22 19 22H6.00219C6.00073 22 5.99927 22 5.99781 22H5C4.20435 22 3.44129 21.6839 2.87868 21.1213C2.31607 20.5587 2 19.7957 2 19V5C2 4.20435 2.31607 3.44129 2.87868 2.87868C3.44129 2.31607 4.20435 2 5 2H12C12.5523 2 13 2.44772 13 3C13 3.55228 12.5523 4 12 4H5ZM8.41422 20H19C19.2652 20 19.5196 19.8946 19.7071 19.7071C19.8946 19.5196 20 19.2652 20 19V15.4142L17.207 12.6212C17.0195 12.4338 16.7651 12.3284 16.5 12.3284C16.2349 12.3284 15.9806 12.4337 15.7931 12.6211L8.41422 20ZM6.87868 6.87868C7.44129 6.31607 8.20435 6 9 6C9.79565 6 10.5587 6.31607 11.1213 6.87868C11.6839 7.44129 12 8.20435 12 9C12 9.79565 11.6839 10.5587 11.1213 11.1213C10.5587 11.6839 9.79565 12 9 12C8.20435 12 7.44129 11.6839 6.87868 11.1213C6.31607 10.5587 6 9.79565 6 9C6 8.20435 6.31607 7.44129 6.87868 6.87868ZM9 8C8.73478 8 8.48043 8.10536 8.29289 8.29289C8.10536 8.48043 8 8.73478 8 9C8 9.26522 8.10536 9.51957 8.29289 9.70711C8.48043 9.89464 8.73478 10 9 10C9.26522 10 9.51957 9.89464 9.70711 9.70711C9.89464 9.51957 10 9.26522 10 9C10 8.73478 9.89464 8.48043 9.70711 8.29289C9.51957 8.10536 9.26522 8 9 8Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nGl.displayName = \"ImagePlusIcon\";\nconst ki = \"mod+shift+i\";\nfunction rs(e) {\n return !e || !e.isEditable || !xr(e, \"imageUpload\") || Ut(e, [\"image\"]) ? !1 : e.can().insertContent({ type: \"imageUpload\" });\n}\nfunction uh(e) {\n return !e || !e.isEditable ? !1 : e.isActive(\"imageUpload\");\n}\nfunction dh(e) {\n if (!e || !e.isEditable || !rs(e)) return !1;\n try {\n return e.chain().focus().insertContent({\n type: \"imageUpload\"\n }).run();\n } catch {\n return !1;\n }\n}\nfunction hh(e) {\n const { editor: t, hideWhenUnavailable: n } = e;\n return !t || !t.isEditable || !xr(t, \"imageUpload\") ? !1 : n && !t.isActive(\"code\") ? rs(t) : !0;\n}\nfunction fh(e) {\n const {\n editor: t,\n hideWhenUnavailable: n = !1,\n onInserted: r\n } = e || {}, { editor: i } = N(t), s = dn(), [o, l] = p.useState(!0), c = rs(i), a = uh(i);\n p.useEffect(() => {\n if (!i) return;\n const d = () => {\n l(hh({ editor: i, hideWhenUnavailable: n }));\n };\n return d(), i.on(\"selectionUpdate\", d), () => {\n i.off(\"selectionUpdate\", d);\n };\n }, [i, n]);\n const u = p.useCallback(() => {\n if (!i) return !1;\n const d = dh(i);\n return d && r?.(), d;\n }, [i, r]);\n return ho(\n ki,\n (d) => {\n d.preventDefault(), u();\n },\n {\n enabled: o && c,\n enableOnContentEditable: !s,\n enableOnFormTags: !0\n }\n ), {\n isVisible: o,\n isActive: a,\n handleImage: u,\n canInsert: c,\n label: \"Add image\",\n shortcutKeys: ki,\n Icon: Gl\n };\n}\nfunction gh({\n type: e,\n shortcutKeys: t = Jl[e]\n}) {\n return /* @__PURE__ */ h(Et, { children: vt({ shortcutKeys: t }) });\n}\nconst Yl = p.forwardRef(\n ({\n editor: e,\n type: t,\n text: n,\n hideWhenUnavailable: r = !1,\n onToggled: i,\n showShortcut: s = !1,\n onClick: o,\n children: l,\n ...c\n }, a) => {\n const { editor: u } = N(e), {\n isVisible: d,\n canToggle: f,\n isActive: g,\n handleToggle: C,\n label: m,\n shortcutKeys: y,\n Icon: w\n } = wh({\n editor: u,\n type: t,\n hideWhenUnavailable: r,\n onToggled: i\n }), v = p.useCallback(\n (A) => {\n o?.(A), !A.defaultPrevented && C();\n },\n [C, o]\n );\n return d ? /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n \"data-active-state\": g ? \"on\" : \"off\",\n role: \"button\",\n tabIndex: -1,\n disabled: !f,\n \"data-disabled\": !f,\n \"aria-label\": m,\n \"aria-pressed\": g,\n tooltip: m,\n onClick: v,\n ...c,\n ref: a,\n children: l ?? /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(w, { className: \"tiptap-button-icon\" }),\n n && /* @__PURE__ */ h(\"span\", { className: \"tiptap-button-text\", children: n }),\n s && /* @__PURE__ */ h(gh, { type: t, shortcutKeys: y })\n ] })\n }\n ) : null;\n }\n);\nYl.displayName = \"ListButton\";\nconst Ar = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 6C7 5.44772 7.44772 5 8 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H8C7.44772 7 7 6.55228 7 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 12C7 11.4477 7.44772 11 8 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H8C7.44772 13 7 12.5523 7 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 18C7 17.4477 7.44772 17 8 17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H8C7.44772 19 7 18.5523 7 18Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 6C2 5.44772 2.44772 5 3 5H3.01C3.56228 5 4.01 5.44772 4.01 6C4.01 6.55228 3.56228 7 3.01 7H3C2.44772 7 2 6.55228 2 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 12C2 11.4477 2.44772 11 3 11H3.01C3.56228 11 4.01 11.4477 4.01 12C4.01 12.5523 3.56228 13 3.01 13H3C2.44772 13 2 12.5523 2 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 18C2 17.4477 2.44772 17 3 17H3.01C3.56228 17 4.01 17.4477 4.01 18C4.01 18.5523 3.56228 19 3.01 19H3C2.44772 19 2 18.5523 2 18Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nAr.displayName = \"ListIcon\";\nconst is = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9 6C9 5.44772 9.44772 5 10 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H10C9.44772 7 9 6.55228 9 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9 12C9 11.4477 9.44772 11 10 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H10C9.44772 13 9 12.5523 9 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9 18C9 17.4477 9.44772 17 10 17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H10C9.44772 19 9 18.5523 9 18Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 6C3 5.44772 3.44772 5 4 5H5C5.55228 5 6 5.44772 6 6V10C6 10.5523 5.55228 11 5 11C4.44772 11 4 10.5523 4 10V7C3.44772 7 3 6.55228 3 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3 10C3 9.44772 3.44772 9 4 9H6C6.55228 9 7 9.44772 7 10C7 10.5523 6.55228 11 6 11H4C3.44772 11 3 10.5523 3 10Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.82219 13.0431C6.54543 13.4047 6.99997 14.1319 6.99997 15C6.99997 15.5763 6.71806 16.0426 6.48747 16.35C6.31395 16.5814 6.1052 16.8044 5.91309 17H5.99997C6.55226 17 6.99997 17.4477 6.99997 18C6.99997 18.5523 6.55226 19 5.99997 19H3.99997C3.44769 19 2.99997 18.5523 2.99997 18C2.99997 17.4237 3.28189 16.9575 3.51247 16.65C3.74323 16.3424 4.03626 16.0494 4.26965 15.8161C4.27745 15.8083 4.2852 15.8006 4.29287 15.7929C4.55594 15.5298 4.75095 15.3321 4.88748 15.15C4.96287 15.0495 4.99021 14.9922 4.99911 14.9714C4.99535 14.9112 4.9803 14.882 4.9739 14.8715C4.96613 14.8588 4.95382 14.845 4.92776 14.8319C4.87723 14.8067 4.71156 14.7623 4.44719 14.8944C3.95321 15.1414 3.35254 14.9412 3.10555 14.4472C2.85856 13.9533 3.05878 13.3526 3.55276 13.1056C4.28839 12.7378 5.12272 12.6934 5.82219 13.0431Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nis.displayName = \"ListOrderedIcon\";\nconst ss = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 6C2 4.89543 2.89543 4 4 4H8C9.10457 4 10 4.89543 10 6V10C10 11.1046 9.10457 12 8 12H4C2.89543 12 2 11.1046 2 10V6ZM8 6H4V10H8V6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.70711 14.2929C10.0976 14.6834 10.0976 15.3166 9.70711 15.7071L5.70711 19.7071C5.31658 20.0976 4.68342 20.0976 4.29289 19.7071L2.29289 17.7071C1.90237 17.3166 1.90237 16.6834 2.29289 16.2929C2.68342 15.9024 3.31658 15.9024 3.70711 16.2929L5 17.5858L8.29289 14.2929C8.68342 13.9024 9.31658 13.9024 9.70711 14.2929Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 6C12 5.44772 12.4477 5 13 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H13C12.4477 7 12 6.55228 12 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 12C12 11.4477 12.4477 11 13 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H13C12.4477 13 12 12.5523 12 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 18C12 17.4477 12.4477 17 13 17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H13C12.4477 19 12 18.5523 12 18Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nss.displayName = \"ListTodoIcon\";\nconst ql = {\n bulletList: Ar,\n orderedList: is,\n taskList: ss\n}, ph = {\n bulletList: \"Bullet List\",\n orderedList: \"Ordered List\",\n taskList: \"Task List\"\n}, Jl = {\n bulletList: \"mod+shift+8\",\n orderedList: \"mod+shift+7\",\n taskList: \"mod+shift+9\"\n};\nfunction _r(e, t, n = !0) {\n if (!e || !e.isEditable || !Ot(t, e) || Ut(e, [\"image\"]))\n return !1;\n if (!n)\n switch (t) {\n case \"bulletList\":\n return e.can().toggleBulletList();\n case \"orderedList\":\n return e.can().toggleOrderedList();\n case \"taskList\":\n return e.can().toggleList(\"taskList\", \"taskItem\");\n default:\n return !1;\n }\n try {\n const i = e.view.state, s = i.selection;\n if (s.empty || s instanceof ut) {\n const o = Jt({\n editor: e,\n node: i.selection.$anchor.node(1)\n })?.pos;\n if (!St(o)) return !1;\n }\n return !0;\n } catch {\n return !1;\n }\n}\nfunction os(e, t) {\n if (!e || !e.isEditable) return !1;\n switch (t) {\n case \"bulletList\":\n return e.isActive(\"bulletList\");\n case \"orderedList\":\n return e.isActive(\"orderedList\");\n case \"taskList\":\n return e.isActive(\"taskList\");\n default:\n return !1;\n }\n}\nfunction Ch(e, t) {\n if (!e || !e.isEditable || !_r(e, t)) return !1;\n try {\n const n = e.view;\n let r = n.state, i = r.tr;\n if (r.selection.empty || r.selection instanceof ut) {\n const l = Jt({\n editor: e,\n node: r.selection.$anchor.node(1)\n })?.pos;\n if (!St(l)) return !1;\n i = i.setSelection(wt.create(r.doc, l)), n.dispatch(i), r = n.state;\n }\n const s = r.selection;\n let o = e.chain().focus();\n if (s instanceof wt) {\n const l = s.node.firstChild?.firstChild, c = s.node.lastChild?.lastChild, a = l ? s.from + l.nodeSize : s.from + 1, u = c ? s.to - c.nodeSize : s.to - 1;\n o = o.setTextSelection({ from: a, to: u }).clearNodes();\n }\n if (e.isActive(t))\n o.liftListItem(\"listItem\").lift(\"bulletList\").lift(\"orderedList\").lift(\"taskList\").run();\n else {\n const c = {\n bulletList: () => o.toggleBulletList(),\n orderedList: () => o.toggleOrderedList(),\n taskList: () => o.toggleList(\"taskList\", \"taskItem\")\n }[t];\n if (!c) return !1;\n c().run();\n }\n return e.chain().focus().selectTextblockEnd().run(), !0;\n } catch {\n return !1;\n }\n}\nfunction mh(e) {\n const { editor: t, type: n, hideWhenUnavailable: r } = e;\n return !t || !t.isEditable || !Ot(n, t) ? !1 : r && !t.isActive(\"code\") ? _r(t, n) : !0;\n}\nfunction wh(e) {\n const {\n editor: t,\n type: n,\n hideWhenUnavailable: r = !1,\n onToggled: i\n } = e, { editor: s } = N(t), [o, l] = p.useState(!0), c = _r(s, n), a = os(s, n);\n p.useEffect(() => {\n if (!s) return;\n const d = () => {\n l(mh({ editor: s, type: n, hideWhenUnavailable: r }));\n };\n return d(), s.on(\"selectionUpdate\", d), () => {\n s.off(\"selectionUpdate\", d);\n };\n }, [s, n, r]);\n const u = p.useCallback(() => {\n if (!s) return !1;\n const d = Ch(s, n);\n return d && i?.(), d;\n }, [s, n, i]);\n return {\n isVisible: o,\n isActive: a,\n handleToggle: u,\n canToggle: c,\n label: ph[n],\n shortcutKeys: Jl[n],\n Icon: ql[n]\n };\n}\nconst bh = [\n {\n label: \"Bullet List\",\n type: \"bulletList\",\n icon: Ar\n },\n {\n label: \"Ordered List\",\n type: \"orderedList\",\n icon: is\n },\n {\n label: \"Task List\",\n type: \"taskList\",\n icon: ss\n }\n];\nfunction yh(e, t) {\n return !e || !e.isEditable ? !1 : t.some((n) => _r(e, n));\n}\nfunction kh(e, t) {\n return !e || !e.isEditable ? !1 : t.some((n) => os(e, n));\n}\nfunction vh(e) {\n return bh.filter(\n (t) => !t.type || e.includes(t.type)\n );\n}\nfunction Sh(e) {\n const { editor: t, hideWhenUnavailable: n, listInSchema: r, canToggleAny: i } = e;\n return !r || !t ? !1 : n && !t.isActive(\"code\") ? i : !0;\n}\nfunction Eh(e, t) {\n if (!(!e || !e.isEditable))\n return t.find((n) => os(e, n));\n}\nfunction xh(e) {\n const {\n editor: t,\n types: n = [\"bulletList\", \"orderedList\", \"taskList\"],\n hideWhenUnavailable: r = !1\n } = e || {}, { editor: i } = N(t), [s, o] = p.useState(!1), l = n.some((g) => Ot(g, i)), c = p.useMemo(\n () => vh(n),\n [n]\n ), a = yh(i, n), u = kh(i, n), d = Eh(i, n), f = c.find((g) => g.type === d);\n return p.useEffect(() => {\n if (!i) return;\n const g = () => {\n o(\n Sh({\n editor: i,\n hideWhenUnavailable: r,\n listInSchema: l,\n canToggleAny: a\n })\n );\n };\n return g(), i.on(\"selectionUpdate\", g), () => {\n i.off(\"selectionUpdate\", g);\n };\n }, [a, i, r, l, n]), {\n isVisible: s,\n activeType: d,\n isActive: u,\n canToggle: a,\n types: n,\n filteredLists: c,\n label: \"List\",\n Icon: f ? ql[f.type] : Ar\n };\n}\nfunction Lh({\n editor: e,\n types: t = [\"bulletList\", \"orderedList\", \"taskList\"],\n hideWhenUnavailable: n = !1,\n onOpenChange: r,\n portal: i = !1,\n ...s\n}) {\n const { editor: o } = N(e), [l, c] = p.useState(!1), { filteredLists: a, canToggle: u, isActive: d, isVisible: f, Icon: g } = xh({\n editor: o,\n types: t,\n hideWhenUnavailable: n\n }), C = p.useCallback(\n (m) => {\n c(m), r?.(m);\n },\n [r]\n );\n return !f || !o || !o.isEditable ? null : /* @__PURE__ */ k(zl, { open: l, onOpenChange: C, children: [\n /* @__PURE__ */ h(ts, { asChild: !0, children: /* @__PURE__ */ k(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n \"data-active-state\": d ? \"on\" : \"off\",\n role: \"button\",\n tabIndex: -1,\n disabled: !u,\n \"data-disabled\": !u,\n \"aria-label\": \"List options\",\n tooltip: \"List\",\n ...s,\n children: [\n /* @__PURE__ */ h(g, { className: \"tiptap-button-icon\" }),\n /* @__PURE__ */ h(Qi, { className: \"tiptap-button-dropdown-small\" })\n ]\n }\n ) }),\n /* @__PURE__ */ h(es, { align: \"start\", portal: i, children: /* @__PURE__ */ h(an, { children: /* @__PURE__ */ h(un, { children: /* @__PURE__ */ h(he, { children: a.map((m) => /* @__PURE__ */ h(Zl, { asChild: !0, children: /* @__PURE__ */ h(\n Yl,\n {\n editor: o,\n type: m.type,\n text: m.label,\n showTooltip: !1\n }\n ) }, m.type)) }) }) }) })\n ] });\n}\nfunction Ah({\n shortcutKeys: e = tc\n}) {\n return /* @__PURE__ */ h(Et, { children: vt({ shortcutKeys: e }) });\n}\nconst Ql = p.forwardRef(\n ({\n editor: e,\n text: t,\n hideWhenUnavailable: n = !1,\n onToggled: r,\n showShortcut: i = !1,\n onClick: s,\n children: o,\n ...l\n }, c) => {\n const { editor: a } = N(e), {\n isVisible: u,\n canToggle: d,\n isActive: f,\n handleToggle: g,\n label: C,\n shortcutKeys: m,\n Icon: y\n } = Ih({\n editor: a,\n hideWhenUnavailable: n,\n onToggled: r\n }), w = p.useCallback(\n (v) => {\n s?.(v), !v.defaultPrevented && g();\n },\n [g, s]\n );\n return u ? /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n \"data-active-state\": f ? \"on\" : \"off\",\n role: \"button\",\n tabIndex: -1,\n disabled: !d,\n \"data-disabled\": !d,\n \"aria-label\": C,\n \"aria-pressed\": f,\n tooltip: \"Blockquote\",\n onClick: w,\n ...l,\n ref: c,\n children: o ?? /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(y, { className: \"tiptap-button-icon\" }),\n t && /* @__PURE__ */ h(\"span\", { className: \"tiptap-button-text\", children: t }),\n i && /* @__PURE__ */ h(Ah, { shortcutKeys: m })\n ] })\n }\n ) : null;\n }\n);\nQl.displayName = \"BlockquoteButton\";\nconst Xl = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 6C8 5.44772 8.44772 5 9 5H16C16.5523 5 17 5.44772 17 6C17 6.55228 16.5523 7 16 7H9C8.44772 7 8 6.55228 8 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4 3C4.55228 3 5 3.44772 5 4L5 20C5 20.5523 4.55229 21 4 21C3.44772 21 3 20.5523 3 20L3 4C3 3.44772 3.44772 3 4 3Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 12C8 11.4477 8.44772 11 9 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H9C8.44772 13 8 12.5523 8 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 18C8 17.4477 8.44772 17 9 17H16C16.5523 17 17 17.4477 17 18C17 18.5523 16.5523 19 16 19H9C8.44772 19 8 18.5523 8 18Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nXl.displayName = \"BlockquoteIcon\";\nconst tc = \"mod+shift+b\";\nfunction ls(e, t = !0) {\n if (!e || !e.isEditable || !Ot(\"blockquote\", e) || Ut(e, [\"image\"]))\n return !1;\n if (!t)\n return e.can().toggleWrap(\"blockquote\");\n try {\n const r = e.view.state, i = r.selection;\n if (i.empty || i instanceof ut) {\n const s = Jt({\n editor: e,\n node: r.selection.$anchor.node(1)\n })?.pos;\n if (!St(s)) return !1;\n }\n return !0;\n } catch {\n return !1;\n }\n}\nfunction _h(e) {\n if (!e || !e.isEditable || !ls(e)) return !1;\n try {\n const t = e.view;\n let n = t.state, r = n.tr;\n if (n.selection.empty || n.selection instanceof ut) {\n const l = Jt({\n editor: e,\n node: n.selection.$anchor.node(1)\n })?.pos;\n if (!St(l)) return !1;\n r = r.setSelection(wt.create(n.doc, l)), t.dispatch(r), n = t.state;\n }\n const i = n.selection;\n let s = e.chain().focus();\n if (i instanceof wt) {\n const l = i.node.firstChild?.firstChild, c = i.node.lastChild?.lastChild, a = l ? i.from + l.nodeSize : i.from + 1, u = c ? i.to - c.nodeSize : i.to - 1;\n s = s.setTextSelection({ from: a, to: u }).clearNodes();\n }\n return (e.isActive(\"blockquote\") ? s.lift(\"blockquote\") : s.wrapIn(\"blockquote\")).run(), e.chain().focus().selectTextblockEnd().run(), !0;\n } catch {\n return !1;\n }\n}\nfunction Th(e) {\n const { editor: t, hideWhenUnavailable: n } = e;\n return !t || !t.isEditable || !Ot(\"blockquote\", t) ? !1 : n && !t.isActive(\"code\") ? ls(t) : !0;\n}\nfunction Ih(e) {\n const {\n editor: t,\n hideWhenUnavailable: n = !1,\n onToggled: r\n } = e || {}, { editor: i } = N(t), [s, o] = p.useState(!0), l = ls(i), c = i?.isActive(\"blockquote\") || !1;\n p.useEffect(() => {\n if (!i) return;\n const u = () => {\n o(Th({ editor: i, hideWhenUnavailable: n }));\n };\n return u(), i.on(\"selectionUpdate\", u), () => {\n i.off(\"selectionUpdate\", u);\n };\n }, [i, n]);\n const a = p.useCallback(() => {\n if (!i) return !1;\n const u = _h(i);\n return u && r?.(), u;\n }, [i, r]);\n return {\n isVisible: s,\n isActive: c,\n handleToggle: a,\n canToggle: l,\n label: \"Blockquote\",\n shortcutKeys: tc,\n Icon: Xl\n };\n}\nfunction Rh({\n shortcutKeys: e = rc\n}) {\n return /* @__PURE__ */ h(Et, { children: vt({ shortcutKeys: e }) });\n}\nconst ec = p.forwardRef(\n ({\n editor: e,\n text: t,\n hideWhenUnavailable: n = !1,\n onToggled: r,\n showShortcut: i = !1,\n onClick: s,\n children: o,\n ...l\n }, c) => {\n const { editor: a } = N(e), {\n isVisible: u,\n canToggle: d,\n isActive: f,\n handleToggle: g,\n label: C,\n shortcutKeys: m,\n Icon: y\n } = Hh({\n editor: a,\n hideWhenUnavailable: n,\n onToggled: r\n }), w = p.useCallback(\n (v) => {\n s?.(v), !v.defaultPrevented && g();\n },\n [g, s]\n );\n return u ? /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n \"data-active-state\": f ? \"on\" : \"off\",\n role: \"button\",\n disabled: !d,\n \"data-disabled\": !d,\n tabIndex: -1,\n \"aria-label\": C,\n \"aria-pressed\": f,\n tooltip: \"Code Block\",\n onClick: w,\n ...l,\n ref: c,\n children: o ?? /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(y, { className: \"tiptap-button-icon\" }),\n t && /* @__PURE__ */ h(\"span\", { className: \"tiptap-button-text\", children: t }),\n i && /* @__PURE__ */ h(Rh, { shortcutKeys: m })\n ] })\n }\n ) : null;\n }\n);\nec.displayName = \"CodeBlockButton\";\nconst nc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.70711 2.29289C7.09763 2.68342 7.09763 3.31658 6.70711 3.70711L4.41421 6L6.70711 8.29289C7.09763 8.68342 7.09763 9.31658 6.70711 9.70711C6.31658 10.0976 5.68342 10.0976 5.29289 9.70711L2.29289 6.70711C1.90237 6.31658 1.90237 5.68342 2.29289 5.29289L5.29289 2.29289C5.68342 1.90237 6.31658 1.90237 6.70711 2.29289Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.2929 2.29289C10.6834 1.90237 11.3166 1.90237 11.7071 2.29289L14.7071 5.29289C15.0976 5.68342 15.0976 6.31658 14.7071 6.70711L11.7071 9.70711C11.3166 10.0976 10.6834 10.0976 10.2929 9.70711C9.90237 9.31658 9.90237 8.68342 10.2929 8.29289L12.5858 6L10.2929 3.70711C9.90237 3.31658 9.90237 2.68342 10.2929 2.29289Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17 4C17 3.44772 17.4477 3 18 3H19C20.6569 3 22 4.34315 22 6V18C22 19.6569 20.6569 21 19 21H5C3.34315 21 2 19.6569 2 18V12C2 11.4477 2.44772 11 3 11C3.55228 11 4 11.4477 4 12V18C4 18.5523 4.44772 19 5 19H19C19.5523 19 20 18.5523 20 18V6C20 5.44772 19.5523 5 19 5H18C17.4477 5 17 4.55228 17 4Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nnc.displayName = \"CodeBlockIcon\";\nconst rc = \"mod+alt+c\";\nfunction cs(e, t = !0) {\n if (!e || !e.isEditable || !Ot(\"codeBlock\", e) || Ut(e, [\"image\"]))\n return !1;\n if (!t)\n return e.can().toggleNode(\"codeBlock\", \"paragraph\");\n try {\n const r = e.view.state, i = r.selection;\n if (i.empty || i instanceof ut) {\n const s = Jt({\n editor: e,\n node: r.selection.$anchor.node(1)\n })?.pos;\n if (!St(s)) return !1;\n }\n return !0;\n } catch {\n return !1;\n }\n}\nfunction Mh(e) {\n if (!e || !e.isEditable || !cs(e)) return !1;\n try {\n const t = e.view;\n let n = t.state, r = n.tr;\n if (n.selection.empty || n.selection instanceof ut) {\n const l = Jt({\n editor: e,\n node: n.selection.$anchor.node(1)\n })?.pos;\n if (!St(l)) return !1;\n r = r.setSelection(wt.create(n.doc, l)), t.dispatch(r), n = t.state;\n }\n const i = n.selection;\n let s = e.chain().focus();\n if (i instanceof wt) {\n const l = i.node.firstChild?.firstChild, c = i.node.lastChild?.lastChild, a = l ? i.from + l.nodeSize : i.from + 1, u = c ? i.to - c.nodeSize : i.to - 1;\n s = s.setTextSelection({ from: a, to: u }).clearNodes();\n }\n return (e.isActive(\"codeBlock\") ? s.setNode(\"paragraph\") : s.toggleNode(\"codeBlock\", \"paragraph\")).run(), e.chain().focus().selectTextblockEnd().run(), !0;\n } catch {\n return !1;\n }\n}\nfunction Nh(e) {\n const { editor: t, hideWhenUnavailable: n } = e;\n return !t || !t.isEditable || !Ot(\"codeBlock\", t) ? !1 : n && !t.isActive(\"code\") ? cs(t) : !0;\n}\nfunction Hh(e) {\n const {\n editor: t,\n hideWhenUnavailable: n = !1,\n onToggled: r\n } = e || {}, { editor: i } = N(t), [s, o] = p.useState(!0), l = cs(i), c = i?.isActive(\"codeBlock\") || !1;\n p.useEffect(() => {\n if (!i) return;\n const u = () => {\n o(Nh({ editor: i, hideWhenUnavailable: n }));\n };\n return u(), i.on(\"selectionUpdate\", u), () => {\n i.off(\"selectionUpdate\", u);\n };\n }, [i, n]);\n const a = p.useCallback(() => {\n if (!i) return !1;\n const u = Mh(i);\n return u && r?.(), u;\n }, [i, r]);\n return {\n isVisible: s,\n isActive: c,\n handleToggle: a,\n canToggle: l,\n label: \"Code Block\",\n shortcutKeys: rc,\n Icon: nc\n };\n}\nconst ic = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.43471 4.01458C4.34773 4.06032 4.26607 4.11977 4.19292 4.19292C4.11977 4.26607 4.06032 4.34773 4.01458 4.43471C2.14611 6.40628 1 9.0693 1 12C1 18.0751 5.92487 23 12 23C14.9306 23 17.5936 21.854 19.5651 19.9856C19.6522 19.9398 19.7339 19.8803 19.8071 19.8071C19.8803 19.7339 19.9398 19.6522 19.9856 19.5651C21.854 17.5936 23 14.9306 23 12C23 5.92487 18.0751 1 12 1C9.0693 1 6.40628 2.14611 4.43471 4.01458ZM6.38231 4.9681C7.92199 3.73647 9.87499 3 12 3C16.9706 3 21 7.02944 21 12C21 14.125 20.2635 16.078 19.0319 17.6177L6.38231 4.9681ZM17.6177 19.0319C16.078 20.2635 14.125 21 12 21C7.02944 21 3 16.9706 3 12C3 9.87499 3.73647 7.92199 4.9681 6.38231L17.6177 19.0319Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nic.displayName = \"BanIcon\";\nconst Tr = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.7072 4.70711C15.0977 4.31658 15.0977 3.68342 14.7072 3.29289C14.3167 2.90237 13.6835 2.90237 13.293 3.29289L8.69294 7.89286L8.68594 7.9C8.13626 8.46079 7.82837 9.21474 7.82837 10C7.82837 10.2306 7.85491 10.4584 7.90631 10.6795L2.29289 16.2929C2.10536 16.4804 2 16.7348 2 17V20C2 20.5523 2.44772 21 3 21H12C12.2652 21 12.5196 20.8946 12.7071 20.7071L15.3205 18.0937C15.5416 18.1452 15.7695 18.1717 16.0001 18.1717C16.7853 18.1717 17.5393 17.8639 18.1001 17.3142L22.7072 12.7071C23.0977 12.3166 23.0977 11.6834 22.7072 11.2929C22.3167 10.9024 21.6835 10.9024 21.293 11.2929L16.6971 15.8887C16.5105 16.0702 16.2605 16.1717 16.0001 16.1717C15.7397 16.1717 15.4897 16.0702 15.303 15.8887L10.1113 10.697C9.92992 10.5104 9.82837 10.2604 9.82837 10C9.82837 9.73963 9.92992 9.48958 10.1113 9.30297L14.7072 4.70711ZM13.5858 17L9.00004 12.4142L4 17.4142V19H11.5858L13.5858 17Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nTr.displayName = \"HighlighterIcon\";\nfunction sc({\n ...e\n}) {\n return /* @__PURE__ */ h(In.Root, { ...e });\n}\nfunction oc({\n ...e\n}) {\n return /* @__PURE__ */ h(In.Trigger, { ...e });\n}\nfunction lc({\n className: e,\n align: t = \"center\",\n sideOffset: n = 4,\n ...r\n}) {\n return /* @__PURE__ */ h(In.Portal, { children: /* @__PURE__ */ h(\n In.Content,\n {\n align: t,\n sideOffset: n,\n className: z(\"tiptap-popover\", e),\n ...r\n }\n ) });\n}\nfunction Dh({\n shortcutKeys: e = vi\n}) {\n return /* @__PURE__ */ h(Et, { children: vt({ shortcutKeys: e }) });\n}\nconst cc = p.forwardRef(\n ({\n editor: e,\n highlightColor: t,\n text: n,\n hideWhenUnavailable: r = !1,\n onApplied: i,\n showShortcut: s = !1,\n onClick: o,\n children: l,\n style: c,\n ...a\n }, u) => {\n const { editor: d } = N(e), {\n isVisible: f,\n canColorHighlight: g,\n isActive: C,\n handleColorHighlight: m,\n label: y,\n shortcutKeys: w\n } = us({\n editor: d,\n highlightColor: t,\n label: n || `Toggle highlight (${t})`,\n hideWhenUnavailable: r,\n onApplied: i\n }), v = p.useCallback(\n (Y) => {\n o?.(Y), !Y.defaultPrevented && m();\n },\n [m, o]\n ), A = p.useMemo(\n () => ({\n ...c,\n \"--highlight-color\": t\n }),\n [t, c]\n );\n return f ? /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n \"data-style\": \"ghost\",\n \"data-active-state\": C ? \"on\" : \"off\",\n role: \"button\",\n tabIndex: -1,\n disabled: !g,\n \"data-disabled\": !g,\n \"aria-label\": y,\n \"aria-pressed\": C,\n tooltip: y,\n onClick: v,\n style: A,\n ...a,\n ref: u,\n children: l ?? /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(\n \"span\",\n {\n className: \"tiptap-button-highlight\",\n style: { \"--highlight-color\": t }\n }\n ),\n n && /* @__PURE__ */ h(\"span\", { className: \"tiptap-button-text\", children: n }),\n s && /* @__PURE__ */ h(Dh, { shortcutKeys: w })\n ] })\n }\n ) : null;\n }\n);\ncc.displayName = \"ColorHighlightButton\";\nconst vi = \"mod+shift+h\", Oh = [\n {\n label: \"Default background\",\n value: \"var(--tt-bg-color)\",\n border: \"var(--tt-bg-color-contrast)\"\n },\n {\n label: \"Gray background\",\n value: \"var(--tt-color-highlight-gray)\",\n border: \"var(--tt-color-highlight-gray-contrast)\"\n },\n {\n label: \"Brown background\",\n value: \"var(--tt-color-highlight-brown)\",\n border: \"var(--tt-color-highlight-brown-contrast)\"\n },\n {\n label: \"Orange background\",\n value: \"var(--tt-color-highlight-orange)\",\n border: \"var(--tt-color-highlight-orange-contrast)\"\n },\n {\n label: \"Yellow background\",\n value: \"var(--tt-color-highlight-yellow)\",\n border: \"var(--tt-color-highlight-yellow-contrast)\"\n },\n {\n label: \"Green background\",\n value: \"var(--tt-color-highlight-green)\",\n border: \"var(--tt-color-highlight-green-contrast)\"\n },\n {\n label: \"Blue background\",\n value: \"var(--tt-color-highlight-blue)\",\n border: \"var(--tt-color-highlight-blue-contrast)\"\n },\n {\n label: \"Purple background\",\n value: \"var(--tt-color-highlight-purple)\",\n border: \"var(--tt-color-highlight-purple-contrast)\"\n },\n {\n label: \"Pink background\",\n value: \"var(--tt-color-highlight-pink)\",\n border: \"var(--tt-color-highlight-pink-contrast)\"\n },\n {\n label: \"Red background\",\n value: \"var(--tt-color-highlight-red)\",\n border: \"var(--tt-color-highlight-red-contrast)\"\n }\n];\nfunction ac(e) {\n const t = new Map(\n Oh.map((n) => [n.value, n])\n );\n return e.map((n) => t.get(n)).filter((n) => !!n);\n}\nfunction as(e) {\n return !e || !e.isEditable || !cn(\"highlight\", e) || Ut(e, [\"image\"]) ? !1 : e.can().setMark(\"highlight\");\n}\nfunction Uh(e, t) {\n return !e || !e.isEditable ? !1 : t ? e.isActive(\"highlight\", { color: t }) : e.isActive(\"highlight\");\n}\nfunction Vh(e) {\n return !e || !e.isEditable || !as(e) ? !1 : e.chain().focus().unsetMark(\"highlight\").run();\n}\nfunction Bh(e) {\n const { editor: t, hideWhenUnavailable: n } = e;\n return !t || !t.isEditable || !cn(\"highlight\", t) ? !1 : n && !t.isActive(\"code\") ? as(t) : !0;\n}\nfunction us(e) {\n const {\n editor: t,\n label: n,\n highlightColor: r,\n hideWhenUnavailable: i = !1,\n onApplied: s\n } = e, { editor: o } = N(t), l = dn(), [c, a] = p.useState(!0), u = as(o), d = Uh(o, r);\n p.useEffect(() => {\n if (!o) return;\n const C = () => {\n a(Bh({ editor: o, hideWhenUnavailable: i }));\n };\n return C(), o.on(\"selectionUpdate\", C), () => {\n o.off(\"selectionUpdate\", C);\n };\n }, [o, i]);\n const f = p.useCallback(() => {\n if (!o || !u || !r || !n)\n return !1;\n if (o.state.storedMarks) {\n const C = o.schema.marks.highlight;\n C && o.view.dispatch(\n o.state.tr.removeStoredMark(C)\n );\n }\n setTimeout(() => {\n const C = o.chain().focus().toggleMark(\"highlight\", { color: r }).run();\n return C && s?.({ color: r, label: n }), C;\n }, 0);\n }, [u, r, o, n, s]), g = p.useCallback(() => {\n const C = Vh(o);\n return C && s?.({ color: \"\", label: \"Remove highlight\" }), C;\n }, [o, s]);\n return ho(\n vi,\n (C) => {\n C.preventDefault(), f();\n },\n {\n enabled: c && u,\n enableOnContentEditable: !l,\n enableOnFormTags: !0\n }\n ), {\n isVisible: c,\n isActive: d,\n handleColorHighlight: f,\n handleRemoveHighlight: g,\n canColorHighlight: u,\n label: n || \"Highlight\",\n shortcutKeys: vi,\n Icon: Tr\n };\n}\nconst ds = p.forwardRef(({ className: e, children: t, ...n }, r) => /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n className: e,\n \"data-style\": \"ghost\",\n \"data-appearance\": \"default\",\n role: \"button\",\n tabIndex: -1,\n \"aria-label\": \"Highlight text\",\n tooltip: \"Highlight\",\n ref: r,\n ...n,\n children: t ?? /* @__PURE__ */ h(Tr, { className: \"tiptap-button-icon\" })\n }\n));\nds.displayName = \"ColorHighlightPopoverButton\";\nfunction uc({\n editor: e,\n colors: t = ac([\n \"var(--tt-color-highlight-green)\",\n \"var(--tt-color-highlight-blue)\",\n \"var(--tt-color-highlight-red)\",\n \"var(--tt-color-highlight-purple)\",\n \"var(--tt-color-highlight-yellow)\"\n ])\n}) {\n const { handleRemoveHighlight: n } = us({ editor: e }), r = dn(), i = p.useRef(null), s = p.useMemo(\n () => [...t, { label: \"Remove highlight\", value: \"none\" }],\n [t]\n ), { selectedIndex: o } = _l({\n containerRef: i,\n items: s,\n orientation: \"both\",\n onSelect: (l) => {\n if (!i.current) return !1;\n const c = i.current.querySelector(\n '[data-highlighted=\"true\"]'\n );\n c && c.click(), l.value === \"none\" && n();\n },\n autoSelectFirstItem: !1\n });\n return /* @__PURE__ */ h(\n an,\n {\n ref: i,\n tabIndex: 0,\n style: r ? { boxShadow: \"none\", border: 0 } : {},\n children: /* @__PURE__ */ h(un, { style: r ? { padding: 0 } : {}, children: /* @__PURE__ */ k(ns, { orientation: \"horizontal\", children: [\n /* @__PURE__ */ h(he, { orientation: \"horizontal\", children: t.map((l, c) => /* @__PURE__ */ h(\n cc,\n {\n editor: e,\n highlightColor: l.value,\n tooltip: l.label,\n \"aria-label\": `${l.label} highlight color`,\n tabIndex: c === o ? 0 : -1,\n \"data-highlighted\": o === c\n },\n l.value\n )) }),\n /* @__PURE__ */ h(Lr, {}),\n /* @__PURE__ */ h(he, { orientation: \"horizontal\", children: /* @__PURE__ */ h(\n H,\n {\n onClick: n,\n \"aria-label\": \"Remove highlight\",\n tooltip: \"Remove highlight\",\n tabIndex: o === t.length ? 0 : -1,\n type: \"button\",\n role: \"menuitem\",\n \"data-style\": \"ghost\",\n \"data-highlighted\": o === t.length,\n children: /* @__PURE__ */ h(ic, { className: \"tiptap-button-icon\" })\n }\n ) })\n ] }) })\n }\n );\n}\nfunction Ph({\n editor: e,\n colors: t = ac([\n \"var(--tt-color-highlight-green)\",\n \"var(--tt-color-highlight-blue)\",\n \"var(--tt-color-highlight-red)\",\n \"var(--tt-color-highlight-purple)\",\n \"var(--tt-color-highlight-yellow)\"\n ]),\n hideWhenUnavailable: n = !1,\n onApplied: r,\n ...i\n}) {\n const { editor: s } = N(e), [o, l] = p.useState(!1), { isVisible: c, canColorHighlight: a, isActive: u, label: d, Icon: f } = us({\n editor: s,\n hideWhenUnavailable: n,\n onApplied: r\n });\n return c ? /* @__PURE__ */ k(sc, { open: o, onOpenChange: l, children: [\n /* @__PURE__ */ h(oc, { asChild: !0, children: /* @__PURE__ */ h(\n ds,\n {\n disabled: !a,\n \"data-active-state\": u ? \"on\" : \"off\",\n \"data-disabled\": !a,\n \"aria-pressed\": u,\n \"aria-label\": d,\n tooltip: d,\n ...i,\n children: /* @__PURE__ */ h(f, { className: \"tiptap-button-icon\" })\n }\n ) }),\n /* @__PURE__ */ h(lc, { \"aria-label\": \"Highlight colors\", children: /* @__PURE__ */ h(uc, { editor: s, colors: t }) })\n ] }) : null;\n}\nconst dc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21 4C21 3.44772 20.5523 3 20 3C19.4477 3 19 3.44772 19 4V11C19 11.7956 18.6839 12.5587 18.1213 13.1213C17.5587 13.6839 16.7956 14 16 14H6.41421L9.70711 10.7071C10.0976 10.3166 10.0976 9.68342 9.70711 9.29289C9.31658 8.90237 8.68342 8.90237 8.29289 9.29289L3.29289 14.2929C2.90237 14.6834 2.90237 15.3166 3.29289 15.7071L8.29289 20.7071C8.68342 21.0976 9.31658 21.0976 9.70711 20.7071C10.0976 20.3166 10.0976 19.6834 9.70711 19.2929L6.41421 16H16C17.3261 16 18.5979 15.4732 19.5355 14.5355C20.4732 13.5979 21 12.3261 21 11V4Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\ndc.displayName = \"CornerDownLeftIcon\";\nconst hc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M14 3C14 2.44772 14.4477 2 15 2H21C21.5523 2 22 2.44772 22 3V9C22 9.55228 21.5523 10 21 10C20.4477 10 20 9.55228 20 9V5.41421L10.7071 14.7071C10.3166 15.0976 9.68342 15.0976 9.29289 14.7071C8.90237 14.3166 8.90237 13.6834 9.29289 13.2929L18.5858 4H15C14.4477 4 14 3.55228 14 3Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M4.29289 7.29289C4.48043 7.10536 4.73478 7 5 7H11C11.5523 7 12 6.55228 12 6C12 5.44772 11.5523 5 11 5H5C4.20435 5 3.44129 5.31607 2.87868 5.87868C2.31607 6.44129 2 7.20435 2 8V19C2 19.7957 2.31607 20.5587 2.87868 21.1213C3.44129 21.6839 4.20435 22 5 22H16C16.7957 22 17.5587 21.6839 18.1213 21.1213C18.6839 20.5587 19 19.7957 19 19V13C19 12.4477 18.5523 12 18 12C17.4477 12 17 12.4477 17 13V19C17 19.2652 16.8946 19.5196 16.7071 19.7071C16.5196 19.8946 16.2652 20 16 20H5C4.73478 20 4.48043 19.8946 4.29289 19.7071C4.10536 19.5196 4 19.2652 4 19V8C4 7.73478 4.10536 7.48043 4.29289 7.29289Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nhc.displayName = \"ExternalLinkIcon\";\nconst Ir = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M16.9958 1.06669C15.4226 1.05302 13.907 1.65779 12.7753 2.75074L12.765 2.76086L11.045 4.47086C10.6534 4.86024 10.6515 5.49341 11.0409 5.88507C11.4303 6.27673 12.0634 6.27858 12.4551 5.88919L14.1697 4.18456C14.9236 3.45893 15.9319 3.05752 16.9784 3.06662C18.0272 3.07573 19.0304 3.49641 19.772 4.23804C20.5137 4.97967 20.9344 5.98292 20.9435 7.03171C20.9526 8.07776 20.5515 9.08563 19.8265 9.83941L16.833 12.8329C16.4274 13.2386 15.9393 13.5524 15.4019 13.7529C14.8645 13.9533 14.2903 14.0359 13.7181 13.9949C13.146 13.9539 12.5894 13.7904 12.0861 13.5154C11.5827 13.2404 11.1444 12.8604 10.8008 12.401C10.47 11.9588 9.84333 11.8685 9.40108 12.1993C8.95883 12.5301 8.86849 13.1568 9.1993 13.599C9.71464 14.288 10.3721 14.858 11.1272 15.2705C11.8822 15.683 12.7171 15.9283 13.5753 15.9898C14.4334 16.0513 15.2948 15.9274 16.1009 15.6267C16.907 15.326 17.639 14.8555 18.2473 14.247L21.2472 11.2471L21.2593 11.2347C22.3523 10.1031 22.9571 8.58751 22.9434 7.01433C22.9297 5.44115 22.2987 3.93628 21.1863 2.82383C20.0738 1.71138 18.5689 1.08036 16.9958 1.06669Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M10.4247 8.0102C9.56657 7.94874 8.70522 8.07256 7.89911 8.37326C7.09305 8.67395 6.36096 9.14458 5.75272 9.753L2.75285 12.7529L2.74067 12.7653C1.64772 13.8969 1.04295 15.4125 1.05662 16.9857C1.07029 18.5589 1.70131 20.0637 2.81376 21.1762C3.9262 22.2886 5.43108 22.9196 7.00426 22.9333C8.57744 22.947 10.0931 22.3422 11.2247 21.2493L11.2371 21.2371L12.9471 19.5271C13.3376 19.1366 13.3376 18.5034 12.9471 18.1129C12.5565 17.7223 11.9234 17.7223 11.5328 18.1129L9.82932 19.8164C9.07555 20.5414 8.06768 20.9425 7.02164 20.9334C5.97285 20.9243 4.9696 20.5036 4.22797 19.762C3.48634 19.0203 3.06566 18.0171 3.05655 16.9683C3.04746 15.9222 3.44851 14.9144 4.17355 14.1606L7.16719 11.167C7.5727 10.7613 8.06071 10.4476 8.59811 10.2471C9.13552 10.0467 9.70976 9.96412 10.2819 10.0051C10.854 10.0461 11.4106 10.2096 11.9139 10.4846C12.4173 10.7596 12.8556 11.1397 13.1992 11.599C13.53 12.0412 14.1567 12.1316 14.5989 11.8007C15.0412 11.4699 15.1315 10.8433 14.8007 10.401C14.2854 9.71205 13.6279 9.14198 12.8729 8.72948C12.1178 8.31697 11.2829 8.07166 10.4247 8.0102Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nIr.displayName = \"LinkIcon\";\nconst fc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 5V4C7 3.17477 7.40255 2.43324 7.91789 1.91789C8.43324 1.40255 9.17477 1 10 1H14C14.8252 1 15.5668 1.40255 16.0821 1.91789C16.5975 2.43324 17 3.17477 17 4V5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H20V20C20 20.8252 19.5975 21.5668 19.0821 22.0821C18.5668 22.5975 17.8252 23 17 23H7C6.17477 23 5.43324 22.5975 4.91789 22.0821C4.40255 21.5668 4 20.8252 4 20V7H3C2.44772 7 2 6.55228 2 6C2 5.44772 2.44772 5 3 5H7ZM9 4C9 3.82523 9.09745 3.56676 9.33211 3.33211C9.56676 3.09745 9.82523 3 10 3H14C14.1748 3 14.4332 3.09745 14.6679 3.33211C14.9025 3.56676 15 3.82523 15 4V5H9V4ZM6 7V20C6 20.1748 6.09745 20.4332 6.33211 20.6679C6.56676 20.9025 6.82523 21 7 21H17C17.1748 21 17.4332 20.9025 17.6679 20.6679C17.9025 20.4332 18 20.1748 18 20V7H6Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nfc.displayName = \"TrashIcon\";\nfunction Fh({ className: e, type: t, ...n }) {\n return /* @__PURE__ */ h(\"input\", { type: t, className: z(\"tiptap-input\", e), ...n });\n}\nfunction zh({\n className: e,\n children: t,\n ...n\n}) {\n return /* @__PURE__ */ h(\"div\", { className: z(\"tiptap-input-group\", e), ...n, children: t });\n}\nconst hs = p.forwardRef(\n ({ className: e, children: t, ...n }, r) => /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n className: e,\n \"data-style\": \"ghost\",\n role: \"button\",\n tabIndex: -1,\n \"aria-label\": \"Link\",\n tooltip: \"Link\",\n ref: r,\n ...n,\n children: t || /* @__PURE__ */ h(Ir, { className: \"tiptap-button-icon\" })\n }\n )\n);\nhs.displayName = \"LinkButton\";\nconst gc = ({\n url: e,\n setUrl: t,\n setLink: n,\n removeLink: r,\n openLink: i,\n isActive: s\n}) => {\n const o = dn(), l = (c) => {\n c.key === \"Enter\" && (c.preventDefault(), n());\n };\n return /* @__PURE__ */ h(\n an,\n {\n style: {\n ...o ? { boxShadow: \"none\", border: 0 } : {}\n },\n children: /* @__PURE__ */ h(\n un,\n {\n style: {\n ...o ? { padding: 0 } : {}\n },\n children: /* @__PURE__ */ k(ns, { orientation: \"horizontal\", children: [\n /* @__PURE__ */ h(zh, { children: /* @__PURE__ */ h(\n Fh,\n {\n type: \"url\",\n placeholder: \"Paste a link...\",\n value: e,\n onChange: (c) => t(c.target.value),\n onKeyDown: l,\n autoFocus: !0,\n autoComplete: \"off\",\n autoCorrect: \"off\",\n autoCapitalize: \"off\"\n }\n ) }),\n /* @__PURE__ */ h(he, { orientation: \"horizontal\", children: /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n onClick: n,\n title: \"Apply link\",\n disabled: !e && !s,\n \"data-style\": \"ghost\",\n children: /* @__PURE__ */ h(dc, { className: \"tiptap-button-icon\" })\n }\n ) }),\n /* @__PURE__ */ h(Lr, {}),\n /* @__PURE__ */ k(he, { orientation: \"horizontal\", children: [\n /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n onClick: i,\n title: \"Open in new window\",\n disabled: !e && !s,\n \"data-style\": \"ghost\",\n children: /* @__PURE__ */ h(hc, { className: \"tiptap-button-icon\" })\n }\n ),\n /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n onClick: r,\n title: \"Remove link\",\n disabled: !e && !s,\n \"data-style\": \"ghost\",\n children: /* @__PURE__ */ h(fc, { className: \"tiptap-button-icon\" })\n }\n )\n ] })\n ] })\n }\n )\n }\n );\n}, jh = ({ editor: e }) => {\n const t = wc({\n editor: e\n });\n return /* @__PURE__ */ h(gc, { ...t });\n}, pc = p.forwardRef(\n ({\n editor: e,\n hideWhenUnavailable: t = !1,\n onSetLink: n,\n onOpenChange: r,\n autoOpenOnLinkActive: i = !0,\n onClick: s,\n children: o,\n ...l\n }, c) => {\n const { editor: a } = N(e), [u, d] = p.useState(!1), {\n isVisible: f,\n canSet: g,\n isActive: C,\n url: m,\n setUrl: y,\n setLink: w,\n removeLink: v,\n openLink: A,\n label: Y,\n Icon: _\n } = wc({\n editor: a,\n hideWhenUnavailable: t,\n onSetLink: n\n }), Vt = p.useCallback(\n (it) => {\n d(it), r?.(it);\n },\n [r]\n ), Ce = p.useCallback(() => {\n w(), d(!1);\n }, [w]), Qt = p.useCallback(\n (it) => {\n s?.(it), !it.defaultPrevented && d(!u);\n },\n [s, u]\n );\n return p.useEffect(() => {\n i && C && d(!0);\n }, [i, C]), f ? /* @__PURE__ */ k(sc, { open: u, onOpenChange: Vt, children: [\n /* @__PURE__ */ h(oc, { asChild: !0, children: /* @__PURE__ */ h(\n hs,\n {\n disabled: !g,\n \"data-active-state\": C ? \"on\" : \"off\",\n \"data-disabled\": !g,\n \"aria-label\": Y,\n \"aria-pressed\": C,\n onClick: Qt,\n ...l,\n ref: c,\n children: o ?? /* @__PURE__ */ h(_, { className: \"tiptap-button-icon\" })\n }\n ) }),\n /* @__PURE__ */ h(lc, { children: /* @__PURE__ */ h(\n gc,\n {\n url: m,\n setUrl: y,\n setLink: Ce,\n removeLink: v,\n openLink: A,\n isActive: C\n }\n ) })\n ] }) : null;\n }\n);\npc.displayName = \"LinkPopover\";\nfunction Cc(e) {\n return !e || !e.isEditable ? !1 : e.can().setMark(\"link\");\n}\nfunction mc(e) {\n return !e || !e.isEditable ? !1 : e.isActive(\"link\");\n}\nfunction Zh(e) {\n const { editor: t, hideWhenUnavailable: n } = e;\n return !cn(\"link\", t) || !t ? !1 : n && !t.isActive(\"code\") ? Cc(t) : !0;\n}\nfunction $h(e) {\n const { editor: t, onSetLink: n } = e, [r, i] = p.useState(null);\n p.useEffect(() => {\n if (!t) return;\n const { href: c } = t.getAttributes(\"link\");\n mc(t) && r === null && i(c || \"\");\n }, [t, r]), p.useEffect(() => {\n if (!t) return;\n const c = () => {\n const { href: a } = t.getAttributes(\"link\");\n i(a || \"\");\n };\n return t.on(\"selectionUpdate\", c), () => {\n t.off(\"selectionUpdate\", c);\n };\n }, [t]);\n const s = p.useCallback(() => {\n if (!r || !t) return;\n const { selection: c } = t.state, a = c.empty;\n let u = t.chain().focus();\n u = u.extendMarkRange(\"link\").setLink({ href: r }), a && (u = u.insertContent({ type: \"text\", text: r })), u.run(), i(null), n?.();\n }, [t, n, r]), o = p.useCallback(() => {\n t && (t.chain().focus().extendMarkRange(\"link\").unsetLink().setMeta(\"preventAutolink\", !0).run(), i(\"\"));\n }, [t]), l = p.useCallback(\n (c = \"_blank\", a = \"noopener,noreferrer\") => {\n if (!r) return;\n const u = z2(r, window.location.href);\n u !== \"#\" && window.open(u, c, a);\n },\n [r]\n );\n return {\n url: r || \"\",\n setUrl: i,\n setLink: s,\n removeLink: o,\n openLink: l\n };\n}\nfunction Wh(e) {\n const { editor: t, hideWhenUnavailable: n = !1 } = e, r = Cc(t), i = mc(t), [s, o] = p.useState(!1);\n return p.useEffect(() => {\n if (!t) return;\n const l = () => {\n o(\n Zh({\n editor: t,\n hideWhenUnavailable: n\n })\n );\n };\n return l(), t.on(\"selectionUpdate\", l), () => {\n t.off(\"selectionUpdate\", l);\n };\n }, [t, n]), {\n isVisible: s,\n canSet: r,\n isActive: i\n };\n}\nfunction wc(e) {\n const {\n editor: t,\n hideWhenUnavailable: n = !1,\n onSetLink: r\n } = e || {}, { editor: i } = N(t), { isVisible: s, canSet: o, isActive: l } = Wh({\n editor: i,\n hideWhenUnavailable: n\n }), c = $h({\n editor: i,\n onSetLink: r\n });\n return {\n isVisible: s,\n canSet: o,\n isActive: l,\n label: \"Link\",\n Icon: Ir,\n ...c\n };\n}\nfunction Kh({\n type: e,\n shortcutKeys: t = Lc[e]\n}) {\n return /* @__PURE__ */ h(Et, { children: vt({ shortcutKeys: t }) });\n}\nconst zt = p.forwardRef(\n ({\n editor: e,\n type: t,\n text: n,\n hideWhenUnavailable: r = !1,\n onToggled: i,\n showShortcut: s = !1,\n onClick: o,\n children: l,\n ...c\n }, a) => {\n const { editor: u } = N(e), {\n isVisible: d,\n handleMark: f,\n label: g,\n canToggle: C,\n isActive: m,\n Icon: y,\n shortcutKeys: w\n } = Xh({\n editor: u,\n type: t,\n hideWhenUnavailable: r,\n onToggled: i\n }), v = p.useCallback(\n (A) => {\n o?.(A), !A.defaultPrevented && f();\n },\n [f, o]\n );\n return d ? /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n disabled: !C,\n \"data-style\": \"ghost\",\n \"data-active-state\": m ? \"on\" : \"off\",\n \"data-disabled\": !C,\n role: \"button\",\n tabIndex: -1,\n \"aria-label\": g,\n \"aria-pressed\": m,\n tooltip: g,\n onClick: v,\n ...c,\n ref: a,\n children: l ?? /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(y, { className: \"tiptap-button-icon\" }),\n n && /* @__PURE__ */ h(\"span\", { className: \"tiptap-button-text\", children: n }),\n s && /* @__PURE__ */ h(Kh, { type: t, shortcutKeys: w })\n ] })\n }\n ) : null;\n }\n);\nzt.displayName = \"MarkButton\";\nconst bc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 2.5C5.17157 2.5 4.5 3.17157 4.5 4V20C4.5 20.8284 5.17157 21.5 6 21.5H15C16.4587 21.5 17.8576 20.9205 18.8891 19.8891C19.9205 18.8576 20.5 17.4587 20.5 16C20.5 14.5413 19.9205 13.1424 18.8891 12.1109C18.6781 11.9 18.4518 11.7079 18.2128 11.5359C19.041 10.5492 19.5 9.29829 19.5 8C19.5 6.54131 18.9205 5.14236 17.8891 4.11091C16.8576 3.07946 15.4587 2.5 14 2.5H6ZM14 10.5C14.663 10.5 15.2989 10.2366 15.7678 9.76777C16.2366 9.29893 16.5 8.66304 16.5 8C16.5 7.33696 16.2366 6.70107 15.7678 6.23223C15.2989 5.76339 14.663 5.5 14 5.5H7.5V10.5H14ZM7.5 18.5V13.5H15C15.663 13.5 16.2989 13.7634 16.7678 14.2322C17.2366 14.7011 17.5 15.337 17.5 16C17.5 16.663 17.2366 17.2989 16.7678 17.7678C16.2989 18.2366 15.663 18.5 15 18.5H7.5Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nbc.displayName = \"BoldIcon\";\nconst yc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M15.4545 4.2983C15.6192 3.77115 15.3254 3.21028 14.7983 3.04554C14.2712 2.88081 13.7103 3.1746 13.5455 3.70175L8.54554 19.7017C8.38081 20.2289 8.6746 20.7898 9.20175 20.9545C9.72889 21.1192 10.2898 20.8254 10.4545 20.2983L15.4545 4.2983Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M6.70711 7.29289C7.09763 7.68342 7.09763 8.31658 6.70711 8.70711L3.41421 12L6.70711 15.2929C7.09763 15.6834 7.09763 16.3166 6.70711 16.7071C6.31658 17.0976 5.68342 17.0976 5.29289 16.7071L1.29289 12.7071C0.902369 12.3166 0.902369 11.6834 1.29289 11.2929L5.29289 7.29289C5.68342 6.90237 6.31658 6.90237 6.70711 7.29289Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M17.2929 7.29289C17.6834 6.90237 18.3166 6.90237 18.7071 7.29289L22.7071 11.2929C23.0976 11.6834 23.0976 12.3166 22.7071 12.7071L18.7071 16.7071C18.3166 17.0976 17.6834 17.0976 17.2929 16.7071C16.9024 16.3166 16.9024 15.6834 17.2929 15.2929L20.5858 12L17.2929 8.70711C16.9024 8.31658 16.9024 7.68342 17.2929 7.29289Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nyc.displayName = \"Code2Icon\";\nconst kc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M15.0222 3H19C19.5523 3 20 3.44772 20 4C20 4.55228 19.5523 5 19 5H15.693L10.443 19H14C14.5523 19 15 19.4477 15 20C15 20.5523 14.5523 21 14 21H9.02418C9.00802 21.0004 8.99181 21.0004 8.97557 21H5C4.44772 21 4 20.5523 4 20C4 19.4477 4.44772 19 5 19H8.30704L13.557 5H10C9.44772 5 9 4.55228 9 4C9 3.44772 9.44772 3 10 3H14.9782C14.9928 2.99968 15.0075 2.99967 15.0222 3Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nkc.displayName = \"ItalicIcon\";\nconst vc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M9.00039 3H16.0001C16.5524 3 17.0001 3.44772 17.0001 4C17.0001 4.55229 16.5524 5 16.0001 5H9.00011C8.68006 4.99983 8.36412 5.07648 8.07983 5.22349C7.79555 5.37051 7.55069 5.5836 7.36585 5.84487C7.181 6.10614 7.06155 6.40796 7.01754 6.72497C6.97352 7.04198 7.00623 7.36492 7.11292 7.66667C7.29701 8.18737 7.02414 8.75872 6.50344 8.94281C5.98274 9.1269 5.4114 8.85403 5.2273 8.33333C5.01393 7.72984 4.94851 7.08396 5.03654 6.44994C5.12456 5.81592 5.36346 5.21229 5.73316 4.68974C6.10285 4.1672 6.59256 3.74101 7.16113 3.44698C7.72955 3.15303 8.36047 2.99975 9.00039 3Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M18 13H20C20.5523 13 21 12.5523 21 12C21 11.4477 20.5523 11 20 11H4C3.44772 11 3 11.4477 3 12C3 12.5523 3.44772 13 4 13H14C14.7956 13 15.5587 13.3161 16.1213 13.8787C16.6839 14.4413 17 15.2044 17 16C17 16.7956 16.6839 17.5587 16.1213 18.1213C15.5587 18.6839 14.7956 19 14 19H6C5.44772 19 5 19.4477 5 20C5 20.5523 5.44772 21 6 21H14C15.3261 21 16.5979 20.4732 17.5355 19.5355C18.4732 18.5979 19 17.3261 19 16C19 14.9119 18.6453 13.8604 18 13Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nvc.displayName = \"StrikeIcon\";\nconst Sc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.29289 7.29289C3.68342 6.90237 4.31658 6.90237 4.70711 7.29289L12.7071 15.2929C13.0976 15.6834 13.0976 16.3166 12.7071 16.7071C12.3166 17.0976 11.6834 17.0976 11.2929 16.7071L3.29289 8.70711C2.90237 8.31658 2.90237 7.68342 3.29289 7.29289Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.7071 7.29289C13.0976 7.68342 13.0976 8.31658 12.7071 8.70711L4.70711 16.7071C4.31658 17.0976 3.68342 17.0976 3.29289 16.7071C2.90237 16.3166 2.90237 15.6834 3.29289 15.2929L11.2929 7.29289C11.6834 6.90237 12.3166 6.90237 12.7071 7.29289Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.4079 14.3995C18.0284 14.0487 18.7506 13.9217 19.4536 14.0397C20.1566 14.1578 20.7977 14.5138 21.2696 15.0481L21.2779 15.0574L21.2778 15.0575C21.7439 15.5988 22 16.2903 22 17C22 18.0823 21.3962 18.8401 20.7744 19.3404C20.194 19.8073 19.4858 20.141 18.9828 20.378C18.9638 20.387 18.9451 20.3958 18.9266 20.4045C18.4473 20.6306 18.2804 20.7817 18.1922 20.918C18.1773 20.9412 18.1619 20.9681 18.1467 21H21C21.5523 21 22 21.4477 22 22C22 22.5523 21.5523 23 21 23H17C16.4477 23 16 22.5523 16 22C16 21.1708 16.1176 20.4431 16.5128 19.832C16.9096 19.2184 17.4928 18.8695 18.0734 18.5956C18.6279 18.334 19.138 18.0901 19.5207 17.7821C19.8838 17.49 20 17.2477 20 17C20 16.7718 19.9176 16.5452 19.7663 16.3672C19.5983 16.1792 19.3712 16.0539 19.1224 16.0121C18.8722 15.9701 18.6152 16.015 18.3942 16.1394C18.1794 16.2628 18.0205 16.4549 17.9422 16.675C17.7572 17.1954 17.1854 17.4673 16.665 17.2822C16.1446 17.0972 15.8728 16.5254 16.0578 16.005C16.2993 15.3259 16.7797 14.7584 17.4039 14.4018L17.4079 14.3995L17.4079 14.3995Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nSc.displayName = \"SubscriptIcon\";\nconst Ec = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.7071 7.29289C13.0976 7.68342 13.0976 8.31658 12.7071 8.70711L4.70711 16.7071C4.31658 17.0976 3.68342 17.0976 3.29289 16.7071C2.90237 16.3166 2.90237 15.6834 3.29289 15.2929L11.2929 7.29289C11.6834 6.90237 12.3166 6.90237 12.7071 7.29289Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.29289 7.29289C3.68342 6.90237 4.31658 6.90237 4.70711 7.29289L12.7071 15.2929C13.0976 15.6834 13.0976 16.3166 12.7071 16.7071C12.3166 17.0976 11.6834 17.0976 11.2929 16.7071L3.29289 8.70711C2.90237 8.31658 2.90237 7.68342 3.29289 7.29289Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M17.405 1.40657C18.0246 1.05456 18.7463 0.92634 19.4492 1.04344C20.1521 1.16054 20.7933 1.51583 21.2652 2.0497L21.2697 2.05469L21.2696 2.05471C21.7431 2.5975 22 3.28922 22 4.00203C22 5.08579 21.3952 5.84326 20.7727 6.34289C20.1966 6.80531 19.4941 7.13675 18.9941 7.37261C18.9714 7.38332 18.9491 7.39383 18.9273 7.40415C18.4487 7.63034 18.2814 7.78152 18.1927 7.91844C18.1778 7.94155 18.1625 7.96834 18.1473 8.00003H21C21.5523 8.00003 22 8.44774 22 9.00003C22 9.55231 21.5523 10 21 10H17C16.4477 10 16 9.55231 16 9.00003C16 8.17007 16.1183 7.44255 16.5138 6.83161C16.9107 6.21854 17.4934 5.86971 18.0728 5.59591C18.6281 5.33347 19.1376 5.09075 19.5208 4.78316C19.8838 4.49179 20 4.25026 20 4.00203C20 3.77192 19.9178 3.54865 19.7646 3.37182C19.5968 3.18324 19.3696 3.05774 19.1205 3.01625C18.8705 2.97459 18.6137 3.02017 18.3933 3.14533C18.1762 3.26898 18.0191 3.45826 17.9406 3.67557C17.7531 4.19504 17.18 4.46414 16.6605 4.27662C16.141 4.0891 15.8719 3.51596 16.0594 2.99649C16.303 2.3219 16.7817 1.76125 17.4045 1.40689L17.405 1.40657Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nEc.displayName = \"SuperscriptIcon\";\nconst xc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 4C7 3.44772 6.55228 3 6 3C5.44772 3 5 3.44772 5 4V10C5 11.8565 5.7375 13.637 7.05025 14.9497C8.36301 16.2625 10.1435 17 12 17C13.8565 17 15.637 16.2625 16.9497 14.9497C18.2625 13.637 19 11.8565 19 10V4C19 3.44772 18.5523 3 18 3C17.4477 3 17 3.44772 17 4V10C17 11.3261 16.4732 12.5979 15.5355 13.5355C14.5979 14.4732 13.3261 15 12 15C10.6739 15 9.40215 14.4732 8.46447 13.5355C7.52678 12.5979 7 11.3261 7 10V4ZM4 19C3.44772 19 3 19.4477 3 20C3 20.5523 3.44772 21 4 21H20C20.5523 21 21 20.5523 21 20C21 19.4477 20.5523 19 20 19H4Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nxc.displayName = \"UnderlineIcon\";\nconst Gh = {\n bold: bc,\n italic: kc,\n underline: xc,\n strike: vc,\n code: yc,\n superscript: Ec,\n subscript: Sc\n}, Lc = {\n bold: \"mod+b\",\n italic: \"mod+i\",\n underline: \"mod+u\",\n strike: \"mod+shift+s\",\n code: \"mod+e\",\n superscript: \"mod+.\",\n subscript: \"mod+,\"\n};\nfunction fs(e, t) {\n return !e || !e.isEditable || !cn(t, e) || Ut(e, [\"image\"]) ? !1 : e.can().toggleMark(t);\n}\nfunction Yh(e, t) {\n return !e || !e.isEditable ? !1 : e.isActive(t);\n}\nfunction qh(e, t) {\n return !e || !e.isEditable || !fs(e, t) ? !1 : e.chain().focus().toggleMark(t).run();\n}\nfunction Jh(e) {\n const { editor: t, type: n, hideWhenUnavailable: r } = e;\n return !t || !t.isEditable || !cn(n, t) ? !1 : r && !t.isActive(\"code\") ? fs(t, n) : !0;\n}\nfunction Qh(e) {\n return e.charAt(0).toUpperCase() + e.slice(1);\n}\nfunction Xh(e) {\n const {\n editor: t,\n type: n,\n hideWhenUnavailable: r = !1,\n onToggled: i\n } = e, { editor: s } = N(t), [o, l] = p.useState(!0), c = fs(s, n), a = Yh(s, n);\n p.useEffect(() => {\n if (!s) return;\n const d = () => {\n l(Jh({ editor: s, type: n, hideWhenUnavailable: r }));\n };\n return d(), s.on(\"selectionUpdate\", d), () => {\n s.off(\"selectionUpdate\", d);\n };\n }, [s, n, r]);\n const u = p.useCallback(() => {\n if (!s) return !1;\n const d = qh(s, n);\n return d && i?.(), d;\n }, [s, n, i]);\n return {\n isVisible: o,\n isActive: a,\n handleMark: u,\n canToggle: c,\n label: Qh(n),\n shortcutKeys: Lc[n],\n Icon: Gh[n]\n };\n}\nfunction tf({\n align: e,\n shortcutKeys: t = Rc[e]\n}) {\n return /* @__PURE__ */ h(Et, { children: vt({ shortcutKeys: t }) });\n}\nconst Oe = p.forwardRef(\n ({\n editor: e,\n align: t,\n text: n,\n hideWhenUnavailable: r = !1,\n onAligned: i,\n showShortcut: s = !1,\n onClick: o,\n icon: l,\n children: c,\n ...a\n }, u) => {\n const { editor: d } = N(e), {\n isVisible: f,\n handleTextAlign: g,\n label: C,\n canAlign: m,\n isActive: y,\n Icon: w,\n shortcutKeys: v\n } = cf({\n editor: d,\n align: t,\n hideWhenUnavailable: r,\n onAligned: i\n }), A = p.useCallback(\n (_) => {\n o?.(_), !_.defaultPrevented && g();\n },\n [g, o]\n );\n return f ? /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n disabled: !m,\n \"data-style\": \"ghost\",\n \"data-active-state\": y ? \"on\" : \"off\",\n \"data-disabled\": !m,\n role: \"button\",\n tabIndex: -1,\n \"aria-label\": C,\n \"aria-pressed\": y,\n tooltip: C,\n onClick: A,\n ...a,\n ref: u,\n children: c ?? /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(l ?? w, { className: \"tiptap-button-icon\" }),\n n && /* @__PURE__ */ h(\"span\", { className: \"tiptap-button-text\", children: n }),\n s && /* @__PURE__ */ h(\n tf,\n {\n align: t,\n shortcutKeys: v\n }\n )\n ] })\n }\n ) : null;\n }\n);\nOe.displayName = \"TextAlignButton\";\nconst Ac = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 6C2 5.44772 2.44772 5 3 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H3C2.44772 7 2 6.55228 2 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 12C6 11.4477 6.44772 11 7 11H17C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13H7C6.44772 13 6 12.5523 6 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4 18C4 17.4477 4.44772 17 5 17H19C19.5523 17 20 17.4477 20 18C20 18.5523 19.5523 19 19 19H5C4.44772 19 4 18.5523 4 18Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nAc.displayName = \"AlignCenterIcon\";\nconst _c = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 6C2 5.44772 2.44772 5 3 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H3C2.44772 7 2 6.55228 2 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 12C2 11.4477 2.44772 11 3 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H3C2.44772 13 2 12.5523 2 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 18C2 17.4477 2.44772 17 3 17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H3C2.44772 19 2 18.5523 2 18Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\n_c.displayName = \"AlignJustifyIcon\";\nconst Tc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 6C2 5.44772 2.44772 5 3 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H3C2.44772 7 2 6.55228 2 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 12C2 11.4477 2.44772 11 3 11H15C15.5523 11 16 11.4477 16 12C16 12.5523 15.5523 13 15 13H3C2.44772 13 2 12.5523 2 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 18C2 17.4477 2.44772 17 3 17H17C17.5523 17 18 17.4477 18 18C18 18.5523 17.5523 19 17 19H3C2.44772 19 2 18.5523 2 18Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nTc.displayName = \"AlignLeftIcon\";\nconst Ic = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2 6C2 5.44772 2.44772 5 3 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H3C2.44772 7 2 6.55228 2 6Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 12C8 11.4477 8.44772 11 9 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H9C8.44772 13 8 12.5523 8 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6 18C6 17.4477 6.44772 17 7 17H21C21.5523 17 22 17.4477 22 18C22 18.5523 21.5523 19 21 19H7C6.44772 19 6 18.5523 6 18Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nIc.displayName = \"AlignRightIcon\";\nconst Rc = {\n left: \"mod+shift+l\",\n center: \"mod+shift+e\",\n right: \"mod+shift+r\",\n justify: \"mod+shift+j\"\n}, ef = {\n left: Tc,\n center: Ac,\n right: Ic,\n justify: _c\n}, nf = {\n left: \"Align left\",\n center: \"Align center\",\n right: \"Align right\",\n justify: \"Align justify\"\n};\nfunction gs(e, t) {\n return !e || !e.isEditable || !xr(e, \"textAlign\") || Ut(e, [\"image\"]) ? !1 : e.can().setTextAlign(t);\n}\nfunction rf(e) {\n return \"setTextAlign\" in e;\n}\nfunction sf(e, t) {\n return !e || !e.isEditable ? !1 : e.isActive({ textAlign: t });\n}\nfunction of(e, t) {\n if (!e || !e.isEditable || !gs(e, t)) return !1;\n const n = e.chain().focus();\n return rf(n) ? n.setTextAlign(t).run() : !1;\n}\nfunction lf(e) {\n const { editor: t, hideWhenUnavailable: n, align: r } = e;\n return !t || !t.isEditable || !xr(t, \"textAlign\") ? !1 : n && !t.isActive(\"code\") ? gs(t, r) : !0;\n}\nfunction cf(e) {\n const {\n editor: t,\n align: n,\n hideWhenUnavailable: r = !1,\n onAligned: i\n } = e, { editor: s } = N(t), [o, l] = p.useState(!0), c = gs(s, n), a = sf(s, n);\n p.useEffect(() => {\n if (!s) return;\n const d = () => {\n l(lf({ editor: s, align: n, hideWhenUnavailable: r }));\n };\n return d(), s.on(\"selectionUpdate\", d), () => {\n s.off(\"selectionUpdate\", d);\n };\n }, [s, r, n]);\n const u = p.useCallback(() => {\n if (!s) return !1;\n const d = of(s, n);\n return d && i?.(), d;\n }, [s, n, i]);\n return {\n isVisible: o,\n isActive: a,\n handleTextAlign: u,\n canAlign: c,\n label: nf[n],\n shortcutKeys: Rc[n],\n Icon: ef[n]\n };\n}\nfunction af({\n action: e,\n shortcutKeys: t = Hc[e]\n}) {\n return /* @__PURE__ */ h(Et, { children: vt({ shortcutKeys: t }) });\n}\nconst Si = p.forwardRef(\n ({\n editor: e,\n action: t,\n text: n,\n hideWhenUnavailable: r = !1,\n onExecuted: i,\n showShortcut: s = !1,\n onClick: o,\n children: l,\n ...c\n }, a) => {\n const { editor: u } = N(e), { isVisible: d, handleAction: f, label: g, canExecute: C, Icon: m, shortcutKeys: y } = gf({\n editor: u,\n action: t,\n hideWhenUnavailable: r,\n onExecuted: i\n }), w = p.useCallback(\n (v) => {\n o?.(v), !v.defaultPrevented && f();\n },\n [f, o]\n );\n return d ? /* @__PURE__ */ h(\n H,\n {\n type: \"button\",\n disabled: !C,\n \"data-style\": \"ghost\",\n \"data-disabled\": !C,\n role: \"button\",\n tabIndex: -1,\n \"aria-label\": g,\n tooltip: g,\n onClick: w,\n ...c,\n ref: a,\n children: l ?? /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(m, { className: \"tiptap-button-icon\" }),\n n && /* @__PURE__ */ h(\"span\", { className: \"tiptap-button-text\", children: n }),\n s && /* @__PURE__ */ h(\n af,\n {\n action: t,\n shortcutKeys: y\n }\n )\n ] })\n }\n ) : null;\n }\n);\nSi.displayName = \"UndoRedoButton\";\nconst Mc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.7071 2.29289C15.3166 1.90237 14.6834 1.90237 14.2929 2.29289C13.9024 2.68342 13.9024 3.31658 14.2929 3.70711L17.5858 7H9.5C7.77609 7 6.12279 7.68482 4.90381 8.90381C3.68482 10.1228 3 11.7761 3 13.5C3 14.3536 3.16813 15.1988 3.49478 15.9874C3.82144 16.7761 4.30023 17.4926 4.90381 18.0962C6.12279 19.3152 7.77609 20 9.5 20H13C13.5523 20 14 19.5523 14 19C14 18.4477 13.5523 18 13 18H9.5C8.30653 18 7.16193 17.5259 6.31802 16.682C5.90016 16.2641 5.56869 15.768 5.34254 15.2221C5.1164 14.6761 5 14.0909 5 13.5C5 12.3065 5.47411 11.1619 6.31802 10.318C7.16193 9.47411 8.30653 9 9.5 9H17.5858L14.2929 12.2929C13.9024 12.6834 13.9024 13.3166 14.2929 13.7071C14.6834 14.0976 15.3166 14.0976 15.7071 13.7071L20.7071 8.70711C21.0976 8.31658 21.0976 7.68342 20.7071 7.29289L15.7071 2.29289Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nMc.displayName = \"Redo2Icon\";\nconst Nc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.70711 3.70711C10.0976 3.31658 10.0976 2.68342 9.70711 2.29289C9.31658 1.90237 8.68342 1.90237 8.29289 2.29289L3.29289 7.29289C2.90237 7.68342 2.90237 8.31658 3.29289 8.70711L8.29289 13.7071C8.68342 14.0976 9.31658 14.0976 9.70711 13.7071C10.0976 13.3166 10.0976 12.6834 9.70711 12.2929L6.41421 9H14.5C15.0909 9 15.6761 9.1164 16.2221 9.34254C16.768 9.56869 17.2641 9.90016 17.682 10.318C18.0998 10.7359 18.4313 11.232 18.6575 11.7779C18.8836 12.3239 19 12.9091 19 13.5C19 14.0909 18.8836 14.6761 18.6575 15.2221C18.4313 15.768 18.0998 16.2641 17.682 16.682C17.2641 17.0998 16.768 17.4313 16.2221 17.6575C15.6761 17.8836 15.0909 18 14.5 18H11C10.4477 18 10 18.4477 10 19C10 19.5523 10.4477 20 11 20H14.5C15.3536 20 16.1988 19.8319 16.9874 19.5052C17.7761 19.1786 18.4926 18.6998 19.0962 18.0962C19.6998 17.4926 20.1786 16.7761 20.5052 15.9874C20.8319 15.1988 21 14.3536 21 13.5C21 12.6464 20.8319 11.8012 20.5052 11.0126C20.1786 10.2239 19.6998 9.50739 19.0962 8.90381C18.4926 8.30022 17.7761 7.82144 16.9874 7.49478C16.1988 7.16813 15.3536 7 14.5 7H6.41421L9.70711 3.70711Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nNc.displayName = \"Undo2Icon\";\nconst Hc = {\n undo: \"mod+z\",\n redo: \"mod+shift+z\"\n}, uf = {\n undo: \"Undo\",\n redo: \"Redo\"\n}, df = {\n undo: Nc,\n redo: Mc\n};\nfunction ps(e, t) {\n return !e || !e.isEditable || Ut(e, [\"image\"]) ? !1 : t === \"undo\" ? e.can().undo() : e.can().redo();\n}\nfunction hf(e, t) {\n if (!e || !e.isEditable || !ps(e, t)) return !1;\n const n = e.chain().focus();\n return t === \"undo\" ? n.undo().run() : n.redo().run();\n}\nfunction ff(e) {\n const { editor: t, hideWhenUnavailable: n, action: r } = e;\n return !t || !t.isEditable ? !1 : n && !t.isActive(\"code\") ? ps(t, r) : !0;\n}\nfunction gf(e) {\n const {\n editor: t,\n action: n,\n hideWhenUnavailable: r = !1,\n onExecuted: i\n } = e, { editor: s } = N(t), [o, l] = p.useState(!0), c = ps(s, n);\n p.useEffect(() => {\n if (!s) return;\n const u = () => {\n l(ff({ editor: s, hideWhenUnavailable: r, action: n }));\n };\n return u(), s.on(\"transaction\", u), () => {\n s.off(\"transaction\", u);\n };\n }, [s, r, n]);\n const a = p.useCallback(() => {\n if (!s) return !1;\n const u = hf(s, n);\n return u && i?.(), u;\n }, [s, n, i]);\n return {\n isVisible: o,\n handleAction: a,\n canExecute: c,\n label: uf[n],\n shortcutKeys: Hc[n],\n Icon: df[n]\n };\n}\nconst Dc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ h(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M12.7071 5.70711C13.0976 5.31658 13.0976 4.68342 12.7071 4.29289C12.3166 3.90237 11.6834 3.90237 11.2929 4.29289L4.29289 11.2929C3.90237 11.6834 3.90237 12.3166 4.29289 12.7071L11.2929 19.7071C11.6834 20.0976 12.3166 20.0976 12.7071 19.7071C13.0976 19.3166 13.0976 18.6834 12.7071 18.2929L7.41421 13L19 13C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11L7.41421 11L12.7071 5.70711Z\",\n fill: \"currentColor\"\n }\n )\n }\n )\n);\nDc.displayName = \"ArrowLeftIcon\";\nconst pf = (e) => {\n const t = Wc(e);\n t.current = e, Kc(\n () => () => {\n t.current();\n },\n []\n );\n}, Cf = {\n leading: !1,\n trailing: !0\n};\nfunction Oc(e, t = 250, n = [], r = Cf) {\n const i = p.useMemo(\n () => Va(e, t, r),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n n\n );\n return pf(() => {\n i.cancel();\n }), i;\n}\nfunction Uc() {\n const [e, t] = p.useState({\n width: 0,\n height: 0,\n offsetTop: 0,\n offsetLeft: 0,\n scale: 0\n }), n = Oc(() => {\n if (typeof window > \"u\") return;\n const r = window.visualViewport;\n if (!r) return;\n const {\n width: i = 0,\n height: s = 0,\n offsetTop: o = 0,\n offsetLeft: l = 0,\n scale: c = 0\n } = r;\n t((a) => i === a.width && s === a.height && o === a.offsetTop && l === a.offsetLeft && c === a.scale ? a : { width: i, height: s, offsetTop: o, offsetLeft: l, scale: c });\n }, 200);\n return p.useEffect(() => {\n const r = window.visualViewport;\n if (r)\n return r.addEventListener(\"resize\", n), n(), () => {\n r.removeEventListener(\"resize\", n);\n };\n }, [n]), e;\n}\nconst vn = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n}, Vc = typeof window > \"u\", mf = !Vc && typeof ResizeObserver < \"u\", Tn = () => !Vc;\nfunction wf({\n element: e,\n enabled: t = !0,\n throttleMs: n = 100,\n useResizeObserver: r = !0\n} = {}) {\n const [i, s] = p.useState(vn), o = p.useCallback(() => !t || !Tn() ? null : e ? typeof e == \"string\" ? document.querySelector(e) : \"current\" in e ? e.current : e : document.body, [e, t]), l = Oc(\n () => {\n if (!t || !Tn()) return;\n const c = o();\n if (!c) {\n s(vn);\n return;\n }\n const a = c.getBoundingClientRect();\n s({\n x: a.x,\n y: a.y,\n width: a.width,\n height: a.height,\n top: a.top,\n right: a.right,\n bottom: a.bottom,\n left: a.left\n });\n },\n n,\n [t, o],\n { leading: !0, trailing: !0 }\n );\n return p.useEffect(() => {\n if (!t || !Tn()) {\n s(vn);\n return;\n }\n const c = o();\n if (!c) return;\n l();\n const a = [];\n if (r && mf) {\n const d = new ResizeObserver(() => {\n window.requestAnimationFrame(l);\n });\n d.observe(c), a.push(() => d.disconnect());\n }\n const u = () => l();\n return window.addEventListener(\"scroll\", u, { passive: !0 }), window.addEventListener(\"resize\", u, { passive: !0 }), a.push(() => {\n window.removeEventListener(\"scroll\", u), window.removeEventListener(\"resize\", u);\n }), () => {\n a.forEach((d) => d()), s(vn);\n };\n }, [t, o, l, r]), i;\n}\nfunction bf(e = {}) {\n return wf({\n ...e,\n element: Tn() ? document.body : null\n });\n}\nfunction yf({\n editor: e,\n overlayHeight: t = 0\n}) {\n const { height: n } = Uc(), r = bf({\n enabled: !0,\n throttleMs: 100,\n useResizeObserver: !0\n });\n return p.useEffect(() => {\n (() => {\n if (!e) return;\n const { state: s, view: o } = e;\n if (!o.hasFocus()) return;\n const { from: l } = s.selection, c = o.coordsAtPos(l);\n if (n < r.height && c && n - c.top < t) {\n const u = Math.max(n / 2, t), d = window.scrollY, g = c.top + d - u;\n window.scrollTo({\n top: Math.max(0, g),\n behavior: \"smooth\"\n });\n }\n })();\n }, [e, t, n, r.height]), r;\n}\nconst Bc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12 2C10.0222 2 8.08879 2.58649 6.4443 3.6853C4.79981 4.78412 3.51809 6.3459 2.76121 8.17317C2.00433 10.0004 1.8063 12.0111 2.19215 13.9509C2.578 15.8907 3.53041 17.6725 4.92894 19.0711C6.32746 20.4696 8.10929 21.422 10.0491 21.8079C11.9889 22.1937 13.9996 21.9957 15.8268 21.2388C17.6541 20.4819 19.2159 19.2002 20.3147 17.5557C21.4135 15.9112 22 13.9778 22 12C22 11.5955 21.7564 11.2309 21.3827 11.0761C21.009 10.9213 20.5789 11.0069 20.2929 11.2929C19.287 12.2988 17.9226 12.864 16.5 12.864C15.0774 12.864 13.713 12.2988 12.7071 11.2929C11.7012 10.287 11.136 8.92261 11.136 7.5C11.136 6.07739 11.7012 4.71304 12.7071 3.70711C12.9931 3.42111 13.0787 2.99099 12.9239 2.61732C12.7691 2.24364 12.4045 2 12 2ZM7.55544 5.34824C8.27036 4.87055 9.05353 4.51389 9.87357 4.28778C9.39271 5.27979 9.13604 6.37666 9.13604 7.5C9.13604 9.45304 9.91189 11.3261 11.2929 12.7071C12.6739 14.0881 14.547 14.864 16.5 14.864C17.6233 14.864 18.7202 14.6073 19.7122 14.1264C19.4861 14.9465 19.1295 15.7296 18.6518 16.4446C17.7727 17.7602 16.5233 18.7855 15.0615 19.391C13.5997 19.9965 11.9911 20.155 10.4393 19.8463C8.88743 19.5376 7.46197 18.7757 6.34315 17.6569C5.22433 16.538 4.4624 15.1126 4.15372 13.5607C3.84504 12.0089 4.00347 10.4003 4.60897 8.93853C5.21447 7.47672 6.23985 6.22729 7.55544 5.34824Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M19 2C19.5523 2 20 2.44772 20 3V4H21C21.5523 4 22 4.44772 22 5C22 5.55228 21.5523 6 21 6H20V7C20 7.55228 19.5523 8 19 8C18.4477 8 18 7.55228 18 7V6H17C16.4477 6 16 5.55228 16 5C16 4.44772 16.4477 4 17 4H18V3C18 2.44772 18.4477 2 19 2Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nBc.displayName = \"MoonStarIcon\";\nconst Pc = p.memo(\n ({ className: e, ...t }) => /* @__PURE__ */ k(\n \"svg\",\n {\n width: \"24\",\n height: \"24\",\n className: e,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ...t,\n children: [\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M12 1C12.5523 1 13 1.44772 13 2V4C13 4.55228 12.5523 5 12 5C11.4477 5 11 4.55228 11 4V2C11 1.44772 11.4477 1 12 1Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12ZM12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M13 20C13 19.4477 12.5523 19 12 19C11.4477 19 11 19.4477 11 20V22C11 22.5523 11.4477 23 12 23C12.5523 23 13 22.5523 13 22V20Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M4.22282 4.22289C4.61335 3.83236 5.24651 3.83236 5.63704 4.22289L7.04704 5.63289C7.43756 6.02341 7.43756 6.65658 7.04704 7.0471C6.65651 7.43762 6.02335 7.43762 5.63283 7.0471L4.22282 5.6371C3.8323 5.24658 3.8323 4.61341 4.22282 4.22289Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M18.367 16.9529C17.9765 16.5623 17.3433 16.5623 16.9528 16.9529C16.5623 17.3434 16.5623 17.9766 16.9528 18.3671L18.3628 19.7771C18.7533 20.1676 19.3865 20.1676 19.777 19.7771C20.1675 19.3866 20.1675 18.7534 19.777 18.3629L18.367 16.9529Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M1 12C1 11.4477 1.44772 11 2 11H4C4.55228 11 5 11.4477 5 12C5 12.5523 4.55228 13 4 13H2C1.44772 13 1 12.5523 1 12Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M20 11C19.4477 11 19 11.4477 19 12C19 12.5523 19.4477 13 20 13H22C22.5523 13 23 12.5523 23 12C23 11.4477 22.5523 11 22 11H20Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M7.04704 16.9529C7.43756 17.3434 7.43756 17.9766 7.04704 18.3671L5.63704 19.7771C5.24651 20.1676 4.61335 20.1676 4.22282 19.7771C3.8323 19.3866 3.8323 18.7534 4.22283 18.3629L5.63283 16.9529C6.02335 16.5623 6.65651 16.5623 7.04704 16.9529Z\",\n fill: \"currentColor\"\n }\n ),\n /* @__PURE__ */ h(\n \"path\",\n {\n d: \"M19.777 5.6371C20.1675 5.24657 20.1675 4.61341 19.777 4.22289C19.3865 3.83236 18.7533 3.83236 18.3628 4.22289L16.9528 5.63289C16.5623 6.02341 16.5623 6.65658 16.9528 7.0471C17.3433 7.43762 17.9765 7.43762 18.367 7.0471L19.777 5.6371Z\",\n fill: \"currentColor\"\n }\n )\n ]\n }\n )\n);\nPc.displayName = \"SunIcon\";\nfunction kf() {\n const [e, t] = p.useState(!1);\n return p.useEffect(() => {\n const r = window.matchMedia(\"(prefers-color-scheme: dark)\"), i = () => t(r.matches);\n return r.addEventListener(\"change\", i), () => r.removeEventListener(\"change\", i);\n }, []), p.useEffect(() => {\n const r = !!document.querySelector('meta[name=\"color-scheme\"][content=\"dark\"]') || window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\n t(r);\n }, []), p.useEffect(() => {\n document.documentElement.classList.toggle(\"dark\", e);\n }, [e]), /* @__PURE__ */ h(\n H,\n {\n onClick: () => t((r) => !r),\n \"aria-label\": `Switch to ${e ? \"light\" : \"dark\"} mode`,\n \"data-style\": \"ghost\",\n children: e ? /* @__PURE__ */ h(Bc, { className: \"tiptap-button-icon\" }) : /* @__PURE__ */ h(Pc, { className: \"tiptap-button-icon\" })\n }\n );\n}\nconst vf = \"doc\", Sf = [{ type: \"heading\", attrs: { textAlign: null, level: 1 }, content: [{ type: \"text\", text: \"Getting started\" }] }, { type: \"paragraph\", attrs: { textAlign: null }, content: [{ type: \"text\", text: \"Welcome to the \" }, { type: \"text\", marks: [{ type: \"italic\" }, { type: \"highlight\", attrs: { color: \"var(--tt-color-highlight-yellow)\" } }], text: \"Simple Editor\" }, { type: \"text\", text: \" template! This template integrates \" }, { type: \"text\", marks: [{ type: \"bold\" }], text: \"open source\" }, { type: \"text\", text: \" UI components and Tiptap extensions licensed under \" }, { type: \"text\", marks: [{ type: \"bold\" }], text: \"MIT\" }, { type: \"text\", text: \".\" }] }, { type: \"paragraph\", attrs: { textAlign: null }, content: [{ type: \"text\", text: \"Integrate it by following the \" }, { type: \"text\", marks: [{ type: \"link\", attrs: { href: \"https://tiptap.dev/docs/ui-components/templates/simple-editor\", target: \"_blank\", rel: \"noopener noreferrer nofollow\", class: null } }], text: \"Tiptap UI Components docs\" }, { type: \"text\", text: \" or using our CLI tool.\" }] }, { type: \"codeBlock\", attrs: { language: null }, content: [{ type: \"text\", text: \"npx @tiptap/cli init\" }] }, { type: \"heading\", attrs: { textAlign: null, level: 2 }, content: [{ type: \"text\", text: \"Features\" }] }, { type: \"blockquote\", content: [{ type: \"paragraph\", attrs: { textAlign: null }, content: [{ type: \"text\", marks: [{ type: \"italic\" }], text: \"A fully responsive rich text editor with built-in support for common formatting and layout tools. Type markdown \" }, { type: \"text\", marks: [{ type: \"code\" }], text: \"**\" }, { type: \"text\", marks: [{ type: \"italic\" }], text: \" or use keyboard shortcuts \" }, { type: \"text\", marks: [{ type: \"code\" }], text: \"⌘+B\" }, { type: \"text\", text: \" for \" }, { type: \"text\", marks: [{ type: \"strike\" }], text: \"most\" }, { type: \"text\", text: \" all common markdown marks. 🪄\" }] }] }, { type: \"paragraph\", attrs: { textAlign: \"left\" }, content: [{ type: \"text\", text: \"Add images, customize alignment, and apply \" }, { type: \"text\", marks: [{ type: \"highlight\", attrs: { color: \"var(--tt-color-highlight-blue)\" } }], text: \"advanced formatting\" }, { type: \"text\", text: \" to make your writing more engaging and professional.\" }] }, { type: \"image\", attrs: { src: \"/images/tiptap-ui-placeholder-image.jpg\", alt: \"placeholder-image\", title: \"placeholder-image\" } }, { type: \"bulletList\", content: [{ type: \"listItem\", content: [{ type: \"paragraph\", attrs: { textAlign: \"left\" }, content: [{ type: \"text\", marks: [{ type: \"bold\" }], text: \"Superscript\" }, { type: \"text\", text: \" (x\" }, { type: \"text\", marks: [{ type: \"superscript\" }], text: \"2\" }, { type: \"text\", text: \") and \" }, { type: \"text\", marks: [{ type: \"bold\" }], text: \"Subscript\" }, { type: \"text\", text: \" (H\" }, { type: \"text\", marks: [{ type: \"subscript\" }], text: \"2\" }, { type: \"text\", text: \"O) for precision.\" }] }] }, { type: \"listItem\", content: [{ type: \"paragraph\", attrs: { textAlign: \"left\" }, content: [{ type: \"text\", marks: [{ type: \"bold\" }], text: \"Typographic conversion\" }, { type: \"text\", text: \": automatically convert to \" }, { type: \"text\", marks: [{ type: \"code\" }], text: \"->\" }, { type: \"text\", text: \" an arrow \" }, { type: \"text\", marks: [{ type: \"bold\" }], text: \"→\" }, { type: \"text\", text: \".\" }] }] }] }, { type: \"paragraph\", attrs: { textAlign: \"left\" }, content: [{ type: \"text\", marks: [{ type: \"italic\" }], text: \"→ \" }, { type: \"text\", marks: [{ type: \"link\", attrs: { href: \"https://tiptap.dev/docs/ui-components/templates/simple-editor#features\", target: \"_blank\", rel: \"noopener noreferrer nofollow\", class: null } }], text: \"Learn more\" }] }, { type: \"horizontalRule\" }, { type: \"heading\", attrs: { textAlign: \"left\", level: 2 }, content: [{ type: \"text\", text: \"Make it your own\" }] }, { type: \"paragraph\", attrs: { textAlign: \"left\" }, content: [{ type: \"text\", text: \"Switch between light and dark modes, and tailor the editor's appearance with customizable CSS to match your style.\" }] }, { type: \"taskList\", content: [{ type: \"taskItem\", attrs: { checked: !0 }, content: [{ type: \"paragraph\", attrs: { textAlign: \"left\" }, content: [{ type: \"text\", text: \"Test template\" }] }] }, { type: \"taskItem\", attrs: { checked: !1 }, content: [{ type: \"paragraph\", attrs: { textAlign: \"left\" }, content: [{ type: \"text\", marks: [{ type: \"link\", attrs: { href: \"https://tiptap.dev/docs/ui-components/templates/simple-editor\", target: \"_blank\", rel: \"noopener noreferrer nofollow\", class: null } }], text: \"Integrate the free template\" }] }] }] }, { type: \"paragraph\", attrs: { textAlign: \"left\" } }], Ef = {\n type: vf,\n content: Sf\n}, xf = ({\n onHighlighterClick: e,\n onLinkClick: t,\n isMobile: n,\n onSave: r\n}) => /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(lo, {}),\n /* @__PURE__ */ k(Ct, { children: [\n /* @__PURE__ */ h(Si, { action: \"undo\" }),\n /* @__PURE__ */ h(Si, { action: \"redo\" })\n ] }),\n /* @__PURE__ */ h(Tt, {}),\n /* @__PURE__ */ k(Ct, { children: [\n /* @__PURE__ */ h($l, { levels: [1, 2, 3, 4], portal: n }),\n /* @__PURE__ */ h(\n Lh,\n {\n types: [\"bulletList\", \"orderedList\", \"taskList\"],\n portal: n\n }\n ),\n /* @__PURE__ */ h(Ql, {}),\n /* @__PURE__ */ h(ec, {})\n ] }),\n /* @__PURE__ */ h(Tt, {}),\n /* @__PURE__ */ k(Ct, { children: [\n /* @__PURE__ */ h(zt, { type: \"bold\" }),\n /* @__PURE__ */ h(zt, { type: \"italic\" }),\n /* @__PURE__ */ h(zt, { type: \"strike\" }),\n /* @__PURE__ */ h(zt, { type: \"code\" }),\n /* @__PURE__ */ h(zt, { type: \"underline\" }),\n n ? /* @__PURE__ */ h(ds, { onClick: e }) : /* @__PURE__ */ h(Ph, {}),\n n ? /* @__PURE__ */ h(hs, { onClick: t }) : /* @__PURE__ */ h(pc, {})\n ] }),\n /* @__PURE__ */ h(Tt, {}),\n /* @__PURE__ */ k(Ct, { children: [\n /* @__PURE__ */ h(zt, { type: \"superscript\" }),\n /* @__PURE__ */ h(zt, { type: \"subscript\" })\n ] }),\n /* @__PURE__ */ h(Tt, {}),\n /* @__PURE__ */ k(Ct, { children: [\n /* @__PURE__ */ h(Oe, { align: \"left\" }),\n /* @__PURE__ */ h(Oe, { align: \"center\" }),\n /* @__PURE__ */ h(Oe, { align: \"right\" }),\n /* @__PURE__ */ h(Oe, { align: \"justify\" })\n ] }),\n /* @__PURE__ */ h(Tt, {}),\n /* @__PURE__ */ h(Ct, { children: /* @__PURE__ */ h(Kl, { text: \"Add\" }) }),\n r && /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(Tt, {}),\n /* @__PURE__ */ h(Ct, { children: /* @__PURE__ */ h(H, { \"data-style\": \"ghost\", onClick: r, children: \"Save\" }) })\n ] }),\n /* @__PURE__ */ h(lo, {}),\n n && /* @__PURE__ */ h(Tt, {}),\n /* @__PURE__ */ h(Ct, { children: /* @__PURE__ */ h(kf, {}) })\n] }), Lf = ({\n type: e,\n onBack: t\n}) => /* @__PURE__ */ k(J, { children: [\n /* @__PURE__ */ h(Ct, { children: /* @__PURE__ */ k(H, { \"data-style\": \"ghost\", onClick: t, children: [\n /* @__PURE__ */ h(Dc, { className: \"tiptap-button-icon\" }),\n e === \"highlighter\" ? /* @__PURE__ */ h(Tr, { className: \"tiptap-button-icon\" }) : /* @__PURE__ */ h(Ir, { className: \"tiptap-button-icon\" })\n ] }) }),\n /* @__PURE__ */ h(Tt, {}),\n e === \"highlighter\" ? /* @__PURE__ */ h(uc, {}) : /* @__PURE__ */ h(jh, {})\n] }), Af = p.forwardRef(({\n content: e,\n onContentChange: t,\n suggestions: n = [],\n onSuggestionAccept: r,\n onSuggestionReject: i,\n showSuggestions: s = !1,\n collaborators: o = [],\n currentUser: l,\n onCollaboratorCursor: c,\n collaboration: a,\n collaborationUser: u,\n allowedEmbeds: d = [],\n maxFileSize: f = yi,\n placeholder: g = \"Start typing...\",\n autoFocus: C = !1,\n className: m = \"\",\n onSave: y,\n onError: w,\n // Compatibility props\n onFocus: v,\n onBlur: A,\n onFileUploadStart: Y,\n onFileUploadStop: _,\n onCreateLink: Vt,\n onSearchLink: Ce,\n onClickLink: Qt,\n onHoverLink: it\n}, Re) => {\n const Xt = dn(), { height: Me } = Uc(), [te, Bt] = p.useState(\"main\"), ee = p.useRef(null), Pt = p.useMemo(() => ka(xa), []), ne = p.useMemo(() => {\n if (e)\n try {\n return gn.markdownToTipTap(e);\n } catch (T) {\n return w?.({\n type: \"validation\",\n message: \"Failed to parse markdown content\",\n details: T\n }), {\n type: \"doc\",\n content: [\n {\n type: \"paragraph\",\n content: [{ type: \"text\", text: e }]\n }\n ]\n };\n }\n return Ef;\n }, [e, w]), Fc = p.useCallback(async (T, ht, re) => {\n Y?.();\n try {\n return await B2(T, ht, re);\n } finally {\n _?.();\n }\n }, [Y, _]), Q = ta({\n immediatelyRender: !1,\n shouldRerenderOnTransaction: !1,\n editorProps: {\n attributes: {\n autocomplete: \"off\",\n autocorrect: \"off\",\n autocapitalize: \"off\",\n \"aria-label\": g || \"Main content area, start typing to enter text.\",\n class: `simple-editor ${m}`.trim()\n },\n handleDOMEvents: {\n focus: () => (v?.(), !1),\n blur: () => (A?.(), !1)\n }\n },\n extensions: [\n ra.configure({\n horizontalRule: !1,\n link: !1,\n // Disable default link extension\n codeBlock: !1\n // Exclude default CodeBlock\n }),\n va.configure({ lowlight: Pt }),\n Sa,\n la.configure({ types: [\"heading\", \"paragraph\"] }),\n sa,\n oa.configure({ nested: !0 }),\n a1.configure({\n openOnClick: !1,\n HTMLAttributes: {\n class: \"tiptap-link\"\n },\n validate: (T) => /^https?:\\/\\//.test(T)\n }),\n aa.configure({ multicolor: !0 }),\n Ea.configure({\n table: { resizable: !0 }\n }),\n ia,\n ca,\n da,\n ua,\n X2.configure({\n accept: \"image/*\",\n maxSize: f,\n limit: 3,\n upload: Fc,\n onError: (T) => {\n console.error(\"Upload failed:\", T), w?.({\n type: \"file\",\n message: \"Image upload failed\",\n details: T\n });\n }\n }),\n // Collaboration extensions (only added if collaboration config is provided)\n ...a ? [\n E2.configure({\n document: a.document\n }),\n M2.configure({\n provider: a.provider,\n user: u\n })\n ] : []\n ],\n content: ne,\n editable: !0,\n autofocus: C,\n onUpdate: ({ editor: T }) => {\n if (t)\n try {\n const ht = T.getJSON(), re = gn.tipTapToMarkdown(ht);\n t(re);\n } catch (ht) {\n console.error(\"Error converting editor content to markdown:\", ht), w?.({\n type: \"validation\",\n message: \"Failed to convert content to markdown\",\n details: ht\n });\n }\n },\n onCreate: () => {\n }\n });\n p.useImperativeHandle(Re, () => ({\n // safe to assume editor is not null\n // The ref is only accessible after the component mounts\n // useEditor returns null only during initial render before the editor is created\n // By the time consumers access the ref, the editor will be initialized\n editor: Q\n }), [Q]);\n const zc = yf({\n editor: Q,\n overlayHeight: ee.current?.getBoundingClientRect().height ?? 0\n }), Cs = p.useRef(e);\n p.useEffect(() => {\n if (Q && e && e !== Cs.current)\n try {\n const T = gn.markdownToTipTap(e);\n Q.commands.setContent(T), Cs.current = e;\n } catch (T) {\n console.error(\"Error updating editor content:\", T), w?.({\n type: \"validation\",\n message: \"Failed to update editor content\",\n details: T\n });\n }\n }, [e, Q, w]), p.useEffect(() => {\n !Xt && te !== \"main\" && Bt(\"main\");\n }, [Xt, te]);\n const jc = p.useCallback(() => {\n if (Q && y)\n try {\n const T = Q.getJSON(), ht = gn.tipTapToMarkdown(T);\n y(ht);\n } catch (T) {\n console.error(\"Error saving content:\", T), w?.({\n type: \"validation\",\n message: \"Failed to save content\",\n details: T\n });\n }\n }, [Q, y, w]), Zc = p.useCallback((T) => {\n const re = T.target.closest(\"a\");\n re && Qt && (T.preventDefault(), Qt(re.href, T.nativeEvent));\n }, [Qt]), $c = p.useCallback((T) => T.target.closest(\"a\") && it ? it(T.nativeEvent) : !1, [it]);\n return Q ? /* @__PURE__ */ h(\"div\", { className: \"simple-editor-wrapper\", children: /* @__PURE__ */ k(ea.Provider, { value: { editor: Q }, children: [\n /* @__PURE__ */ h(\n Tl,\n {\n ref: ee,\n style: {\n ...Xt ? {\n bottom: `calc(100% - ${Me - zc.y}px)`\n } : {}\n },\n children: te === \"main\" ? /* @__PURE__ */ h(\n xf,\n {\n onHighlighterClick: () => Bt(\"highlighter\"),\n onLinkClick: () => Bt(\"link\"),\n isMobile: Xt,\n onSave: y ? jc : void 0\n }\n ) : /* @__PURE__ */ h(\n Lf,\n {\n type: te === \"highlighter\" ? \"highlighter\" : \"link\",\n onBack: () => Bt(\"main\")\n }\n )\n }\n ),\n /* @__PURE__ */ h(\n na,\n {\n editor: Q,\n role: \"presentation\",\n className: \"simple-editor-content\",\n onClick: Zc,\n onMouseOver: $c\n }\n ),\n s && n.length > 0 && /* @__PURE__ */ h(\"div\", { className: \"mt-2 p-2 bg-yellow-50 border border-yellow-200 rounded-md\", children: /* @__PURE__ */ k(\"div\", { className: \"text-sm text-yellow-700\", children: [\n n.length,\n \" suggestion\",\n n.length !== 1 ? \"s\" : \"\",\n \" available\"\n ] }) }),\n o.length > 0 && /* @__PURE__ */ h(\"div\", { className: \"mt-2 p-2 bg-green-50 border border-green-200 rounded-md\", children: /* @__PURE__ */ k(\"div\", { className: \"text-sm text-green-700\", children: [\n o.length,\n \" collaborator\",\n o.length !== 1 ? \"s\" : \"\",\n \" online\"\n ] }) })\n ] }) }) : /* @__PURE__ */ h(\"div\", { className: \"simple-editor-wrapper\", children: /* @__PURE__ */ k(\"div\", { className: \"flex items-center justify-center p-8\", children: [\n /* @__PURE__ */ h(\"div\", { className: \"animate-spin rounded-full h-6 w-6 border-b-2 border-blue-500\" }),\n /* @__PURE__ */ h(\"span\", { className: \"ml-2 text-gray-600 dark:text-gray-400\", children: \"Initializing editor...\" })\n ] }) });\n});\nAf.displayName = \"SimpleEditor\";\nexport {\n Af as default\n};\n"],"names":["getComputedStyle","FOCUSABLE_ATTRIBUTE","isClient","noop","index","SafeReact","useLatestRef","computePosition","flip","offset","shift","offset$1","shift$1","flip$1","useFloating","useModernLayoutEffect","getDocument$1","contains$1","getNodeChildren$1","getTarget$1","G","O","S","b","R","U","E","B","V","ce","ue","oe","X","W","ae","z","N","le","se","H","F","ie","_","m","we","v","global","fe","yt","ga","pa","Ca","ma","wa","ha","ms","fa","ba","wt","ut","hn","fn","ao","ws","bs","p","_a","Ma","Ta","Ia","Ra","Na","Ha","Da","Oa","Ua","h","La","uo","Aa","ya","k","J","Gc","Yc","Jc","qc","Qc","Xc","Ht","ho","In","Wc","Kc","ka","xa","gn","ta","ra","va","Sa","la","sa","oa","aa","Ea","ia","ca","da","ua","ea","na"],"mappings":"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AG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CA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,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC5T,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;AACjC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,C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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}