This component no longer exists. It was in lomi-ui’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-05 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
Customer information section
lomi-ui/customer-information-sectionRemovedBlock
Hosted checkout personal information form from customer-information-section.tsx.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/lomiafrica/lomi./main/apps/docs/public/r/customer-information-section.jsonSource
1'use client';23import * as React from 'react';4import { ArrowRightLeft, Info } from 'lucide-react';5import type { Country } from 'react-phone-number-input';6import {7 CheckoutInput,8 checkoutCustomerFieldClass,9} from './lib/checkout-input';10import { CheckoutPhoneNumberInput } from './lib/checkout-phone-number-input';11import { CheckoutWhatsAppNumberInput } from './lib/checkout-whatsapp-number-input';12import './lib/checkout-ui.css';1314const INPUT_BORDER = 'clamp(1px, 0.12vw, 1.3px) solid #d1d5db';1516function cn(...classes: Array<string | false | null | undefined>) {17 return classes.filter(Boolean).join(' ');18}1920export interface CustomerInformationSectionProps {21 fullName?: string;22 email?: string;23 phoneNumber?: string;24 whatsappNumber?: string;25 isDifferentWhatsApp?: boolean;26 defaultCountry?: Country;27 isPhoneValid?: boolean;28 onFullNameChange?: (value: string) => void;29 onEmailChange?: (value: string) => void;30 onPhoneNumberChange?: (value?: string) => void;31 onWhatsAppNumberChange?: (value?: string) => void;32 onDifferentWhatsAppChange?: (value: boolean) => void;33 onCountryChange?: (country: string) => void;34 onPhoneValidationChange?: (isValid: boolean | undefined) => void;35 title?: string;36 fullNamePlaceholder?: string;37 emailPlaceholder?: string;38 nameTooltip?: string;39 whatsappDifferentLabel?: string;40 switchToPhoneTitle?: string;41 phoneValidationError?: string;42 className?: string;43}4445export function CustomerInformationSection({46 fullName = '',47 email = '',48 phoneNumber = '',49 whatsappNumber = '',50 isDifferentWhatsApp = false,51 defaultCountry = 'CI',52 isPhoneValid = true,53 onFullNameChange,54 onEmailChange,55 onPhoneNumberChange,56 onWhatsAppNumberChange,57 onDifferentWhatsAppChange,58 onCountryChange,59 onPhoneValidationChange,60 title = 'Personal information',61 fullNamePlaceholder = 'Full name',62 emailPlaceholder = 'Email address',63 nameTooltip = 'In case we need to contact you about your order.',64 whatsappDifferentLabel = 'My WhatsApp number is different',65 switchToPhoneTitle = 'Switch to using phone number',66 phoneValidationError = 'Please enter a valid phone number for the selected country.',67 className,68}: CustomerInformationSectionProps) {69 const [showNameTooltip, setShowNameTooltip] = React.useState(false);7071 const handlePhoneNumberChange = (value: string | undefined) => {72 onPhoneNumberChange?.(value);73 if (!isDifferentWhatsApp) {74 onWhatsAppNumberChange?.(value);75 }76 };7778 return (79// … truncated
What it pulls in
npm packages
