ref(stories): convert core component stories to mdx#105580
ref(stories): convert core component stories to mdx#105580natemoo-re wants to merge 28 commits intomasterfrom
Conversation
52e92cf to
ffbf733
Compare
4a40708 to
9103275
Compare
187cbd9 to
441c2b5
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| <InputGroup> | ||
| <InputGroup.Input placeholder="Search" /> | ||
| <InputGroup.TrailingItems> | ||
| <Button borderless icon={<IconSettings />} size="zero" aria-label="Settings" /> |
There was a problem hiding this comment.
Interactive demo uses non-existent borderless Button prop
Medium Severity
The interactive InteractiveDemo and code examples use <Button borderless ...> but borderless is not a recognized prop on Button. The Button component accepts priority with values like "transparent" for borderless appearance. The old stories used priority="transparent". This affects the rendered demo — the button won't have the intended transparent styling.
|
|
||
| import {useState} from 'react'; | ||
|
|
||
| import {CompositeSelect, SelectTrigger} from '@sentry/scraps/compactSelect'; |
There was a problem hiding this comment.
Import of non-existent SelectTrigger crashes Storybook page
High Severity
SelectTrigger is imported from @sentry/scraps/compactSelect but this export doesn't exist in the package's index.tsx. The package exports CompactSelect, CompositeSelect, and various utilities, but not SelectTrigger. This import is used in executable interactive demos (BasicDemo, MultiSelectDemo), so the entire composite.mdx Storybook page will fail to render. The old stories used OverlayTrigger.Button from @sentry/scraps/overlayTrigger for this purpose.
| value={values} | ||
| onChange={selected => setValues(selected.map(opt => opt.value))} | ||
| options={options} | ||
| triggerProps={{prefix: 'Character'}} |
There was a problem hiding this comment.
Demos use non-existent triggerProps prop on CompactSelect
High Severity
Multiple interactive demos pass triggerProps={{prefix: 'Environment'}} to CompactSelect, but this prop doesn't exist on the component. CompactSelect's ControlProps only exposes trigger (a render prop function), not triggerProps. The old stories correctly used trigger={props => <OverlayTrigger.Button {...props} prefix="..." />}. The triggerProps prop is silently ignored, so all demos render without their intended prefix labels (e.g., "Character", "Size", "Status", "Environment"), making the demos visually incorrect.


Closes DE-400
See the preview deployment
Converted all 17 TypeScript-based Storybook documentation files (
.stories.tsx) instatic/app/components/core/to comprehensive MDX format (.mdx), following established patterns from existing MDX files.Changes
Files Converted
buttonBarinput,inputGroup,numberInput,numberDragInputselect(mergedmultiSelect),compactSelect,compositeradio,segmentedControl,slider,switchtabsinteractionStateLayer,menuListItemtoastDocumentation Enhancements
Special Cases
multiSelect.stories.tsxintoselect.mdx(same component, justmultipleprop)useAutosizeInput,useCompactSelectOptionsCacheTabs,InputGroup,CompositeSelectTesting
Run Storybook to verify all MDX files render correctly:
Navigate to each component to verify: