udp-schema 2.19.0 → 2.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -19,7 +19,7 @@
19
19
  export { type OnboardingFormData, udpOnboardingFormSchema, } from './onboarding-form.js';
20
20
  export { canProceed } from './validation.js';
21
21
  export { calcAge, isFieldVisible, labelFor, labelsFor } from './helpers.js';
22
- export { ageOfRealizationOptions, allFieldGroups, type BaseField, boardOptions, casteDiscriminationPlaceOptions, civicEngagementOptions, cognitiveStrengthOptions, communicationPreferenceOptions, DEGREE_VALUES_BY_LEVEL, degreeNameOptions, desiredPoliticalPositionOptions, dietOptions, digitalAccessOptions, disabilityOptions, education, electionResultOptions, 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, 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';
22
+ 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, 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';
23
23
  export { getFieldMeta, getFieldOptions, getImmutableFields, getStepSchema, } from './field-helpers.js';
24
24
  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';
25
25
  export { calculateOverallProgress as calculateUdpOverallProgress, calculateStepProgress as calculateUdpStepProgress, getNestedValue, isFieldFilled, UDP_PROGRESS_FIELDS, UDP_TOTAL_STEPS, } from './progress-fields.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -25,7 +25,7 @@ export { calcAge, isFieldVisible, labelFor, labelsFor } from './helpers.js';
25
25
  // ─── Profile Fields (rich metadata — like dating-schema) ────────────────────
26
26
  export { ageOfRealizationOptions,
27
27
  // Field groups
28
- allFieldGroups, boardOptions, casteDiscriminationPlaceOptions, civicEngagementOptions, cognitiveStrengthOptions, communicationPreferenceOptions, DEGREE_VALUES_BY_LEVEL, degreeNameOptions, desiredPoliticalPositionOptions, dietOptions, digitalAccessOptions, disabilityOptions, education, electionResultOptions, electoralBehaviour, employment, employmentStatusOptions, executiveFunctionChallengeOptions, familyMemberOptions,
28
+ allFieldGroups, boardOptions, casteDiscriminationPlaceOptions, civicEngagementOptions, cognitiveStrengthOptions, communicationPreferenceOptions, DEGREE_VALUES_BY_LEVEL, degreeNameOptions, desiredPoliticalPositionOptions, dietOptions, digitalAccessOptions, disabilityOptions, education, electoralBehaviour, employment, employmentStatusOptions, executiveFunctionChallengeOptions, familyMemberOptions,
29
29
  // Option arrays (with labels + descriptions)
30
30
  genderOptions, healthLifestyle, household, householdIncomeOptions, impactOnLifeOptions, incomeRangeOptions, languageOptions, leadershipAmbitions, leadershipSkillsetOptions, learningStyleOptions, lgbtqStatementOptions, maskingBurnoutOptions, mbtiOptions, mentalHealthConditionOptions, minorityOptions, neurodevelopmentalConditionOptions, neurodiverseIdentityOptions, neurodiversity, neurologicalChronicConditionOptions, officeElectionLevelOptions, partyAssociationRoleOptions, partyOptions, personalityPatternOptions, politicalAssociation, politicalSpectrumOptions, profile, psychologicalAssessment, qualificationOptions, relativesInPoliticsOptions, religionOptions, reservationOptions, residence, sensoryProfileOptions, shiftOptions, streamOptions, subjectOptions, substanceUseOptions, supportAccommodationOptions, transgenderStatementOptions, votingIssueOptions, worldView, } from './profile-fields/index.js';
31
31
  // ─── Field Helpers (like dating-schema) ─────────────────────────────────────
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * udp-schema — Shared schemas for User Detailed Profile (v2)\n *\n * Single source of truth consumed by both reform frontends and reform-backend.\n * 12-step \"1 question per screen\" architecture.\n *\n * Follows the same pattern as dating-schema:\n * - profile-fields/ with rich FieldGroup definitions\n * - getFieldOptions() / getFieldMeta() for runtime introspection\n * - Unified onboarding form schema (udpOnboardingFormSchema)\n * - Validation (canProceed) exported for frontend + backend\n * - Helpers (calcAge, labelFor, labelsFor) shared across codebases\n * - Onboarding-config for step grouping\n * - Zod step schemas for per-step validation\n * - Progress tracking (per-step + overall)\n *\n * @module udp-schema\n */\n\n// ─── Unified Form Schema (like dating's onboardingFormSchema) ───────────────\n\nexport {\n type OnboardingFormData,\n udpOnboardingFormSchema,\n} from './onboarding-form.js';\n\n// ─── Validation (single source of truth — used by frontend + backend) ───────\n\nexport { canProceed } from './validation.js';\n\n// ─── Shared Helpers ─────────────────────────────────────────────────────────\n\nexport { calcAge, isFieldVisible, labelFor, labelsFor } from './helpers.js';\n\n// ─── Profile Fields (rich metadata — like dating-schema) ────────────────────\n\nexport {\n ageOfRealizationOptions,\n // Field groups\n allFieldGroups,\n // Types\n type BaseField,\n boardOptions,\n casteDiscriminationPlaceOptions,\n civicEngagementOptions,\n cognitiveStrengthOptions,\n communicationPreferenceOptions,\n DEGREE_VALUES_BY_LEVEL,\n degreeNameOptions,\n desiredPoliticalPositionOptions,\n dietOptions,\n digitalAccessOptions,\n disabilityOptions,\n education,\n electionResultOptions,\n electoralBehaviour,\n employment,\n employmentStatusOptions,\n executiveFunctionChallengeOptions,\n type FieldGroup,\n type FieldOption,\n familyMemberOptions,\n // Option arrays (with labels + descriptions)\n genderOptions,\n healthLifestyle,\n household,\n householdIncomeOptions,\n impactOnLifeOptions,\n incomeRangeOptions,\n languageOptions,\n leadershipAmbitions,\n leadershipSkillsetOptions,\n learningStyleOptions,\n lgbtqStatementOptions,\n type MultiSelectField,\n maskingBurnoutOptions,\n mbtiOptions,\n mentalHealthConditionOptions,\n minorityOptions,\n type NumberField,\n neurodevelopmentalConditionOptions,\n neurodiverseIdentityOptions,\n neurodiversity,\n neurologicalChronicConditionOptions,\n officeElectionLevelOptions,\n type ProfileField,\n partyAssociationRoleOptions,\n partyOptions,\n personalityPatternOptions,\n politicalAssociation,\n politicalSpectrumOptions,\n profile,\n psychologicalAssessment,\n qualificationOptions,\n relativesInPoliticsOptions,\n religionOptions,\n reservationOptions,\n residence,\n type SelectField,\n sensoryProfileOptions,\n shiftOptions,\n streamOptions,\n subjectOptions,\n substanceUseOptions,\n supportAccommodationOptions,\n type TextField,\n transgenderStatementOptions,\n votingIssueOptions,\n worldView,\n} from './profile-fields/index.js';\n\n// ─── Field Helpers (like dating-schema) ─────────────────────────────────────\n\nexport {\n getFieldMeta,\n getFieldOptions,\n getImmutableFields,\n getStepSchema,\n} from './field-helpers.js';\n\n// ─── Onboarding Configuration ───────────────────────────────────────────────\n\nexport {\n getUdpOnboardingFieldConfig,\n UDP_ONBOARDING_FIELDS,\n UDP_ONBOARDING_STEP_GROUPS,\n UDP_TOTAL_MAIN_STEPS,\n UDP_TOTAL_SUB_STEPS,\n type UdpOnboardingFieldConfig,\n type UdpOnboardingStepGroup,\n} from './onboarding-config.js';\n\n// ─── Progress Fields ────────────────────────────────────────────────────────\n\nexport {\n calculateOverallProgress as calculateUdpOverallProgress,\n calculateStepProgress as calculateUdpStepProgress,\n getNestedValue,\n isFieldFilled,\n UDP_PROGRESS_FIELDS,\n UDP_TOTAL_STEPS,\n} from './progress-fields.js';\n\n// ─── Step Schemas (Zod validation) ──────────────────────────────────────────\n\nexport { type Step01ProfileInput, step01ProfileSchema } from './step-01.schema.js';\nexport { type Step02PoliticalInput, step02PoliticalSchema } from './step-02.schema.js';\nexport { type Step03ElectoralInput, step03ElectoralSchema } from './step-03.schema.js';\nexport { type Step04LeadershipInput, step04LeadershipSchema } from './step-04.schema.js';\nexport { type Step05PsychologicalInput, step05PsychologicalSchema } from './step-05.schema.js';\nexport {\n type CertificateEntryInput,\n certificateEntrySchema,\n type DegreeEntryInput,\n degreeEntrySchema,\n type Step06EducationInput,\n step06EducationSchema,\n} from './step-06.schema.js';\nexport { type Step07EmploymentInput, step07EmploymentSchema } from './step-07.schema.js';\nexport { type Step08NeurodiversityInput, step08NeurodiversitySchema } from './step-08.schema.js';\nexport { type Step09HealthInput, step09HealthSchema } from './step-09.schema.js';\nexport { type Step10WorldViewInput, step10WorldViewSchema } from './step-10.schema.js';\nexport {\n type SimplifiedAddressInput,\n type Step11ResidenceInput,\n simplifiedAddressSchema,\n step11ResidenceSchema,\n} from './step-11.schema.js';\nexport { type Step12HouseholdInput, step12HouseholdSchema } from './step-12.schema.js';\n\n// ─── Zod Helpers ────────────────────────────────────────────────────────────\n\nexport {\n emptyStringToUndefined,\n optionalPhoneSchema,\n optionalTrimmedString,\n optionalYearSchema,\n} from './zod-helpers.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * udp-schema — Shared schemas for User Detailed Profile (v2)\n *\n * Single source of truth consumed by both reform frontends and reform-backend.\n * 12-step \"1 question per screen\" architecture.\n *\n * Follows the same pattern as dating-schema:\n * - profile-fields/ with rich FieldGroup definitions\n * - getFieldOptions() / getFieldMeta() for runtime introspection\n * - Unified onboarding form schema (udpOnboardingFormSchema)\n * - Validation (canProceed) exported for frontend + backend\n * - Helpers (calcAge, labelFor, labelsFor) shared across codebases\n * - Onboarding-config for step grouping\n * - Zod step schemas for per-step validation\n * - Progress tracking (per-step + overall)\n *\n * @module udp-schema\n */\n\n// ─── Unified Form Schema (like dating's onboardingFormSchema) ───────────────\n\nexport {\n type OnboardingFormData,\n udpOnboardingFormSchema,\n} from './onboarding-form.js';\n\n// ─── Validation (single source of truth — used by frontend + backend) ───────\n\nexport { canProceed } from './validation.js';\n\n// ─── Shared Helpers ─────────────────────────────────────────────────────────\n\nexport { calcAge, isFieldVisible, labelFor, labelsFor } from './helpers.js';\n\n// ─── Profile Fields (rich metadata — like dating-schema) ────────────────────\n\nexport {\n ageOfRealizationOptions,\n // Field groups\n allFieldGroups,\n // Types\n type BaseField,\n boardOptions,\n casteDiscriminationPlaceOptions,\n civicEngagementOptions,\n cognitiveStrengthOptions,\n communicationPreferenceOptions,\n DEGREE_VALUES_BY_LEVEL,\n degreeNameOptions,\n desiredPoliticalPositionOptions,\n dietOptions,\n digitalAccessOptions,\n disabilityOptions,\n education,\n electoralBehaviour,\n employment,\n employmentStatusOptions,\n executiveFunctionChallengeOptions,\n type FieldGroup,\n type FieldOption,\n familyMemberOptions,\n // Option arrays (with labels + descriptions)\n genderOptions,\n healthLifestyle,\n household,\n householdIncomeOptions,\n impactOnLifeOptions,\n incomeRangeOptions,\n languageOptions,\n leadershipAmbitions,\n leadershipSkillsetOptions,\n learningStyleOptions,\n lgbtqStatementOptions,\n type MultiSelectField,\n maskingBurnoutOptions,\n mbtiOptions,\n mentalHealthConditionOptions,\n minorityOptions,\n type NumberField,\n neurodevelopmentalConditionOptions,\n neurodiverseIdentityOptions,\n neurodiversity,\n neurologicalChronicConditionOptions,\n officeElectionLevelOptions,\n type ProfileField,\n partyAssociationRoleOptions,\n partyOptions,\n personalityPatternOptions,\n politicalAssociation,\n politicalSpectrumOptions,\n profile,\n psychologicalAssessment,\n qualificationOptions,\n relativesInPoliticsOptions,\n religionOptions,\n reservationOptions,\n residence,\n type SelectField,\n sensoryProfileOptions,\n shiftOptions,\n streamOptions,\n subjectOptions,\n substanceUseOptions,\n supportAccommodationOptions,\n type TextField,\n transgenderStatementOptions,\n votingIssueOptions,\n worldView,\n} from './profile-fields/index.js';\n\n// ─── Field Helpers (like dating-schema) ─────────────────────────────────────\n\nexport {\n getFieldMeta,\n getFieldOptions,\n getImmutableFields,\n getStepSchema,\n} from './field-helpers.js';\n\n// ─── Onboarding Configuration ───────────────────────────────────────────────\n\nexport {\n getUdpOnboardingFieldConfig,\n UDP_ONBOARDING_FIELDS,\n UDP_ONBOARDING_STEP_GROUPS,\n UDP_TOTAL_MAIN_STEPS,\n UDP_TOTAL_SUB_STEPS,\n type UdpOnboardingFieldConfig,\n type UdpOnboardingStepGroup,\n} from './onboarding-config.js';\n\n// ─── Progress Fields ────────────────────────────────────────────────────────\n\nexport {\n calculateOverallProgress as calculateUdpOverallProgress,\n calculateStepProgress as calculateUdpStepProgress,\n getNestedValue,\n isFieldFilled,\n UDP_PROGRESS_FIELDS,\n UDP_TOTAL_STEPS,\n} from './progress-fields.js';\n\n// ─── Step Schemas (Zod validation) ──────────────────────────────────────────\n\nexport { type Step01ProfileInput, step01ProfileSchema } from './step-01.schema.js';\nexport { type Step02PoliticalInput, step02PoliticalSchema } from './step-02.schema.js';\nexport { type Step03ElectoralInput, step03ElectoralSchema } from './step-03.schema.js';\nexport { type Step04LeadershipInput, step04LeadershipSchema } from './step-04.schema.js';\nexport { type Step05PsychologicalInput, step05PsychologicalSchema } from './step-05.schema.js';\nexport {\n type CertificateEntryInput,\n certificateEntrySchema,\n type DegreeEntryInput,\n degreeEntrySchema,\n type Step06EducationInput,\n step06EducationSchema,\n} from './step-06.schema.js';\nexport { type Step07EmploymentInput, step07EmploymentSchema } from './step-07.schema.js';\nexport { type Step08NeurodiversityInput, step08NeurodiversitySchema } from './step-08.schema.js';\nexport { type Step09HealthInput, step09HealthSchema } from './step-09.schema.js';\nexport { type Step10WorldViewInput, step10WorldViewSchema } from './step-10.schema.js';\nexport {\n type SimplifiedAddressInput,\n type Step11ResidenceInput,\n simplifiedAddressSchema,\n step11ResidenceSchema,\n} from './step-11.schema.js';\nexport { type Step12HouseholdInput, step12HouseholdSchema } from './step-12.schema.js';\n\n// ─── Zod Helpers ────────────────────────────────────────────────────────────\n\nexport {\n emptyStringToUndefined,\n optionalPhoneSchema,\n optionalTrimmedString,\n optionalYearSchema,\n} from './zod-helpers.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-config.d.ts","sourceRoot":"","sources":["../src/onboarding-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,gDAAgD;AAChD,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAupB1E,CAAC;AAIF,eAAO,MAAM,0BAA0B,EAAE,sBAAsB,EA8J9D,CAAC;AAIF,gDAAgD;AAChD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,wBAAwB,GAAG,SAAS,CAGtC;AAED,kCAAkC;AAClC,eAAO,MAAM,oBAAoB,QAAoC,CAAC;AAEtE,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,QAG/B,CAAC"}
1
+ {"version":3,"file":"onboarding-config.d.ts","sourceRoot":"","sources":["../src/onboarding-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,gDAAgD;AAChD,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAID,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAyrB1E,CAAC;AAIF,eAAO,MAAM,0BAA0B,EAAE,sBAAsB,EAmK9D,CAAC;AAIF,gDAAgD;AAChD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,wBAAwB,GAAG,SAAS,CAGtC;AAED,kCAAkC;AAClC,eAAO,MAAM,oBAAoB,QAAoC,CAAC;AAEtE,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,QAG/B,CAAC"}
@@ -127,10 +127,44 @@ export const UDP_ONBOARDING_FIELDS = {
127
127
  optionNs: 'relativesInPolitics',
128
128
  hasDesc: true,
129
129
  },
130
- publicOfficeAndElections: {
131
- title: 'publicOfficeAndElections.title',
132
- subtitle: 'publicOfficeAndElections.subtitle',
133
- successMessage: 'publicOfficeAndElections.success',
130
+ hasContestedElection: {
131
+ title: 'hasContestedElection.title',
132
+ subtitle: 'hasContestedElection.subtitle',
133
+ successMessage: 'hasContestedElection.success',
134
+ required: false,
135
+ optionNs: 'yesNoPrefer',
136
+ },
137
+ electionLevel: {
138
+ title: 'electionLevel.title',
139
+ subtitle: 'electionLevel.subtitle',
140
+ successMessage: 'electionLevel.success',
141
+ required: false,
142
+ optionNs: 'officeLevel',
143
+ },
144
+ electionYear: {
145
+ title: 'electionYear.title',
146
+ subtitle: 'electionYear.subtitle',
147
+ successMessage: 'electionYear.success',
148
+ required: false,
149
+ },
150
+ hasHeldPublicOffice: {
151
+ title: 'hasHeldPublicOffice.title',
152
+ subtitle: 'hasHeldPublicOffice.subtitle',
153
+ successMessage: 'hasHeldPublicOffice.success',
154
+ required: false,
155
+ optionNs: 'yesNoPrefer',
156
+ },
157
+ officeLevel: {
158
+ title: 'officeLevel.title',
159
+ subtitle: 'officeLevel.subtitle',
160
+ successMessage: 'officeLevel.success',
161
+ required: false,
162
+ optionNs: 'officeLevel',
163
+ },
164
+ officeYear: {
165
+ title: 'officeYear.title',
166
+ subtitle: 'officeYear.subtitle',
167
+ successMessage: 'officeYear.success',
134
168
  required: false,
135
169
  },
136
170
  networkAndCivicEngagement: {
@@ -695,7 +729,12 @@ export const UDP_ONBOARDING_STEP_GROUPS = [
695
729
  'partyAssociationRole',
696
730
  'familyPartyAssociation',
697
731
  'relativesInPolitics',
698
- 'publicOfficeAndElections',
732
+ 'hasContestedElection',
733
+ 'electionLevel',
734
+ 'electionYear',
735
+ 'hasHeldPublicOffice',
736
+ 'officeLevel',
737
+ 'officeYear',
699
738
  'networkAndCivicEngagement',
700
739
  ],
701
740
  },
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-config.js","sourceRoot":"","sources":["../src/onboarding-config.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * UDP Onboarding Field Configuration\n * ====================================\n * Single source of truth for all per-field onboarding metadata.\n * Both frontend and backend import this.\n *\n * IMPORTANT: All string properties (title, subtitle, successMessage,\n * step group label) are i18n KEYS, not display text. The frontend resolves\n * them via useTranslations(\"udp\") → t(config.title).\n *\n * Translation files:\n * - messages/en/udp.json (English — under \"udp\" root key)\n * - messages/hi/udp.json (Hindi — under \"udp\" root key)\n *\n * @module udp-schema/onboarding-config\n */\n\n// ─── Types ───────────────────────────────────────────────────────────────────\n\nexport interface UdpOnboardingFieldConfig {\n /** i18n key for the question heading (resolved via t(title)) */\n title: string;\n /** i18n key for help text below the heading */\n subtitle?: string;\n /** i18n key for toast message on successful save */\n successMessage: string;\n /** Whether the field is required to proceed */\n required: boolean;\n /** i18n namespace for option labels: t(`options.${optionNs}.${value}`) */\n optionNs?: string;\n /** Whether option descriptions exist (uses `options.${optionNs}Desc.*` keys) */\n hasDesc?: boolean;\n}\n\n/** Step grouping for the UDP onboarding flow */\nexport interface UdpOnboardingStepGroup {\n /** i18n key for section label */\n label: string;\n /** Emoji character (e.g., '📝', '🏛️') rendered directly */\n icon: string;\n /** Ordered list of field keys in this section */\n fields: string[];\n}\n\n// ─── Per-field onboarding metadata ──────────────────────────────────────────\n\nexport const UDP_ONBOARDING_FIELDS: Record<string, UdpOnboardingFieldConfig> = {\n // ── Step 1: Profile ──\n fullName: {\n title: 'fullName.title',\n subtitle: 'fullName.subtitle',\n successMessage: 'fullName.success',\n required: false,\n },\n gender: {\n title: 'gender.title',\n subtitle: 'gender.subtitle',\n successMessage: 'gender.success',\n required: false,\n optionNs: 'gender',\n hasDesc: true,\n },\n dateOfBirth: {\n title: 'dateOfBirth.title',\n subtitle: 'dateOfBirth.subtitle',\n successMessage: 'dateOfBirth.success',\n required: false,\n },\n whatsappNumber: {\n title: 'whatsappNumber.title',\n subtitle: 'whatsappNumber.subtitle',\n successMessage: 'whatsappNumber.success',\n required: false,\n },\n primaryLanguage: {\n title: 'primaryLanguage.title',\n subtitle: 'primaryLanguage.subtitle',\n successMessage: 'primaryLanguage.success',\n required: false,\n optionNs: 'language',\n },\n secondaryLanguages: {\n title: 'secondaryLanguages.title',\n subtitle: 'secondaryLanguages.subtitle',\n successMessage: 'secondaryLanguages.success',\n required: false,\n optionNs: 'language',\n },\n familyReligion: {\n title: 'familyReligion.title',\n subtitle: 'familyReligion.subtitle',\n successMessage: 'familyReligion.success',\n required: false,\n optionNs: 'religion',\n hasDesc: true,\n },\n personalReligion: {\n title: 'personalReligion.title',\n subtitle: 'personalReligion.subtitle',\n successMessage: 'personalReligion.success',\n required: false,\n optionNs: 'religion',\n hasDesc: true,\n },\n reservationStatus: {\n title: 'reservationStatus.title',\n subtitle: 'reservationStatus.subtitle',\n successMessage: 'reservationStatus.success',\n required: false,\n optionNs: 'reservation',\n hasDesc: true,\n },\n minorityStatus: {\n title: 'minorityStatus.title',\n subtitle: 'minorityStatus.subtitle',\n successMessage: 'minorityStatus.success',\n required: false,\n optionNs: 'minority',\n hasDesc: true,\n },\n\n // ── Step 2: Political Association & History ──\n politicalSpectrum: {\n title: 'politicalSpectrum.title',\n subtitle: 'politicalSpectrum.subtitle',\n successMessage: 'politicalSpectrum.success',\n required: false,\n optionNs: 'politicalSpectrum',\n },\n selfPartyAssociation: {\n title: 'selfPartyAssociation.title',\n subtitle: 'selfPartyAssociation.subtitle',\n successMessage: 'selfPartyAssociation.success',\n required: false,\n optionNs: 'party',\n },\n partyAssociationRole: {\n title: 'partyAssociationRole.title',\n subtitle: 'partyAssociationRole.subtitle',\n successMessage: 'partyAssociationRole.success',\n required: false,\n optionNs: 'partyRole',\n hasDesc: true,\n },\n familyPartyAssociation: {\n title: 'familyPartyAssociation.title',\n subtitle: 'familyPartyAssociation.subtitle',\n successMessage: 'familyPartyAssociation.success',\n required: false,\n optionNs: 'party',\n },\n relativesInPolitics: {\n title: 'relativesInPolitics.title',\n subtitle: 'relativesInPolitics.subtitle',\n successMessage: 'relativesInPolitics.success',\n required: false,\n optionNs: 'relativesInPolitics',\n hasDesc: true,\n },\n publicOfficeAndElections: {\n title: 'publicOfficeAndElections.title',\n subtitle: 'publicOfficeAndElections.subtitle',\n successMessage: 'publicOfficeAndElections.success',\n required: false,\n },\n networkAndCivicEngagement: {\n title: 'networkAndCivicEngagement.title',\n subtitle: 'networkAndCivicEngagement.subtitle',\n successMessage: 'networkAndCivicEngagement.success',\n required: false,\n optionNs: 'civic',\n },\n\n // ── Step 3: Electoral Behaviour ──\n epicNumber: {\n title: 'epicNumber.title',\n subtitle: 'epicNumber.subtitle',\n successMessage: 'epicNumber.success',\n required: false,\n },\n willVoteThisTime: {\n title: 'willVoteThisTime.title',\n subtitle: 'willVoteThisTime.subtitle',\n successMessage: 'willVoteThisTime.success',\n required: false,\n optionNs: 'willVote',\n },\n didVoteLastTime: {\n title: 'didVoteLastTime.title',\n subtitle: 'didVoteLastTime.subtitle',\n successMessage: 'didVoteLastTime.success',\n required: false,\n optionNs: 'yesNoPrefer',\n },\n votingFrequency: {\n title: 'votingFrequency.title',\n subtitle: 'votingFrequency.subtitle',\n successMessage: 'votingFrequency.success',\n required: false,\n optionNs: 'votingFreq',\n },\n primaryVotingIssues: {\n title: 'primaryVotingIssues.title',\n subtitle: 'primaryVotingIssues.subtitle',\n successMessage: 'primaryVotingIssues.success',\n required: false,\n optionNs: 'votingIssue',\n },\n\n // ── Step 4: Leadership & Ambitions ──\n participateInRevolution: {\n title: 'participateInRevolution.title',\n subtitle: 'participateInRevolution.subtitle',\n successMessage: 'participateInRevolution.success',\n required: false,\n optionNs: 'participate',\n },\n desiredPoliticalPosition: {\n title: 'desiredPoliticalPosition.title',\n subtitle: 'desiredPoliticalPosition.subtitle',\n successMessage: 'desiredPoliticalPosition.success',\n required: false,\n optionNs: 'position',\n },\n leadershipSkillset: {\n title: 'leadershipSkillset.title',\n subtitle: 'leadershipSkillset.subtitle',\n successMessage: 'leadershipSkillset.success',\n required: false,\n optionNs: 'leadershipSkill',\n },\n politicalExposure: {\n title: 'politicalExposure.title',\n subtitle: 'politicalExposure.subtitle',\n successMessage: 'politicalExposure.success',\n required: false,\n optionNs: 'exposure',\n },\n comfortWithVisibility: {\n title: 'comfortWithVisibility.title',\n subtitle: 'comfortWithVisibility.subtitle',\n successMessage: 'comfortWithVisibility.success',\n required: false,\n optionNs: 'visibility',\n },\n socialInfluenceLevel: {\n title: 'socialInfluenceLevel.title',\n subtitle: 'socialInfluenceLevel.subtitle',\n successMessage: 'socialInfluenceLevel.success',\n required: false,\n optionNs: 'influence',\n },\n pastExperience: {\n title: 'pastExperience.title',\n subtitle: 'pastExperience.subtitle',\n successMessage: 'pastExperience.success',\n required: false,\n optionNs: 'experience',\n },\n changesYouWantToBring: {\n title: 'changesYouWantToBring.title',\n subtitle: 'changesYouWantToBring.subtitle',\n successMessage: 'changesYouWantToBring.success',\n required: false,\n },\n\n // ── Step 5: Psychological Assessment ──\n mbtiType: {\n title: 'mbtiType.title',\n subtitle: 'mbtiType.subtitle',\n successMessage: 'mbtiType.success',\n required: false,\n },\n oceanScores: {\n title: 'oceanScores.title',\n subtitle: 'oceanScores.subtitle',\n successMessage: 'oceanScores.success',\n required: false,\n },\n\n // ── Step 6: Education ──\n highestQualification: {\n title: 'highestQualification.title',\n subtitle: 'highestQualification.subtitle',\n successMessage: 'highestQualification.success',\n required: false,\n },\n education10th: {\n title: 'education10th.title',\n subtitle: 'education10th.subtitle',\n successMessage: 'education10th.success',\n required: false,\n },\n education12th: {\n title: 'education12th.title',\n subtitle: 'education12th.subtitle',\n successMessage: 'education12th.success',\n required: false,\n },\n diplomas: {\n title: 'diplomas.title',\n subtitle: 'diplomas.subtitle',\n successMessage: 'diplomas.success',\n required: false,\n },\n graduations: {\n title: 'graduations.title',\n subtitle: 'graduations.subtitle',\n successMessage: 'graduations.success',\n required: false,\n },\n postGraduations: {\n title: 'postGraduations.title',\n subtitle: 'postGraduations.subtitle',\n successMessage: 'postGraduations.success',\n required: false,\n },\n doctorates: {\n title: 'doctorates.title',\n subtitle: 'doctorates.subtitle',\n successMessage: 'doctorates.success',\n required: false,\n },\n postDoctorates: {\n title: 'postDoctorates.title',\n subtitle: 'postDoctorates.subtitle',\n successMessage: 'postDoctorates.success',\n required: false,\n },\n otherCertificates: {\n title: 'otherCertificates.title',\n subtitle: 'otherCertificates.subtitle',\n successMessage: 'otherCertificates.success',\n required: false,\n },\n educationNotes: {\n title: 'educationNotes.title',\n subtitle: 'educationNotes.subtitle',\n successMessage: 'educationNotes.success',\n required: false,\n },\n\n // ── Step 7: Employment & Occupation ──\n employmentStatus: {\n title: 'employmentStatus.title',\n subtitle: 'employmentStatus.subtitle',\n successMessage: 'employmentStatus.success',\n required: false,\n optionNs: 'employment',\n },\n occupation: {\n title: 'occupation.title',\n subtitle: 'occupation.subtitle',\n successMessage: 'occupation.success',\n required: false,\n },\n workShift: {\n title: 'workShift.title',\n subtitle: 'workShift.subtitle',\n successMessage: 'workShift.success',\n required: false,\n optionNs: 'shift',\n },\n comfortableWithShift: {\n title: 'comfortableWithShift.title',\n subtitle: 'comfortableWithShift.subtitle',\n successMessage: 'comfortableWithShift.success',\n required: false,\n optionNs: 'comfort',\n },\n desiredShift: {\n title: 'desiredShift.title',\n subtitle: 'desiredShift.subtitle',\n successMessage: 'desiredShift.success',\n required: false,\n optionNs: 'shift',\n },\n incomeRange: {\n title: 'incomeRange.title',\n subtitle: 'incomeRange.subtitle',\n successMessage: 'incomeRange.success',\n required: false,\n optionNs: 'income',\n },\n dreamOccupation: {\n title: 'dreamOccupation.title',\n subtitle: 'dreamOccupation.subtitle',\n successMessage: 'dreamOccupation.success',\n required: false,\n },\n\n // ── Step 8: Mental Health & Neurodiversity ──\n neurodiverseIdentity: {\n title: 'neurodiverseIdentity.title',\n subtitle: 'neurodiverseIdentity.subtitle',\n successMessage: 'neurodiverseIdentity.success',\n required: false,\n optionNs: 'neurodiverseIdentity',\n hasDesc: true,\n },\n neurodevelopmentalConditions: {\n title: 'neurodevelopmentalConditions.title',\n subtitle: 'neurodevelopmentalConditions.subtitle',\n successMessage: 'neurodevelopmentalConditions.success',\n required: false,\n optionNs: 'neurodevelopmental',\n hasDesc: true,\n },\n mentalHealthConditions: {\n title: 'mentalHealthConditions.title',\n subtitle: 'mentalHealthConditions.subtitle',\n successMessage: 'mentalHealthConditions.success',\n required: false,\n optionNs: 'mentalHealth',\n hasDesc: true,\n },\n personalityPatterns: {\n title: 'personalityPatterns.title',\n subtitle: 'personalityPatterns.subtitle',\n successMessage: 'personalityPatterns.success',\n required: false,\n optionNs: 'personalityPattern',\n hasDesc: true,\n },\n neurologicalChronicConditions: {\n title: 'neurologicalChronicConditions.title',\n subtitle: 'neurologicalChronicConditions.subtitle',\n successMessage: 'neurologicalChronicConditions.success',\n required: false,\n optionNs: 'neurologicalChronic',\n hasDesc: true,\n },\n ageOfRealization: {\n title: 'ageOfRealization.title',\n subtitle: 'ageOfRealization.subtitle',\n successMessage: 'ageOfRealization.success',\n required: false,\n optionNs: 'ageOfRealization',\n },\n sensoryProfile: {\n title: 'sensoryProfile.title',\n subtitle: 'sensoryProfile.subtitle',\n successMessage: 'sensoryProfile.success',\n required: false,\n optionNs: 'sensoryProfile',\n },\n cognitiveStrengths: {\n title: 'cognitiveStrengths.title',\n subtitle: 'cognitiveStrengths.subtitle',\n successMessage: 'cognitiveStrengths.success',\n required: false,\n optionNs: 'cognitiveStrength',\n },\n executiveFunctionChallenges: {\n title: 'executiveFunctionChallenges.title',\n subtitle: 'executiveFunctionChallenges.subtitle',\n successMessage: 'executiveFunctionChallenges.success',\n required: false,\n optionNs: 'executiveFunctionChallenge',\n },\n learningStyle: {\n title: 'learningStyle.title',\n subtitle: 'learningStyle.subtitle',\n successMessage: 'learningStyle.success',\n required: false,\n optionNs: 'learningStyle',\n },\n communicationPreference: {\n title: 'communicationPreference.title',\n subtitle: 'communicationPreference.subtitle',\n successMessage: 'communicationPreference.success',\n required: false,\n optionNs: 'communicationPreference',\n },\n supportAndAccommodations: {\n title: 'supportAndAccommodations.title',\n subtitle: 'supportAndAccommodations.subtitle',\n successMessage: 'supportAndAccommodations.success',\n required: false,\n optionNs: 'supportAccommodation',\n },\n maskingAndBurnout: {\n title: 'maskingAndBurnout.title',\n subtitle: 'maskingAndBurnout.subtitle',\n successMessage: 'maskingAndBurnout.success',\n required: false,\n optionNs: 'maskingBurnout',\n hasDesc: true,\n },\n impactOnLife: {\n title: 'impactOnLife.title',\n subtitle: 'impactOnLife.subtitle',\n successMessage: 'impactOnLife.success',\n required: false,\n optionNs: 'impactOnLife',\n hasDesc: true,\n },\n\n // ── Step 9: Health & Lifestyle ──\n disabilityStatus: {\n title: 'disabilityStatus.title',\n subtitle: 'disabilityStatus.subtitle',\n successMessage: 'disabilityStatus.success',\n required: false,\n optionNs: 'disability',\n },\n generalHealth: {\n title: 'generalHealth.title',\n subtitle: 'generalHealth.subtitle',\n successMessage: 'generalHealth.success',\n required: false,\n optionNs: 'health',\n },\n healthInsurance: {\n title: 'healthInsurance.title',\n subtitle: 'healthInsurance.subtitle',\n successMessage: 'healthInsurance.success',\n required: false,\n optionNs: 'insurance',\n },\n diet: {\n title: 'diet.title',\n subtitle: 'diet.subtitle',\n successMessage: 'diet.success',\n required: false,\n optionNs: 'diet',\n hasDesc: true,\n },\n physicalActivity: {\n title: 'physicalActivity.title',\n subtitle: 'physicalActivity.subtitle',\n successMessage: 'physicalActivity.success',\n required: false,\n optionNs: 'activity',\n },\n sleepQuality: {\n title: 'sleepQuality.title',\n subtitle: 'sleepQuality.subtitle',\n successMessage: 'sleepQuality.success',\n required: false,\n optionNs: 'sleep',\n },\n substanceUse: {\n title: 'substanceUse.title',\n subtitle: 'substanceUse.subtitle',\n successMessage: 'substanceUse.success',\n required: false,\n optionNs: 'substance',\n },\n stressLevel: {\n title: 'stressLevel.title',\n subtitle: 'stressLevel.subtitle',\n successMessage: 'stressLevel.success',\n required: false,\n optionNs: 'stress',\n },\n\n // ── Step 10: World View & Experience ──\n viewOnAnimalCruelty: {\n title: 'viewOnAnimalCruelty.title',\n subtitle: 'viewOnAnimalCruelty.subtitle',\n successMessage: 'viewOnAnimalCruelty.success',\n required: false,\n optionNs: 'animalCruelty',\n },\n viewOnLgbtqStatements: {\n title: 'viewOnLgbtqStatements.title',\n subtitle: 'viewOnLgbtqStatements.subtitle',\n successMessage: 'viewOnLgbtqStatements.success',\n required: false,\n optionNs: 'lgbtq',\n },\n viewOnLgbtqOpinion: {\n title: 'viewOnLgbtqOpinion.title',\n subtitle: 'viewOnLgbtqOpinion.subtitle',\n successMessage: 'viewOnLgbtqOpinion.success',\n required: false,\n },\n viewOnTransgenderInclusion: {\n title: 'viewOnTransgenderInclusion.title',\n subtitle: 'viewOnTransgenderInclusion.subtitle',\n successMessage: 'viewOnTransgenderInclusion.success',\n required: false,\n optionNs: 'transgender',\n },\n viewOnTransgenderOpinion: {\n title: 'viewOnTransgenderOpinion.title',\n subtitle: 'viewOnTransgenderOpinion.subtitle',\n successMessage: 'viewOnTransgenderOpinion.success',\n required: false,\n },\n facingCasteDiscrimination: {\n title: 'facingCasteDiscrimination.title',\n subtitle: 'facingCasteDiscrimination.subtitle',\n successMessage: 'facingCasteDiscrimination.success',\n required: false,\n optionNs: 'discrimination',\n },\n casteDiscriminationPlaces: {\n title: 'casteDiscriminationPlaces.title',\n subtitle: 'casteDiscriminationPlaces.subtitle',\n successMessage: 'casteDiscriminationPlaces.success',\n required: false,\n optionNs: 'discriminationPlace',\n },\n viewOnGenderEquality: {\n title: 'viewOnGenderEquality.title',\n subtitle: 'viewOnGenderEquality.subtitle',\n successMessage: 'viewOnGenderEquality.success',\n required: false,\n optionNs: 'genderEquality',\n },\n\n // ── Step 11: Residence & Address ──\n currentAddress: {\n title: 'currentAddress.title',\n subtitle: 'currentAddress.subtitle',\n successMessage: 'currentAddress.success',\n required: false,\n },\n permanentAddress: {\n title: 'permanentAddress.title',\n subtitle: 'permanentAddress.subtitle',\n successMessage: 'permanentAddress.success',\n required: false,\n },\n homeNativePlace: {\n title: 'homeNativePlace.title',\n subtitle: 'homeNativePlace.subtitle',\n successMessage: 'homeNativePlace.success',\n required: false,\n },\n ancestralPlace: {\n title: 'ancestralPlace.title',\n subtitle: 'ancestralPlace.subtitle',\n successMessage: 'ancestralPlace.success',\n required: false,\n },\n\n // ── Step 12: Household & Economic Profile ──\n maritalStatus: {\n title: 'maritalStatus.title',\n subtitle: 'maritalStatus.subtitle',\n successMessage: 'maritalStatus.success',\n required: false,\n optionNs: 'marital',\n },\n familyMembers: {\n title: 'familyMembers.title',\n subtitle: 'familyMembers.subtitle',\n successMessage: 'familyMembers.success',\n required: false,\n optionNs: 'family',\n },\n numberOfDependents: {\n title: 'numberOfDependents.title',\n subtitle: 'numberOfDependents.subtitle',\n successMessage: 'numberOfDependents.success',\n required: false,\n },\n housingType: {\n title: 'housingType.title',\n subtitle: 'housingType.subtitle',\n successMessage: 'housingType.success',\n required: false,\n optionNs: 'housing',\n },\n householdIncome: {\n title: 'householdIncome.title',\n subtitle: 'householdIncome.subtitle',\n successMessage: 'householdIncome.success',\n required: false,\n optionNs: 'hhIncome',\n },\n bplCard: {\n title: 'bplCard.title',\n subtitle: 'bplCard.subtitle',\n successMessage: 'bplCard.success',\n required: false,\n optionNs: 'bpl',\n },\n digitalAccess: {\n title: 'digitalAccess.title',\n subtitle: 'digitalAccess.subtitle',\n successMessage: 'digitalAccess.success',\n required: false,\n optionNs: 'digital',\n },\n migrationStatus: {\n title: 'migrationStatus.title',\n subtitle: 'migrationStatus.subtitle',\n successMessage: 'migrationStatus.success',\n required: false,\n optionNs: 'migration',\n },\n landOwnership: {\n title: 'landOwnership.title',\n subtitle: 'landOwnership.subtitle',\n successMessage: 'landOwnership.success',\n optionNs: 'land',\n required: false,\n },\n primaryIncomeSource: {\n title: 'primaryIncomeSource.title',\n subtitle: 'primaryIncomeSource.subtitle',\n successMessage: 'primaryIncomeSource.success',\n optionNs: 'incomeSource',\n required: false,\n },\n};\n\n// ─── Step grouping ──────────────────────────────────────────────────────────\n\nexport const UDP_ONBOARDING_STEP_GROUPS: UdpOnboardingStepGroup[] = [\n {\n label: 'steps.profile',\n icon: '📝',\n fields: [\n 'fullName',\n 'gender',\n 'dateOfBirth',\n 'whatsappNumber',\n 'primaryLanguage',\n 'secondaryLanguages',\n 'familyReligion',\n 'personalReligion',\n 'reservationStatus',\n 'minorityStatus',\n ],\n },\n {\n label: 'steps.politicalAssociation',\n icon: '🏛️',\n fields: [\n 'politicalSpectrum',\n 'selfPartyAssociation',\n 'partyAssociationRole',\n 'familyPartyAssociation',\n 'relativesInPolitics',\n 'publicOfficeAndElections',\n 'networkAndCivicEngagement',\n ],\n },\n {\n label: 'steps.electoralBehaviour',\n icon: '🗳️',\n fields: [\n 'epicNumber',\n 'willVoteThisTime',\n 'didVoteLastTime',\n 'votingFrequency',\n 'primaryVotingIssues',\n ],\n },\n {\n label: 'steps.leadershipAmbitions',\n icon: '👑',\n fields: [\n 'participateInRevolution',\n 'desiredPoliticalPosition',\n 'leadershipSkillset',\n 'politicalExposure',\n 'comfortWithVisibility',\n 'socialInfluenceLevel',\n 'pastExperience',\n 'changesYouWantToBring',\n ],\n },\n {\n label: 'steps.psychologicalAssessment',\n icon: '🧩',\n fields: ['mbtiType', 'oceanScores'],\n },\n {\n label: 'steps.education',\n icon: '🎓',\n fields: [\n 'highestQualification',\n 'education10th',\n 'education12th',\n 'diplomas',\n 'graduations',\n 'postGraduations',\n 'doctorates',\n 'postDoctorates',\n 'otherCertificates',\n 'educationNotes',\n ],\n },\n {\n label: 'steps.employment',\n icon: '💼',\n fields: [\n 'employmentStatus',\n 'occupation',\n 'workShift',\n 'comfortableWithShift',\n 'desiredShift',\n 'incomeRange',\n 'dreamOccupation',\n ],\n },\n {\n label: 'steps.mentalHealthNeurodiversity',\n icon: '🧠',\n fields: [\n 'neurodiverseIdentity',\n 'neurodevelopmentalConditions',\n 'mentalHealthConditions',\n 'personalityPatterns',\n 'neurologicalChronicConditions',\n 'ageOfRealization',\n 'sensoryProfile',\n 'cognitiveStrengths',\n 'executiveFunctionChallenges',\n 'learningStyle',\n 'communicationPreference',\n 'supportAndAccommodations',\n 'maskingAndBurnout',\n 'impactOnLife',\n ],\n },\n {\n label: 'steps.healthLifestyle',\n icon: '🏥',\n fields: [\n 'disabilityStatus',\n 'generalHealth',\n 'healthInsurance',\n 'diet',\n 'physicalActivity',\n 'sleepQuality',\n 'substanceUse',\n 'stressLevel',\n ],\n },\n {\n label: 'steps.worldView',\n icon: '🌿',\n fields: [\n 'viewOnAnimalCruelty',\n 'viewOnLgbtqStatements',\n 'viewOnLgbtqOpinion',\n 'viewOnTransgenderInclusion',\n 'viewOnTransgenderOpinion',\n 'facingCasteDiscrimination',\n 'casteDiscriminationPlaces',\n 'viewOnGenderEquality',\n ],\n },\n {\n label: 'steps.residence',\n icon: '🏠',\n fields: ['currentAddress', 'permanentAddress', 'homeNativePlace', 'ancestralPlace'],\n },\n {\n label: 'steps.household',\n icon: '🏡',\n fields: [\n 'maritalStatus',\n 'familyMembers',\n 'numberOfDependents',\n 'housingType',\n 'householdIncome',\n 'bplCard',\n 'digitalAccess',\n 'migrationStatus',\n 'landOwnership',\n 'primaryIncomeSource',\n ],\n },\n];\n\n// ─── Helpers ─────────────────────────────────────────────────────────────────\n\n/** Get onboarding config for a single field. */\nexport function getUdpOnboardingFieldConfig(\n fieldKey: string | undefined,\n): UdpOnboardingFieldConfig | undefined {\n if (!fieldKey) return undefined;\n return UDP_ONBOARDING_FIELDS[fieldKey];\n}\n\n/** Total number of main steps. */\nexport const UDP_TOTAL_MAIN_STEPS = UDP_ONBOARDING_STEP_GROUPS.length;\n\n/** Total number of sub-steps across all main steps. */\nexport const UDP_TOTAL_SUB_STEPS = UDP_ONBOARDING_STEP_GROUPS.reduce(\n (sum, g) => sum + g.fields.length,\n 0,\n);\n"]}
1
+ {"version":3,"file":"onboarding-config.js","sourceRoot":"","sources":["../src/onboarding-config.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * UDP Onboarding Field Configuration\n * ====================================\n * Single source of truth for all per-field onboarding metadata.\n * Both frontend and backend import this.\n *\n * IMPORTANT: All string properties (title, subtitle, successMessage,\n * step group label) are i18n KEYS, not display text. The frontend resolves\n * them via useTranslations(\"udp\") → t(config.title).\n *\n * Translation files:\n * - messages/en/udp.json (English — under \"udp\" root key)\n * - messages/hi/udp.json (Hindi — under \"udp\" root key)\n *\n * @module udp-schema/onboarding-config\n */\n\n// ─── Types ───────────────────────────────────────────────────────────────────\n\nexport interface UdpOnboardingFieldConfig {\n /** i18n key for the question heading (resolved via t(title)) */\n title: string;\n /** i18n key for help text below the heading */\n subtitle?: string;\n /** i18n key for toast message on successful save */\n successMessage: string;\n /** Whether the field is required to proceed */\n required: boolean;\n /** i18n namespace for option labels: t(`options.${optionNs}.${value}`) */\n optionNs?: string;\n /** Whether option descriptions exist (uses `options.${optionNs}Desc.*` keys) */\n hasDesc?: boolean;\n}\n\n/** Step grouping for the UDP onboarding flow */\nexport interface UdpOnboardingStepGroup {\n /** i18n key for section label */\n label: string;\n /** Emoji character (e.g., '📝', '🏛️') rendered directly */\n icon: string;\n /** Ordered list of field keys in this section */\n fields: string[];\n}\n\n// ─── Per-field onboarding metadata ──────────────────────────────────────────\n\nexport const UDP_ONBOARDING_FIELDS: Record<string, UdpOnboardingFieldConfig> = {\n // ── Step 1: Profile ──\n fullName: {\n title: 'fullName.title',\n subtitle: 'fullName.subtitle',\n successMessage: 'fullName.success',\n required: false,\n },\n gender: {\n title: 'gender.title',\n subtitle: 'gender.subtitle',\n successMessage: 'gender.success',\n required: false,\n optionNs: 'gender',\n hasDesc: true,\n },\n dateOfBirth: {\n title: 'dateOfBirth.title',\n subtitle: 'dateOfBirth.subtitle',\n successMessage: 'dateOfBirth.success',\n required: false,\n },\n whatsappNumber: {\n title: 'whatsappNumber.title',\n subtitle: 'whatsappNumber.subtitle',\n successMessage: 'whatsappNumber.success',\n required: false,\n },\n primaryLanguage: {\n title: 'primaryLanguage.title',\n subtitle: 'primaryLanguage.subtitle',\n successMessage: 'primaryLanguage.success',\n required: false,\n optionNs: 'language',\n },\n secondaryLanguages: {\n title: 'secondaryLanguages.title',\n subtitle: 'secondaryLanguages.subtitle',\n successMessage: 'secondaryLanguages.success',\n required: false,\n optionNs: 'language',\n },\n familyReligion: {\n title: 'familyReligion.title',\n subtitle: 'familyReligion.subtitle',\n successMessage: 'familyReligion.success',\n required: false,\n optionNs: 'religion',\n hasDesc: true,\n },\n personalReligion: {\n title: 'personalReligion.title',\n subtitle: 'personalReligion.subtitle',\n successMessage: 'personalReligion.success',\n required: false,\n optionNs: 'religion',\n hasDesc: true,\n },\n reservationStatus: {\n title: 'reservationStatus.title',\n subtitle: 'reservationStatus.subtitle',\n successMessage: 'reservationStatus.success',\n required: false,\n optionNs: 'reservation',\n hasDesc: true,\n },\n minorityStatus: {\n title: 'minorityStatus.title',\n subtitle: 'minorityStatus.subtitle',\n successMessage: 'minorityStatus.success',\n required: false,\n optionNs: 'minority',\n hasDesc: true,\n },\n\n // ── Step 2: Political Association & History ──\n politicalSpectrum: {\n title: 'politicalSpectrum.title',\n subtitle: 'politicalSpectrum.subtitle',\n successMessage: 'politicalSpectrum.success',\n required: false,\n optionNs: 'politicalSpectrum',\n },\n selfPartyAssociation: {\n title: 'selfPartyAssociation.title',\n subtitle: 'selfPartyAssociation.subtitle',\n successMessage: 'selfPartyAssociation.success',\n required: false,\n optionNs: 'party',\n },\n partyAssociationRole: {\n title: 'partyAssociationRole.title',\n subtitle: 'partyAssociationRole.subtitle',\n successMessage: 'partyAssociationRole.success',\n required: false,\n optionNs: 'partyRole',\n hasDesc: true,\n },\n familyPartyAssociation: {\n title: 'familyPartyAssociation.title',\n subtitle: 'familyPartyAssociation.subtitle',\n successMessage: 'familyPartyAssociation.success',\n required: false,\n optionNs: 'party',\n },\n relativesInPolitics: {\n title: 'relativesInPolitics.title',\n subtitle: 'relativesInPolitics.subtitle',\n successMessage: 'relativesInPolitics.success',\n required: false,\n optionNs: 'relativesInPolitics',\n hasDesc: true,\n },\n hasContestedElection: {\n title: 'hasContestedElection.title',\n subtitle: 'hasContestedElection.subtitle',\n successMessage: 'hasContestedElection.success',\n required: false,\n optionNs: 'yesNoPrefer',\n },\n electionLevel: {\n title: 'electionLevel.title',\n subtitle: 'electionLevel.subtitle',\n successMessage: 'electionLevel.success',\n required: false,\n optionNs: 'officeLevel',\n },\n electionYear: {\n title: 'electionYear.title',\n subtitle: 'electionYear.subtitle',\n successMessage: 'electionYear.success',\n required: false,\n },\n hasHeldPublicOffice: {\n title: 'hasHeldPublicOffice.title',\n subtitle: 'hasHeldPublicOffice.subtitle',\n successMessage: 'hasHeldPublicOffice.success',\n required: false,\n optionNs: 'yesNoPrefer',\n },\n officeLevel: {\n title: 'officeLevel.title',\n subtitle: 'officeLevel.subtitle',\n successMessage: 'officeLevel.success',\n required: false,\n optionNs: 'officeLevel',\n },\n officeYear: {\n title: 'officeYear.title',\n subtitle: 'officeYear.subtitle',\n successMessage: 'officeYear.success',\n required: false,\n },\n networkAndCivicEngagement: {\n title: 'networkAndCivicEngagement.title',\n subtitle: 'networkAndCivicEngagement.subtitle',\n successMessage: 'networkAndCivicEngagement.success',\n required: false,\n optionNs: 'civic',\n },\n\n // ── Step 3: Electoral Behaviour ──\n epicNumber: {\n title: 'epicNumber.title',\n subtitle: 'epicNumber.subtitle',\n successMessage: 'epicNumber.success',\n required: false,\n },\n willVoteThisTime: {\n title: 'willVoteThisTime.title',\n subtitle: 'willVoteThisTime.subtitle',\n successMessage: 'willVoteThisTime.success',\n required: false,\n optionNs: 'willVote',\n },\n didVoteLastTime: {\n title: 'didVoteLastTime.title',\n subtitle: 'didVoteLastTime.subtitle',\n successMessage: 'didVoteLastTime.success',\n required: false,\n optionNs: 'yesNoPrefer',\n },\n votingFrequency: {\n title: 'votingFrequency.title',\n subtitle: 'votingFrequency.subtitle',\n successMessage: 'votingFrequency.success',\n required: false,\n optionNs: 'votingFreq',\n },\n primaryVotingIssues: {\n title: 'primaryVotingIssues.title',\n subtitle: 'primaryVotingIssues.subtitle',\n successMessage: 'primaryVotingIssues.success',\n required: false,\n optionNs: 'votingIssue',\n },\n\n // ── Step 4: Leadership & Ambitions ──\n participateInRevolution: {\n title: 'participateInRevolution.title',\n subtitle: 'participateInRevolution.subtitle',\n successMessage: 'participateInRevolution.success',\n required: false,\n optionNs: 'participate',\n },\n desiredPoliticalPosition: {\n title: 'desiredPoliticalPosition.title',\n subtitle: 'desiredPoliticalPosition.subtitle',\n successMessage: 'desiredPoliticalPosition.success',\n required: false,\n optionNs: 'position',\n },\n leadershipSkillset: {\n title: 'leadershipSkillset.title',\n subtitle: 'leadershipSkillset.subtitle',\n successMessage: 'leadershipSkillset.success',\n required: false,\n optionNs: 'leadershipSkill',\n },\n politicalExposure: {\n title: 'politicalExposure.title',\n subtitle: 'politicalExposure.subtitle',\n successMessage: 'politicalExposure.success',\n required: false,\n optionNs: 'exposure',\n },\n comfortWithVisibility: {\n title: 'comfortWithVisibility.title',\n subtitle: 'comfortWithVisibility.subtitle',\n successMessage: 'comfortWithVisibility.success',\n required: false,\n optionNs: 'visibility',\n },\n socialInfluenceLevel: {\n title: 'socialInfluenceLevel.title',\n subtitle: 'socialInfluenceLevel.subtitle',\n successMessage: 'socialInfluenceLevel.success',\n required: false,\n optionNs: 'influence',\n },\n pastExperience: {\n title: 'pastExperience.title',\n subtitle: 'pastExperience.subtitle',\n successMessage: 'pastExperience.success',\n required: false,\n optionNs: 'experience',\n },\n changesYouWantToBring: {\n title: 'changesYouWantToBring.title',\n subtitle: 'changesYouWantToBring.subtitle',\n successMessage: 'changesYouWantToBring.success',\n required: false,\n },\n\n // ── Step 5: Psychological Assessment ──\n mbtiType: {\n title: 'mbtiType.title',\n subtitle: 'mbtiType.subtitle',\n successMessage: 'mbtiType.success',\n required: false,\n },\n oceanScores: {\n title: 'oceanScores.title',\n subtitle: 'oceanScores.subtitle',\n successMessage: 'oceanScores.success',\n required: false,\n },\n\n // ── Step 6: Education ──\n highestQualification: {\n title: 'highestQualification.title',\n subtitle: 'highestQualification.subtitle',\n successMessage: 'highestQualification.success',\n required: false,\n },\n education10th: {\n title: 'education10th.title',\n subtitle: 'education10th.subtitle',\n successMessage: 'education10th.success',\n required: false,\n },\n education12th: {\n title: 'education12th.title',\n subtitle: 'education12th.subtitle',\n successMessage: 'education12th.success',\n required: false,\n },\n diplomas: {\n title: 'diplomas.title',\n subtitle: 'diplomas.subtitle',\n successMessage: 'diplomas.success',\n required: false,\n },\n graduations: {\n title: 'graduations.title',\n subtitle: 'graduations.subtitle',\n successMessage: 'graduations.success',\n required: false,\n },\n postGraduations: {\n title: 'postGraduations.title',\n subtitle: 'postGraduations.subtitle',\n successMessage: 'postGraduations.success',\n required: false,\n },\n doctorates: {\n title: 'doctorates.title',\n subtitle: 'doctorates.subtitle',\n successMessage: 'doctorates.success',\n required: false,\n },\n postDoctorates: {\n title: 'postDoctorates.title',\n subtitle: 'postDoctorates.subtitle',\n successMessage: 'postDoctorates.success',\n required: false,\n },\n otherCertificates: {\n title: 'otherCertificates.title',\n subtitle: 'otherCertificates.subtitle',\n successMessage: 'otherCertificates.success',\n required: false,\n },\n educationNotes: {\n title: 'educationNotes.title',\n subtitle: 'educationNotes.subtitle',\n successMessage: 'educationNotes.success',\n required: false,\n },\n\n // ── Step 7: Employment & Occupation ──\n employmentStatus: {\n title: 'employmentStatus.title',\n subtitle: 'employmentStatus.subtitle',\n successMessage: 'employmentStatus.success',\n required: false,\n optionNs: 'employment',\n },\n occupation: {\n title: 'occupation.title',\n subtitle: 'occupation.subtitle',\n successMessage: 'occupation.success',\n required: false,\n },\n workShift: {\n title: 'workShift.title',\n subtitle: 'workShift.subtitle',\n successMessage: 'workShift.success',\n required: false,\n optionNs: 'shift',\n },\n comfortableWithShift: {\n title: 'comfortableWithShift.title',\n subtitle: 'comfortableWithShift.subtitle',\n successMessage: 'comfortableWithShift.success',\n required: false,\n optionNs: 'comfort',\n },\n desiredShift: {\n title: 'desiredShift.title',\n subtitle: 'desiredShift.subtitle',\n successMessage: 'desiredShift.success',\n required: false,\n optionNs: 'shift',\n },\n incomeRange: {\n title: 'incomeRange.title',\n subtitle: 'incomeRange.subtitle',\n successMessage: 'incomeRange.success',\n required: false,\n optionNs: 'income',\n },\n dreamOccupation: {\n title: 'dreamOccupation.title',\n subtitle: 'dreamOccupation.subtitle',\n successMessage: 'dreamOccupation.success',\n required: false,\n },\n\n // ── Step 8: Mental Health & Neurodiversity ──\n neurodiverseIdentity: {\n title: 'neurodiverseIdentity.title',\n subtitle: 'neurodiverseIdentity.subtitle',\n successMessage: 'neurodiverseIdentity.success',\n required: false,\n optionNs: 'neurodiverseIdentity',\n hasDesc: true,\n },\n neurodevelopmentalConditions: {\n title: 'neurodevelopmentalConditions.title',\n subtitle: 'neurodevelopmentalConditions.subtitle',\n successMessage: 'neurodevelopmentalConditions.success',\n required: false,\n optionNs: 'neurodevelopmental',\n hasDesc: true,\n },\n mentalHealthConditions: {\n title: 'mentalHealthConditions.title',\n subtitle: 'mentalHealthConditions.subtitle',\n successMessage: 'mentalHealthConditions.success',\n required: false,\n optionNs: 'mentalHealth',\n hasDesc: true,\n },\n personalityPatterns: {\n title: 'personalityPatterns.title',\n subtitle: 'personalityPatterns.subtitle',\n successMessage: 'personalityPatterns.success',\n required: false,\n optionNs: 'personalityPattern',\n hasDesc: true,\n },\n neurologicalChronicConditions: {\n title: 'neurologicalChronicConditions.title',\n subtitle: 'neurologicalChronicConditions.subtitle',\n successMessage: 'neurologicalChronicConditions.success',\n required: false,\n optionNs: 'neurologicalChronic',\n hasDesc: true,\n },\n ageOfRealization: {\n title: 'ageOfRealization.title',\n subtitle: 'ageOfRealization.subtitle',\n successMessage: 'ageOfRealization.success',\n required: false,\n optionNs: 'ageOfRealization',\n },\n sensoryProfile: {\n title: 'sensoryProfile.title',\n subtitle: 'sensoryProfile.subtitle',\n successMessage: 'sensoryProfile.success',\n required: false,\n optionNs: 'sensoryProfile',\n },\n cognitiveStrengths: {\n title: 'cognitiveStrengths.title',\n subtitle: 'cognitiveStrengths.subtitle',\n successMessage: 'cognitiveStrengths.success',\n required: false,\n optionNs: 'cognitiveStrength',\n },\n executiveFunctionChallenges: {\n title: 'executiveFunctionChallenges.title',\n subtitle: 'executiveFunctionChallenges.subtitle',\n successMessage: 'executiveFunctionChallenges.success',\n required: false,\n optionNs: 'executiveFunctionChallenge',\n },\n learningStyle: {\n title: 'learningStyle.title',\n subtitle: 'learningStyle.subtitle',\n successMessage: 'learningStyle.success',\n required: false,\n optionNs: 'learningStyle',\n },\n communicationPreference: {\n title: 'communicationPreference.title',\n subtitle: 'communicationPreference.subtitle',\n successMessage: 'communicationPreference.success',\n required: false,\n optionNs: 'communicationPreference',\n },\n supportAndAccommodations: {\n title: 'supportAndAccommodations.title',\n subtitle: 'supportAndAccommodations.subtitle',\n successMessage: 'supportAndAccommodations.success',\n required: false,\n optionNs: 'supportAccommodation',\n },\n maskingAndBurnout: {\n title: 'maskingAndBurnout.title',\n subtitle: 'maskingAndBurnout.subtitle',\n successMessage: 'maskingAndBurnout.success',\n required: false,\n optionNs: 'maskingBurnout',\n hasDesc: true,\n },\n impactOnLife: {\n title: 'impactOnLife.title',\n subtitle: 'impactOnLife.subtitle',\n successMessage: 'impactOnLife.success',\n required: false,\n optionNs: 'impactOnLife',\n hasDesc: true,\n },\n\n // ── Step 9: Health & Lifestyle ──\n disabilityStatus: {\n title: 'disabilityStatus.title',\n subtitle: 'disabilityStatus.subtitle',\n successMessage: 'disabilityStatus.success',\n required: false,\n optionNs: 'disability',\n },\n generalHealth: {\n title: 'generalHealth.title',\n subtitle: 'generalHealth.subtitle',\n successMessage: 'generalHealth.success',\n required: false,\n optionNs: 'health',\n },\n healthInsurance: {\n title: 'healthInsurance.title',\n subtitle: 'healthInsurance.subtitle',\n successMessage: 'healthInsurance.success',\n required: false,\n optionNs: 'insurance',\n },\n diet: {\n title: 'diet.title',\n subtitle: 'diet.subtitle',\n successMessage: 'diet.success',\n required: false,\n optionNs: 'diet',\n hasDesc: true,\n },\n physicalActivity: {\n title: 'physicalActivity.title',\n subtitle: 'physicalActivity.subtitle',\n successMessage: 'physicalActivity.success',\n required: false,\n optionNs: 'activity',\n },\n sleepQuality: {\n title: 'sleepQuality.title',\n subtitle: 'sleepQuality.subtitle',\n successMessage: 'sleepQuality.success',\n required: false,\n optionNs: 'sleep',\n },\n substanceUse: {\n title: 'substanceUse.title',\n subtitle: 'substanceUse.subtitle',\n successMessage: 'substanceUse.success',\n required: false,\n optionNs: 'substance',\n },\n stressLevel: {\n title: 'stressLevel.title',\n subtitle: 'stressLevel.subtitle',\n successMessage: 'stressLevel.success',\n required: false,\n optionNs: 'stress',\n },\n\n // ── Step 10: World View & Experience ──\n viewOnAnimalCruelty: {\n title: 'viewOnAnimalCruelty.title',\n subtitle: 'viewOnAnimalCruelty.subtitle',\n successMessage: 'viewOnAnimalCruelty.success',\n required: false,\n optionNs: 'animalCruelty',\n },\n viewOnLgbtqStatements: {\n title: 'viewOnLgbtqStatements.title',\n subtitle: 'viewOnLgbtqStatements.subtitle',\n successMessage: 'viewOnLgbtqStatements.success',\n required: false,\n optionNs: 'lgbtq',\n },\n viewOnLgbtqOpinion: {\n title: 'viewOnLgbtqOpinion.title',\n subtitle: 'viewOnLgbtqOpinion.subtitle',\n successMessage: 'viewOnLgbtqOpinion.success',\n required: false,\n },\n viewOnTransgenderInclusion: {\n title: 'viewOnTransgenderInclusion.title',\n subtitle: 'viewOnTransgenderInclusion.subtitle',\n successMessage: 'viewOnTransgenderInclusion.success',\n required: false,\n optionNs: 'transgender',\n },\n viewOnTransgenderOpinion: {\n title: 'viewOnTransgenderOpinion.title',\n subtitle: 'viewOnTransgenderOpinion.subtitle',\n successMessage: 'viewOnTransgenderOpinion.success',\n required: false,\n },\n facingCasteDiscrimination: {\n title: 'facingCasteDiscrimination.title',\n subtitle: 'facingCasteDiscrimination.subtitle',\n successMessage: 'facingCasteDiscrimination.success',\n required: false,\n optionNs: 'discrimination',\n },\n casteDiscriminationPlaces: {\n title: 'casteDiscriminationPlaces.title',\n subtitle: 'casteDiscriminationPlaces.subtitle',\n successMessage: 'casteDiscriminationPlaces.success',\n required: false,\n optionNs: 'discriminationPlace',\n },\n viewOnGenderEquality: {\n title: 'viewOnGenderEquality.title',\n subtitle: 'viewOnGenderEquality.subtitle',\n successMessage: 'viewOnGenderEquality.success',\n required: false,\n optionNs: 'genderEquality',\n },\n\n // ── Step 11: Residence & Address ──\n currentAddress: {\n title: 'currentAddress.title',\n subtitle: 'currentAddress.subtitle',\n successMessage: 'currentAddress.success',\n required: false,\n },\n permanentAddress: {\n title: 'permanentAddress.title',\n subtitle: 'permanentAddress.subtitle',\n successMessage: 'permanentAddress.success',\n required: false,\n },\n homeNativePlace: {\n title: 'homeNativePlace.title',\n subtitle: 'homeNativePlace.subtitle',\n successMessage: 'homeNativePlace.success',\n required: false,\n },\n ancestralPlace: {\n title: 'ancestralPlace.title',\n subtitle: 'ancestralPlace.subtitle',\n successMessage: 'ancestralPlace.success',\n required: false,\n },\n\n // ── Step 12: Household & Economic Profile ──\n maritalStatus: {\n title: 'maritalStatus.title',\n subtitle: 'maritalStatus.subtitle',\n successMessage: 'maritalStatus.success',\n required: false,\n optionNs: 'marital',\n },\n familyMembers: {\n title: 'familyMembers.title',\n subtitle: 'familyMembers.subtitle',\n successMessage: 'familyMembers.success',\n required: false,\n optionNs: 'family',\n },\n numberOfDependents: {\n title: 'numberOfDependents.title',\n subtitle: 'numberOfDependents.subtitle',\n successMessage: 'numberOfDependents.success',\n required: false,\n },\n housingType: {\n title: 'housingType.title',\n subtitle: 'housingType.subtitle',\n successMessage: 'housingType.success',\n required: false,\n optionNs: 'housing',\n },\n householdIncome: {\n title: 'householdIncome.title',\n subtitle: 'householdIncome.subtitle',\n successMessage: 'householdIncome.success',\n required: false,\n optionNs: 'hhIncome',\n },\n bplCard: {\n title: 'bplCard.title',\n subtitle: 'bplCard.subtitle',\n successMessage: 'bplCard.success',\n required: false,\n optionNs: 'bpl',\n },\n digitalAccess: {\n title: 'digitalAccess.title',\n subtitle: 'digitalAccess.subtitle',\n successMessage: 'digitalAccess.success',\n required: false,\n optionNs: 'digital',\n },\n migrationStatus: {\n title: 'migrationStatus.title',\n subtitle: 'migrationStatus.subtitle',\n successMessage: 'migrationStatus.success',\n required: false,\n optionNs: 'migration',\n },\n landOwnership: {\n title: 'landOwnership.title',\n subtitle: 'landOwnership.subtitle',\n successMessage: 'landOwnership.success',\n optionNs: 'land',\n required: false,\n },\n primaryIncomeSource: {\n title: 'primaryIncomeSource.title',\n subtitle: 'primaryIncomeSource.subtitle',\n successMessage: 'primaryIncomeSource.success',\n optionNs: 'incomeSource',\n required: false,\n },\n};\n\n// ─── Step grouping ──────────────────────────────────────────────────────────\n\nexport const UDP_ONBOARDING_STEP_GROUPS: UdpOnboardingStepGroup[] = [\n {\n label: 'steps.profile',\n icon: '📝',\n fields: [\n 'fullName',\n 'gender',\n 'dateOfBirth',\n 'whatsappNumber',\n 'primaryLanguage',\n 'secondaryLanguages',\n 'familyReligion',\n 'personalReligion',\n 'reservationStatus',\n 'minorityStatus',\n ],\n },\n {\n label: 'steps.politicalAssociation',\n icon: '🏛️',\n fields: [\n 'politicalSpectrum',\n 'selfPartyAssociation',\n 'partyAssociationRole',\n 'familyPartyAssociation',\n 'relativesInPolitics',\n 'hasContestedElection',\n 'electionLevel',\n 'electionYear',\n 'hasHeldPublicOffice',\n 'officeLevel',\n 'officeYear',\n 'networkAndCivicEngagement',\n ],\n },\n {\n label: 'steps.electoralBehaviour',\n icon: '🗳️',\n fields: [\n 'epicNumber',\n 'willVoteThisTime',\n 'didVoteLastTime',\n 'votingFrequency',\n 'primaryVotingIssues',\n ],\n },\n {\n label: 'steps.leadershipAmbitions',\n icon: '👑',\n fields: [\n 'participateInRevolution',\n 'desiredPoliticalPosition',\n 'leadershipSkillset',\n 'politicalExposure',\n 'comfortWithVisibility',\n 'socialInfluenceLevel',\n 'pastExperience',\n 'changesYouWantToBring',\n ],\n },\n {\n label: 'steps.psychologicalAssessment',\n icon: '🧩',\n fields: ['mbtiType', 'oceanScores'],\n },\n {\n label: 'steps.education',\n icon: '🎓',\n fields: [\n 'highestQualification',\n 'education10th',\n 'education12th',\n 'diplomas',\n 'graduations',\n 'postGraduations',\n 'doctorates',\n 'postDoctorates',\n 'otherCertificates',\n 'educationNotes',\n ],\n },\n {\n label: 'steps.employment',\n icon: '💼',\n fields: [\n 'employmentStatus',\n 'occupation',\n 'workShift',\n 'comfortableWithShift',\n 'desiredShift',\n 'incomeRange',\n 'dreamOccupation',\n ],\n },\n {\n label: 'steps.mentalHealthNeurodiversity',\n icon: '🧠',\n fields: [\n 'neurodiverseIdentity',\n 'neurodevelopmentalConditions',\n 'mentalHealthConditions',\n 'personalityPatterns',\n 'neurologicalChronicConditions',\n 'ageOfRealization',\n 'sensoryProfile',\n 'cognitiveStrengths',\n 'executiveFunctionChallenges',\n 'learningStyle',\n 'communicationPreference',\n 'supportAndAccommodations',\n 'maskingAndBurnout',\n 'impactOnLife',\n ],\n },\n {\n label: 'steps.healthLifestyle',\n icon: '🏥',\n fields: [\n 'disabilityStatus',\n 'generalHealth',\n 'healthInsurance',\n 'diet',\n 'physicalActivity',\n 'sleepQuality',\n 'substanceUse',\n 'stressLevel',\n ],\n },\n {\n label: 'steps.worldView',\n icon: '🌿',\n fields: [\n 'viewOnAnimalCruelty',\n 'viewOnLgbtqStatements',\n 'viewOnLgbtqOpinion',\n 'viewOnTransgenderInclusion',\n 'viewOnTransgenderOpinion',\n 'facingCasteDiscrimination',\n 'casteDiscriminationPlaces',\n 'viewOnGenderEquality',\n ],\n },\n {\n label: 'steps.residence',\n icon: '🏠',\n fields: ['currentAddress', 'permanentAddress', 'homeNativePlace', 'ancestralPlace'],\n },\n {\n label: 'steps.household',\n icon: '🏡',\n fields: [\n 'maritalStatus',\n 'familyMembers',\n 'numberOfDependents',\n 'housingType',\n 'householdIncome',\n 'bplCard',\n 'digitalAccess',\n 'migrationStatus',\n 'landOwnership',\n 'primaryIncomeSource',\n ],\n },\n];\n\n// ─── Helpers ─────────────────────────────────────────────────────────────────\n\n/** Get onboarding config for a single field. */\nexport function getUdpOnboardingFieldConfig(\n fieldKey: string | undefined,\n): UdpOnboardingFieldConfig | undefined {\n if (!fieldKey) return undefined;\n return UDP_ONBOARDING_FIELDS[fieldKey];\n}\n\n/** Total number of main steps. */\nexport const UDP_TOTAL_MAIN_STEPS = UDP_ONBOARDING_STEP_GROUPS.length;\n\n/** Total number of sub-steps across all main steps. */\nexport const UDP_TOTAL_SUB_STEPS = UDP_ONBOARDING_STEP_GROUPS.reduce(\n (sum, g) => sum + g.fields.length,\n 0,\n);\n"]}
@@ -44,9 +44,9 @@ export declare const udpOnboardingFormSchema: z.ZodObject<{
44
44
  }>>>;
45
45
  householdIncome: z.ZodOptional<z.ZodOptional<z.ZodString>>;
46
46
  bplCard: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
47
- dont_know: "dont_know";
48
47
  yes: "yes";
49
48
  no: "no";
49
+ dont_know: "dont_know";
50
50
  applied: "applied";
51
51
  }>>>;
52
52
  digitalAccess: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
@@ -467,47 +467,38 @@ export declare const udpOnboardingFormSchema: z.ZodObject<{
467
467
  both: "both";
468
468
  dont_know: "dont_know";
469
469
  }>>>;
470
- publicOfficeAndElections: z.ZodOptional<z.ZodOptional<z.ZodObject<{
471
- hasHeldOffice: z.ZodOptional<z.ZodEnum<{
472
- prefer_not_to_say: "prefer_not_to_say";
473
- yes: "yes";
474
- no: "no";
475
- }>>;
476
- officeLevel: z.ZodOptional<z.ZodEnum<{
477
- other: "other";
478
- panchayat: "panchayat";
479
- ward: "ward";
480
- municipality: "municipality";
481
- block: "block";
482
- district: "district";
483
- assembly: "assembly";
484
- parliament: "parliament";
485
- }>>;
486
- officeYears: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
487
- officeDetails: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
488
- electionContested: z.ZodOptional<z.ZodEnum<{
489
- yes: "yes";
490
- no: "no";
491
- }>>;
492
- electionLevel: z.ZodOptional<z.ZodEnum<{
493
- other: "other";
494
- panchayat: "panchayat";
495
- ward: "ward";
496
- municipality: "municipality";
497
- block: "block";
498
- district: "district";
499
- assembly: "assembly";
500
- parliament: "parliament";
501
- }>>;
502
- electionYear: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
503
- electionResult: z.ZodOptional<z.ZodEnum<{
504
- won: "won";
505
- lost: "lost";
506
- withdrew: "withdrew";
507
- ongoing: "ongoing";
508
- }>>;
509
- electionDetails: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
510
- }, z.core.$strip>>>;
470
+ hasContestedElection: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
471
+ prefer_not_to_say: "prefer_not_to_say";
472
+ yes: "yes";
473
+ no: "no";
474
+ }>>>;
475
+ electionLevel: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
476
+ other: "other";
477
+ panchayat: "panchayat";
478
+ ward: "ward";
479
+ municipality: "municipality";
480
+ block: "block";
481
+ district: "district";
482
+ assembly: "assembly";
483
+ parliament: "parliament";
484
+ }>>>;
485
+ electionYear: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
486
+ hasHeldPublicOffice: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
487
+ prefer_not_to_say: "prefer_not_to_say";
488
+ yes: "yes";
489
+ no: "no";
490
+ }>>>;
491
+ officeLevel: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
492
+ other: "other";
493
+ panchayat: "panchayat";
494
+ ward: "ward";
495
+ municipality: "municipality";
496
+ block: "block";
497
+ district: "district";
498
+ assembly: "assembly";
499
+ parliament: "parliament";
500
+ }>>>;
501
+ officeYear: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
511
502
  networkAndCivicEngagement: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
