{"version":3,"file":"selection-contains-inlines.cjs","sources":["../../../src/slate/utils/selection-contains-inlines.ts"],"sourcesContent":["import type { Node } from \"slate\";\nimport { Editor, Element, Range } from \"slate\";\n\nexport function selectionContainsInlines(\n  editor: Editor,\n  match: (node: Node) => boolean\n) {\n  const { selection } = editor;\n  if (!selection) {\n    return false;\n  }\n\n  const roots = Array.from(\n    Editor.nodes(editor, {\n      at: selection,\n      match: (node) => Element.isElement(node) && Editor.isBlock(editor, node),\n      mode: \"lowest\",\n    })\n  );\n\n  for (const [, rootPath] of roots) {\n    const intersectingSelection = Range.isRange(selection)\n      ? Range.intersection(selection, Editor.range(editor, rootPath))\n      : selection;\n\n    if (!intersectingSelection) {\n      continue;\n    }\n\n    const matches = Array.from(\n      Editor.nodes(editor, {\n        at: intersectingSelection,\n        match: (node) =>\n          Editor.isInline(editor, node as Element) && match(node),\n      })\n    );\n\n    if (matches.length > 0) {\n      return true;\n    }\n  }\n\n  return false;\n}\n"],"names":["Editor","Element","Range"],"mappings":";;;;AAGgB,SAAA,wBAAA,CACd,QACA,KACA,EAAA;AACA,EAAM,MAAA,EAAE,WAAc,GAAA,MAAA,CAAA;AACtB,EAAA,IAAI,CAAC,SAAW,EAAA;AACd,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAEA,EAAA,MAAM,QAAQ,KAAM,CAAA,IAAA;AAAA,IAClBA,YAAA,CAAO,MAAM,MAAQ,EAAA;AAAA,MACnB,EAAI,EAAA,SAAA;AAAA,MACJ,KAAA,EAAO,CAAC,IAAA,KAASC,aAAQ,CAAA,SAAA,CAAU,IAAI,CAAK,IAAAD,YAAA,CAAO,OAAQ,CAAA,MAAA,EAAQ,IAAI,CAAA;AAAA,MACvE,IAAM,EAAA,QAAA;AAAA,KACP,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,KAAA,MAAW,GAAG,QAAQ,CAAA,IAAK,KAAO,EAAA;AAChC,IAAA,MAAM,qBAAwB,GAAAE,WAAA,CAAM,OAAQ,CAAA,SAAS,CACjD,GAAAA,WAAA,CAAM,YAAa,CAAA,SAAA,EAAWF,YAAO,CAAA,KAAA,CAAM,MAAQ,EAAA,QAAQ,CAAC,CAC5D,GAAA,SAAA,CAAA;AAEJ,IAAA,IAAI,CAAC,qBAAuB,EAAA;AAC1B,MAAA,SAAA;AAAA,KACF;AAEA,IAAA,MAAM,UAAU,KAAM,CAAA,IAAA;AAAA,MACpBA,YAAA,CAAO,MAAM,MAAQ,EAAA;AAAA,QACnB,EAAI,EAAA,qBAAA;AAAA,QACJ,KAAA,EAAO,CAAC,IACN,KAAAA,YAAA,CAAO,SAAS,MAAQ,EAAA,IAAe,CAAK,IAAA,KAAA,CAAM,IAAI,CAAA;AAAA,OACzD,CAAA;AAAA,KACH,CAAA;AAEA,IAAI,IAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AACtB,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}