diff --git a/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/dropdown/index.tsx b/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/dropdown/index.tsx
new file mode 100644
index 0000000000..8467281637
--- /dev/null
+++ b/web/app/components/datasets/documents/create-from-pipeline/data-source/online-drive/file-list/header/breadcrumbs/dropdown/index.tsx
@@ -0,0 +1,61 @@
+import React, { useCallback, useState } from 'react'
+import {
+ PortalToFollowElem,
+ PortalToFollowElemContent,
+ PortalToFollowElemTrigger,
+} from '@/app/components/base/portal-to-follow-elem'
+import { RiMoreFill } from '@remixicon/react'
+import cn from '@/utils/classnames'
+import Menu from './menu'
+
+type DropdownProps = {
+ startIndex: number
+ breadcrumbs: string[]
+ onBreadcrumbClick: (index: number) => void
+}
+
+const Dropdown = ({
+ startIndex,
+ breadcrumbs,
+ onBreadcrumbClick,
+}: DropdownProps) => {
+ const [open, setOpen] = useState(false)
+
+ const handleTrigger = useCallback(() => {
+ setOpen(prev => !prev)
+ }, [])
+
+ return (
+