{"version":3,"file":"popup-overflow-content.mjs","sources":["../../../../components/menu/components/popup-overflow-content.tsx"],"sourcesContent":["import { defineComponent, ref, onMounted, onUpdated } from 'vue';\nimport { usePrefixClass } from '@tdesign/shared-hooks';\n\n/**\n * 辅助组件：在\"更多\"弹窗中渲染封装组件的完整内容克隆，\n * 并通过 DOM 操作隐藏前 N 个菜单项（仅显示溢出部分）。\n */\nexport default defineComponent({\n  name: 'PopupOverflowContent',\n  props: {\n    foldIndex: { type: Number, required: true },\n  },\n  setup(props, ctx) {\n    const classPrefix = usePrefixClass();\n    const wrapperRef = ref<HTMLElement>();\n\n    const hideBeforeFoldIndex = () => {\n      if (!wrapperRef.value) return;\n      const menuItemClass = `${classPrefix.value}-menu__item`;\n      const submenuClass = `${classPrefix.value}-submenu`;\n      const items: HTMLElement[] = [];\n\n      const collect = (parent: HTMLElement, depth: number) => {\n        if (depth > 3) return;\n        Array.from(parent.children).forEach((el) => {\n          if (!(el instanceof HTMLElement)) return;\n          if (el.classList.contains(menuItemClass) || el.classList.contains(submenuClass)) {\n            items.push(el);\n          } else {\n            collect(el, depth + 1);\n          }\n        });\n      };\n\n      collect(wrapperRef.value, 0);\n      items.forEach((el, index) => {\n        el.style.display = index < props.foldIndex ? 'none' : '';\n      });\n    };\n\n    onMounted(hideBeforeFoldIndex);\n    onUpdated(hideBeforeFoldIndex);\n\n    return () => <div ref={wrapperRef}>{ctx.slots.default?.()}</div>;\n  },\n});\n"],"names":["defineComponent","name","props","foldIndex","type","Number","required","setup","ctx","classPrefix","usePrefixClass","wrapperRef","ref","hideBeforeFoldIndex","value","menuItemClass","concat","submenuClass","items","collect","parent","depth","Array","from","children","forEach","el","HTMLElement","classList","contains","push","index","style","display","onMounted","onUpdated","_ctx$slots$default","_ctx$slots","_createVNode","slots","call"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,2BAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,sBAAA;AACNC,EAAAA,KAAO,EAAA;AACLC,IAAAA,SAAW,EAAA;AAAEC,MAAAA,IAAM,EAAAC,MAAA;AAAQC,MAAAA,UAAU,IAAA;AAAK,KAAA;GAC5C;AACAC,EAAAA,KAAA,WAAAA,KAAAA,CAAML,OAAOM,GAAK,EAAA;AAChB,IAAA,IAAMC,cAAcC,cAAe,EAAA,CAAA;AACnC,IAAA,IAAMC,aAAaC,GAAiB,EAAA,CAAA;AAEpC,IAAA,IAAMC,sBAAsB,SAAtBA,sBAA4B;AAChC,MAAA,IAAI,CAACF,UAAW,CAAAG,KAAA,EAAO,OAAA;AACjB,MAAA,IAAAC,aAAA,GAAAC,EAAAA,CAAAA,MAAA,CAAmBP,WAAY,CAAAK,KAAA,EAAA,aAAA,CAAA,CAAA;AAC/B,MAAA,IAAAG,YAAA,GAAAD,EAAAA,CAAAA,MAAA,CAAkBP,WAAY,CAAAK,KAAA,EAAA,UAAA,CAAA,CAAA;MACpC,IAAMI,QAAuB,EAAC,CAAA;MAExB,IAAAC,QAAA,GAAU,SAAVA,OAAAA,CAAWC,MAAA,EAAqBC,KAAkB,EAAA;QACtD,IAAIA,KAAQ,GAAA,CAAA,EAAG,OAAA;AACfC,QAAAA,KAAA,CAAMC,KAAKH,MAAO,CAAAI,QAAQ,CAAE,CAAAC,OAAA,CAAQ,UAACC,EAAO,EAAA;AAC1C,UAAA,IAAI,EAAEA,EAAc,YAAAC,WAAA,CAAA,EAAc,OAAA;AAC9B,UAAA,IAAAD,EAAA,CAAGE,UAAUC,QAAS,CAAAd,aAAa,KAAKW,EAAG,CAAAE,SAAA,CAAUC,QAAS,CAAAZ,YAAY,CAAG,EAAA;AAC/EC,YAAAA,KAAA,CAAMY,KAAKJ,EAAE,CAAA,CAAA;AACf,WAAO,MAAA;AACGP,YAAAA,QAAA,CAAAO,EAAA,EAAIL,QAAQ,CAAC,CAAA,CAAA;AACvB,WAAA;AACF,SAAC,CAAA,CAAA;OACH,CAAA;AAEQF,MAAAA,QAAA,CAAAR,UAAA,CAAWG,OAAO,CAAC,CAAA,CAAA;AACrBI,MAAAA,KAAA,CAAAO,OAAA,CAAQ,UAACC,EAAA,EAAIK,KAAU,EAAA;AAC3BL,QAAAA,EAAA,CAAGM,KAAM,CAAAC,OAAA,GAAUF,KAAQ,GAAA7B,KAAA,CAAMC,YAAY,MAAS,GAAA,EAAA,CAAA;AACxD,OAAC,CAAA,CAAA;KACH,CAAA;IAEA+B,SAAA,CAAUrB,mBAAmB,CAAA,CAAA;IAC7BsB,SAAA,CAAUtB,mBAAmB,CAAA,CAAA;IAEtB,OAAA,YAAA;MAAA,IAAAuB,kBAAA,EAAAC,UAAA,CAAA;AAAA,MAAA,OAAAC,WAAA,CAAA,KAAA,EAAA;QAAA,KAAgB3B,EAAAA,UAAAA;gCAAa,CAAA0B,UAAA,GAAA7B,GAAI,CAAA+B,KAAA,EAAgB,SAAA,CAAA,MAAA,IAAA,IAAAH,kBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAA,CAAAI,IAAA,CAAAH,UAAoB,CAAA,CAAA,CAAA,CAAA;KAA1C,CAAA;AAChB,GAAA;AACF,CAAC,CAAA;;;;"}