### Install Inter UI NPM Package Source: https://oui.open.gov.sg/docs/getting-started/next Installs the `inter-ui` NPM package for font integration. ```bash pnpm add inter-ui ``` -------------------------------- ### Install Tailwind CSS v4 Source: https://oui.open.gov.sg/docs/getting-started/next Installs Tailwind CSS v4 and the necessary PostCSS plugin for integration. ```bash pnpm add tailwindcss @tailwindcss/postcss ``` -------------------------------- ### Install OUI Dependencies Source: https://oui.open.gov.sg/docs/getting-started/next Installs OUI packages and their peer dependencies for use in a Next.js project. ```bash pnpm add @opengovsg/oui @opengovsg/oui-theme react-aria-components motion ``` -------------------------------- ### Create Next.js Project Source: https://oui.open.gov.sg/docs/getting-started/next Command to create a new Next.js project with TypeScript and ESLint enabled. ```bash pnpm create next-app@latest my-app --typescript --eslint cd my-app ``` -------------------------------- ### Install OUI Packages (pnpm) Source: https://oui.open.gov.sg/docs/getting-started/installation Installs the core OUI library, the theme, and peer dependencies like Tailwind CSS, React Aria Components, and Motion using pnpm. Ensure Node.js version 20.x or later is used. ```shell pnpm add @opengovsg/oui @opengovsg/oui-theme tailwindcss react-aria-components motion ``` -------------------------------- ### Import and Use OUI Button Component (React) Source: https://oui.open.gov.sg/docs/getting-started/installation Demonstrates how to import and use the OUI Button component within a React application after installation and configuration. This example shows basic usage with styling applied via Tailwind CSS classes. ```jsx import { Button } from "@opengovsg/oui" const Demo = () => { return (
) } ``` -------------------------------- ### Import OUI Theme CSS Source: https://oui.open.gov.sg/docs/getting-started/next Imports the OUI theme into the global CSS file, including base styles and design tokens. ```css @import "@opengovsg/oui-theme/tailwind.css"; /* * Note: You may need to change the path relative to this css file to fit your * project structure, especially in a monorepo. */ @source "../path/to/node_modules/@opengovsg/oui-theme"; ``` -------------------------------- ### Import Global CSS in Layout Source: https://oui.open.gov.sg/docs/getting-started/next Ensures the global CSS file is imported into the root layout of the Next.js application. ```javascript import type { Metadata } from "next" import "./globals.css" export const metadata: Metadata = { title: "My App", description: "My app description", } export default function RootLayout({ children, }: { children: React.ReactNode }) { return ( {children} ) } ``` -------------------------------- ### Install Tailwind CSS v4 and Vite Plugin (pnpm) Source: https://oui.open.gov.sg/docs/getting-started/vite Installs Tailwind CSS v4 and its associated Vite plugin using pnpm. These are required for styling within the Vite project. ```bash pnpm add tailwindcss @tailwindcss/vite ``` -------------------------------- ### Set up React Aria Link Provider Source: https://oui.open.gov.sg/docs/getting-started/next Wraps the application with `RouterProvider` to enable client-side navigation with `react-aria-component`'s Link component. ```javascript "use client" import { useRouter } from "next/navigation" import { RouterProvider } from "react-aria-components" export function Providers({ children }: { children: React.ReactNode }) { const router = useRouter() return {children} } ``` ```javascript import type { Metadata } from "next" import { Providers } from "./providers" import "./globals.css" export const metadata: Metadata = { title: "My App", description: "My app description", } export default function RootLayout({ children, }: { children: React.ReactNode }) { return ( {children} ) } ``` -------------------------------- ### Configure PostCSS for Tailwind CSS Source: https://oui.open.gov.sg/docs/getting-started/next Configures the PostCSS build process to use the Tailwind CSS plugin. ```javascript const config = { plugins: { "@tailwindcss/postcss": {}, }, } export default config ``` -------------------------------- ### Configure Inter Font with next/font Source: https://oui.open.gov.sg/docs/getting-started/next Sets up the Inter font using `next/font` and configures Tailwind CSS to use it as the primary sans-serif font. ```javascript import { Inter } from "next/font/google" const inter = Inter({ subsets: ["latin"], variable: "--font-inter", }) ``` ```javascript {children} ``` ```css @import "@opengovsg/oui-theme/tailwind.css"; @source "../path/to/node_modules/@opengovsg/oui-theme"; @theme { --font-sans: var(--font-inter), ui-sans-serif, system-ui, sans-serif; } ``` -------------------------------- ### Use OUI Button Components in Next.js App Router Source: https://oui.open.gov.sg/docs/getting-started/next Demonstrates how to import and use OUI Button components within a Next.js application's App Router. Requires the 'use client' directive for components that interact with the browser. This example shows basic button usage with different color and variant options. ```typescript "use client" import { Button } from "@opengovsg/oui" export default function Home() { return (
) } ``` -------------------------------- ### Optional: React Aria LinkProvider Setup Source: https://oui.open.gov.sg/docs/getting-started/vite Configures the `LinkProvider` from `react-aria-components` in `app/providers.tsx` (or equivalent) to enable proper routing behavior with the `Link` component, especially when using client-side routing libraries. ```typescript import { RouterProvider } from "react-aria-components" import { useHref, useNavigate } from "your-router" export function Providers() { let navigate = useNavigate() return ( {/* ... */} ) } ``` -------------------------------- ### Use Oui Button Components (React/TSX) Source: https://oui.open.gov.sg/docs/getting-started/vite Demonstrates how to import and use various Button components from the '@opengovsg/oui' library in a React TSX file. It shows examples of default, main colored, and outlined buttons within a flex container. ```tsx import { Button } from "@opengovsg/oui" function SomeComponent() { return (
) } ``` -------------------------------- ### Import Global CSS in App Entry Point Source: https://oui.open.gov.sg/docs/getting-started/vite Imports the global CSS file (`src/globals.css`) into the application's main entry point (`src/main.tsx`). This ensures all global styles are applied. ```typescript import React from "react" import "./globals.css" import ReactDOM from "react-dom/client" import App from "./App" ReactDOM.createRoot(document.getElementById("root")!).render( , ) ``` -------------------------------- ### Configure Next.js Pages Router with OUI Providers Source: https://oui.open.gov.sg/docs/getting-started/next Sets up a Next.js application using the Pages Router to integrate OUI components. This involves importing global styles and wrapping the application with necessary providers like `RouterProvider` in `pages/_app.tsx`. Ensures compatibility with `react-aria-components` for accessibility. ```typescript import type { AppProps } from "next/app" import { useRouter } from "next/router" import { RouterProvider } from "react-aria-components" import "../styles/globals.css" export default function App({ Component, pageProps }: AppProps) { const router = useRouter() return ( ) } ``` -------------------------------- ### Configure Inter Font with NPM Package Source: https://oui.open.gov.sg/docs/getting-started/next Imports Inter font CSS from the NPM package and sets CSS variables for font families. ```css @import "@opengovsg/oui-theme/tailwind.css"; @source "../path/to/node_modules/@opengovsg/oui-theme"; @import "inter-ui/inter.css"; @import "inter-ui/inter-variable.css"; @layer base { :root { --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif; @supports (font-variation-settings: normal) { --font-sans: "InterVariable", ui-sans-serif, system-ui, sans-serif; } } } ``` -------------------------------- ### Create Vite Project with React and TypeScript (pnpm) Source: https://oui.open.gov.sg/docs/getting-started/vite Command to create a new Vite project using pnpm with the React and TypeScript template. Navigates into the newly created project directory. ```bash pnpm create vite@latest my-app -- --template react-ts cd my-app ``` -------------------------------- ### OUI Toast Setup and Usage (React) Source: https://oui.open.gov.sg/docs/components/toast Demonstrates how to set up the `Toaster` component in your root layout and use the `toast` function to trigger notifications within a React component. Requires the `@opengovsg/oui` package. ```tsx import { toast, Toaster } from "@opengovsg/oui" // In your root layout (e.g., layout.tsx) export default function RootLayout({ children }) { return ( {children} ) } // In a page or component (e.g., page.tsx) import { Button } from "@opengovsg/oui" import { toast } from "@opengovsg/oui" function MyComponent() { return ( ) } ``` -------------------------------- ### TypeScript Configuration for OUI Components Source: https://oui.open.gov.sg/docs/getting-started/next Essential TypeScript configuration for optimal integration with OUI components and Next.js. Ensures correct module resolution and JSX rendering. This configuration should be included in your `tsconfig.json` file. ```json { "compilerOptions": { "moduleResolution": "bundler", "jsx": "preserve" } } ``` -------------------------------- ### FileDropzone for Multiple Files Source: https://oui.open.gov.sg/docs/components/file-dropzone Demonstrates how to configure the FileDropzone to accept multiple files simultaneously using the `maxFiles` prop. This example allows up to 5 files. ```jsx ``` -------------------------------- ### Optional: Wrap App with Providers Source: https://oui.open.gov.sg/docs/getting-started/vite Wraps the application's root layout (`app/layout.tsx`) with the defined `Providers` component. This ensures that the `LinkProvider` and other necessary context providers are available throughout the app. ```typescript import { Providers } from "./providers" export default function RootLayout({ children, }: { children: React.ReactNode }) { return ( {children} ) } ``` -------------------------------- ### Install @internationalized/date for DateField Source: https://oui.open.gov.sg/docs/components/date-field Installs the @internationalized/date library, which provides essential utilities for handling date and time parsing and manipulation within the DateField component. ```bash pnpm add @internationalized/date ``` ```bash npm install @internationalized/date ``` ```bash yarn add @internationalized/date ``` ```bash bun add @internationalized/date ``` -------------------------------- ### FileDropzone Showing Rejected Files Source: https://oui.open.gov.sg/docs/components/file-dropzone Shows how to display files that failed validation using the `showRejectedFiles` prop. This example is configured to accept only text files and demonstrates rejecting an image. ```jsx ``` -------------------------------- ### Include Inter Font via Google Fonts Source: https://oui.open.gov.sg/docs/getting-started/vite Adds Google Fonts links to the `index.html` to include the Inter font. This is an alternative to using the NPM package. ```html ``` -------------------------------- ### Configure Tailwind CSS for Monorepo with OUI Theme Source: https://oui.open.gov.sg/docs/getting-started/installation When using OUI within a monorepo, this configuration ensures Tailwind CSS correctly detects OUI component class names by adding a `@source` directive pointing to the theme's installation directory. ```css @import "@opengovsg/oui-theme/tailwind.css"; @source "../path/to/node_modules/@opengovsg/oui-theme"; ``` -------------------------------- ### Import OUI Theme CSS Source: https://oui.open.gov.sg/docs/getting-started/vite Imports the OUI theme into the main CSS file (`src/globals.css`). This includes Tailwind CSS base styles, OUI design tokens, and integrations for React Aria Components and animation utilities. ```css @import "@opengovsg/oui-theme/tailwind.css"; /* * Note: You may need to change the path relative to this css file to fit your * project structure, especially in a monorepo. */ @source "../path/to/node_modules/@opengovsg/oui-theme"; ``` -------------------------------- ### Import and Use FileDropzone Component Source: https://oui.open.gov.sg/docs/components/file-dropzone Demonstrates how to import the FileDropzone component from the @opengovsg/oui library and use it in a React application. This is the basic setup for integrating the component. ```jsx import { FileDropzone } from "@opengovsg/oui" ``` -------------------------------- ### Controlled DateField Example Source: https://oui.open.gov.sg/docs/components/date-field Demonstrates a controlled DateField where the date value is managed by the application's state using `value` and `onChange` props. ```jsx let [date, setDate] = useState(parseDate("2024-04-04")); <>