512
503
  firstName: z.ZodOptional<z.ZodOptional<z.ZodString>>;
513
504
  middleName: z.ZodOptional<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding-form.d.ts","sourceRoot":"","sources":["../src/onboarding-form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoCxB,CAAC;AAEb,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"onboarding-form.d.ts","sourceRoot":"","sources":["../src/onboarding-form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoCxB,CAAC;AAEb,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -41,10 +41,24 @@ export declare const politicalSpectrumOptions: readonly [{
41
41
  }];
42
42
  /**
43
43
  * Indian political parties — exhaustive list of nationally- or state-recognized
44
- * parties active as of 2026. Ordered roughly by national visibility; state /
45
- * regional parties follow. Includes post-2023 splits (NCP-SP, Shiv Sena UBT).
44
+ * parties active as of 2026. Ordering rationale:
45
+ * 1. `none` + `independent` are pinned to the top they're the most-
46
+ * common selections for users who don't identify with any party,
47
+ * and surfacing them first reduces scroll for the majority case.
48
+ * 2. National parties next (BJP, INC, AAP, BSP, SP, TMC), then state /
49
+ * regional parties.
50
+ * 3. `other` and `prefer_not_to_say` stay at the bottom (standard
51
+ * "escape hatch" position).
52
+ *
53
+ * Includes post-2023 splits (NCP-SP, Shiv Sena UBT).
46
54
  */
