├── .gitignore ├── README.md ├── babel.config.js ├── blog ├── 2019-05-28-first-blog-post.md ├── 2019-05-29-long-blog-post.md ├── 2021-08-01-mdx-blog-post.mdx ├── 2021-08-26-welcome │ ├── docusaurus-plushie-banner.jpeg │ └── index.md └── authors.yml ├── docs ├── alerts.md ├── branding.md ├── buttons.md ├── colors.mdx ├── grid.md ├── icons.md ├── intro.md └── typography.md ├── docusaurus.config.js ├── package-lock.json ├── package.json ├── sidebars.js ├── src ├── components │ ├── HomepageFeatures.js │ └── HomepageFeatures.module.css ├── css │ └── custom.css └── pages │ ├── index.js │ ├── index.module.css │ └── markdown-page.md ├── static ├── .nojekyll └── img │ ├── alerts.svg │ ├── buttons.svg │ ├── cal-sans-specimen.png │ ├── categories │ ├── colors.svg │ ├── default.svg │ ├── icons.svg │ └── typography.svg │ ├── favicon.ico │ ├── grid.svg │ ├── icons.svg │ ├── logo-white.svg │ ├── logo.svg │ └── tutorial │ ├── docsVersionDropdown.png │ └── localeDropdown.png └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | /node_modules 3 | 4 | # IDEs 5 | .idea/ 6 | .vscode/ 7 | 8 | # Production 9 | /build 10 | 11 | # Generated files 12 | .docusaurus 13 | .cache-loader 14 | 15 | # Misc 16 | .DS_Store 17 | .env.local 18 | .env.development.local 19 | .env.test.local 20 | .env.production.local 21 | 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |
3 | Website 4 | · 5 | Community Support 6 |
7 | 8 | # Design Documentation 9 | 10 | The official design documentation, containing our custom design system that we use for all products and services. This documentation site runs on [Docusaurus](https://docusaurus.io), so you may refer to their documentation should you need information on anything that isn't covered here. 11 | 12 | ## Prerequisites 13 | - Git 14 | - Node.js & npm 15 | - Yarn 16 | 17 | ## Installation 18 | Firstly, clone the repository using Git: 19 | ```console 20 | git clone https://github.com/calendso/design.git 21 | ``` 22 | 23 | Now, you can install the dependencies with yarn: 24 | ```console 25 | yarn install 26 | ``` 27 | 28 | ## Editing 29 | To create, edit and delete documentation pages, you can simply create markdown (.md) files in the `docs/` folder. You can edit Markdown with any text editor, but VS Code and WebStorm have side-by-side previews so you can see your formatted content whilst writing markdown. 30 | 31 | ## Local Development 32 | 33 | ```console 34 | docusaurus start 35 | ``` 36 | 37 | This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. 38 | 39 | ## Build 40 | 41 | ```console 42 | yarn build 43 | ``` 44 | 45 | This command generates static content into the `build` directory and can be served using any static contents hosting service. 46 | 47 | ## Deployment 48 | 49 | ```console 50 | GIT_USER= USE_SSH=true yarn deploy 51 | ``` 52 | 53 | If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. 54 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [require.resolve('@docusaurus/core/lib/babel/preset')], 3 | }; 4 | -------------------------------------------------------------------------------- /blog/2019-05-28-first-blog-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: first-blog-post 3 | title: First Blog Post 4 | authors: 5 | name: Gao Wei 6 | title: Docusaurus Core Team 7 | url: https://github.com/wgao19 8 | image_url: https://github.com/wgao19.png 9 | tags: [hola, docusaurus] 10 | --- 11 | 12 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 13 | -------------------------------------------------------------------------------- /blog/2019-05-29-long-blog-post.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: long-blog-post 3 | title: Long Blog Post 4 | authors: endi 5 | tags: [hello, docusaurus] 6 | --- 7 | 8 | This is the summary of a very long blog post, 9 | 10 | Use a `` comment to limit blog post size in the list view. 11 | 12 | 13 | 14 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 15 | 16 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 17 | 18 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 19 | 20 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 21 | 22 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 23 | 24 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 25 | 26 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 27 | 28 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 29 | 30 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 31 | 32 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 33 | 34 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 35 | 36 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 37 | 38 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 39 | 40 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 41 | 42 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 43 | 44 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet 45 | -------------------------------------------------------------------------------- /blog/2021-08-01-mdx-blog-post.mdx: -------------------------------------------------------------------------------- 1 | --- 2 | slug: mdx-blog-post 3 | title: MDX Blog Post 4 | authors: [slorber] 5 | tags: [docusaurus] 6 | --- 7 | 8 | Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/). 9 | 10 | :::tip 11 | 12 | Use the power of React to create interactive blog posts. 13 | 14 | ```js 15 | 16 | ``` 17 | 18 | 19 | 20 | ::: 21 | -------------------------------------------------------------------------------- /blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/calcom/design/7f58825b53ec10d796d155ada4d2e30d4a5221fc/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg -------------------------------------------------------------------------------- /blog/2021-08-26-welcome/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | slug: welcome 3 | title: Welcome 4 | authors: [slorber, yangshun] 5 | tags: [facebook, hello, docusaurus] 6 | --- 7 | 8 | [Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog). 9 | 10 | Simply add Markdown files (or folders) to the `blog` directory. 11 | 12 | Regular blog authors can be added to `authors.yml`. 13 | 14 | The blog post date can be extracted from filenames, such as: 15 | 16 | - `2019-05-30-welcome.md` 17 | - `2019-05-30-welcome/index.md` 18 | 19 | A blog post folder can be convenient to co-locate blog post images: 20 | 21 | ![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg) 22 | 23 | The blog supports tags as well! 24 | 25 | **And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config. 26 | -------------------------------------------------------------------------------- /blog/authors.yml: -------------------------------------------------------------------------------- 1 | endi: 2 | name: Endilie Yacop Sucipto 3 | title: Maintainer of Docusaurus 4 | url: https://github.com/endiliey 5 | image_url: https://github.com/endiliey.png 6 | 7 | yangshun: 8 | name: Yangshun Tay 9 | title: Front End Engineer @ Facebook 10 | url: https://github.com/yangshun 11 | image_url: https://github.com/yangshun.png 12 | 13 | slorber: 14 | name: Sébastien Lorber 15 | title: Docusaurus maintainer 16 | url: https://sebastienlorber.com 17 | image_url: https://github.com/slorber.png 18 | -------------------------------------------------------------------------------- /docs/alerts.md: -------------------------------------------------------------------------------- 1 | # Alerts 2 | 3 | Banners that draw the user's attention to an important message are called alerts. The icons and colors of an alert indicate the type and urgency of the message. Provide critical information in context with alerts to grab the user's attention. 4 | 5 | ## Placement 6 | Alerts should appear as toasts in the bottom right of the screen. The top right of the screen may instead display alerts under certain circumstances. 7 | 8 | ![Complete set of alerts](/img/alerts.svg) -------------------------------------------------------------------------------- /docs/branding.md: -------------------------------------------------------------------------------- 1 | # Branding 2 | 3 | We use our own **Cal Sans** typography, made by [Mark Davis](https://twitter.com/MarkFonts) for our logo and every headline. 4 | 5 | ## Logos 6 | 7 | Download our Cal.com logo below: 8 | 9 | 10 |
11 | 12 |
13 | 14 | Download 15 | 16 |
17 | 18 | 19 |
20 |
21 | 22 | Download 23 | 24 |
25 | 26 | ## Press Kit 27 | 28 | 29 | Download 30 | our press kit including screenshots, logos and a photo of the founders. 31 | 32 | ## Brand colors 33 | 34 | | White | Off White | Black | Gray | 35 | | ---------------------- | ----------- | -------------------------- | -------------------------- | 36 | | #FFFFFF | #F5F5F5 | #292929 | #888888 | 37 | 38 | -------------------------------------------------------------------------------- /docs/buttons.md: -------------------------------------------------------------------------------- 1 | # Buttons 2 | Buttons allow an application to communicate action and direct user intent. Consistent button styles make it easier for a user to recognize areas to take action across an application. 3 | 4 | ## Usage 5 | There are three types of buttons in Calendso. These are used to visually distinguish between the buttons in a hierarchy, and communicate actions and user intent. 6 | 7 | ### Solid buttons 8 | Solid buttons deliberately look heavy in order to direct the user's attention to the action that the application is encouraging the user to take. 9 | 10 | ### Outline buttons 11 | The outline button provides a lighter weight button style. It is commonly used to emphasize a secondary action that complements a primary action or to reduce visual clutter when a number of important actions appear on the page. 12 | 13 | ### Flat buttons 14 | The flat button can be used in multiple situations. It can be used as a tertiary button. It can also be used inline because it is distinct in style and can be recognized as a button. 15 | 16 | ## Buttons vs Links 17 | It is important to use a link (or anchor element) anytime clicking the element will direct you to another page. However, buttons can be given similar visual treatments.In the current page, you can interact by clicking buttons to refresh the content or submit a form. 18 | 19 | ## Placement 20 | There are two distinct patterns when it comes to the placement of a button. 21 | 22 | ### Z Pattern 23 | When tasks are organized from the top-left to the right bottom side of a container, followed by an action caller at the bottom-right of the container, the Z-pattern is a natural way for the user to navigate through content. 24 | 25 | Modals and Wizards follow the Z Pattern 26 | 27 | ### F Pattern 28 | The F-pattern is a natural way to go through content in an unconstrained container, such as a form on the page itself. The user will read the content line-by-line, arriving at a call to action at the end. 29 | 30 | Forms and Cards follow the F Pattern 31 | 32 | ![Complete set of buttons](/img/buttons.svg) -------------------------------------------------------------------------------- /docs/colors.mdx: -------------------------------------------------------------------------------- 1 | # Colors 2 | 3 | The color palette for Calendso outlines the consistent set of colors we use to build our interfaces. 4 | 5 | export const Swatch = ({color}) => ( 6 |
12 |
13 | ); 14 | 15 | | Name | Hex Code | Preview | 16 | | ---------------------- | ----------- | -------------------------- | 17 | | `gray-50` | #F8F8F8 | | 18 | | `gray-100` | #F5F5F5 | | 19 | | `gray-200` | #E1E1E1 | | 20 | | `gray-300` | #CFCFCF | | 21 | | `gray-400` | #ACACAC | | 22 | | `gray-500` | #888888 | | 23 | | `gray-600` | #494949 | | 24 | | `gray-700` | #3E3E3E | | 25 | | `gray-800` | #313131 | | 26 | | `gray-900` | #292929 | | 27 | | | | | 28 | | `utility-error-50` | #FEF2F2 | | 29 | | `utility-error-100` | #FEE2E2 | | 30 | | `utility-error-200` | #FECACA | | 31 | | `utility-error-300` | #FCA5A5 | | 32 | | `utility-error-400` | #F87171 | | 33 | | `utility-error-500` | #EF4444 | | 34 | | `utility-error-600` | #DC2626 | | 35 | | `utility-error-700` | #B91C1C | | 36 | | `utility-error-800` | #991B1B | | 37 | | `utility-error-900` | #7F1D1D | | 38 | | | | | 39 | | `utility-warning-50` | #FFF7ED | | 40 | | `utility-warning-100` | #FFEDD5 | | 41 | | `utility-warning-200` | #FED7AA | | 42 | | `utility-warning-300` | #FDBA74 | | 43 | | `utility-warning-400` | #FB923C | | 44 | | `utility-warning-500` | #F97316 | | 45 | | `utility-warning-600` | #EA580C | | 46 | | `utility-warning-700` | #C2410C | | 47 | | `utility-warning-800` | #9A3412 | | 48 | | `utility-warning-900` | #7C2D12 | | 49 | | | | | 50 | | `utility-success-50` | #ECFDF5 | | 51 | | `utility-success-100` | #D1FAE5 | | 52 | | `utility-success-200` | #A7F3D0 | | 53 | | `utility-success-300` | #6EE7B7 | | 54 | | `utility-success-400` | #34D399 | | 55 | | `utility-success-500` | #10B981 | | 56 | | `utility-success-600` | #059669 | | 57 | | `utility-success-700` | #047857 | | 58 | | `utility-success-800` | #065F46 | | 59 | | `utility-success-900` | #064E3B | | -------------------------------------------------------------------------------- /docs/grid.md: -------------------------------------------------------------------------------- 1 | # Grid 2 | 3 | A grid arranges content in rows and columns, which helps to create a familiar and easy-to-navigate structure for content. 4 | 5 | The grid layout is as follows: 6 | 7 | ![The grid layout](/img/grid.svg) -------------------------------------------------------------------------------- /docs/icons.md: -------------------------------------------------------------------------------- 1 | # Icons 2 | We use [Heroicons](https://heroicons.com) for all application icons. 3 | 4 | Outline icons have a 2px stroke weight, and a 24x24 bounding box. This should be used for primary navigation and marketing sections, designed to be rendered at 24x24. 5 | 6 | Solid icons have a solid fill, and a 20x20 bounding box. This should be used for buttons, form elements, and to support text, designed to be rendered at 20x20. 7 | 8 | Here is the full set of icons included in both the `solid` and `outline` sets: 9 | 10 | ![Complete set of icons](/img/icons.svg) -------------------------------------------------------------------------------- /docs/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | sidebar_position: 1 3 | --- 4 | 5 | # Introduction 6 | 7 | For most projects, we use [Tailwind CSS](https://tailwindcss.com) and [Tailwind UI](https://tailwindui.com), but modified under the principles of our own design system. 8 | 9 | The design system is designed to provide a clear, concise user experience. 10 | 11 | This documentation consists of both design fundamentals, such as colors or icons, as well as information on all components. -------------------------------------------------------------------------------- /docs/typography.md: -------------------------------------------------------------------------------- 1 | # Typography 2 | 3 | Currently, we use [Inter](https://rsms.me) as our primary font for almost all text. 4 | 5 | We use our very own [Cal Sans](https://github.com/calendso/font) typography for all headings. 6 | 7 | 8 | -------------------------------------------------------------------------------- /docusaurus.config.js: -------------------------------------------------------------------------------- 1 | const lightCodeTheme = require('prism-react-renderer/themes/github'); 2 | const darkCodeTheme = require('prism-react-renderer/themes/dracula'); 3 | 4 | /** @type {import('@docusaurus/types').DocusaurusConfig} */ 5 | module.exports = { 6 | title: 'Cal.com Design Documentation', 7 | tagline: 'Open Scheduling', 8 | url: 'https://design.cal.com', 9 | baseUrl: '/', 10 | onBrokenLinks: 'throw', 11 | onBrokenMarkdownLinks: 'warn', 12 | favicon: 'img/favicon.ico', 13 | organizationName: 'calendso', // Usually your GitHub org/user name. 14 | projectName: 'design', // Usually your repo name. 15 | themeConfig: { 16 | announcementBar: { 17 | id: 'beta', 18 | content: 19 | 'Our design system is in alpha preview. This site is under development and will be updated frequently.', 20 | backgroundColor: '#F97316', 21 | textColor: '#FFF7ED', 22 | isCloseable: false, 23 | }, 24 | navbar: { 25 | logo: { 26 | alt: 'Cal.com Logo', 27 | src: 'img/logo.svg', 28 | srcDark: 'img/logo-white.svg' 29 | }, 30 | items: [ 31 | {href: 'https://docs.cal.com', label: 'Product Docs', position: 'left'}, 32 | {href: 'https://developer.cal.com', label: 'Developer', position: 'left'}, 33 | { 34 | type: 'doc', 35 | docId: 'intro', 36 | position: 'left', 37 | label: 'Design', 38 | }, 39 | { 40 | href: 'https://github.com/calendso/calendso', 41 | label: 'GitHub', 42 | position: 'right', 43 | }, 44 | ], 45 | }, 46 | footer: { 47 | style: 'light', 48 | links: [ 49 | { 50 | title: 'Cal.com, Inc.', 51 | items: [ 52 | { 53 | label: 'Website', 54 | href: 'https://cal.com', 55 | }, 56 | { 57 | label: 'Slack', 58 | href: 'https://cal.com/slack', 59 | }, 60 | { 61 | label: 'Jobs', 62 | href: 'https://cal.com/jobs', 63 | }, 64 | ], 65 | }, 66 | { 67 | title: 'Repositories', 68 | items: [ 69 | { 70 | label: 'Calendso', 71 | href: 'https://github.com/calendso/calendso', 72 | }, 73 | { 74 | label: 'Documentation', 75 | href: 'https://github.com/calendso/docs', 76 | }, 77 | { 78 | label: 'Docker', 79 | href: 'https://github.com/calendso/docker', 80 | }, 81 | ], 82 | }, 83 | { 84 | title: 'Social', 85 | items: [ 86 | { 87 | label: 'Twitter', 88 | href: 'https://twitter.com/calendso', 89 | }, 90 | { 91 | label: 'GitHub', 92 | href: 'https://github.com/calendso/calendso', 93 | }, 94 | ], 95 | }, 96 | ], 97 | copyright: `Copyright © ${new Date().getFullYear()} Cal.com, Inc.`, 98 | }, 99 | prism: { 100 | theme: lightCodeTheme, 101 | darkTheme: darkCodeTheme, 102 | }, 103 | }, 104 | presets: [ 105 | [ 106 | '@docusaurus/preset-classic', 107 | { 108 | docs: { 109 | sidebarPath: require.resolve('./sidebars.js'), 110 | // Please change this to your repo. 111 | editUrl: 112 | 'https://github.com/calendso/design/edit/main/', 113 | }, 114 | blog: { 115 | showReadingTime: true, 116 | // Please change this to your repo. 117 | editUrl: 118 | 'https://github.com/calendso/design/edit/main/blog/', 119 | }, 120 | theme: { 121 | customCss: require.resolve('./src/css/custom.css'), 122 | }, 123 | }, 124 | ], 125 | ], 126 | }; 127 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "design", 3 | "version": "0.0.0", 4 | "private": true, 5 | "scripts": { 6 | "docusaurus": "docusaurus", 7 | "start": "docusaurus start", 8 | "build": "docusaurus build", 9 | "swizzle": "docusaurus swizzle", 10 | "deploy": "docusaurus deploy", 11 | "clear": "docusaurus clear", 12 | "serve": "docusaurus serve", 13 | "write-translations": "docusaurus write-translations", 14 | "write-heading-ids": "docusaurus write-heading-ids" 15 | }, 16 | "dependencies": { 17 | "@docusaurus/core": "2.0.0-beta.6", 18 | "@docusaurus/preset-classic": "2.0.0-beta.6", 19 | "@mdx-js/react": "^1.6.21", 20 | "@svgr/webpack": "^5.5.0", 21 | "clsx": "^1.1.1", 22 | "file-loader": "^6.2.0", 23 | "prism-react-renderer": "^1.2.1", 24 | "react": "^17.0.1", 25 | "react-dom": "^17.0.1", 26 | "url-loader": "^4.1.1" 27 | }, 28 | "browserslist": { 29 | "production": [ 30 | ">0.5%", 31 | "not dead", 32 | "not op_mini all" 33 | ], 34 | "development": [ 35 | "last 1 chrome version", 36 | "last 1 firefox version", 37 | "last 1 safari version" 38 | ] 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /sidebars.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creating a sidebar enables you to: 3 | - create an ordered group of docs 4 | - render a sidebar for each doc of that group 5 | - provide next/previous navigation 6 | 7 | The sidebars can be generated from the filesystem, or explicitly defined here. 8 | 9 | Create as many sidebars as you want. 10 | */ 11 | 12 | module.exports = { 13 | // By default, Docusaurus generates a sidebar from the docs folder structure 14 | tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], 15 | 16 | // But you can create a sidebar manually 17 | /* 18 | tutorialSidebar: [ 19 | { 20 | type: 'category', 21 | label: 'Tutorial', 22 | items: ['hello'], 23 | }, 24 | ], 25 | */ 26 | }; 27 | -------------------------------------------------------------------------------- /src/components/HomepageFeatures.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import clsx from 'clsx'; 3 | import styles from './HomepageFeatures.module.css'; 4 | import Link from '@docusaurus/Link'; 5 | 6 | const CategoryList = [ 7 | { 8 | link: "/docs/branding", 9 | title: "Cal Branding", 10 | Svg: require("../../static/img/categories/default.svg").default, 11 | description: ( 12 | <>Our branding guidelines and *.svgs to download. 13 | ), 14 | }, 15 | { 16 | link: "/docs/colors", 17 | title: "Colors", 18 | Svg: require("../../static/img/categories/colors.svg").default, 19 | description: ( 20 | <>Our color palette that all of our applications and services use. 21 | ), 22 | }, 23 | { 24 | link: "/docs/typography", 25 | title: "Typography", 26 | Svg: require("../../static/img/categories/typography.svg").default, 27 | description: ( 28 | <>The fonts that we use and the best practices surrounding text. 29 | ), 30 | }, 31 | { 32 | link: "/docs/icons", 33 | title: "Icons", 34 | Svg: require("../../static/img/categories/icons.svg").default, 35 | description: ( 36 | <>Our icon set and guidelines on when to use each type of icon. 37 | ), 38 | }, 39 | ]; 40 | 41 | function Category({Svg, title, description, link}) { 42 | return ( 43 | 44 |
45 |
46 | 47 |
48 |
49 |

