import { Tooltip } from './tooltip'; import { DemoStory } from '../../demo/demo-types'; export const tooltipDemo: DemoStory = { id: 'tooltipDemo', text: 'Tooltip', args: { content: 'This is a tooltip', position: 'auto', showArrow: true, }, argTypes: { content: { control: 'text' }, position: { control: 'select', options: ['auto', 'top', 'bottom', 'left', 'right'], }, showArrow: { control: 'boolean' }, }, render: (args: any) => { const css = { display: 'flex', flexDirection: 'column', gap: '48px', padding: '48px', alignItems: 'center', '.demo-section': { display: 'flex', flexDirection: 'column', alignItems: 'center', gap: '24px', width: '100%', maxWidth: '600px', }, '.section-title': { fontSize: '20px', fontWeight: 'bold', color: 'var(--primary-color)', marginBottom: '16px', borderBottom: '2px solid var(--secondary-border-color)', width: '100%', paddingBottom: '8px', }, '.grid': { display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: '20px', width: '100%', }, '.box': { padding: '20px', border: '1px solid var(--secondary-border-color)', borderRadius: '8px', textAlign: 'center' as const, cursor: 'pointer', backgroundColor: 'var(--primary-bg-color)', '&:hover': { borderColor: 'var(--primary-color)', }, }, }; const richContent = (
💡
Rich Content
With icons and formatting
); return (
Interactive Control
Tooltip.show(e, args.content, { position: args.position, showArrow: args.showArrow }) } > Hover me to see Tooltip from Controls
Auto-Position & JIT Binding
Tooltip.show(e, 'Top Tooltip', { position: 'top' })}> Top Position
Tooltip.show(e, 'Bottom Tooltip', { position: 'bottom' })}> Bottom Position
Tooltip.show(e, 'Left Tooltip', { position: 'left' })}> Left Position
Tooltip.show(e, 'Right Tooltip', { position: 'right' })}> Right Position
Tooltip.show(e, 'Square Tooltip (No Arrow)', { showArrow: false })} > Square Style
Tooltip.show(e, richContent)}> Rich Content (VNode)
Standard Buttons
); }, code: `import { Tooltip } from 'lupine.components/component-pool'; // JIT triggering
Tooltip.show(e, 'Message')}>Hover me
// With options Tooltip.show(event, 'Message', { position: 'top', showArrow: true }); `, };