add input component
This commit is contained in:
parent
3cdacb6e80
commit
b5b23bd1df
|
@ -0,0 +1 @@
|
|||
export { Input } from './input'
|
|
@ -0,0 +1,21 @@
|
|||
import { Input } from './input'
|
||||
|
||||
import type { Meta, StoryObj } from '@storybook/react'
|
||||
|
||||
// More on how to set up stories at: https://storybook.js.org/docs/7.0/react/writing-stories/introduction
|
||||
const meta: Meta<typeof Input> = {
|
||||
component: Input,
|
||||
argTypes: {},
|
||||
}
|
||||
|
||||
type Story = StoryObj<typeof Input>
|
||||
|
||||
// More on writing stories with args: https://storybook.js.org/docs/7.0/react/writing-stories/args
|
||||
export const Primary: Story = {
|
||||
args: {
|
||||
placeholder: 'Type something...',
|
||||
// children: 'Click me',
|
||||
},
|
||||
}
|
||||
|
||||
export default meta
|
|
@ -0,0 +1,69 @@
|
|||
import { setupReactNative, Stack, styled } from '@tamagui/core'
|
||||
// import { focusableInputHOC } from '@tamagui/focusable'
|
||||
import { TextInput } from 'react-native'
|
||||
|
||||
import type { GetProps } from '@tamagui/core'
|
||||
|
||||
// import { inputSizeVariant } from '../helpers/inputHelpers'
|
||||
|
||||
setupReactNative({
|
||||
TextInput,
|
||||
})
|
||||
|
||||
export const InputFrame = styled(
|
||||
TextInput,
|
||||
{
|
||||
tag: 'input',
|
||||
name: 'Input',
|
||||
// fontFamily: '$body',
|
||||
borderWidth: 1,
|
||||
outlineWidth: 0,
|
||||
borderColor: 'rgba(0, 200, 0, 1)',
|
||||
|
||||
paddingHorizontal: 30,
|
||||
color: 'hsla(218, 51%, 7%, 1)',
|
||||
placeholderTextColor: 'hsla(219, 17%, 69%, 1)',
|
||||
// color: 'red',
|
||||
// color: '$color',
|
||||
// focusable: true,
|
||||
// borderColor: '$borderColor',
|
||||
// backgroundColor: '$background',
|
||||
// placeholderTextColor: '$placeholderColor',
|
||||
|
||||
backgroundColor: 'rgb(255, 255, 255)',
|
||||
|
||||
height: 40,
|
||||
borderRadius: 12,
|
||||
|
||||
// this fixes a flex bug where it overflows container
|
||||
minWidth: 0,
|
||||
|
||||
// hoverStyle: {
|
||||
// borderColor: '$borderColorHover',
|
||||
// },/
|
||||
|
||||
// focusStyle: {
|
||||
// // borderColor: '$borderColorFocus',
|
||||
// borderWidth: 2,
|
||||
// marginHorizontal: -1,
|
||||
// },
|
||||
|
||||
// variants: {
|
||||
// size: {
|
||||
// // '...size': inputSizeVariant,
|
||||
// },
|
||||
// } as const,
|
||||
|
||||
// defaultVariants: {
|
||||
// size: '$true',
|
||||
// },
|
||||
}
|
||||
// {
|
||||
// isInput: true,
|
||||
// }
|
||||
)
|
||||
|
||||
export type InputProps = GetProps<typeof InputFrame>
|
||||
|
||||
// export const Input = focusableInputHOC(InputFrame)
|
||||
export const Input = InputFrame
|
Loading…
Reference in New Issue