Session: nested-cuddling-pizza-subagent-aa07d663 — 2026-02-25

doctolib-doctolib · Claude · branch master · claude-haiku-4-5-20251001 · 2026-02-25 12:28 · 1 msgs · 24 tools · 14 min read · updated 2 months ago

Explore the Oxygen design system at /Users/USER/workspace/doctolib/oxygen/packages to find all available UI...

tools: Bash, Read
← doctolib-doctolib Download .md .txt .json
Tool calls
Bash Bash: 12 calls (50.0%) 12 Read Read: 12 calls (50.0%) 12
Token usage5.7M total
Input38
Cache creation299.1K
Cache read5.4M
Output208
Cache hit ratio95%· healthy

Project: doctolib-doctolib · Branch: master · Mode: ` · **Model:**claude-haiku-4-5-20251001`

Stats: 1 user messages, 24 tool calls, tools used: Bash, Read.

Conversation

Turn 1 — User

Explore the Oxygen design system at /Users/USER/workspace/doctolib/oxygen/packages to find all available UI components.

I need a comprehensive list of components with their: 1. Component name (exported identifier) 2. File path 3. Brief description of what it does (from prop types or JSDoc) 4. Key props (especially any related to: tables, modals, badges, buttons, forms, filters, checkboxes, date pickers, selects, pagination)

Focus especially on components that would be useful for: - Modal/dialog containers - Data tables with sortable columns and row selection - Status badges/chips/tags - Action buttons (with disabled state) - Filter panels (checkboxes, date range pickers, select dropdowns) - Error banners/alerts - Loading states/spinners - Pagination controls - Headers/titles

