/** * udp-schema — Shared schemas for User Detailed Profile (v2) * * Single source of truth consumed by both reform frontends and reform-backend. * 12-step "1 question per screen" architecture. * * Follows the same pattern as dating-schema: * - profile-fields/ with rich FieldGroup definitions * - getFieldOptions() / getFieldMeta() for runtime introspection * - Unified onboarding form schema (udpOnboardingFormSchema) * - Validation (canProceed) exported for frontend + backend * - Helpers (calcAge, labelFor, labelsFor) shared across codebases * - Onboarding-config for step grouping * - Zod step schemas for per-step validation * - Progress tracking (per-step + overall) * * @module udp-schema */ export { EDUCATION_LEVEL_VALUES, type EducationLevel, GENDER_VALUES, type Gender, HIGHEST_QUALIFICATION_VALUES, type HighestQualification, OCCUPATION_VALUES, type Occupation, RELIGION_VALUES, type Religion, } from './shared-enums.js'; export { type OnboardingFormData, udpOnboardingFormSchema, } from './onboarding-form.js'; export { canProceed } from './validation.js'; export { calcAge, isFieldVisible, labelFor, labelsFor } from './helpers.js'; export { ageOfRealizationOptions, allFieldGroups, type BaseField, boardOptions, casteDiscriminationPlaceOptions, civicEngagementOptions, cognitiveStrengthOptions, communicationPreferenceOptions, DEGREE_VALUES_BY_LEVEL, degreeNameOptions, desiredPoliticalPositionOptions, dietOptions, digitalAccessOptions, disabilityOptions, education, electoralBehaviour, employment, employmentStatusOptions, executiveFunctionChallengeOptions, type FieldGroup, type FieldOption, familyMemberOptions, genderOptions, healthLifestyle, household, householdIncomeOptions, impactOnLifeOptions, incomeRangeOptions, languageOptions, leadershipAmbitions, leadershipSkillsetOptions, learningStyleOptions, lgbtqStatementOptions, type MultiSelectField, maskingBurnoutOptions, mbtiOptions, mentalHealthConditionOptions, minorityOptions, type NumberField, neurodevelopmentalConditionOptions, neurodiverseIdentityOptions, neurodiversity, neurologicalChronicConditionOptions, occupationOptions, officeElectionLevelOptions, type ProfileField, partyAssociationRoleOptions, partyOptions, personalityPatternOptions, politicalAssociation, politicalSpectrumOptions, profile, psychologicalAssessment, qualificationOptions, relativesInPoliticsOptions, religionOptions, reservationOptions, residence, type SelectField, sensoryProfileOptions, shiftOptions, streamOptions, subjectOptions, substanceUseOptions, supportAccommodationOptions, type TextField, transgenderStatementOptions, votingIssueOptions, worldView, } from './profile-fields/index.js'; export { getFieldMeta, getFieldOptions, getImmutableFields, getStepSchema, } from './field-helpers.js'; export { getUdpOnboardingFieldConfig, UDP_ONBOARDING_FIELDS, UDP_ONBOARDING_STEP_GROUPS, UDP_TOTAL_MAIN_STEPS, UDP_TOTAL_SUB_STEPS, type UdpOnboardingFieldConfig, type UdpOnboardingStepGroup, } from './onboarding-config.js'; export { calculateOverallProgress as calculateUdpOverallProgress, calculateStepProgress as calculateUdpStepProgress, getNestedValue, isFieldFilled, UDP_PROGRESS_FIELDS, UDP_TOTAL_STEPS, } from './progress-fields.js'; export { type Step01ProfileInput, step01ProfileSchema } from './step-01.schema.js'; export { type Step02PoliticalInput, step02PoliticalSchema } from './step-02.schema.js'; export { type Step03ElectoralInput, step03ElectoralSchema } from './step-03.schema.js'; export { type Step04LeadershipInput, step04LeadershipSchema } from './step-04.schema.js'; export { type Step05PsychologicalInput, step05PsychologicalSchema } from './step-05.schema.js'; export { type CertificateEntryInput, certificateEntrySchema, type DegreeEntryInput, degreeEntrySchema, type Step06EducationInput, step06EducationSchema, } from './step-06.schema.js'; export { type Step07EmploymentInput, step07EmploymentSchema } from './step-07.schema.js'; export { type Step08NeurodiversityInput, step08NeurodiversitySchema } from './step-08.schema.js'; export { type Step09HealthInput, step09HealthSchema } from './step-09.schema.js'; export { type Step10WorldViewInput, step10WorldViewSchema } from './step-10.schema.js'; export { type SimplifiedAddressInput, type Step11ResidenceInput, simplifiedAddressSchema, step11ResidenceSchema, } from './step-11.schema.js'; export { type FamilyLink, type Step12HouseholdInput, step12HouseholdSchema, } from './step-12.schema.js'; export { emptyStringToUndefined, optionalPhoneSchema, optionalTrimmedString, optionalYearSchema, } from './zod-helpers.js'; //# sourceMappingURL=index.d.ts.map