Skip to content

Commit f6959f0

Browse files
committed
docs(Maps): document autoExpandOnCarouselClick and all new features
Adds comprehensive "Advanced Features" section documenting: 1. Custom Marker Rendering (renderMarker) - Links to dedicated CustomMarkers story - Mentions global, per-location, hybrid, and fallback patterns 2. Popup Control (showPopup) - Links to CompactMap Popup Control section - Explains when to disable popups 3. Scroll Wheel Zoom (scrollWheelZoom) - Documents true/false behavior and use cases 4. Auto-Expand on Carousel Click (autoExpandOnCarouselClick) - Explains opt-in behavior (default: false) - Notes backward compatibility Also updates Key Features list to include new capabilities.
1 parent 583f231 commit f6959f0

File tree

1 file changed

+101
-1
lines changed

1 file changed

+101
-1
lines changed

packages/ui/src/components/Map/Maps.stories.tsx

Lines changed: 101 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,10 @@ const MapSystemComponent: React.FC = () => {
183183
Three component variants for different use cases (Map, CompactMap, FullscreenMap)
184184
</li>
185185
<li>Interactive map with location markers and popups</li>
186-
<li>Location carousel with synchronized selection</li>
186+
<li>Custom marker rendering with React components (renderMarker API)</li>
187+
<li>Location carousel with synchronized selection and auto-expand</li>
187188
<li>Inspector panel with detailed location information</li>
189+
<li>Configurable popup bubbles (showPopup prop)</li>
188190
<li>Loading, error, and empty states built-in</li>
189191
<li>Responsive design (mobile/desktop)</li>
190192
<li>Expand/collapse buttons for ChatGPT Apps SDK integration</li>
@@ -896,6 +898,104 @@ const handleMapToggle = (fullscreen: boolean) => {
896898
</div>
897899
</section>
898900

901+
{/* Advanced Features */}
902+
<section style={{ marginBottom: '64px' }}>
903+
<header style={{ marginBottom: '24px' }}>
904+
<h2 style={{ marginBottom: '8px' }}>Advanced Features</h2>
905+
<p style={{ color: 'var(--ai-color-text-secondary)', margin: 0, fontSize: '14px' }}>
906+
Additional map features for customization and interaction control.
907+
</p>
908+
</header>
909+
910+
<div style={{ display: 'flex', flexDirection: 'column', gap: '24px' }}>
911+
{/* Custom Markers */}
912+
<div
913+
style={{
914+
padding: '16px',
915+
background: 'var(--ai-color-bg-secondary)',
916+
borderRadius: '12px',
917+
border: '1px solid var(--ai-color-border-default)',
918+
}}
919+
>
920+
<h3 style={{ fontSize: '16px', marginBottom: '8px', fontWeight: 600 }}>
921+
Custom Marker Rendering
922+
</h3>
923+
<p style={{ margin: '0 0 12px', fontSize: '14px', color: 'var(--ai-color-text-secondary)' }}>
924+
Use the <code>renderMarker</code> prop to customize map markers with your own React
925+
components. Supports global styling, per-location customization, and hybrid modes.
926+
</p>
927+
<div style={{ fontSize: '13px', color: 'var(--ai-color-text-secondary)' }}>
928+
<strong>See:</strong> "Custom Markers" story in the sidebar for comprehensive examples
929+
including global markers, hybrid mode, per-location customization, performance optimization,
930+
and fallback patterns.
931+
</div>
932+
</div>
933+
934+
{/* Popup Control */}
935+
<div
936+
style={{
937+
padding: '16px',
938+
background: 'var(--ai-color-bg-secondary)',
939+
borderRadius: '12px',
940+
border: '1px solid var(--ai-color-border-default)',
941+
}}
942+
>
943+
<h3 style={{ fontSize: '16px', marginBottom: '8px', fontWeight: 600 }}>
944+
Popup Control
945+
</h3>
946+
<p style={{ margin: '0 0 12px', fontSize: '14px', color: 'var(--ai-color-text-secondary)' }}>
947+
Use <code>showPopup={'{false}'}</code> to disable marker popup bubbles when using external
948+
UI like Inspector panels or sidebars for location details.
949+
</p>
950+
<div style={{ fontSize: '13px', color: 'var(--ai-color-text-secondary)' }}>
951+
<strong>See:</strong> "CompactMap" story → "Popup Control" section for side-by-side
952+
comparison of maps with and without popups.
953+
</div>
954+
</div>
955+
956+
{/* Scroll Wheel Zoom */}
957+
<div
958+
style={{
959+
padding: '16px',
960+
background: 'var(--ai-color-bg-secondary)',
961+
borderRadius: '12px',
962+
border: '1px solid var(--ai-color-border-default)',
963+
}}
964+
>
965+
<h3 style={{ fontSize: '16px', marginBottom: '8px', fontWeight: 600 }}>
966+
Scroll Wheel Zoom
967+
</h3>
968+
<p style={{ margin: '0', fontSize: '14px', color: 'var(--ai-color-text-secondary)' }}>
969+
Control zoom behavior with <code>scrollWheelZoom</code> prop. Set to <code>true</code> for
970+
native Leaflet scroll zoom (best for fullscreen), or <code>false</code> (default) for
971+
custom pinch-to-zoom in embedded maps.
972+
</p>
973+
</div>
974+
975+
{/* Auto-Expand Carousel */}
976+
<div
977+
style={{
978+
padding: '16px',
979+
background: 'var(--ai-color-bg-secondary)',
980+
borderRadius: '12px',
981+
border: '1px solid var(--ai-color-border-default)',
982+
}}
983+
>
984+
<h3 style={{ fontSize: '16px', marginBottom: '8px', fontWeight: 600 }}>
985+
Auto-Expand on Carousel Click
986+
</h3>
987+
<p style={{ margin: '0 0 12px', fontSize: '14px', color: 'var(--ai-color-text-secondary)' }}>
988+
Set <code>autoExpandOnCarouselClick={'{true}'}</code> on <code>CompactMap</code> to
989+
automatically expand to fullscreen when users click a carousel card. This provides faster
990+
access to detailed location information (one click instead of two).
991+
</p>
992+
<div style={{ fontSize: '13px', color: 'var(--ai-color-text-secondary)' }}>
993+
<strong>Default:</strong> <code>false</code> (users must click expand button manually)
994+
</div>
995+
</div>
996+
</div>
997+
</section>
998+
899999
{/* Related Components */}
9001000
<section>
9011001
<header style={{ marginBottom: '16px' }}>

0 commit comments

Comments
 (0)