This component is inspired from the meeting selector from doctolib.
- React 19.x: react-meeting-selector
- Vue 3.x: vue-meeting-selector
This project is a pnpm-based monorepo containing both Vue and React implementations of the meeting-selector
component, along with documentation, playgrounds, and shared utilities.
To work on a specific part of the project:
"scripts": {
"dev:vue-meeting-selector": "pnpm --filter vue-meeting-selector dev & pnpm --filter vue-meeting-selector-dev dev",
"dev:react-meeting-selector": "pnpm --filter react-meeting-selector dev & pnpm --filter react-meeting-selector-dev dev",
"dev:docs": "pnpm --filter doc-meeting-selector docs:dev",
"lint": "pnpm -r run lint"
}
"scripts": {
"build:vue-meeting-selector": "pnpm --filter vue-meeting-selector build",
"build:react-meeting-selector": "pnpm --filter react-meeting-selector build",
"build:docs": "pnpm --filter doc-meeting-selector docs:build"
}
├── packages/
│ ├── vue-meeting-selector/ # Vue 3 library (main export)
│ ├── react-meeting-selector/ # React library (main export)
│ └── common/ # Shared types, utilities, and generators
│
├── dev/
│ ├── vue-meeting-selector-dev/ # Vue playground & testing components
│ └── react-meeting-selector-dev/ # React playground & testing components
│
├── docs/ # VitePress documentation site
│
└── README.md
All packages are linked via pnpm workspaces
and use local imports to share logic across Vue and React implementations