Add easier abstraction
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
|
Children,
|
||||||
createContext,
|
createContext,
|
||||||
useCallback,
|
useCallback,
|
||||||
useContext,
|
useContext,
|
||||||
@@ -14,6 +15,7 @@ import {atoms as a, select, useTheme} from '#/alf'
|
|||||||
import {useOnGesture} from '#/components/hooks/useOnGesture'
|
import {useOnGesture} from '#/components/hooks/useOnGesture'
|
||||||
import {Portal} from '#/components/Portal'
|
import {Portal} from '#/components/Portal'
|
||||||
import {TIP_SIZE} from '#/components/Tooltip/const'
|
import {TIP_SIZE} from '#/components/Tooltip/const'
|
||||||
|
import {Text} from '#/components/Typography'
|
||||||
|
|
||||||
const HALF_TIP = TIP_SIZE / 2
|
const HALF_TIP = TIP_SIZE / 2
|
||||||
const TIP_VISUAL_OFFSET = TIP_SIZE / 3
|
const TIP_VISUAL_OFFSET = TIP_SIZE / 3
|
||||||
@@ -381,3 +383,18 @@ function oppposite(position: 'top' | 'bottom') {
|
|||||||
return 'center'
|
return 'center'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function TextBubble({children}: {children: React.ReactNode}) {
|
||||||
|
const c = Children.toArray(children)
|
||||||
|
return (
|
||||||
|
<Content label={c.join(' ')}>
|
||||||
|
<View style={[a.gap_xs]}>
|
||||||
|
{c.map((child, i) => (
|
||||||
|
<Text key={i} style={[a.text_sm, a.leading_snug]}>
|
||||||
|
{child}
|
||||||
|
</Text>
|
||||||
|
))}
|
||||||
|
</View>
|
||||||
|
</Content>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user