| | |
| | | import { ExplorerNode, FileNode, Options } from "./ExplorerNode" |
| | | |
| | | // Options interface defined in `ExplorerNode` to avoid circular dependency |
| | | const defaultOptions = (): Options => ({ |
| | | const defaultOptions = { |
| | | title: "Explorer", |
| | | folderClickBehavior: "collapse", |
| | | folderDefaultState: "collapsed", |
| | |
| | | } |
| | | }, |
| | | order: ["filter", "map", "sort"], |
| | | }) |
| | | } satisfies Options |
| | | |
| | | export default ((userOpts?: Partial<Options>) => { |
| | | function Explorer({ allFiles, displayClass, fileData }: QuartzComponentProps) { |
| | | // Parse config |
| | | const opts: Options = { ...defaultOptions(), ...userOpts } |
| | | const opts: Options = { ...defaultOptions, ...userOpts } |
| | | |
| | | // Construct tree from allFiles |
| | | const fileTree = new FileNode("") |