working now, layout.tsx has issues

This commit is contained in:
2024-11-20 17:08:05 -05:00
parent f17285db46
commit 4de7d55b55
67 changed files with 43 additions and 27 deletions

View File

@@ -0,0 +1,49 @@
import { HStack, IconButton, NumberInput } from "@chakra-ui/react"
import * as React from "react"
import { LuMinus, LuPlus } from "react-icons/lu"
export interface StepperInputProps extends NumberInput.RootProps {
label?: React.ReactNode
}
export const StepperInput = React.forwardRef<HTMLDivElement, StepperInputProps>(
function StepperInput(props, ref) {
const { label, ...rest } = props
return (
<NumberInput.Root {...rest} unstyled ref={ref}>
{label && <NumberInput.Label>{label}</NumberInput.Label>}
<HStack gap="2">
<DecrementTrigger />
<NumberInput.ValueText textAlign="center" fontSize="lg" minW="3ch" />
<IncrementTrigger />
</HStack>
</NumberInput.Root>
)
},
)
const DecrementTrigger = React.forwardRef<
HTMLButtonElement,
NumberInput.DecrementTriggerProps
>(function DecrementTrigger(props, ref) {
return (
<NumberInput.DecrementTrigger {...props} asChild ref={ref}>
<IconButton variant="outline" size="sm">
<LuMinus />
</IconButton>
</NumberInput.DecrementTrigger>
)
})
const IncrementTrigger = React.forwardRef<
HTMLButtonElement,
NumberInput.IncrementTriggerProps
>(function IncrementTrigger(props, ref) {
return (
<NumberInput.IncrementTrigger {...props} asChild ref={ref}>
<IconButton variant="outline" size="sm">
<LuPlus />
</IconButton>
</NumberInput.IncrementTrigger>
)
})