Look in /Users/USER/workspace/doctolib/oxygen/packages/*/src/ and find the main index.ts exports.

Please be thorough - list ALL component names that are exported from the design system's main index files. Also note if there's a Storybook or README with usage examples.

Turn 1 — Assistant

I'll help you explore the Oxygen design system and compile a comprehensive list of UI components. Let me start by examining the package structure.

Tools used:

  • Bash: find /Users/USER/workspace/doctolib/oxygen/packages -type f -name "index.ts" | head -20

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/oxygen/packages/core/src/tokens/index.ts /Users/USER/workspace/doctolib/oxygen/packages/toast/src/components/Toast/index.ts /Users/USER/workspace/doctolib/oxygen/packages/toast/src/components/ToastCard/index.ts /Users/USER/workspace/doctolib/oxygen/packages/toast/src/index.ts /Users/USER/workspace/doctolib/oxygen/packages/storybook-config/components/index.ts /Users/USER/workspace/doctolib/oxygen/packages/codemods/src/bin/index.ts /Users/USER/workspace/doctolib/oxyg …(truncated, 117 more chars)

Let me explore the package structure more systematically.

Tools used:

  • Bash: ls -la /Users/USER/workspace/doctolib/oxygen/packages/

Tool results:

→ result (ok): drwxr-xr-x clertonra staff 384 B Wed Feb 25 13:12:45 2026 . drwxr-xr-x clertonra staff 1.3 KB Wed Feb 25 13:12:45 2026 .. drwxr-xr-x clertonra staff 608 B Wed Feb 25 13:12:44 2026 b2b drwxr-xr-x clertonra staff 576 B Wed Feb 25 13:12:44 2026 b2c drwxr-xr-x clertonra staff 448 B Wed Feb 25 13:12:44 2026 codemods drwxr-xr-x clertonra staff 832 B Wed Feb 25 13:12:44 2026 core drwxr-xr-x clertonra staff 480 B Wed Feb 25 13:12:45 2026 icons drwxr-xr-x clertonra staff 416 B Wed Feb 25 13:12:45 …(truncated, 303 more chars)

Now let me check the main component packages. Let me explore each one:

Tools used:

  • Bash: find /Users/USER/workspace/doctolib/oxygen/packages -type d -maxdepth 2 -name src

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/oxygen/packages/illustrative-icons/src /Users/USER/workspace/doctolib/oxygen/packages/core/src /Users/USER/workspace/doctolib/oxygen/packages/toast/src /Users/USER/workspace/doctolib/oxygen/packages/b2b/src /Users/USER/workspace/doctolib/oxygen/packages/b2c/src /Users/USER/workspace/doctolib/oxygen/packages/icons/src /Users/USER/workspace/doctolib/oxygen/packages/tokens/src /Users/USER/workspace/doctolib/oxygen/packages/codemods/src

Let me check the main index files for each package:

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src

Tool results:

→ result (ERROR): EISDIR: illegal operation on a directory, read '/Users/USER/workspace/doctolib/oxygen/packages/core/src'

Tools used:

  • Bash: find /Users/USER/workspace/doctolib/oxygen/packages/core/src -maxdepth 1 -name "index.ts" -o -name "index.tsx"

Tool results:

→ result (ok)

Tools used:

  • Bash: ls -la /Users/USER/workspace/doctolib/oxygen/packages/core/src/ | head -30

Tool results:

→ result (ok): drwxr-xr-x clertonra staff 1.1 KB Wed Feb 25 13:12:44 2026 . drwxr-xr-x clertonra staff 832 B Wed Feb 25 13:12:44 2026 .. drwxr-xr-x clertonra staff 224 B Wed Feb 25 13:12:44 2026 a11y drwxr-xr-x clertonra staff 256 B Wed Feb 25 13:12:44 2026 actions drwxr-xr-x clertonra staff 96 B Wed Feb 25 13:12:44 2026 collection drwxr-xr-x clertonra staff 256 B Wed Feb 25 13:12:44 2026 common .rw-r--r-- clertonra staff 45 B Wed Feb 25 13:12:44 2026 constants.ts drwxr-xr-x clertonra staff 832 B Wed …(truncated, 1604 more chars)

Good! Now let me check for the main exports. Let me look for index files in the core package:

Tools used:

  • Bash: find /Users/USER/workspace/doctolib/oxygen/packages/core -name "index.ts" -o -name "index.tsx" | sort

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/oxygen/packages/core/src/tokens/index.ts

Let me check if there's a main entry point at the root level:

Tools used:

  • Bash: ls -la /Users/USER/workspace/doctolib/oxygen/packages/core/ | grep -E "index|package"

Tool results:

→ result (ok): .rw-r--r-- clertonra staff 41 KB Wed Feb 25 13:12:44 2026 package.json

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/package.json

Tool results:

→ result (ok): 1→{ 2→ "name": "@doctolib/design-system", 3→ "version": "2.27.2", 4→ "license": "Doctolib", 5→ "description": "Doctolib's design system", 6→ "type": "module", 7→ "scripts": { 8→ "clean": "rm -rf node_modules/", 9→ "build": "rimraf dist/ && npm run -s sync-style-files && tsc --project tsconfig.build.json && tsc-alias --project tsconfig.build.json", 10→ "check-exports": "tsx ../../scripts/check-exports.ts", 11→ "dev": "nx run storyb …(truncated, 48648 more chars)

Perfect! Now I have the main exports. Let me check the source files for component descriptions. Let me check a few key components to get their descriptions:

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src/dataDisplay/Table/Table.tsx (1–50)

Tool results:

→ result (ok): 1→import './Table.scss' 2→ 3→import classNames from 'classnames' 4→import type { ComponentPropsWithoutRef, ReactNode } from 'react' 5→ 6→import type { SkeletonLoaderProps } from './TableSkeletonLoader' 7→import { TableSkeletonLoader } from './TableSkeletonLoader' 8→ 9→type Props = { 10→ fixedLayout?: boolean | undefined 11→ className?: string | undefined 12→ children?: ReactNode 13→ loading?: boolean | undefined 14→ skeletonLoaderP …(truncated, 1458 more chars)

Excellent! Now let me check some more components to get their prop descriptions. Let me check Modal, Dialog, Badge, Button, etc.:

Tools used:

  • Bash: head -50 /Users/USER/workspace/doctolib/oxygen/packages/core/src/overlays/Modal/Modal.tsx

Tool results:

→ result (ok): import { forwardRef, useRef, type ReactElement, type ReactEventHandler, type ReactNode, type SyntheticEvent, } from 'react' import MaterialModal from '@mui/material/Modal' import classNames from 'classnames' import { v4 as uuidv4 } from 'uuid' import { _Transition as Transition } from '../_ModalTransition/_ModalTransition' import { IconButton } from '../../actions/IconButton/v2/IconButton' import { Button } from '../../actions/Button/Button' import type { DrawerProps } from '../Drawe …(truncated, 1023 more chars)

Let me gather prop info by checking several component files systematically:

Tools used:

  • Bash: grep -n "^\s*/\*\*" /Users/USER/workspace/doctolib/oxygen/packages/core/src/actions/Button/Button.tsx | head -5

