Skip to main content

Form Components

Reusable form components live in components/reusable/ and components/reusable/forms/. These extend the base TW* input components with domain-specific logic.

File Upload

ComponentFilePurpose
Dropzonereusable/Dropzone.tsxDrag-and-drop file upload area with validation
FileUploadreusable/FileUpload.tsxFile upload button with progress tracking
ImageUploadCropreusable/ImageUploadCrop.tsxImage upload with crop/resize functionality (react-image-crop)

Rich Text

ComponentFilePurpose
RichTextEditorreusable/RichTextEditor.tsxQuill-based rich text editor for descriptions and notes
SafeHtmlreusable/SafeHtml.tsxRenders sanitized HTML content (sanitize-html)
SafeHtmlViewerreusable/SafeHtmlViewer.tsxRead-only sanitized HTML viewer

Phone & Currency

ComponentFilePurpose
PhoneNumberInputreusable/PhoneNumberInput.tsxPhone input with country code and formatting
CurrencyInputreusable/forms/CurrencyInput.tsxCurrency amount input with symbol
SalaryFrequencyFieldreusable/forms/SalaryFrequencyField.tsxSalary amount + frequency (hourly/monthly/yearly) combo
ComponentFilePurpose
CVAutocompleteCandidatereusable/CVAutocompleteCandidate.tsxSearch candidates by CV content
CVAutocompleteCollaboratorreusable/CVAutocompleteCollaborator.tsxSearch collaborators by CV
CVAutocompleteTalentreusable/CVAutocompleteTalent.tsxSearch talents by CV
JobAutocompleteInputreusable/JobAutocompleteInput.tsxJob search with autocomplete
TWLocationAutocompleteux/TWLocationAutocomplete.tsxLocation search with suggestions

Selectors

ComponentFilePurpose
CompanySelectorreusable/CompanySelector.tsxSingle company selection dropdown
MultiCompanySelectorreusable/MultiCompanySelector.tsxMulti-select for companies
ResponsibleUserSelectreusable/ResponsibleUserSelect.tsxAssign responsible user
UserSharingSelectorreusable/UserSharingSelector.tsxSelect users for sharing
CollaboratorRoleSelectorreusable/forms/CollaboratorRoleSelector.tsxRole assignment for collaborators
CompanyContactSelectorreusable/forms/CompanyContactSelector.tsxContact autocomplete for company
SelectFieldreusable/forms/SelectField.tsxGeneric select wrapper
ValueBasedSelectreusable/forms/ValueBasedSelect.tsxValue-based select component

Email Management

ComponentFilePurpose
EmailManagerreusable/forms/EmailManager.tsxMulti-email input with role assignment per email
EmailRoleSelectorreusable/forms/EmailRoleSelector.tsxEmail with role dropdown

Other Inputs

ComponentFilePurpose
LabeledSliderreusable/forms/LabeledSlider.tsxSlider with descriptive label
OptionToExtendreusable/forms/OptionToExtend.tsxContract extension options
ProjectPaymentSelectorreusable/forms/ProjectPaymentSelector.tsxPayment type selector
ConfirmationInputreusable/ConfirmationInput.tsxInput requiring typed confirmation
NotesSectionreusable/NotesSection.tsxNotes/comments section
PromoCodeInputreusable/payments/PromoCodeInput.tsxPromo code entry with validation

Confirmation Dialogs

ComponentFilePurpose
ConfirmationModalreusable/ConfirmationModal.tsxGeneric confirmation dialog
DeleteConfirmModalreusable/DeleteConfirmModal.tsxDelete confirmation with type-to-confirm

Qualification Cards

Components in components/reusable/qualifications/ for displaying and adding CV sections:

ComponentPurpose
ExperienceCard / AddExperinceCardWork experience display and form
EducationCard / AddEducationCardEducation display and form
CertificateCard / AddCertificationCardCertification display and form