{title}

50 |

{description}

51 |
52 |
53 | 54 | ); 55 | } 56 | 57 | export default function HomepageCategories() { 58 | return ( 59 |
60 |
61 |
62 | {CategoryList.map((props, idx) => ( 63 | 64 | ))} 65 |
66 |
67 |
68 | ); 69 | } 70 | -------------------------------------------------------------------------------- /src/components/HomepageFeatures.module.css: -------------------------------------------------------------------------------- 1 | /* stylelint-disable docusaurus/copyright-header */ 2 | 3 | .backing { 4 | background-color: #DFDFDF; 5 | border-radius: 8px; 6 | width: 320px; 7 | height: 180px; 8 | overflow: hidden; 9 | position: relative; 10 | margin-bottom: 15px; 11 | } 12 | 13 | html[data-theme="dark"] .backing { 14 | background-color: #495057; 15 | } 16 | 17 | .features { 18 | display: flex; 19 | align-items: center; 20 | width: 100%; 21 | } 22 | 23 | .featureSvg { 24 | position: absolute; 25 | right: 0; 26 | height: 200px; 27 | width: 300px; 28 | transform: translate(20px, 10px); 29 | } 30 | 31 | html[data-theme="light"] h3 { 32 | color: #292929; 33 | margin-bottom: 5px; 34 | } 35 | 36 | html[data-theme="dark"] h3 { 37 | color: #fff; 38 | margin-bottom: 5px; 39 | } 40 | 41 | html[data-theme="light"] p { 42 | color: #6B6B6B; 43 | } 44 | 45 | html[data-theme="dark"] p { 46 | color: #eaeaea; 47 | } -------------------------------------------------------------------------------- /src/css/custom.css: -------------------------------------------------------------------------------- 1 | /* stylelint-disable docusaurus/copyright-header */ 2 | /** 3 | * Any CSS included here will be global. The classic template 4 | * bundles Infima by default. Infima is a CSS framework designed to 5 | * work well for content-centric websites. 6 | */ 7 | html[data-theme="light"] { 8 | background-color: #F8F8F8; 9 | } 10 | 11 | html[data-theme="dark"] { 12 | background-color: #111111; 13 | } 14 | 15 | /* You can override the default Infima variables here. */ 16 | :root { 17 | --ifm-color-primary: #039be5; 18 | --ifm-code-font-size: 95%; 19 | } 20 | 21 | .docusaurus-highlight-code-line { 22 | background-color: rgba(0, 0, 0, 0.1); 23 | display: block; 24 | margin: 0 calc(-1 * var(--ifm-pre-padding)); 25 | padding: 0 var(--ifm-pre-padding); 26 | } 27 | 28 | html[data-theme='dark'] .docusaurus-highlight-code-line { 29 | background-color: rgba(0, 0, 0, 0.3); 30 | } 31 | 32 | html[data-theme='light'] .footer { 33 | background-color: #fff; 34 | border-top: 1px solid #dadde1; 35 | } 36 | 37 | .footer__copyright { 38 | color: #888888; 39 | } 40 | 41 | .iconExternalLink_node_modules-\@docusaurus-theme-classic-lib-next-theme-IconExternalLink-styles-module { 42 | display: none; 43 | } 44 | 45 | .col { 46 | margin-bottom: 20px; 47 | } 48 | 49 | .navbar__brand{ 50 | height: 1.2rem; 51 | } 52 | 53 | @font-face { 54 | font-family: 'Cal Sans'; 55 | src: url("https://cal.com/cal.ttf"); 56 | } 57 | 58 | h1, h2, h3, h4, h5, h6 { 59 | font-family: "Cal Sans", sans-serif; 60 | } -------------------------------------------------------------------------------- /src/pages/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Layout from '@theme/Layout'; 3 | import useDocusaurusContext from '@docusaurus/useDocusaurusContext'; 4 | import styles from './index.module.css'; 5 | import HomepageFeatures from '../components/HomepageFeatures'; 6 | 7 | function HomepageHeader() { 8 | const {siteConfig} = useDocusaurusContext(); 9 | return ( 10 |
11 |
12 |

Design Documentation

13 |

Explore our design system that all of our products and services are built with.

14 |
15 |
16 | ); 17 | } 18 | 19 | export default function Home() { 20 | const {siteConfig} = useDocusaurusContext(); 21 | return ( 22 | 25 | 26 |
27 | 28 |
29 |
30 | ); 31 | } 32 | -------------------------------------------------------------------------------- /src/pages/index.module.css: -------------------------------------------------------------------------------- 1 | /* stylelint-disable docusaurus/copyright-header */ 2 | 3 | /** 4 | * CSS files with the .module.css suffix will be treated as CSS modules 5 | * and scoped locally. 6 | */ 7 | 8 | header { 9 | padding: 2rem 0; 10 | } 11 | 12 | html[data-theme="light"] header h1 { color: #292929; font-weight: 700; margin-bottom: 5px; } 13 | html[data-theme="light"] header p { color: #888888; font-weight: 500; max-width: 600px; } 14 | 15 | html[data-theme="dark"] header h1 { color: #fff; font-weight: 700; margin-bottom: 5px; } 16 | html[data-theme="dark"] header p { color: #eee; font-weight: 500; max-width: 600px; } -------------------------------------------------------------------------------- /src/pages/markdown-page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Markdown page example 3 | --- 4 | 5 | # Markdown page example 6 | 7 | You don't need React to write simple standalone pages. 8 | -------------------------------------------------------------------------------- /static/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/calcom/design/7f58825b53ec10d796d155ada4d2e30d4a5221fc/static/.nojekyll -------------------------------------------------------------------------------- /static/img/alerts.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /static/img/cal-sans-specimen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/calcom/design/7f58825b53ec10d796d155ada4d2e30d4a5221fc/static/img/cal-sans-specimen.png -------------------------------------------------------------------------------- /static/img/categories/colors.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /static/img/categories/default.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /static/img/categories/icons.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | -------------------------------------------------------------------------------- /static/img/categories/typography.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Aa Bb Cc 20 | Lorem ipsum 21 | 22 | 23 | -------------------------------------------------------------------------------- /static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/calcom/design/7f58825b53ec10d796d155ada4d2e30d4a5221fc/static/img/favicon.ico -------------------------------------------------------------------------------- /static/img/grid.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/img/logo-white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /static/img/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /static/img/tutorial/docsVersionDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/calcom/design/7f58825b53ec10d796d155ada4d2e30d4a5221fc/static/img/tutorial/docsVersionDropdown.png -------------------------------------------------------------------------------- /static/img/tutorial/localeDropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/calcom/design/7f58825b53ec10d796d155ada4d2e30d4a5221fc/static/img/tutorial/localeDropdown.png --------------------------------------------------------------------------------