47
55
  export declare const partyOptions: readonly [{
56
+ readonly value: "none";
57
+ readonly label: "No party affiliation";
58
+ }, {
59
+ readonly value: "independent";
60
+ readonly label: "Independent candidate";
61
+ }, {
48
62
  readonly value: "bjp";
49
63
  readonly label: "BJP";
50
64
  }, {
@@ -137,12 +151,6 @@ export declare const partyOptions: readonly [{
137
151
  }, {
138
152
  readonly value: "agp";
139
153
  readonly label: "Asom Gana Parishad (AGP)";
140
- }, {
141
- readonly value: "independent";
142
- readonly label: "Independent candidate";
143
- }, {
144
- readonly value: "none";
145
- readonly label: "No party affiliation";
146
154
  }, {
147
155
  readonly value: "other";
148
156
  readonly label: "Other";
@@ -309,19 +317,5 @@ export declare const officeElectionLevelOptions: readonly [{
309
317
  readonly value: "other";
310
318
  readonly label: "Other";
311
319
  }];
312
- /** Outcome of an election the respondent contested. */
313
- export declare const electionResultOptions: readonly [{
314
- readonly value: "won";
315
- readonly label: "Won";
316
- }, {
317
- readonly value: "lost";
318
- readonly label: "Lost";
319
- }, {
320
- readonly value: "withdrew";
321
- readonly label: "Withdrew before voting";
322
- }, {
323
- readonly value: "ongoing";
324
- readonly label: "Currently contesting";
325
- }];
326
320
  export declare const politicalAssociation: FieldGroup;
327
321
  //# sourceMappingURL=02-political.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"02-political.d.ts","sourceRoot":"","sources":["../../src/profile-fields/02-political.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgD3B,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCf,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsC9B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;EAe7B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEX,uDAAuD;AACvD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAKxB,CAAC;AAEX,eAAO,MAAM,oBAAoB,EAAE,UAkFlC,CAAC"}
1
+ {"version":3,"file":"02-political.d.ts","sourceRoot":"","sources":["../../src/profile-fields/02-political.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgD3B,CAAC;AAEX;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCf,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsC9B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;EAe7B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAMX,eAAO,MAAM,oBAAoB,EAAE,UA0JlC,CAAC"}