Selected date: {date.toDate(getLocalTimeZone()).toLocaleDateString('en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}

``` -------------------------------- ### Controlled Accordion Example (React) Source: https://oui.open.gov.sg/docs/components/accordion Demonstrates how to control the expanded state of accordion items programmatically. The 'expandedKeys' prop manages the currently expanded items, and 'onExpandedChange' handles state updates. ```jsx const [expanded, setExpanded] = React.useState(['item-1']); Content for the first item. Content for the second item. ``` -------------------------------- ### Read Only DateField Example Source: https://oui.open.gov.sg/docs/components/date-field Demonstrates a read-only DateField, displaying a date value without allowing any user modifications. ```jsx ``` -------------------------------- ### FileDropzone with File Size Limits Source: https://oui.open.gov.sg/docs/components/file-dropzone Shows how to enforce file size restrictions on uploads using `maxFileSize` and `minFileSize` props. Sizes are specified in bytes, with this example setting limits for documents. ```jsx ``` -------------------------------- ### FileDropzone with Allowed MIME Types Source: https://oui.open.gov.sg/docs/components/file-dropzone Illustrates how to restrict uploaded file types using the `allowedMimeTypes` prop. This example specifically allows only image files, supporting wildcards. ```jsx ``` -------------------------------- ### NumberField with Start and End Content (React) Source: https://oui.open.gov.sg/docs/components/number-field Illustrates adding custom content, such as currency symbols or units, to the start or end of the NumberField input using the `startContent` and `endContent` props. ```javascript ``` -------------------------------- ### FileDropzone with Error Handling Source: https://oui.open.gov.sg/docs/components/file-dropzone Illustrates how to handle file validation errors using the `onError` callback. This example specifically focuses on accepting only PDF files and includes size validation. ```jsx console.log(error)} /> ``` -------------------------------- ### Draggable Modal Example Source: https://oui.open.gov.sg/docs/components/modal Shows how to make a Modal draggable using the `useDraggable` hook. It's recommended to use `fade` or `none` animation for a smoother experience, as `zoom` animation might interfere with dragging. ```jsx import { Modal, ModalTrigger, ModalContent, ModalHeader, ModalBody, ModalFooter, Button, } from "@/components/ui/modal"; import { useDraggable } from "@react-dnd/core"; // Assuming a library like react-dnd or a custom hook export default function DraggableModalDemo() { const { setNodeRef } = useDraggable({ id: "draggable-modal", // ... other draggable configurations }); return ( Draggable Modal You can drag this modal around. ); } ``` -------------------------------- ### Basic Navbar Structure in React JSX Source: https://oui.open.gov.sg/docs/components/navbar This JSX example demonstrates the basic structure of a Navbar using OUI components. It includes a brand element and navigation content with items, suitable for desktop or general navigation. ```jsx

OUI

Features Customers Login
``` -------------------------------- ### Set Controlled Date Range with RangeCalendar Source: https://oui.open.gov.sg/docs/components/range-calendar Demonstrates how to set a controlled date range in a RangeCalendar component. This example shows how to pre-select a date range, impacting the calendar's initial view and selected dates. It does not require external libraries beyond the RangeCalendar component itself. ```javascript import { RangeCalendar, useRangeCalendar, } from '@react-aria/calendar'; import { useDateFormatter, getLocalTimeZone, } from '@react-aria/i18n'; import * as React from 'react'; function DatePickerWithCalendar() { let { calendarProps, dateProps, month, nextMonth, prevMonth, weekStartDay } = useRangeCalendar({ locale: 'en-SG', createCalendar: createCalendar('gregory'), numberOfMonths: 2 }); let formatter = useDateFormatter({ dateStyle: 'full', locale: 'en-SG' }); return (

Selected dates: {formatter.formatRange(dateProps.startDate.toDate(getLocalTimeZone()), dateProps.endDate.toDate(getLocalTimeZone()))}

date.day === 14 && date.month === 1 && date.year === 2026} onUpdate:nextMonth={nextMonth} onUpdate:prevMonth={prevMonth} month={month} weekStartDay={weekStartDay} >
); } ``` -------------------------------- ### TypeScript Configuration for Oui Components (JSON) Source: https://oui.open.gov.sg/docs/getting-started/vite Provides the essential TypeScript configuration for 'tsconfig.json' to ensure compatibility and best practices when using Oui components. It specifies 'moduleResolution' as 'bundler' and 'jsx' as 'react-jsx'. ```json { "compilerOptions": { "moduleResolution": "bundler", "jsx": "react-jsx" } } ``` -------------------------------- ### Configure Vite with Tailwind CSS Plugin Source: https://oui.open.gov.sg/docs/getting-started/vite Adds the Tailwind CSS plugin to the Vite configuration file (`vite.config.ts`). This enables Tailwind CSS processing within the Vite build. ```typescript import tailwindcss from "@tailwindcss/vite" import react from "@vitejs/plugin-react" import { defineConfig } from "vite" export default defineConfig({ plugins: [ // Add Tailwind CSS plugin tailwindcss(), react(), ], }) ``` -------------------------------- ### Button Component: Variant Styles Source: https://oui.open.gov.sg/docs/components/button Shows how to alter the visual style of the Button component using the 'variant' prop. Examples include 'solid' and 'outline'. ```javascript ``` -------------------------------- ### Import OUI Theme and Custom CSS Source: https://oui.open.gov.sg/docs/getting-started/theming This snippet shows how to integrate the generated OUI theme into your application's Tailwind CSS configuration. It includes importing the base OUI theme, defining font variables, and importing the custom generated theme file. ```css @import "@opengovsg/oui-theme/tailwind.css"; @source "../path/to/node_modules/@opengovsg/oui-theme"; @theme { /* * This assignment will differ depending on how the font is set up. * The important part is to ensure that --font-sans is defined with the Inter font. */ --font-sans: var(--font-inter), ui-sans-serif, system-ui, sans-serif; } @import "path/to/generated-Postman.css"; /* Alternatively, you can directly inline the contents of the generated CSS file * into your Tailwind CSS file. */ ``` -------------------------------- ### Button Component: Spinner Placement Source: https://oui.open.gov.sg/docs/components/button Demonstrates how to control the placement of the loading spinner within the Button component using the 'spinnerPlacement' prop. Options include 'start' and 'end'. ```javascript ``` -------------------------------- ### Generate OUI Theme with pnpm Source: https://oui.open.gov.sg/docs/getting-started/theming This command uses the OUI token generator to create a custom theme based on your product's branding. It prompts the user to select a theme and generates a CSS file containing theme variables. ```shell pnpm dlx @opengovsg/oui-token-gen generate ``` -------------------------------- ### Add OUI Theme to Tailwind CSS Source: https://oui.open.gov.sg/docs/getting-started/installation Integrates the OUI theme into your Tailwind CSS setup by importing the theme's CSS file. This step is crucial for applying OUI's styles and should be added to your main Tailwind CSS configuration file. ```css @import "@opengovsg/oui-theme/tailwind.css"; ``` -------------------------------- ### Configure Inter Font in Tailwind CSS Source: https://oui.open.gov.sg/docs/getting-started/installation Sets up the Inter font as the default sans-serif font (`--font-sans`) in your Tailwind CSS configuration. This step ensures OUI components use the intended typography, requiring either self-hosting or a CDN for the font files. ```css @import "@opengovsg/oui-theme/tailwind.css"; @source "../path/to/node_modules/@opengovsg/oui-theme"; @theme { /* * This assignment will differ depending on how the font is set up. * The important part is to ensure that --font-sans is defined with the Inter font. */ --font-sans: var(--font-inter), ui-sans-serif, system-ui, sans-serif; } ``` -------------------------------- ### FileDropzone with Label and Description Source: https://oui.open.gov.sg/docs/components/file-dropzone Shows how to provide a visible label and descriptive text to the FileDropzone component to give users clear instructions. This enhances usability and accessibility. ```jsx ``` -------------------------------- ### Button Component: Start and End Content (Icons) Source: https://oui.open.gov.sg/docs/components/button Demonstrates how to include icons at the start or end of the Button component for enhanced visual cues, such as an email or proceed icon. ```javascript ``` -------------------------------- ### Import and Basic Usage of Button Component Source: https://oui.open.gov.sg/docs/components/button Demonstrates how to import the Button component from '@opengovsg/oui' and its basic usage with a simple label. ```javascript import { Button } from "@opengovsg/oui" ``` -------------------------------- ### OUI Toast API - Basic and Advanced Usage (JavaScript) Source: https://oui.open.gov.sg/docs/components/toast Illustrates various ways to use the `toast` function, including basic messages, options like description and position, type-specific toasts, promise-based toasts for async operations, and toast dismissal. Leverages the `@opengovsg/oui` library. ```javascript // Basic usage t oast("Message") // With options t oast("Message", { description: "Additional details", duration: 5000, position: "top-center", }) // Type-specific toasts t oast.success("Success message") t oast.error("Error message") t oast.warning("Warning message") t oast.info("Info message") t oast.loading("Loading message") // Promise toast t oast.promise(asyncFunction, { loading: "Loading...", success: "Success!", error: "Error!", }) // Dismiss a toast const toastId = toast("Message") t oast.dismiss(toastId) // Dismiss all toasts t oast.dismiss() ``` -------------------------------- ### Basic DateField Usage Source: https://oui.open.gov.sg/docs/components/date-field Demonstrates the basic structure and usage of the DateField component for users to input date values. ```jsx <{ <{ // DateField with default formatting } /> } /> ``` -------------------------------- ### Accordion with Start Content (React) Source: https://oui.open.gov.sg/docs/components/accordion Adds custom content, such as an icon, before the header title in an AccordionHeader. This is achieved using the 'startContent' prop. ```jsx }>Accordion header with icon Content section. ``` -------------------------------- ### Disabled DateField Example Source: https://oui.open.gov.sg/docs/components/date-field Shows a disabled DateField, preventing user interaction and input, typically used to indicate an unavailable or non-editable date. ```jsx ``` -------------------------------- ### Basic Accordion Usage (React) Source: https://oui.open.gov.sg/docs/components/accordion Demonstrates the basic structure for using the Accordion component. It includes the main Accordion wrapper, individual AccordionItems, an AccordionHeader for toggling, and an AccordionContent for the collapsible section. ```jsx Accordion header Accordion content ``` -------------------------------- ### FileDropzone with Image Previews Source: https://oui.open.gov.sg/docs/components/file-dropzone Demonstrates controlling the image preview size or disabling it entirely using the `imagePreview` prop. Options include 'small' (default), 'large', or `false` to disable. ```jsx /* Small preview (default) */ /* Large preview */ /* No preview */ ``` -------------------------------- ### Basic NumberField Usage (React) Source: https://oui.open.gov.sg/docs/components/number-field Demonstrates the basic implementation of the NumberField component. It requires an accessible label, which can be provided via the `aria-label` prop if a visible label is not present. ```javascript ``` -------------------------------- ### NumberField with Label and Description (React) Source: https://oui.open.gov.sg/docs/components/number-field Illustrates how to use the NumberField with a visible `label` and a `description` prop to provide context and instructions to the user, improving usability. ```javascript ``` -------------------------------- ### Navbar with Collapsible Menu in React JSX Source: https://oui.open.gov.sg/docs/components/navbar This JSX example illustrates how to implement a collapsible menu within a Navbar using `NavbarMenuToggle` and `NavbarMenu`. This pattern is commonly used for responsive navigation, especially on mobile devices. ```jsx {/* ... other Navbar content ... */} {/* ... NavbarMenuItem components ... */} ``` -------------------------------- ### FileDropzone with Custom File Rendering Source: https://oui.open.gov.sg/docs/components/file-dropzone Illustrates how to customize the display of uploaded files using the `children` render prop. This allows for unique formatting or additional information per file. ```jsx {({ files }) => ( <> {files.map((file) => (
{file.name} - {file.size} bytes
))} )}
``` -------------------------------- ### Configure Tailwind CSS for Inter Font (Google Fonts) Source: https://oui.open.gov.sg/docs/getting-started/vite Sets the `--font-sans` CSS variable in `src/globals.css` to use the Inter font when Google Fonts is used. Ensures Tailwind uses the correct font family. ```css @import "@opengovsg/oui-theme/tailwind.css"; @source "../path/to/node_modules/@opengovsg/oui-theme"; @theme { --font-sans: "Inter", ui-sans-serif, system-ui, sans-serif; } ``` -------------------------------- ### Customizing FileDropzone with Tailwind CSS Classes Source: https://oui.open.gov.sg/docs/components/file-dropzone Demonstrates how to apply custom Tailwind CSS classes to the FileDropzone component and its individual file items. This allows for extensive styling flexibility using utility-first CSS. ```jsx ``` -------------------------------- ### Modal Usage and Imports (React) Source: https://oui.open.gov.sg/docs/components/modal Demonstrates the necessary imports and basic JSX structure for using the OUI Modal component in a React application. It shows how to integrate the Modal with a DialogTrigger and Button. ```javascript import { Button, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, } from "@opengovsg/oui" {(onClose) => ( <> Modal Title

Your modal content here

)}
``` -------------------------------- ### FileDropzone Sizes Source: https://oui.open.gov.sg/docs/components/file-dropzone Demonstrates how to adjust the visual size of the FileDropzone component using the `size` prop. Options include 'sm' for small and 'md' for medium (default). ```jsx /* Small size */ /* Medium size (default) */ ```