Tool results:

→ result (ok): 102:/**

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src/actions/Button/Button.tsx (1–130)

Tool results:

→ result (ok): 1→import './Button.scss' 2→ 3→import classNames from 'classnames' 4→import { 5→ type ComponentPropsWithoutRef, 6→ type ComponentType, 7→ forwardRef, 8→ type MouseEventHandler, 9→ type TouchEventHandler, 10→} from 'react' 11→import type { DesignSystemIconComponent } from '@doctolib/design-system-icons' 12→import { Link } from 'react-router-dom' 13→ 14→import { getIconByNameOrComponent } from '../../helpers/icons' 15→import type …(truncated, 4605 more chars)

Let me now systematically gather component info by looking at multiple source files. Let me check several components in parallel:

Tools used:

  • Bash: for file in Badge Dialog Checkbox Select Pagination Alert EmptyState; do echo "=== $file ==="; head -40 /Users/USER/workspace/doctolib/oxygen/packages/core/src/*/$file/$file.tsx 2>/dev/null | gre …(truncated, 34 more chars)

Tool results:

→ result (ok): === Badge === / * A Badge is a small visual indicator component used to show notifications counts and/or highlight new or updated content. */ === Dialog === / * A Dialog is a modal window that appears above the page content to deliver important information or request user confirmation for a specific action. To capture the user's full attention, the page content is inaccessible and hidden behind a Backdrop. * === Checkbox === === Select === /* display mode of the field / uiStyle?: ' …(truncated, 306 more chars)

Good! Now let me systematically extract the full component list and their descriptions. Let me read multiple component source files:

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src/dataDisplay/Badge/Badge.tsx (1–60)

Tool results:

→ result (ok): 1→import type { ReactNode } from 'react' 2→import classNames from 'classnames' 3→import { Span } from '../text/Span' 4→import './Badge.scss' 5→ 6→export type BadgeStyle = 7→ | 'info' 8→ | 'error' 9→ | 'success' 10→ | 'warning' 11→ | 'dark-info' 12→ | 'mute' 13→ | 'no-background' 14→ | 'neutral' 15→ | 'disabled' 16→ 17→export type BadgeProps = { 18→ walkmeId?: string | undefined 19→ 'aria-label'?: string | …(truncated, 1648 more chars)

Let me now check additional important components and create a comprehensive list. Let me check more files in parallel:

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src/overlays/Dialog/Dialog.tsx (1–60)

Tool results:

→ result (ok): 1→import './Dialog.scss' 2→ 3→import classNames from 'classnames' 4→import type { DesignSystemIconComponent } from '@doctolib/design-system-icons' 5→import type { ReactEventHandler, ReactNode } from 'react' 6→ 7→import { Button } from '../../actions/Button/Button' 8→import type { IconName } from '../../dataDisplay/Icon/Icon' 9→import { Modal, type ModalProps } from '../Modal/Modal' 10→import { ModalBody } from '../ModalBody/ModalBody' 11→import { M …(truncated, 2103 more chars)

Let me check a few more critical components and gather more information about props:

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src/feedbacks/Alert/Alert.tsx (1–80)

Tool results:

→ result (ok): 1→import './Alert.scss' 2→ 3→import classNames from 'classnames' 4→import type { DesignSystemIconComponent } from '@doctolib/design-system-icons' 5→import type { MouseEventHandler, ReactElement, ReactNode } from 'react' 6→ 7→import { Button } from '../../actions/Button/Button' 8→import { getIconByNameOrComponent } from '../../helpers/icons' 9→import { IconButton } from '../../actions/IconButton/v2/IconButton' 10→import type { IconName } from '../../dat …(truncated, 3027 more chars)

Let me check the forms components now:

Tools used:

  • Bash: head -50 /Users/USER/workspace/doctolib/oxygen/packages/core/src/forms/Checkbox/Checkbox.tsx | grep -A 5 "/\*\*"

Tool results:

→ result (ok)

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src/forms/Checkbox/Checkbox.tsx (1–70)

Tool results:

→ result (ok): 1→import './Checkbox.scss' 2→ 3→import type { ChangeEventHandler, FocusEventHandler, MouseEventHandler, ReactNode } from 'react' 4→import classNames from 'classnames' 5→import { forwardRef, useEffect, useImperativeHandle, useMemo, useRef } from 'react' 6→import { v4 as uuidv4 } from 'uuid' 7→ 8→import { computeAriaDescribedBy } from '../private/aria' 9→import type { FieldState } from '../private/Field' 10→import { Icon } from '../../dataDisplay/Icon/Ic …(truncated, 2468 more chars)

Now let me check pagination and a few more important components:

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src/navigation/Pagination/Pagination.tsx (1–70)

Tool results:

→ result (ok): 1→import './Pagination.scss' 2→ 3→import type { MouseEvent, MouseEventHandler, ReactNode } from 'react' 4→ 5→import { Button } from '../../actions/Button/Button' 6→import { Icon } from '../../dataDisplay/Icon/Icon' 7→import classNames from 'classnames' 8→import { range } from 'lodash-es' 9→import { useTranslations } from '../../i18n/useTranslations' 10→ 11→type PaginationButtonProps = { 12→ children?: ReactNode 13→ active?: boolean 14 …(truncated, 1944 more chars)

Let me check a few more components and also look for the Storybook documentation:

Tools used:

  • Bash: find /Users/USER/workspace/doctolib/oxygen/packages/core -name ".storybook" -o -name "README*" | head -10

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/oxygen/packages/core/.storybook /Users/USER/workspace/doctolib/oxygen/packages/core/README.md /Users/USER/workspace/doctolib/oxygen/packages/core/public/emoji_picker_data/README.md /Users/USER/workspace/doctolib/oxygen/packages/core/src/README.mdx

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/README.md

Tool results:

→ result (ok): 1→# Oxygen 2→ 3→## Storybook 4→ 5→- Last release 6→- 🔐 Next release 7→ 8→## Contributing 9→ 10→Run this command line at the root to launch Storybook: 11→ 12→bash 13→npm run dev 14→ 15→ 16→Add a new story to the component you want to work on. 17→ 18→For instance, if you're making changes to the Textarea component, you c …(truncated, 5461 more chars)

Great! Now let me check Select and a few more form components to complete the picture:

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src/forms/Select/Select.tsx (1–80)

Tool results:

→ result (ok): 1→import type { ChangeEventHandler, ComponentProps, ReactNode } from 'react' 2→import { forwardRef, useId, useMemo } from 'react' 3→ 4→import { computeAriaDescribedBy } from '../private/aria' 5→import type { ContextualPopover } from '../../overlays/ContextualPopover/ContextualPopover' 6→import type { DataAttribute } from '../../common/DataAttribute/DataAttribute' 7→import type { FieldState } from '../private/Field' 8→import { getFieldInputId, getFieldLabelId } …(truncated, 3490 more chars)

Perfect! Now let me quickly check a few more key components and then compile the comprehensive list:

Tools used:

  • Read: /Users/USER/workspace/doctolib/oxygen/packages/core/src/feedbacks/SpinnerLoader/SpinnerLoader.tsx (1–50)

Tool results:

→ result (ok): 1→import type { ReactElement } from 'react' 2→import classNames from 'classnames' 3→import './SpinnerLoader.scss' 4→import { useTranslations } from '../../i18n/useTranslations' 5→ 6→const SPINNER_SIZES = { xsmall: 8, small: 12, medium: 16, large: 24 } as const 7→const STROKE_WIDTH = 2 8→ 9→export type SpinnerSize = keyof typeof SPINNER_SIZES 10→ 11→const viewboxSize = (size: SpinnerSize): string => `0 0 ${SPINNER_SIZES[size] + 1} ${SPINNER_SIZES[si …(truncated, 1867 more chars)

Perfect! Now I have enough information. Let me compile the comprehensive list of all Oxygen design system components based on the package.json exports I found earlier. Let me create a detailed report for the user:

Comprehensive Oxygen Design System Component List

I've analyzed the Oxygen design system at /Users/USER/workspace/doctolib/oxygen/packages/core/ and extracted all exported components. Here's the complete list organized by category:

OVERVIEW

  • Package Name: @doctolib/design-system
  • Version: 2.27.2
  • Storybook: https://doctolib.github.io/storybook/ (Last release) | https://doctolib.github.io/storybook-ephemerals/next (Next release)
  • Source Location: /Users/USER/workspace/doctolib/oxygen/packages/core/src/
  • Setup: Run npm run dev at the root to launch Storybook locally on port 9001

COMPONENT CATEGORIES

ACTIONS (Button-like Components)

  1. Button (/dist/actions/Button/Button.js) - Allows users to perform actions in pages, areas, modals - Props: uiStyle (primary, primary-danger, secondary, tertiary-primary, tertiary-danger, tertiary-neutral, small-primary, small-neutral, small-danger, small-white, link-primary, link-danger, neutral), size (small, medium), disabled, loading, success, leftIcon, rightIcon, block, circle, square, floating - Status: Deprecated - use Button/v2 instead

  2. Button/v2 (/dist/actions/Button/v2/Button.js) - Modern button component version

  3. IconButton (/dist/actions/IconButton/IconButton.js) - Button displaying only an icon

  4. IconButton/v2 (/dist/actions/IconButton/v2/IconButton.js) - Modern icon button version

  5. ButtonFloating (/dist/actions/ButtonFloating/ButtonFloating.js) - Floating action button

  6. ButtonWithLinkStyle (/dist/actions/ButtonWithLinkStyle/ButtonWithLinkStyle.js) - Button styled as a link

  7. Dropdown (/dist/actions/Dropdown/Dropdown.js) - Dropdown menu component

  8. DropdownTrigger (/dist/actions/Dropdown/DropdownTrigger.js) - Trigger for dropdown menus

  9. Switch (/dist/actions/Switch/Switch.js) - Toggle switch component - Props: checked, disabled, onChange


DATA DISPLAY (Tables, Cards, Badges, Text)

  1. Table (/dist/dataDisplay/Table/Table.js) - Displays sets of data in tabular format - Props: fixedLayout, loading, skeletonLoaderProps, size (xsmall, small, medium)

  2. TableBody (/dist/dataDisplay/Table/TableBody.js) - Table body container

  3. TableHead (/dist/dataDisplay/Table/TableHead.js) - Table header container

  4. TableRow (/dist/dataDisplay/Table/TableRow.js) - Table row component

  5. TableCell (/dist/dataDisplay/Table/TableCell.js) - Table cell component

  6. TableHeadCell (/dist/dataDisplay/Table/TableHeadCell.js) - Table header cell component

  7. TableHeadSelectAllCell (/dist/dataDisplay/Table/TableHeadSelectAllCell.js) - Checkbox cell for selecting all rows

  8. TableSelectCell (/dist/dataDisplay/Table/TableSelectCell.js) - Checkbox cell for row selection

  9. TableSkeletonLoader (/dist/dataDisplay/Table/TableSkeletonLoader.js) - Loading skeleton for tables

  10. BulkSelect (/dist/dataDisplay/Table/Utils/BulkSelect.js)

    • Utility for bulk row selection
  11. useTableSort (/dist/dataDisplay/Table/hooks/useTableSort.js)

    • Hook for handling sortable columns
  12. Badge (/dist/dataDisplay/Badge/Badge.js)

    • Small visual indicator for notifications/highlights
    • Props: uiStyle (info, error, success, warning, dark-info, mute, no-background, neutral, disabled), size (small, medium, large), children
  13. Pill (/dist/dataDisplay/Pill/Pill.js)

    • Pill-shaped badge component
  14. Card (/dist/dataDisplay/Card/Card.js)

    • Generic card container
  15. CardSolid (/dist/dataDisplay/Card/v2/CardSolid/CardSolid.js)

    • Solid card variant (v2)
  16. CardElevated (/dist/dataDisplay/Card/v2/CardElevated/CardElevated.js)

    • Elevated card variant (v2)
  17. CardOutlined (/dist/dataDisplay/Card/v2/CardOutlined/CardOutlined.js)

    • Outlined card variant (v2)
  18. CardCollapsible (/dist/dataDisplay/CardCollapsible/CardCollapsible.js)

    • Collapsible card component
  19. Avatar (/dist/dataDisplay/Avatar/Avatar.js)

    • User avatar component
  20. AvatarGroup (/dist/dataDisplay/AvatarGroup/AvatarGroup.js)

    • Group of avatars
  21. Accordion (/dist/dataDisplay/Accordion/Accordion.js)

    • Expandable/collapsible sections
  22. Divider (/dist/dataDisplay/Divider/Divider.js)

    • Visual separator
  23. Icon (/dist/dataDisplay/Icon/Icon.js)

    • Icon display component
  24. IllustrativeIcon (/dist/dataDisplay/IllustrativeIcon/IllustrativeIcon.js)

    • Large illustrative icons
  25. Image (/dist/dataDisplay/Image/Image.js)

    • Image display component
  26. Picture (/dist/dataDisplay/Picture/Picture.js)

    • Picture/responsive image component
  27. EmojiPicker (/dist/dataDisplay/EmojiPicker/EmojiPicker.js)

    • Emoji picker component
  28. FormattedDate (/dist/dataDisplay/FormattedDate/FormattedDate.js)

    • Display formatted dates
  29. FormattedTime (/dist/dataDisplay/FormattedTime/FormattedTime.js)

    • Display formatted times
  30. HTML (/dist/dataDisplay/HTML/HTML.js)

    • Safely render HTML content
  31. LottieAnimation (/dist/dataDisplay/LottieAnimation/LottieAnimation.js)

    • Lottie animation player
  32. CensorEmail (/dist/dataDisplay/privacy/CensorEmail.js)

    • Privacy-aware email display
  33. CensorPhoneNumber (/dist/dataDisplay/privacy/CensorPhoneNumber.js)

    • Privacy-aware phone number display

Text Components

  1. Text (/dist/dataDisplay/text/Text/Text.js)

    • Generic text component
  2. Heading (/dist/dataDisplay/text/Heading.js)

    • Heading/h1-h6 component
  3. Paragraph (/dist/dataDisplay/text/Paragraph.js)

    • Paragraph text component
  4. Span (/dist/dataDisplay/text/Span.js)

    • Span text component

FORMS (Input Fields, Checkboxes, Selects, etc.)

  1. InputText (/dist/forms/InputText/InputText.js) - Text input field - Props: value, onChange, disabled, label, placeholder, required, state (error/success), message

  2. RawInputText (/dist/forms/InputText/RawInputText.js) - Unstyled text input

  3. InputPassword (/dist/forms/InputPassword/InputPassword.js) - Password input field

  4. InputNumber (/dist/forms/InputNumber/InputNumber.js) - Number input field

  5. InputDate (/dist/forms/InputDate/InputDate.js) - Date picker input

  6. InputDateNoPicker (/dist/forms/InputDateNoPicker/InputDateNoPicker.js) - Date input without picker

  7. InputColor (/dist/forms/InputColor/InputColor.js) - Color picker input

  8. InputColor/v2 (/dist/forms/InputColor/v2/InputColor.js) - Modern color picker (v2)

  9. Textarea (/dist/forms/Textarea/Textarea.js) - Multi-line text input

  10. Checkbox (/dist/forms/Checkbox/Checkbox.js)

    • Single checkbox
    • Props: checked, disabled, onChange, label, indeterminate, state (error/success), message
  11. Checkbox/v2 (/dist/forms/Checkbox/v2/Checkbox.js)

    • Modern checkbox version
  12. CheckboxGroup (/dist/forms/Checkbox/v2/CheckboxGroup.js)

    • Group of checkboxes
  13. Radio (/dist/forms/Radio/Radio.js)

    • Single radio button
  14. Radio/v2 (/dist/forms/RadioGroup/Radio.js)

    • Modern radio button
  15. RadioGroup (/dist/forms/RadioGroup/RadioGroup.js)

    • Group of radio buttons
  16. Select (/dist/forms/Select/Select.js)

    • Dropdown select field
    • Props: name, value, onChange, disabled, options, label, required, state, message, hint, placeholder, uiStyle (default/floating), `renderO …(truncated, 9987 more chars)

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date