udp-schema 2.21.0 → 2.23.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.
@@ -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,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"}
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,CA+pB1E,CAAC;AAIF,eAAO,MAAM,0BAA0B,EAAE,sBAAsB,EAgK9D,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,6 +127,12 @@ export const UDP_ONBOARDING_FIELDS = {
127
127
  optionNs: 'relativesInPolitics',
128
128
  hasDesc: true,
129
129
  },
130
+ // Composite sub-steps. The yes/no question is the screen title; if the
131
+ // user answers "yes", the level + year inputs appear inline below on the
132
+ // same screen (not as separate sub-steps). Level / year fields still
133
+ // exist in the data model + Zod schema (and retain their `conditionalOn`
134
+ // metadata so save logic can validate them) — they just aren't navigated
135
+ // to as standalone screens.
130
136
  hasContestedElection: {
131
137
  title: 'hasContestedElection.title',
132
138
  subtitle: 'hasContestedElection.subtitle',
@@ -134,19 +140,6 @@ export const UDP_ONBOARDING_FIELDS = {
134
140
  required: false,
135
141
  optionNs: 'yesNoPrefer',
136
142
  },
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
143
  hasHeldPublicOffice: {
151
144
  title: 'hasHeldPublicOffice.title',
152
145
  subtitle: 'hasHeldPublicOffice.subtitle',
@@ -154,19 +147,6 @@ export const UDP_ONBOARDING_FIELDS = {
154
147
  required: false,
155
148
  optionNs: 'yesNoPrefer',
156
149
  },
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',
168
- required: false,
169
- },
170
150
  networkAndCivicEngagement: {
171
151
  title: 'networkAndCivicEngagement.title',
172
152
  subtitle: 'networkAndCivicEngagement.subtitle',
@@ -259,12 +239,6 @@ export const UDP_ONBOARDING_FIELDS = {
259
239
  required: false,
260
240
  optionNs: 'experience',
261
241
  },
262
- changesYouWantToBring: {
263
- title: 'changesYouWantToBring.title',
264
- subtitle: 'changesYouWantToBring.subtitle',
265
- successMessage: 'changesYouWantToBring.success',
266
- required: false,
267
- },
268
242
  // ── Step 5: Psychological Assessment ──
269
243
  mbtiType: {
270
244
  title: 'mbtiType.title',
@@ -729,12 +703,10 @@ export const UDP_ONBOARDING_STEP_GROUPS = [
729
703
  'partyAssociationRole',
730
704
  'familyPartyAssociation',
731
705
  'relativesInPolitics',
706
+ // Composite sub-steps — see configFields above. Level/year are
707
+ // rendered inline within these screens, not as separate sub-steps.
732
708
  'hasContestedElection',
733
- 'electionLevel',
734
- 'electionYear',
735
709
  'hasHeldPublicOffice',
736
- 'officeLevel',
737
- 'officeYear',
738
710
  'networkAndCivicEngagement',
739
711
  ],
740
712
  },
@@ -754,13 +726,12 @@ export const UDP_ONBOARDING_STEP_GROUPS = [
754
726
  icon: '👑',
755
727
  fields: [
756
728
  'participateInRevolution',
757
- 'desiredPoliticalPosition',
758
729
  'leadershipSkillset',
759
730
  'politicalExposure',
760
731
  'comfortWithVisibility',
761
732
  'socialInfluenceLevel',
762
733
  'pastExperience',
763
- 'changesYouWantToBring',
734
+ 'desiredPoliticalPosition',
764
735
  ],
765
736
  },
766
737
  {
@@ -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 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"]}
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 // Composite sub-steps. The yes/no question is the screen title; if the\n // user answers \"yes\", the level + year inputs appear inline below on the\n // same screen (not as separate sub-steps). Level / year fields still\n // exist in the data model + Zod schema (and retain their `conditionalOn`\n // metadata so save logic can validate them) — they just aren't navigated\n // to as standalone screens.\n hasContestedElection: {\n title: 'hasContestedElection.title',\n subtitle: 'hasContestedElection.subtitle',\n successMessage: 'hasContestedElection.success',\n required: false,\n optionNs: 'yesNoPrefer',\n },\n hasHeldPublicOffice: {\n title: 'hasHeldPublicOffice.title',\n subtitle: 'hasHeldPublicOffice.subtitle',\n successMessage: 'hasHeldPublicOffice.success',\n required: false,\n optionNs: 'yesNoPrefer',\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\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 // Composite sub-steps — see configFields above. Level/year are\n // rendered inline within these screens, not as separate sub-steps.\n 'hasContestedElection',\n 'hasHeldPublicOffice',\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 'leadershipSkillset',\n 'politicalExposure',\n 'comfortWithVisibility',\n 'socialInfluenceLevel',\n 'pastExperience',\n 'desiredPoliticalPosition',\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"]}
@@ -412,7 +412,6 @@ export declare const udpOnboardingFormSchema: z.ZodObject<{
412
412
  yes_student_politics: "yes_student_politics";
413
413
  no_experience: "no_experience";
414
414
  }>>>;
415
- changesYouWantToBring: z.ZodOptional<z.ZodOptional<z.ZodString>>;
416
415
  epicNumber: z.ZodOptional<z.ZodOptional<z.ZodString>>;
417
416
  willVoteThisTime: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
418
417
  prefer_not_to_say: "prefer_not_to_say";
@@ -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"}
@@ -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;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"}
1
+ {"version":3,"file":"02-political.d.ts","sourceRoot":"","sources":["../../src/profile-fields/02-political.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"02-political.js","sourceRoot":"","sources":["../../src/profile-fields/02-political.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FieldGroup } from './types.js';\nimport { yesNoPreferOptions } from './03-electoral.js';\n\nexport const politicalSpectrumOptions = [\n {\n value: 'far_left',\n label: 'Far Left',\n description: 'Radical progressive — systemic change, social justice, anti-capitalist',\n },\n {\n value: 'left',\n label: 'Left',\n description: 'Progressive — strong social safety net, equality, regulation',\n },\n {\n value: 'centre_left',\n label: 'Centre-Left',\n description: 'Liberal — social freedoms, moderate reform, inclusive policies',\n },\n {\n value: 'centrist',\n label: 'Centrist',\n description: 'Pragmatic middle — picks issues over ideology, open to both sides',\n },\n {\n value: 'centre_right',\n label: 'Centre-Right',\n description:\n 'Moderate conservative — fiscal discipline, traditional institutions, gradual change',\n },\n {\n value: 'right',\n label: 'Right',\n description: 'Conservative — limited government, free markets, cultural tradition',\n },\n {\n value: 'far_right',\n label: 'Far Right',\n description: 'Nationalist — strong borders, traditional values, national identity first',\n },\n {\n value: 'libertarian',\n label: 'Libertarian',\n description: 'Maximum personal freedom — minimal government in both social and economic life',\n },\n {\n value: 'apolitical',\n label: 'Apolitical',\n description: 'Not interested in politics — focus on personal life',\n },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\n/**\n * Indian political parties — exhaustive list of nationally- or state-recognized\n * parties active as of 2026. Ordering rationale:\n * 1. `none` + `independent` are pinned to the top — they're the most-\n * common selections for users who don't identify with any party,\n * and surfacing them first reduces scroll for the majority case.\n * 2. National parties next (BJP, INC, AAP, BSP, SP, TMC), then state /\n * regional parties.\n * 3. `other` and `prefer_not_to_say` stay at the bottom (standard\n * \"escape hatch\" position).\n *\n * Includes post-2023 splits (NCP-SP, Shiv Sena UBT).\n */\nexport const partyOptions = [\n { value: 'none', label: 'No party affiliation' },\n { value: 'independent', label: 'Independent candidate' },\n { value: 'bjp', label: 'BJP' },\n { value: 'inc', label: 'Indian National Congress (INC)' },\n { value: 'aap', label: 'Aam Aadmi Party (AAP)' },\n { value: 'bsp', label: 'Bahujan Samaj Party (BSP)' },\n { value: 'sp', label: 'Samajwadi Party (SP)' },\n { value: 'tmc', label: 'Trinamool Congress (TMC)' },\n { value: 'dmk', label: 'DMK' },\n { value: 'aiadmk', label: 'AIADMK' },\n { value: 'ncp', label: 'NCP (Ajit Pawar)' },\n { value: 'ncp_sp', label: 'NCP (Sharad Pawar)' },\n { value: 'shiv_sena', label: 'Shiv Sena (Shinde)' },\n { value: 'shiv_sena_ubt', label: 'Shiv Sena (UBT)' },\n { value: 'aimim', label: 'AIMIM' },\n { value: 'jdu', label: 'JD(U)' },\n { value: 'jds', label: 'JD(S)' },\n { value: 'rjd', label: 'RJD' },\n { value: 'cpim', label: 'CPI(M)' },\n { value: 'cpi', label: 'CPI' },\n { value: 'ysrcp', label: 'YSRCP' },\n { value: 'tdp', label: 'TDP' },\n { value: 'brs', label: 'BRS (Bharat Rashtra Samithi)' },\n { value: 'bjd', label: 'BJD' },\n { value: 'jmm', label: 'JMM' },\n { value: 'sad', label: 'Shiromani Akali Dal (SAD)' },\n { value: 'rld', label: 'Rashtriya Lok Dal (RLD)' },\n { value: 'aiudf', label: 'AIUDF' },\n { value: 'jkn', label: 'J&K National Conference' },\n { value: 'inld', label: 'Indian National Lok Dal (INLD)' },\n { value: 'iuml', label: 'Indian Union Muslim League (IUML)' },\n { value: 'mns', label: 'Maharashtra Navnirman Sena (MNS)' },\n { value: 'agp', label: 'Asom Gana Parishad (AGP)' },\n { value: 'other', label: 'Other' },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\n/**\n * Civic-engagement categories — expanded to cover organizational forms\n * common in Indian political/social life, including ideological networks\n * (RSS / Sangh), farmers' bodies, women's collectives, student unions,\n * and party youth wings.\n */\nexport const civicEngagementOptions = [\n { value: 'ngo', label: 'NGO / Non-profit' },\n { value: 'trade_union', label: 'Trade Union' },\n { value: 'farmers_organization', label: \"Farmers' Organization / Kisan Sangathan\" },\n { value: 'cooperative', label: 'Cooperative Society' },\n { value: 'resident_association', label: 'Resident Welfare Association' },\n { value: 'self_help_group', label: 'Self Help Group (SHG)' },\n { value: 'womens_collective', label: \"Women's Collective / Mahila Mandal\" },\n { value: 'youth_club', label: 'Youth Club' },\n { value: 'student_union', label: 'Student Union' },\n { value: 'political_party_youth_wing', label: 'Political Party Youth Wing (BJYM / IYC / etc.)' },\n { value: 'rss_swayamsevak', label: 'RSS / Swayamsevak (Sangh network)' },\n { value: 'religious_organization', label: 'Religious Organization' },\n { value: 'caste_association', label: 'Caste Association' },\n { value: 'professional_body', label: 'Professional Body' },\n { value: 'environmental_group', label: 'Environmental Group' },\n { value: 'cultural_association', label: 'Cultural Association' },\n { value: 'alumni_association', label: 'Alumni Association' },\n { value: 'none', label: 'None' },\n { value: 'other', label: 'Other' },\n] as const;\n\n/**\n * Nature of the respondent's association with their political party.\n * Differentiates card-carrying members from sympathizers and office-bearers.\n */\nexport const partyAssociationRoleOptions = [\n {\n value: 'member',\n label: 'Member',\n description: 'Primary / card-carrying member of the party',\n },\n {\n value: 'active_worker',\n label: 'Active Worker',\n description: 'Campaigning, organizing, and on-ground work',\n },\n {\n value: 'office_bearer',\n label: 'Office Bearer',\n description: 'Hold an official post in the party',\n },\n {\n value: 'candidate',\n label: 'Candidate',\n description: 'Contested or planning to contest on this party ticket',\n },\n {\n value: 'spokesperson',\n label: 'Spokesperson',\n description: 'Represent the party publicly or in media',\n },\n {\n value: 'volunteer',\n label: 'Volunteer',\n description: 'Occasional volunteer work without formal membership',\n },\n {\n value: 'sympathizer',\n label: 'Sympathizer',\n description: 'Support the party but no formal role',\n },\n { value: 'none', label: 'None', description: 'No formal association' },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\n/**\n * Family / relatives in politics — captures intergenerational political\n * involvement that shapes political consciousness in India.\n */\nexport const relativesInPoliticsOptions = [\n { value: 'none', label: 'No one', description: 'No relatives are in politics' },\n {\n value: 'immediate_family',\n label: 'Immediate family',\n description: 'Parents, siblings, spouse, or children',\n },\n {\n value: 'extended_family',\n label: 'Extended family',\n description: 'Uncles, aunts, cousins, or in-laws',\n },\n { value: 'both', label: 'Both immediate and extended' },\n { value: 'dont_know', label: \"Don't know\" },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\n/**\n * Levels of elected / appointed office — used for both office held and\n * election contested, so the two use the same enum.\n */\nexport const officeElectionLevelOptions = [\n { value: 'panchayat', label: 'Panchayat / Gram' },\n { value: 'ward', label: 'Ward / Nagar Palika' },\n { value: 'municipality', label: 'Municipality' },\n { value: 'block', label: 'Block / Tehsil' },\n { value: 'district', label: 'District / Zila Parishad' },\n { value: 'assembly', label: 'State Assembly (MLA)' },\n { value: 'parliament', label: 'Parliament (MP)' },\n { value: 'other', label: 'Other' },\n] as const;\n\n// `yesNoPreferOptions` (used by hasContestedElection +\n// hasHeldPublicOffice) lives in 03-electoral.ts where it was first\n// introduced for `didVoteLastTime`. Imported above; not re-defined.\n\nexport const politicalAssociation: FieldGroup = {\n key: 'political_association',\n label: 'Political Association & History',\n step: 2,\n description: 'Your political spectrum, party associations, and civic engagement.',\n fields: [\n {\n order: 1,\n key: 'politicalSpectrum',\n label: 'Political Spectrum',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...politicalSpectrumOptions],\n },\n {\n order: 2,\n key: 'selfPartyAssociation',\n label: 'Your Party Association',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...partyOptions],\n },\n {\n // Only ask about role if the respondent has a party association.\n order: 3,\n key: 'partyAssociationRole',\n label: 'Your Role in the Party',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...partyAssociationRoleOptions],\n conditionalOn: {\n field: 'selfPartyAssociation',\n notIn: ['none', 'prefer_not_to_say'],\n },\n },\n {\n order: 4,\n key: 'familyPartyAssociation',\n label: 'Family Party Association',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...partyOptions],\n },\n {\n order: 5,\n key: 'relativesInPolitics',\n label: 'Relatives in Politics',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...relativesInPoliticsOptions],\n },\n // Replaces the legacy single composite `publicOfficeAndElections`\n // sub-step (a 9-field nested object) with six simpler sub-steps.\n // Each yes/no question gets its own screen; the level + year\n // follow-ups are gated on `yes` so users who answer `no` /\n // `prefer_not_to_say` skip straight past them. Position-name /\n // notes / result fields from the legacy shape are dropped — they\n // were free-text fields with low completion in the dense composite\n // UI, and the simpler shape matches the rest of UDP onboarding.\n {\n order: 6,\n key: 'hasContestedElection',\n label: 'Have you ever contested an election?',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...yesNoPreferOptions],\n },\n {\n order: 7,\n key: 'electionLevel',\n label: 'At which level did you contest?',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...officeElectionLevelOptions],\n conditionalOn: {\n field: 'hasContestedElection',\n values: ['yes'],\n },\n },\n {\n order: 8,\n key: 'electionYear',\n label: 'In which year did you contest?',\n type: 'number',\n step: 2,\n isOnboarding: true,\n optional: true,\n conditionalOn: {\n field: 'hasContestedElection',\n values: ['yes'],\n },\n },\n {\n order: 9,\n key: 'hasHeldPublicOffice',\n label: 'Have you ever held a public office?',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...yesNoPreferOptions],\n },\n {\n order: 10,\n key: 'officeLevel',\n label: 'At which level did you hold office?',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...officeElectionLevelOptions],\n conditionalOn: {\n field: 'hasHeldPublicOffice',\n values: ['yes'],\n },\n },\n {\n order: 11,\n key: 'officeYear',\n label: 'In which year did you hold office?',\n type: 'number',\n step: 2,\n isOnboarding: true,\n optional: true,\n conditionalOn: {\n field: 'hasHeldPublicOffice',\n values: ['yes'],\n },\n },\n {\n order: 12,\n key: 'networkAndCivicEngagement',\n label: 'Civic Engagement',\n type: 'multi_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...civicEngagementOptions],\n },\n ],\n};\n"]}
1
+ {"version":3,"file":"02-political.js","sourceRoot":"","sources":["../../src/profile-fields/02-political.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGvD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,wEAAwE;KACtF;IACD;QACE,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,8DAA8D;KAC5E;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,gEAAgE;KAC9E;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,mEAAmE;KACjF;IACD;QACE,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,qFAAqF;KACxF;IACD;QACE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,qEAAqE;KACnF;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,2EAA2E;KACzF;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,gFAAgF;KAC9F;IACD;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,qDAAqD;KACnE;IACD,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;CAClD,CAAC;AAEX;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAChD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,uBAAuB,EAAE;IACxD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE;IACzD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAChD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE;IACpD,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC9C,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE;IACnD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC3C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAChD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACnD,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACpD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;IAChC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;IAChC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;IAClC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE;IACvD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE;IACpD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE;IAClD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE;IAClD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,gCAAgC,EAAE;IAC1D,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,mCAAmC,EAAE;IAC7D,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE;IAC3D,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE;IACnD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;CAClD,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC3C,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;IAC9C,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,yCAAyC,EAAE;IACnF,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACtD,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,8BAA8B,EAAE;IACxE,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAC5D,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,oCAAoC,EAAE;IAC3E,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;IAC5C,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE;IAClD,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,gDAAgD,EAAE;IAChG,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,mCAAmC,EAAE;IACxE,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,wBAAwB,EAAE;IACpE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAC1D,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAC1D,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC9D,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAChE,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC5D,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAChC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CAC1B,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,oCAAoC;KAClD;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,0CAA0C;KACxD;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,qDAAqD;KACnE;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,sCAAsC;KACpD;IACD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE;IACtE,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;CAClD,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;IAC/E;QACE,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,wCAAwC;KACtD;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,oCAAoC;KAClD;IACD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,6BAA6B,EAAE;IACvD,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE;IAC3C,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;CAClD,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,EAAE;IACjD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE;IAC/C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;IAChD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAC3C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,0BAA0B,EAAE;IACxD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE;IACpD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACjD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CAC1B,CAAC;AAEX,uDAAuD;AACvD,mEAAmE;AACnE,oEAAoE;AAEpE,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,GAAG,EAAE,uBAAuB;IAC5B,KAAK,EAAE,iCAAiC;IACxC,IAAI,EAAE,CAAC;IACP,WAAW,EAAE,oEAAoE;IACjF,MAAM,EAAE;QACN;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,mBAAmB;YACxB,KAAK,EAAE,oBAAoB;YAC3B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,wBAAwB,CAAC;SACvC;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC;SAC3B;QACD;YACE,iEAAiE;YACjE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,2BAA2B,CAAC;YACzC,aAAa,EAAE;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,KAAK,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC;aACrC;SACF;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,wBAAwB;YAC7B,KAAK,EAAE,0BAA0B;YACjC,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,YAAY,CAAC;SAC3B;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,qBAAqB;YAC1B,KAAK,EAAE,uBAAuB;YAC9B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,0BAA0B,CAAC;SACzC;QACD,kEAAkE;QAClE,iEAAiE;QACjE,6DAA6D;QAC7D,2DAA2D;QAC3D,+DAA+D;QAC/D,iEAAiE;QACjE,mEAAmE;QACnE,gEAAgE;QAChE;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,sBAAsB;YAC3B,KAAK,EAAE,sCAAsC;YAC7C,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,kBAAkB,CAAC;SACjC;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,iCAAiC;YACxC,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,0BAA0B,CAAC;YACxC,aAAa,EAAE;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,CAAC,KAAK,CAAC;aAChB;SACF;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,gCAAgC;YACvC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE;gBACb,KAAK,EAAE,sBAAsB;gBAC7B,MAAM,EAAE,CAAC,KAAK,CAAC;aAChB;SACF;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,qBAAqB;YAC1B,KAAK,EAAE,qCAAqC;YAC5C,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,kBAAkB,CAAC;SACjC;QACD;YACE,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,qCAAqC;YAC5C,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,0BAA0B,CAAC;YACxC,aAAa,EAAE;gBACb,KAAK,EAAE,qBAAqB;gBAC5B,MAAM,EAAE,CAAC,KAAK,CAAC;aAChB;SACF;QACD;YACE,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,oCAAoC;YAC3C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE;gBACb,KAAK,EAAE,qBAAqB;gBAC5B,MAAM,EAAE,CAAC,KAAK,CAAC;aAChB;SACF;QACD;YACE,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,2BAA2B;YAChC,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,sBAAsB,CAAC;SACrC;KACF;CACF,CAAC","sourcesContent":["import { yesNoPreferOptions } from './03-electoral.js';\nimport type { FieldGroup } from './types.js';\n\nexport const politicalSpectrumOptions = [\n {\n value: 'far_left',\n label: 'Far Left',\n description: 'Radical progressive — systemic change, social justice, anti-capitalist',\n },\n {\n value: 'left',\n label: 'Left',\n description: 'Progressive — strong social safety net, equality, regulation',\n },\n {\n value: 'centre_left',\n label: 'Centre-Left',\n description: 'Liberal — social freedoms, moderate reform, inclusive policies',\n },\n {\n value: 'centrist',\n label: 'Centrist',\n description: 'Pragmatic middle — picks issues over ideology, open to both sides',\n },\n {\n value: 'centre_right',\n label: 'Centre-Right',\n description:\n 'Moderate conservative — fiscal discipline, traditional institutions, gradual change',\n },\n {\n value: 'right',\n label: 'Right',\n description: 'Conservative — limited government, free markets, cultural tradition',\n },\n {\n value: 'far_right',\n label: 'Far Right',\n description: 'Nationalist — strong borders, traditional values, national identity first',\n },\n {\n value: 'libertarian',\n label: 'Libertarian',\n description: 'Maximum personal freedom — minimal government in both social and economic life',\n },\n {\n value: 'apolitical',\n label: 'Apolitical',\n description: 'Not interested in politics — focus on personal life',\n },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\n/**\n * Indian political parties — exhaustive list of nationally- or state-recognized\n * parties active as of 2026. Ordering rationale:\n * 1. `none` + `independent` are pinned to the top — they're the most-\n * common selections for users who don't identify with any party,\n * and surfacing them first reduces scroll for the majority case.\n * 2. National parties next (BJP, INC, AAP, BSP, SP, TMC), then state /\n * regional parties.\n * 3. `other` and `prefer_not_to_say` stay at the bottom (standard\n * \"escape hatch\" position).\n *\n * Includes post-2023 splits (NCP-SP, Shiv Sena UBT).\n */\nexport const partyOptions = [\n { value: 'none', label: 'No party affiliation' },\n { value: 'independent', label: 'Independent candidate' },\n { value: 'bjp', label: 'BJP' },\n { value: 'inc', label: 'Indian National Congress (INC)' },\n { value: 'aap', label: 'Aam Aadmi Party (AAP)' },\n { value: 'bsp', label: 'Bahujan Samaj Party (BSP)' },\n { value: 'sp', label: 'Samajwadi Party (SP)' },\n { value: 'tmc', label: 'Trinamool Congress (TMC)' },\n { value: 'dmk', label: 'DMK' },\n { value: 'aiadmk', label: 'AIADMK' },\n { value: 'ncp', label: 'NCP (Ajit Pawar)' },\n { value: 'ncp_sp', label: 'NCP (Sharad Pawar)' },\n { value: 'shiv_sena', label: 'Shiv Sena (Shinde)' },\n { value: 'shiv_sena_ubt', label: 'Shiv Sena (UBT)' },\n { value: 'aimim', label: 'AIMIM' },\n { value: 'jdu', label: 'JD(U)' },\n { value: 'jds', label: 'JD(S)' },\n { value: 'rjd', label: 'RJD' },\n { value: 'cpim', label: 'CPI(M)' },\n { value: 'cpi', label: 'CPI' },\n { value: 'ysrcp', label: 'YSRCP' },\n { value: 'tdp', label: 'TDP' },\n { value: 'brs', label: 'BRS (Bharat Rashtra Samithi)' },\n { value: 'bjd', label: 'BJD' },\n { value: 'jmm', label: 'JMM' },\n { value: 'sad', label: 'Shiromani Akali Dal (SAD)' },\n { value: 'rld', label: 'Rashtriya Lok Dal (RLD)' },\n { value: 'aiudf', label: 'AIUDF' },\n { value: 'jkn', label: 'J&K National Conference' },\n { value: 'inld', label: 'Indian National Lok Dal (INLD)' },\n { value: 'iuml', label: 'Indian Union Muslim League (IUML)' },\n { value: 'mns', label: 'Maharashtra Navnirman Sena (MNS)' },\n { value: 'agp', label: 'Asom Gana Parishad (AGP)' },\n { value: 'other', label: 'Other' },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\n/**\n * Civic-engagement categories — expanded to cover organizational forms\n * common in Indian political/social life, including ideological networks\n * (RSS / Sangh), farmers' bodies, women's collectives, student unions,\n * and party youth wings.\n */\nexport const civicEngagementOptions = [\n { value: 'ngo', label: 'NGO / Non-profit' },\n { value: 'trade_union', label: 'Trade Union' },\n { value: 'farmers_organization', label: \"Farmers' Organization / Kisan Sangathan\" },\n { value: 'cooperative', label: 'Cooperative Society' },\n { value: 'resident_association', label: 'Resident Welfare Association' },\n { value: 'self_help_group', label: 'Self Help Group (SHG)' },\n { value: 'womens_collective', label: \"Women's Collective / Mahila Mandal\" },\n { value: 'youth_club', label: 'Youth Club' },\n { value: 'student_union', label: 'Student Union' },\n { value: 'political_party_youth_wing', label: 'Political Party Youth Wing (BJYM / IYC / etc.)' },\n { value: 'rss_swayamsevak', label: 'RSS / Swayamsevak (Sangh network)' },\n { value: 'religious_organization', label: 'Religious Organization' },\n { value: 'caste_association', label: 'Caste Association' },\n { value: 'professional_body', label: 'Professional Body' },\n { value: 'environmental_group', label: 'Environmental Group' },\n { value: 'cultural_association', label: 'Cultural Association' },\n { value: 'alumni_association', label: 'Alumni Association' },\n { value: 'none', label: 'None' },\n { value: 'other', label: 'Other' },\n] as const;\n\n/**\n * Nature of the respondent's association with their political party.\n * Differentiates card-carrying members from sympathizers and office-bearers.\n */\nexport const partyAssociationRoleOptions = [\n {\n value: 'member',\n label: 'Member',\n description: 'Primary / card-carrying member of the party',\n },\n {\n value: 'active_worker',\n label: 'Active Worker',\n description: 'Campaigning, organizing, and on-ground work',\n },\n {\n value: 'office_bearer',\n label: 'Office Bearer',\n description: 'Hold an official post in the party',\n },\n {\n value: 'candidate',\n label: 'Candidate',\n description: 'Contested or planning to contest on this party ticket',\n },\n {\n value: 'spokesperson',\n label: 'Spokesperson',\n description: 'Represent the party publicly or in media',\n },\n {\n value: 'volunteer',\n label: 'Volunteer',\n description: 'Occasional volunteer work without formal membership',\n },\n {\n value: 'sympathizer',\n label: 'Sympathizer',\n description: 'Support the party but no formal role',\n },\n { value: 'none', label: 'None', description: 'No formal association' },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\n/**\n * Family / relatives in politics — captures intergenerational political\n * involvement that shapes political consciousness in India.\n */\nexport const relativesInPoliticsOptions = [\n { value: 'none', label: 'No one', description: 'No relatives are in politics' },\n {\n value: 'immediate_family',\n label: 'Immediate family',\n description: 'Parents, siblings, spouse, or children',\n },\n {\n value: 'extended_family',\n label: 'Extended family',\n description: 'Uncles, aunts, cousins, or in-laws',\n },\n { value: 'both', label: 'Both immediate and extended' },\n { value: 'dont_know', label: \"Don't know\" },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\n/**\n * Levels of elected / appointed office — used for both office held and\n * election contested, so the two use the same enum.\n */\nexport const officeElectionLevelOptions = [\n { value: 'panchayat', label: 'Panchayat / Gram' },\n { value: 'ward', label: 'Ward / Nagar Palika' },\n { value: 'municipality', label: 'Municipality' },\n { value: 'block', label: 'Block / Tehsil' },\n { value: 'district', label: 'District / Zila Parishad' },\n { value: 'assembly', label: 'State Assembly (MLA)' },\n { value: 'parliament', label: 'Parliament (MP)' },\n { value: 'other', label: 'Other' },\n] as const;\n\n// `yesNoPreferOptions` (used by hasContestedElection +\n// hasHeldPublicOffice) lives in 03-electoral.ts where it was first\n// introduced for `didVoteLastTime`. Imported above; not re-defined.\n\nexport const politicalAssociation: FieldGroup = {\n key: 'political_association',\n label: 'Political Association & History',\n step: 2,\n description: 'Your political spectrum, party associations, and civic engagement.',\n fields: [\n {\n order: 1,\n key: 'politicalSpectrum',\n label: 'Political Spectrum',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...politicalSpectrumOptions],\n },\n {\n order: 2,\n key: 'selfPartyAssociation',\n label: 'Your Party Association',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...partyOptions],\n },\n {\n // Only ask about role if the respondent has a party association.\n order: 3,\n key: 'partyAssociationRole',\n label: 'Your Role in the Party',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...partyAssociationRoleOptions],\n conditionalOn: {\n field: 'selfPartyAssociation',\n notIn: ['none', 'prefer_not_to_say'],\n },\n },\n {\n order: 4,\n key: 'familyPartyAssociation',\n label: 'Family Party Association',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...partyOptions],\n },\n {\n order: 5,\n key: 'relativesInPolitics',\n label: 'Relatives in Politics',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...relativesInPoliticsOptions],\n },\n // Replaces the legacy single composite `publicOfficeAndElections`\n // sub-step (a 9-field nested object) with six simpler sub-steps.\n // Each yes/no question gets its own screen; the level + year\n // follow-ups are gated on `yes` so users who answer `no` /\n // `prefer_not_to_say` skip straight past them. Position-name /\n // notes / result fields from the legacy shape are dropped — they\n // were free-text fields with low completion in the dense composite\n // UI, and the simpler shape matches the rest of UDP onboarding.\n {\n order: 6,\n key: 'hasContestedElection',\n label: 'Have you ever contested an election?',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...yesNoPreferOptions],\n },\n {\n order: 7,\n key: 'electionLevel',\n label: 'At which level did you contest?',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...officeElectionLevelOptions],\n conditionalOn: {\n field: 'hasContestedElection',\n values: ['yes'],\n },\n },\n {\n order: 8,\n key: 'electionYear',\n label: 'In which year did you contest?',\n type: 'number',\n step: 2,\n isOnboarding: true,\n optional: true,\n conditionalOn: {\n field: 'hasContestedElection',\n values: ['yes'],\n },\n },\n {\n order: 9,\n key: 'hasHeldPublicOffice',\n label: 'Have you ever held a public office?',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...yesNoPreferOptions],\n },\n {\n order: 10,\n key: 'officeLevel',\n label: 'At which level did you hold office?',\n type: 'single_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...officeElectionLevelOptions],\n conditionalOn: {\n field: 'hasHeldPublicOffice',\n values: ['yes'],\n },\n },\n {\n order: 11,\n key: 'officeYear',\n label: 'In which year did you hold office?',\n type: 'number',\n step: 2,\n isOnboarding: true,\n optional: true,\n conditionalOn: {\n field: 'hasHeldPublicOffice',\n values: ['yes'],\n },\n },\n {\n order: 12,\n key: 'networkAndCivicEngagement',\n label: 'Civic Engagement',\n type: 'multi_select',\n step: 2,\n isOnboarding: true,\n optional: true,\n options: [...civicEngagementOptions],\n },\n ],\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"04-leadership.d.ts","sourceRoot":"","sources":["../../src/profile-fields/04-leadership.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDlC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqD5B,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAKrB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAM3B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAK/B,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAMzB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAMxB,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,UAuFjC,CAAC"}
1
+ {"version":3,"file":"04-leadership.d.ts","sourceRoot":"","sources":["../../src/profile-fields/04-leadership.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiDlC,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqD5B,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAKrB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAM3B,CAAC;AAEX,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAK/B,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAMzB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAMxB,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,UA6EjC,CAAC"}
@@ -152,16 +152,6 @@ export const leadershipAmbitions = {
152
152
  },
153
153
  {
154
154
  order: 2,
155
- key: 'desiredPoliticalPosition',
156
- label: 'Desired Political Position',
157
- type: 'single_select',
158
- step: 4,
159
- isOnboarding: true,
160
- optional: true,
161
- options: [...desiredPoliticalPositionOptions],
162
- },
163
- {
164
- order: 3,
165
155
  key: 'leadershipSkillset',
166
156
  label: 'Leadership Skills',
167
157
  type: 'multi_select',
@@ -171,7 +161,7 @@ export const leadershipAmbitions = {
171
161
  options: [...leadershipSkillsetOptions],
172
162
  },
173
163
  {
174
- order: 4,
164
+ order: 3,
175
165
  key: 'politicalExposure',
176
166
  label: 'Political Exposure',
177
167
  type: 'single_select',
@@ -181,7 +171,7 @@ export const leadershipAmbitions = {
181
171
  options: [...politicalExposureOptions],
182
172
  },
183
173
  {
184
- order: 5,
174
+ order: 4,
185
175
  key: 'comfortWithVisibility',
186
176
  label: 'Comfort with Visibility',
187
177
  type: 'single_select',
@@ -191,7 +181,7 @@ export const leadershipAmbitions = {
191
181
  options: [...comfortWithVisibilityOptions],
192
182
  },
193
183
  {
194
- order: 6,
184
+ order: 5,
195
185
  key: 'socialInfluenceLevel',
196
186
  label: 'Social Influence Level',
197
187
  type: 'single_select',
@@ -201,7 +191,7 @@ export const leadershipAmbitions = {
201
191
  options: [...socialInfluenceOptions],
202
192
  },
203
193
  {
204
- order: 7,
194
+ order: 6,
205
195
  key: 'pastExperience',
206
196
  label: 'Past Experience',
207
197
  type: 'single_select',
@@ -211,14 +201,14 @@ export const leadershipAmbitions = {
211
201
  options: [...pastExperienceOptions],
212
202
  },
213
203
  {
214
- order: 8,
215
- key: 'changesYouWantToBring',
216
- label: 'Changes You Want to Bring',
217
- type: 'textarea',
204
+ order: 7,
205
+ key: 'desiredPoliticalPosition',
206
+ label: 'Desired Political Position',
207
+ type: 'single_select',
218
208
  step: 4,
219
209
  isOnboarding: true,
220
210
  optional: true,
221
- maxLength: 1000,
211
+ options: [...desiredPoliticalPositionOptions],
222
212
  },
223
213
  ],
224
214
  };
@@ -1 +1 @@
1
- {"version":3,"file":"04-leadership.js","sourceRoot":"","sources":["../../src/profile-fields/04-leadership.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FieldGroup } from './types.js';\n\n/**\n * Desired political position — exhaustive list of elected, appointed, and\n * party positions in the Indian political system. Organized by level\n * (rural local body → urban local body → state → national → party roles\n * → constitutional). Respondents select one aspiration.\n */\nexport const desiredPoliticalPositionOptions = [\n // ── Rural local body ──\n { value: 'ward_member', label: 'Ward Member / Panch' },\n { value: 'sarpanch', label: 'Sarpanch / Village Head' },\n { value: 'panchayat_samiti_member', label: 'Panchayat Samiti Member' },\n { value: 'block_pramukh', label: 'Block Pramukh / Panchayat Samiti Chairperson' },\n { value: 'zila_panchayat_member', label: 'Zila Panchayat / Parishad Member' },\n { value: 'zila_pramukh', label: 'Zila Panchayat Chairperson / Zila Pramukh' },\n\n // ── Urban local body ──\n { value: 'municipal_councillor', label: 'Municipal Councillor / Corporator' },\n { value: 'deputy_mayor', label: 'Deputy Mayor' },\n { value: 'mayor', label: 'Mayor' },\n { value: 'municipal_chairperson', label: 'Municipal Chairperson / Nagar Adhyaksha' },\n\n // ── State level ──\n { value: 'mla', label: 'MLA (State Legislative Assembly)' },\n { value: 'mlc', label: 'MLC (State Legislative Council)' },\n { value: 'state_minister', label: 'State Minister (Cabinet / MoS)' },\n { value: 'deputy_cm', label: 'Deputy Chief Minister' },\n { value: 'chief_minister', label: 'Chief Minister' },\n { value: 'state_speaker', label: 'Speaker / Deputy Speaker (State Assembly)' },\n { value: 'state_opposition_leader', label: 'Leader of Opposition (State)' },\n\n // ── National / Parliament ──\n { value: 'mp_lok_sabha', label: 'MP (Lok Sabha)' },\n { value: 'mp_rajya_sabha', label: 'MP (Rajya Sabha)' },\n { value: 'union_minister', label: 'Union Minister (Cabinet / MoS)' },\n { value: 'deputy_pm', label: 'Deputy Prime Minister' },\n { value: 'prime_minister', label: 'Prime Minister' },\n { value: 'lok_sabha_speaker', label: 'Speaker / Deputy Speaker (Lok Sabha)' },\n { value: 'opposition_leader', label: 'Leader of Opposition (Lok Sabha)' },\n\n // ── Party roles ──\n { value: 'booth_worker', label: 'Booth-level Worker' },\n { value: 'mandal_president', label: 'Mandal / Block Party President' },\n { value: 'district_party_president', label: 'District Party President' },\n { value: 'state_party_president', label: 'State Party President' },\n { value: 'national_party_president', label: 'National Party President' },\n { value: 'party_spokesperson', label: 'Party Spokesperson' },\n\n // ── Constitutional (highest) ──\n { value: 'governor', label: 'Governor (State)' },\n { value: 'vice_president', label: 'Vice President of India' },\n { value: 'president', label: 'President of India' },\n\n // ── Meta ──\n { value: 'none', label: \"None — I'm not interested in office\" },\n { value: 'other', label: 'Other' },\n] as const;\n\n/**\n * Leadership & political skillset — exhaustive list of skills relevant to\n * Indian political, civic, and activist work. Grouped below thematically\n * (communication, organizing, strategy, interpersonal, legal/admin,\n * financial, digital, field work) but flattened in the exported array.\n */\nexport const leadershipSkillsetOptions = [\n // ── Communication ──\n { value: 'public_speaking', label: 'Public Speaking' },\n { value: 'media_handling', label: 'Media Handling / Press Relations' },\n { value: 'writing_drafting', label: 'Writing & Drafting (speeches, statements)' },\n { value: 'multilingual_communication', label: 'Multilingual Communication' },\n { value: 'debate_argumentation', label: 'Debate & Argumentation' },\n { value: 'storytelling', label: 'Storytelling & Narrative Building' },\n { value: 'social_media_management', label: 'Social Media Management' },\n\n // ── Organizing & Mobilization ──\n { value: 'community_organizing', label: 'Community Organizing' },\n { value: 'grassroots_mobilization', label: 'Grassroots Mobilization' },\n { value: 'campaign_management', label: 'Campaign Management' },\n { value: 'event_management', label: 'Event Management' },\n { value: 'volunteer_management', label: 'Volunteer Management' },\n { value: 'crowd_management', label: 'Crowd Management' },\n { value: 'door_to_door_canvassing', label: 'Door-to-door Canvassing' },\n\n // ── Strategy & Policy ──\n { value: 'strategic_planning', label: 'Strategic Planning' },\n { value: 'policy_research', label: 'Policy Research / Drafting' },\n { value: 'political_analysis', label: 'Political Analysis' },\n { value: 'data_analytics', label: 'Data Analytics / Voter Analytics' },\n { value: 'manifesto_drafting', label: 'Manifesto Drafting' },\n\n // ── Interpersonal ──\n { value: 'conflict_resolution', label: 'Conflict Resolution' },\n { value: 'negotiation_mediation', label: 'Negotiation & Mediation' },\n { value: 'coalition_building', label: 'Coalition Building' },\n { value: 'team_leadership', label: 'Team Leadership & Management' },\n { value: 'mentorship', label: 'Mentorship & Training' },\n\n // ── Legal & Administrative ──\n { value: 'legal_awareness', label: 'Legal & Election-Law Awareness' },\n { value: 'rti_filing', label: 'RTI Filing' },\n { value: 'bureaucratic_navigation', label: 'Bureaucratic Navigation' },\n { value: 'compliance_documentation', label: 'Compliance & Documentation' },\n\n // ── Financial ──\n { value: 'fundraising', label: 'Fundraising' },\n { value: 'budget_management', label: 'Budget & Financial Management' },\n\n // ── Digital ──\n { value: 'digital_campaigning', label: 'Digital Campaigning' },\n { value: 'whatsapp_campaigning', label: 'WhatsApp / Messaging Campaigns' },\n { value: 'content_creation', label: 'Content Creation (Video / Design)' },\n { value: 'voter_targeting', label: 'Data-driven Voter Targeting' },\n\n // ── Field / Ground ──\n { value: 'booth_management', label: 'Booth / Polling Station Management' },\n { value: 'voter_registration_drives', label: 'Voter Registration Drives' },\n { value: 'crisis_management', label: 'Crisis Management' },\n] as const;\n\nexport const participateOptions = [\n { value: 'yes_definitely', label: 'Yes, definitely!' },\n { value: 'maybe', label: 'Maybe' },\n { value: 'not_sure', label: 'Not sure yet' },\n { value: 'no', label: 'No' },\n] as const;\n\nexport const politicalExposureOptions = [\n { value: 'none', label: 'None' },\n { value: 'minimal', label: 'Minimal' },\n { value: 'moderate', label: 'Moderate' },\n { value: 'high', label: 'High' },\n { value: 'very_high', label: 'Very High' },\n] as const;\n\nexport const comfortWithVisibilityOptions = [\n { value: 'very_comfortable', label: 'Very comfortable' },\n { value: 'somewhat', label: 'Somewhat' },\n { value: 'prefer_behind_scenes', label: 'Prefer behind the scenes' },\n { value: 'not_comfortable', label: 'Not comfortable' },\n] as const;\n\nexport const socialInfluenceOptions = [\n { value: 'very_influential', label: 'Very influential' },\n { value: 'somewhat', label: 'Somewhat' },\n { value: 'average', label: 'Average' },\n { value: 'low', label: 'Low' },\n { value: 'not_sure', label: 'Not sure' },\n] as const;\n\nexport const pastExperienceOptions = [\n { value: 'yes_party_work', label: 'Yes — Party work' },\n { value: 'yes_social_work', label: 'Yes — Social work / NGO' },\n { value: 'yes_student_politics', label: 'Yes — Student politics' },\n { value: 'no_experience', label: 'No experience' },\n { value: 'other', label: 'Other' },\n] as const;\n\nexport const leadershipAmbitions: FieldGroup = {\n key: 'leadership_ambitions',\n label: 'Leadership & Ambitions',\n step: 4,\n description: 'Your desire to lead, political aspirations, and skills.',\n fields: [\n {\n order: 1,\n key: 'participateInRevolution',\n label: 'Participate in Revolution',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...participateOptions],\n },\n {\n order: 2,\n key: 'desiredPoliticalPosition',\n label: 'Desired Political Position',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...desiredPoliticalPositionOptions],\n },\n {\n order: 3,\n key: 'leadershipSkillset',\n label: 'Leadership Skills',\n type: 'multi_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...leadershipSkillsetOptions],\n },\n {\n order: 4,\n key: 'politicalExposure',\n label: 'Political Exposure',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...politicalExposureOptions],\n },\n {\n order: 5,\n key: 'comfortWithVisibility',\n label: 'Comfort with Visibility',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...comfortWithVisibilityOptions],\n },\n {\n order: 6,\n key: 'socialInfluenceLevel',\n label: 'Social Influence Level',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...socialInfluenceOptions],\n },\n {\n order: 7,\n key: 'pastExperience',\n label: 'Past Experience',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...pastExperienceOptions],\n },\n {\n order: 8,\n key: 'changesYouWantToBring',\n label: 'Changes You Want to Bring',\n type: 'textarea',\n step: 4,\n isOnboarding: true,\n optional: true,\n maxLength: 1000,\n },\n ],\n};\n"]}
1
+ {"version":3,"file":"04-leadership.js","sourceRoot":"","sources":["../../src/profile-fields/04-leadership.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FieldGroup } from './types.js';\n\n/**\n * Desired political position — exhaustive list of elected, appointed, and\n * party positions in the Indian political system. Organized by level\n * (rural local body → urban local body → state → national → party roles\n * → constitutional). Respondents select one aspiration.\n */\nexport const desiredPoliticalPositionOptions = [\n // ── Rural local body ──\n { value: 'ward_member', label: 'Ward Member / Panch' },\n { value: 'sarpanch', label: 'Sarpanch / Village Head' },\n { value: 'panchayat_samiti_member', label: 'Panchayat Samiti Member' },\n { value: 'block_pramukh', label: 'Block Pramukh / Panchayat Samiti Chairperson' },\n { value: 'zila_panchayat_member', label: 'Zila Panchayat / Parishad Member' },\n { value: 'zila_pramukh', label: 'Zila Panchayat Chairperson / Zila Pramukh' },\n\n // ── Urban local body ──\n { value: 'municipal_councillor', label: 'Municipal Councillor / Corporator' },\n { value: 'deputy_mayor', label: 'Deputy Mayor' },\n { value: 'mayor', label: 'Mayor' },\n { value: 'municipal_chairperson', label: 'Municipal Chairperson / Nagar Adhyaksha' },\n\n // ── State level ──\n { value: 'mla', label: 'MLA (State Legislative Assembly)' },\n { value: 'mlc', label: 'MLC (State Legislative Council)' },\n { value: 'state_minister', label: 'State Minister (Cabinet / MoS)' },\n { value: 'deputy_cm', label: 'Deputy Chief Minister' },\n { value: 'chief_minister', label: 'Chief Minister' },\n { value: 'state_speaker', label: 'Speaker / Deputy Speaker (State Assembly)' },\n { value: 'state_opposition_leader', label: 'Leader of Opposition (State)' },\n\n // ── National / Parliament ──\n { value: 'mp_lok_sabha', label: 'MP (Lok Sabha)' },\n { value: 'mp_rajya_sabha', label: 'MP (Rajya Sabha)' },\n { value: 'union_minister', label: 'Union Minister (Cabinet / MoS)' },\n { value: 'deputy_pm', label: 'Deputy Prime Minister' },\n { value: 'prime_minister', label: 'Prime Minister' },\n { value: 'lok_sabha_speaker', label: 'Speaker / Deputy Speaker (Lok Sabha)' },\n { value: 'opposition_leader', label: 'Leader of Opposition (Lok Sabha)' },\n\n // ── Party roles ──\n { value: 'booth_worker', label: 'Booth-level Worker' },\n { value: 'mandal_president', label: 'Mandal / Block Party President' },\n { value: 'district_party_president', label: 'District Party President' },\n { value: 'state_party_president', label: 'State Party President' },\n { value: 'national_party_president', label: 'National Party President' },\n { value: 'party_spokesperson', label: 'Party Spokesperson' },\n\n // ── Constitutional (highest) ──\n { value: 'governor', label: 'Governor (State)' },\n { value: 'vice_president', label: 'Vice President of India' },\n { value: 'president', label: 'President of India' },\n\n // ── Meta ──\n { value: 'none', label: \"None — I'm not interested in office\" },\n { value: 'other', label: 'Other' },\n] as const;\n\n/**\n * Leadership & political skillset — exhaustive list of skills relevant to\n * Indian political, civic, and activist work. Grouped below thematically\n * (communication, organizing, strategy, interpersonal, legal/admin,\n * financial, digital, field work) but flattened in the exported array.\n */\nexport const leadershipSkillsetOptions = [\n // ── Communication ──\n { value: 'public_speaking', label: 'Public Speaking' },\n { value: 'media_handling', label: 'Media Handling / Press Relations' },\n { value: 'writing_drafting', label: 'Writing & Drafting (speeches, statements)' },\n { value: 'multilingual_communication', label: 'Multilingual Communication' },\n { value: 'debate_argumentation', label: 'Debate & Argumentation' },\n { value: 'storytelling', label: 'Storytelling & Narrative Building' },\n { value: 'social_media_management', label: 'Social Media Management' },\n\n // ── Organizing & Mobilization ──\n { value: 'community_organizing', label: 'Community Organizing' },\n { value: 'grassroots_mobilization', label: 'Grassroots Mobilization' },\n { value: 'campaign_management', label: 'Campaign Management' },\n { value: 'event_management', label: 'Event Management' },\n { value: 'volunteer_management', label: 'Volunteer Management' },\n { value: 'crowd_management', label: 'Crowd Management' },\n { value: 'door_to_door_canvassing', label: 'Door-to-door Canvassing' },\n\n // ── Strategy & Policy ──\n { value: 'strategic_planning', label: 'Strategic Planning' },\n { value: 'policy_research', label: 'Policy Research / Drafting' },\n { value: 'political_analysis', label: 'Political Analysis' },\n { value: 'data_analytics', label: 'Data Analytics / Voter Analytics' },\n { value: 'manifesto_drafting', label: 'Manifesto Drafting' },\n\n // ── Interpersonal ──\n { value: 'conflict_resolution', label: 'Conflict Resolution' },\n { value: 'negotiation_mediation', label: 'Negotiation & Mediation' },\n { value: 'coalition_building', label: 'Coalition Building' },\n { value: 'team_leadership', label: 'Team Leadership & Management' },\n { value: 'mentorship', label: 'Mentorship & Training' },\n\n // ── Legal & Administrative ──\n { value: 'legal_awareness', label: 'Legal & Election-Law Awareness' },\n { value: 'rti_filing', label: 'RTI Filing' },\n { value: 'bureaucratic_navigation', label: 'Bureaucratic Navigation' },\n { value: 'compliance_documentation', label: 'Compliance & Documentation' },\n\n // ── Financial ──\n { value: 'fundraising', label: 'Fundraising' },\n { value: 'budget_management', label: 'Budget & Financial Management' },\n\n // ── Digital ──\n { value: 'digital_campaigning', label: 'Digital Campaigning' },\n { value: 'whatsapp_campaigning', label: 'WhatsApp / Messaging Campaigns' },\n { value: 'content_creation', label: 'Content Creation (Video / Design)' },\n { value: 'voter_targeting', label: 'Data-driven Voter Targeting' },\n\n // ── Field / Ground ──\n { value: 'booth_management', label: 'Booth / Polling Station Management' },\n { value: 'voter_registration_drives', label: 'Voter Registration Drives' },\n { value: 'crisis_management', label: 'Crisis Management' },\n] as const;\n\nexport const participateOptions = [\n { value: 'yes_definitely', label: 'Yes, definitely!' },\n { value: 'maybe', label: 'Maybe' },\n { value: 'not_sure', label: 'Not sure yet' },\n { value: 'no', label: 'No' },\n] as const;\n\nexport const politicalExposureOptions = [\n { value: 'none', label: 'None' },\n { value: 'minimal', label: 'Minimal' },\n { value: 'moderate', label: 'Moderate' },\n { value: 'high', label: 'High' },\n { value: 'very_high', label: 'Very High' },\n] as const;\n\nexport const comfortWithVisibilityOptions = [\n { value: 'very_comfortable', label: 'Very comfortable' },\n { value: 'somewhat', label: 'Somewhat' },\n { value: 'prefer_behind_scenes', label: 'Prefer behind the scenes' },\n { value: 'not_comfortable', label: 'Not comfortable' },\n] as const;\n\nexport const socialInfluenceOptions = [\n { value: 'very_influential', label: 'Very influential' },\n { value: 'somewhat', label: 'Somewhat' },\n { value: 'average', label: 'Average' },\n { value: 'low', label: 'Low' },\n { value: 'not_sure', label: 'Not sure' },\n] as const;\n\nexport const pastExperienceOptions = [\n { value: 'yes_party_work', label: 'Yes — Party work' },\n { value: 'yes_social_work', label: 'Yes — Social work / NGO' },\n { value: 'yes_student_politics', label: 'Yes — Student politics' },\n { value: 'no_experience', label: 'No experience' },\n { value: 'other', label: 'Other' },\n] as const;\n\nexport const leadershipAmbitions: FieldGroup = {\n key: 'leadership_ambitions',\n label: 'Leadership & Ambitions',\n step: 4,\n description: 'Your desire to lead, political aspirations, and skills.',\n fields: [\n {\n order: 1,\n key: 'participateInRevolution',\n label: 'Participate in Revolution',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...participateOptions],\n },\n {\n order: 2,\n key: 'leadershipSkillset',\n label: 'Leadership Skills',\n type: 'multi_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...leadershipSkillsetOptions],\n },\n {\n order: 3,\n key: 'politicalExposure',\n label: 'Political Exposure',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...politicalExposureOptions],\n },\n {\n order: 4,\n key: 'comfortWithVisibility',\n label: 'Comfort with Visibility',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...comfortWithVisibilityOptions],\n },\n {\n order: 5,\n key: 'socialInfluenceLevel',\n label: 'Social Influence Level',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...socialInfluenceOptions],\n },\n {\n order: 6,\n key: 'pastExperience',\n label: 'Past Experience',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...pastExperienceOptions],\n },\n {\n order: 7,\n key: 'desiredPoliticalPosition',\n label: 'Desired Political Position',\n type: 'single_select',\n step: 4,\n isOnboarding: true,\n optional: true,\n options: [...desiredPoliticalPositionOptions],\n },\n ],\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"progress-fields.d.ts","sourceRoot":"","sources":["../src/progress-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA4IxD,CAAC;AAEX,gCAAgC;AAChC,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAE3D,CAAC;AAEX;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAYlF;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAcrD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,GACnD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAuBnC;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GACnE;IACD,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAeA"}
1
+ {"version":3,"file":"progress-fields.d.ts","sourceRoot":"","sources":["../src/progress-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA0IxD,CAAC;AAEX,gCAAgC;AAChC,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAE3D,CAAC;AAEX;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAYlF;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAcrD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,GACnD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAuBnC;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GACnE;IACD,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAeA"}
@@ -28,12 +28,11 @@ export const UDP_PROGRESS_FIELDS = {
28
28
  'partyAssociationRole',
29
29
  'familyPartyAssociation',
30
30
  'relativesInPolitics',
31
+ // Level/year are inline within the parent yes/no screens — only the
32
+ // 2 parent fields contribute to step progress (the user can complete
33
+ // the screen by answering yes/no without filling level/year).
31
34
  'hasContestedElection',
32
- 'electionLevel',
33
- 'electionYear',
34
35
  'hasHeldPublicOffice',
35
- 'officeLevel',
36
- 'officeYear',
37
36
  'networkAndCivicEngagement',
38
37
  ],
39
38
  3: [
@@ -45,13 +44,12 @@ export const UDP_PROGRESS_FIELDS = {
45
44
  ],
46
45
  4: [
47
46
  'participateInRevolution',
48
- 'desiredPoliticalPosition',
49
47
  'leadershipSkillset',
50
48
  'politicalExposure',
51
49
  'comfortWithVisibility',
52
50
  'socialInfluenceLevel',
53
51
  'pastExperience',
54
- 'changesYouWantToBring',
52
+ 'desiredPoliticalPosition',
55
53
  ],
56
54
  5: ['mbtiType', 'oceanScores'],
57
55
  6: [
@@ -1 +1 @@
1
- {"version":3,"file":"progress-fields.js","sourceRoot":"","sources":["../src/progress-fields.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * UDP Progress Fields — Single source of truth for step progress counting.\n *\n * Used by both frontend (stepper UI) and backend (computeStepProgressCounts).\n * Each step lists the curated fields that determine filled/total progress.\n *\n * Dot-paths (e.g., \"currentAddress.state\") resolve nested subdocument fields.\n * Only these fields count toward progress — extra fields in the schema are ignored.\n */\n\nexport const UDP_PROGRESS_FIELDS: Record<number, readonly string[]> = {\n 1: [\n // 'fullName' is a synthetic key — counts as filled if ANY of\n // firstName / middleName / lastName is set. See UDP_PROGRESS_SYNTHETIC.\n 'fullName',\n 'gender',\n 'dateOfBirth',\n 'whatsappNumber',\n 'primaryLanguage',\n 'secondaryLanguages',\n 'familyReligion',\n 'personalReligion',\n 'reservationStatus',\n 'minorityStatus',\n ],\n 2: [\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 3: [\n 'epicNumber',\n 'willVoteThisTime',\n 'didVoteLastTime',\n 'votingFrequency',\n 'primaryVotingIssues',\n ],\n 4: [\n 'participateInRevolution',\n 'desiredPoliticalPosition',\n 'leadershipSkillset',\n 'politicalExposure',\n 'comfortWithVisibility',\n 'socialInfluenceLevel',\n 'pastExperience',\n 'changesYouWantToBring',\n ],\n 5: ['mbtiType', 'oceanScores'],\n 6: [\n 'highestQualification',\n // Class 10\n 'education10th.board',\n 'education10th.schoolName',\n 'education10th.yearOfPassing',\n 'education10th.subjects',\n 'education10th.marksObtained',\n // Class 12\n 'education12th.institutionName',\n 'education12th.boardOrUniversity',\n 'education12th.yearOfPassing',\n 'education12th.courseOrStream',\n 'education12th.subjects',\n 'education12th.marksOrGrade',\n // Degree repeaters + certificates + notes\n 'diplomas',\n 'graduations',\n 'postGraduations',\n 'doctorates',\n 'postDoctorates',\n 'otherCertificates',\n 'educationNotes',\n ],\n 7: [\n 'employmentStatus',\n 'occupation',\n 'workShift',\n 'comfortableWithShift',\n 'desiredShift',\n 'incomeRange',\n 'dreamOccupation',\n ],\n 8: [\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 9: [\n 'disabilityStatus',\n 'generalHealth',\n 'healthInsurance',\n 'diet',\n 'physicalActivity',\n 'sleepQuality',\n 'substanceUse',\n 'stressLevel',\n ],\n 10: [\n 'viewOnAnimalCruelty',\n 'viewOnLgbtqStatements',\n 'viewOnLgbtqOpinion',\n 'viewOnTransgenderInclusion',\n 'viewOnTransgenderOpinion',\n 'facingCasteDiscrimination',\n 'casteDiscriminationPlaces',\n 'viewOnGenderEquality',\n ],\n 11: [\n 'currentAddress.state',\n 'currentAddress.district',\n 'currentAddress.village',\n 'permanentAddress.state',\n 'permanentAddress.district',\n 'permanentAddress.village',\n 'homeNativePlace.state',\n 'homeNativePlace.district',\n 'ancestralPlace.state',\n 'ancestralPlace.district',\n ],\n 12: [\n 'maritalStatus',\n 'familyMembers',\n 'numberOfDependents',\n 'housingType',\n 'householdIncome',\n 'bplCard',\n 'digitalAccess',\n 'migrationStatus',\n 'landOwnership',\n 'primaryIncomeSource',\n ],\n} as const;\n\n/** Total number of UDP steps */\nexport const UDP_TOTAL_STEPS = 12;\n\n/**\n * Synthetic progress keys — keys that aren't real fields but represent\n * a group of underlying fields. Counted as \"filled\" if ANY underlying\n * field is filled. Used for UI sub-steps that collect multiple fields\n * at once (e.g. the fullName sub-step that saves firstName, middleName,\n * and lastName).\n */\nexport const UDP_PROGRESS_SYNTHETIC: Record<string, readonly string[]> = {\n fullName: ['firstName', 'middleName', 'lastName'],\n} as const;\n\n/**\n * Resolve a dot-path (e.g., \"currentAddress.state\") against a data object.\n * Works with both plain objects and Mongoose subdocuments.\n */\nexport function getNestedValue(obj: Record<string, unknown>, path: string): unknown {\n const parts = path.split('.');\n let current: unknown = obj;\n\n for (const part of parts) {\n if (current === null || current === undefined || typeof current !== 'object') {\n return undefined;\n }\n current = (current as Record<string, unknown>)[part];\n }\n\n return current;\n}\n\n/** Determine if a field value counts as \"filled\" for progress */\nexport function isFieldFilled(value: unknown): boolean {\n if (value === null || value === undefined) return false;\n if (typeof value === 'string') return value.trim().length > 0;\n if (typeof value === 'number') return true;\n if (typeof value === 'boolean') return true;\n if (Array.isArray(value)) return value.length > 0;\n if (typeof value === 'object') {\n // Area entity ref - check for name\n if ('name' in value && typeof (value as Record<string, unknown>).name === 'string') {\n return (value as Record<string, unknown>).name !== '';\n }\n return Object.keys(value).length > 0;\n }\n return false;\n}\n\n/**\n * Calculate progress for a single step.\n * Shared between frontend (stepper UI) and backend (API response).\n */\nexport function calculateStepProgress(\n stepNumber: number,\n formData: Record<string, unknown> | undefined | null,\n): { filled: number; total: number } {\n const fields = UDP_PROGRESS_FIELDS[stepNumber];\n if (!fields) return { filled: 0, total: 0 };\n\n const total = fields.length;\n if (!formData || total === 0) return { filled: 0, total };\n\n let filled = 0;\n for (const fieldPath of fields) {\n // Synthetic keys (e.g., \"fullName\") — filled if ANY underlying field is filled.\n const syntheticPaths = UDP_PROGRESS_SYNTHETIC[fieldPath];\n if (syntheticPaths) {\n if (syntheticPaths.some((p) => isFieldFilled(getNestedValue(formData, p)))) {\n filled++;\n }\n continue;\n }\n if (isFieldFilled(getNestedValue(formData, fieldPath))) {\n filled++;\n }\n }\n\n return { filled, total };\n}\n\n/**\n * Calculate overall progress across all steps.\n * Returns per-step breakdown + overall percentage.\n *\n * Mirrors dating-schema's calculateDatingOverallProgress().\n *\n * @param stepData - Map of step number → form data (e.g., { 1: {...}, 2: {...} })\n */\nexport function calculateOverallProgress(\n stepData: Record<number, Record<string, unknown> | undefined | null>,\n): {\n steps: { stepNumber: number; filled: number; total: number }[];\n totalFilled: number;\n totalFields: number;\n percent: number;\n} {\n const steps: { stepNumber: number; filled: number; total: number }[] = [];\n let totalFilled = 0;\n let totalFields = 0;\n\n for (let stepNumber = 1; stepNumber <= UDP_TOTAL_STEPS; stepNumber++) {\n const { filled, total } = calculateStepProgress(stepNumber, stepData[stepNumber]);\n steps.push({ stepNumber, filled, total });\n totalFilled += filled;\n totalFields += total;\n }\n\n const percent = totalFields > 0 ? Math.round((totalFilled / totalFields) * 100) : 0;\n\n return { steps, totalFilled, totalFields, percent };\n}\n"]}
1
+ {"version":3,"file":"progress-fields.js","sourceRoot":"","sources":["../src/progress-fields.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * UDP Progress Fields — Single source of truth for step progress counting.\n *\n * Used by both frontend (stepper UI) and backend (computeStepProgressCounts).\n * Each step lists the curated fields that determine filled/total progress.\n *\n * Dot-paths (e.g., \"currentAddress.state\") resolve nested subdocument fields.\n * Only these fields count toward progress — extra fields in the schema are ignored.\n */\n\nexport const UDP_PROGRESS_FIELDS: Record<number, readonly string[]> = {\n 1: [\n // 'fullName' is a synthetic key — counts as filled if ANY of\n // firstName / middleName / lastName is set. See UDP_PROGRESS_SYNTHETIC.\n 'fullName',\n 'gender',\n 'dateOfBirth',\n 'whatsappNumber',\n 'primaryLanguage',\n 'secondaryLanguages',\n 'familyReligion',\n 'personalReligion',\n 'reservationStatus',\n 'minorityStatus',\n ],\n 2: [\n 'politicalSpectrum',\n 'selfPartyAssociation',\n 'partyAssociationRole',\n 'familyPartyAssociation',\n 'relativesInPolitics',\n // Level/year are inline within the parent yes/no screens — only the\n // 2 parent fields contribute to step progress (the user can complete\n // the screen by answering yes/no without filling level/year).\n 'hasContestedElection',\n 'hasHeldPublicOffice',\n 'networkAndCivicEngagement',\n ],\n 3: [\n 'epicNumber',\n 'willVoteThisTime',\n 'didVoteLastTime',\n 'votingFrequency',\n 'primaryVotingIssues',\n ],\n 4: [\n 'participateInRevolution',\n 'leadershipSkillset',\n 'politicalExposure',\n 'comfortWithVisibility',\n 'socialInfluenceLevel',\n 'pastExperience',\n 'desiredPoliticalPosition',\n ],\n 5: ['mbtiType', 'oceanScores'],\n 6: [\n 'highestQualification',\n // Class 10\n 'education10th.board',\n 'education10th.schoolName',\n 'education10th.yearOfPassing',\n 'education10th.subjects',\n 'education10th.marksObtained',\n // Class 12\n 'education12th.institutionName',\n 'education12th.boardOrUniversity',\n 'education12th.yearOfPassing',\n 'education12th.courseOrStream',\n 'education12th.subjects',\n 'education12th.marksOrGrade',\n // Degree repeaters + certificates + notes\n 'diplomas',\n 'graduations',\n 'postGraduations',\n 'doctorates',\n 'postDoctorates',\n 'otherCertificates',\n 'educationNotes',\n ],\n 7: [\n 'employmentStatus',\n 'occupation',\n 'workShift',\n 'comfortableWithShift',\n 'desiredShift',\n 'incomeRange',\n 'dreamOccupation',\n ],\n 8: [\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 9: [\n 'disabilityStatus',\n 'generalHealth',\n 'healthInsurance',\n 'diet',\n 'physicalActivity',\n 'sleepQuality',\n 'substanceUse',\n 'stressLevel',\n ],\n 10: [\n 'viewOnAnimalCruelty',\n 'viewOnLgbtqStatements',\n 'viewOnLgbtqOpinion',\n 'viewOnTransgenderInclusion',\n 'viewOnTransgenderOpinion',\n 'facingCasteDiscrimination',\n 'casteDiscriminationPlaces',\n 'viewOnGenderEquality',\n ],\n 11: [\n 'currentAddress.state',\n 'currentAddress.district',\n 'currentAddress.village',\n 'permanentAddress.state',\n 'permanentAddress.district',\n 'permanentAddress.village',\n 'homeNativePlace.state',\n 'homeNativePlace.district',\n 'ancestralPlace.state',\n 'ancestralPlace.district',\n ],\n 12: [\n 'maritalStatus',\n 'familyMembers',\n 'numberOfDependents',\n 'housingType',\n 'householdIncome',\n 'bplCard',\n 'digitalAccess',\n 'migrationStatus',\n 'landOwnership',\n 'primaryIncomeSource',\n ],\n} as const;\n\n/** Total number of UDP steps */\nexport const UDP_TOTAL_STEPS = 12;\n\n/**\n * Synthetic progress keys — keys that aren't real fields but represent\n * a group of underlying fields. Counted as \"filled\" if ANY underlying\n * field is filled. Used for UI sub-steps that collect multiple fields\n * at once (e.g. the fullName sub-step that saves firstName, middleName,\n * and lastName).\n */\nexport const UDP_PROGRESS_SYNTHETIC: Record<string, readonly string[]> = {\n fullName: ['firstName', 'middleName', 'lastName'],\n} as const;\n\n/**\n * Resolve a dot-path (e.g., \"currentAddress.state\") against a data object.\n * Works with both plain objects and Mongoose subdocuments.\n */\nexport function getNestedValue(obj: Record<string, unknown>, path: string): unknown {\n const parts = path.split('.');\n let current: unknown = obj;\n\n for (const part of parts) {\n if (current === null || current === undefined || typeof current !== 'object') {\n return undefined;\n }\n current = (current as Record<string, unknown>)[part];\n }\n\n return current;\n}\n\n/** Determine if a field value counts as \"filled\" for progress */\nexport function isFieldFilled(value: unknown): boolean {\n if (value === null || value === undefined) return false;\n if (typeof value === 'string') return value.trim().length > 0;\n if (typeof value === 'number') return true;\n if (typeof value === 'boolean') return true;\n if (Array.isArray(value)) return value.length > 0;\n if (typeof value === 'object') {\n // Area entity ref - check for name\n if ('name' in value && typeof (value as Record<string, unknown>).name === 'string') {\n return (value as Record<string, unknown>).name !== '';\n }\n return Object.keys(value).length > 0;\n }\n return false;\n}\n\n/**\n * Calculate progress for a single step.\n * Shared between frontend (stepper UI) and backend (API response).\n */\nexport function calculateStepProgress(\n stepNumber: number,\n formData: Record<string, unknown> | undefined | null,\n): { filled: number; total: number } {\n const fields = UDP_PROGRESS_FIELDS[stepNumber];\n if (!fields) return { filled: 0, total: 0 };\n\n const total = fields.length;\n if (!formData || total === 0) return { filled: 0, total };\n\n let filled = 0;\n for (const fieldPath of fields) {\n // Synthetic keys (e.g., \"fullName\") — filled if ANY underlying field is filled.\n const syntheticPaths = UDP_PROGRESS_SYNTHETIC[fieldPath];\n if (syntheticPaths) {\n if (syntheticPaths.some((p) => isFieldFilled(getNestedValue(formData, p)))) {\n filled++;\n }\n continue;\n }\n if (isFieldFilled(getNestedValue(formData, fieldPath))) {\n filled++;\n }\n }\n\n return { filled, total };\n}\n\n/**\n * Calculate overall progress across all steps.\n * Returns per-step breakdown + overall percentage.\n *\n * Mirrors dating-schema's calculateDatingOverallProgress().\n *\n * @param stepData - Map of step number → form data (e.g., { 1: {...}, 2: {...} })\n */\nexport function calculateOverallProgress(\n stepData: Record<number, Record<string, unknown> | undefined | null>,\n): {\n steps: { stepNumber: number; filled: number; total: number }[];\n totalFilled: number;\n totalFields: number;\n percent: number;\n} {\n const steps: { stepNumber: number; filled: number; total: number }[] = [];\n let totalFilled = 0;\n let totalFields = 0;\n\n for (let stepNumber = 1; stepNumber <= UDP_TOTAL_STEPS; stepNumber++) {\n const { filled, total } = calculateStepProgress(stepNumber, stepData[stepNumber]);\n steps.push({ stepNumber, filled, total });\n totalFilled += filled;\n totalFields += total;\n }\n\n const percent = totalFields > 0 ? Math.round((totalFilled / totalFields) * 100) : 0;\n\n return { steps, totalFilled, totalFields, percent };\n}\n"]}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Step 04 — Leadership & Ambitions
3
3
  *
4
- * Fields: participateInRevolution, desiredPoliticalPosition, leadershipSkillset,
5
- * politicalExposure, comfortWithVisibility, socialInfluenceLevel,
6
- * pastExperience, changesYouWantToBring
4
+ * Fields (in onboarding sub-step order):
5
+ * participateInRevolution leadershipSkillset → politicalExposure
6
+ * comfortWithVisibility → socialInfluenceLevel → pastExperience
7
+ * → desiredPoliticalPosition
7
8
  *
8
9
  * @module udp-schema/step-04
9
10
  */
@@ -80,7 +81,6 @@ export declare const step04LeadershipSchema: z.ZodObject<{
80
81
  yes_student_politics: "yes_student_politics";
81
82
  no_experience: "no_experience";
82
83
  }>>;
83
- changesYouWantToBring: z.ZodOptional<z.ZodString>;
84
84
  }, z.core.$strip>;
85
85
  export type Step04LeadershipInput = z.infer<typeof step04LeadershipSchema>;
86
86
  //# sourceMappingURL=step-04.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-04.schema.d.ts","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2EjC,CAAC;AAIH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"step-04.schema.d.ts","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwEjC,CAAC;AAIH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Step 04 — Leadership & Ambitions
3
3
  *
4
- * Fields: participateInRevolution, desiredPoliticalPosition, leadershipSkillset,
5
- * politicalExposure, comfortWithVisibility, socialInfluenceLevel,
6
- * pastExperience, changesYouWantToBring
4
+ * Fields (in onboarding sub-step order):
5
+ * participateInRevolution leadershipSkillset → politicalExposure
6
+ * comfortWithVisibility → socialInfluenceLevel → pastExperience
7
+ * → desiredPoliticalPosition
7
8
  *
8
9
  * @module udp-schema/step-04
9
10
  */
@@ -75,7 +76,5 @@ export const step04LeadershipSchema = z.object({
75
76
  pastExperience: z
76
77
  .enum(['yes_party_work', 'yes_social_work', 'yes_student_politics', 'no_experience', 'other'])
77
78
  .optional(),
78
- /** Changes you want to bring — free text */
79
- changesYouWantToBring: z.string().trim().max(1000).optional(),
80
79
  });
81
80
  //# sourceMappingURL=step-04.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-04.schema.js","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,6DAA6D;IAC7D,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEzF,mGAAmG;IACnG,wBAAwB,EAAE,CAAC;SACxB,IAAI,CAAC;QACJ,mBAAmB;QACnB,aAAa;QACb,UAAU;QACV,yBAAyB;QACzB,eAAe;QACf,uBAAuB;QACvB,cAAc;QACd,mBAAmB;QACnB,sBAAsB;QACtB,cAAc;QACd,OAAO;QACP,uBAAuB;QACvB,QAAQ;QACR,KAAK;QACL,KAAK;QACL,gBAAgB;QAChB,WAAW;QACX,gBAAgB;QAChB,eAAe;QACf,yBAAyB;QACzB,WAAW;QACX,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;QACX,gBAAgB;QAChB,mBAAmB;QACnB,mBAAmB;QACnB,cAAc;QACd,cAAc;QACd,kBAAkB;QAClB,0BAA0B;QAC1B,uBAAuB;QACvB,0BAA0B;QAC1B,oBAAoB;QACpB,iBAAiB;QACjB,UAAU;QACV,gBAAgB;QAChB,WAAW;QACX,OAAO;QACP,MAAM;QACN,OAAO;KACR,CAAC;SACD,QAAQ,EAAE;IAEb,sDAAsD;IACtD,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEzD,kCAAkC;IAClC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IAE1F,qCAAqC;IACrC,qBAAqB,EAAE,CAAC;SACrB,IAAI,CAAC,CAAC,kBAAkB,EAAE,UAAU,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;SACjF,QAAQ,EAAE;IAEb,6BAA6B;IAC7B,oBAAoB,EAAE,CAAC;SACpB,IAAI,CAAC,CAAC,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;SACpE,QAAQ,EAAE;IAEb,0CAA0C;IAC1C,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;SAC7F,QAAQ,EAAE;IAEb,4CAA4C;IAC5C,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CAC9D,CAAC,CAAC","sourcesContent":["/**\n * Step 04 — Leadership & Ambitions\n *\n * Fields: participateInRevolution, desiredPoliticalPosition, leadershipSkillset,\n * politicalExposure, comfortWithVisibility, socialInfluenceLevel,\n * pastExperience, changesYouWantToBring\n *\n * @module udp-schema/step-04\n */\n\nimport { z } from 'zod';\n\n// ─── Main Step 04 Schema ────────────────────────────────────────────────────\n\nexport const step04LeadershipSchema = z.object({\n /** Willingness to participate in the revolution of change */\n participateInRevolution: z.enum(['yes_definitely', 'maybe', 'not_sure', 'no']).optional(),\n\n /** Desired political position — exhaustive enum covering all levels of Indian political office. */\n desiredPoliticalPosition: z\n .enum([\n // Rural local body\n 'ward_member',\n 'sarpanch',\n 'panchayat_samiti_member',\n 'block_pramukh',\n 'zila_panchayat_member',\n 'zila_pramukh',\n // Urban local body\n 'municipal_councillor',\n 'deputy_mayor',\n 'mayor',\n 'municipal_chairperson',\n // State\n 'mla',\n 'mlc',\n 'state_minister',\n 'deputy_cm',\n 'chief_minister',\n 'state_speaker',\n 'state_opposition_leader',\n // National\n 'mp_lok_sabha',\n 'mp_rajya_sabha',\n 'union_minister',\n 'deputy_pm',\n 'prime_minister',\n 'lok_sabha_speaker',\n 'opposition_leader',\n // Party roles\n 'booth_worker',\n 'mandal_president',\n 'district_party_president',\n 'state_party_president',\n 'national_party_president',\n 'party_spokesperson',\n // Constitutional\n 'governor',\n 'vice_president',\n 'president',\n // Meta\n 'none',\n 'other',\n ])\n .optional(),\n\n /** Leadership skillset (multi-select string array) */\n leadershipSkillset: z.array(z.string().trim()).optional(),\n\n /** Level of political exposure */\n politicalExposure: z.enum(['none', 'minimal', 'moderate', 'high', 'very_high']).optional(),\n\n /** Comfort with public visibility */\n comfortWithVisibility: z\n .enum(['very_comfortable', 'somewhat', 'prefer_behind_scenes', 'not_comfortable'])\n .optional(),\n\n /** Social influence level */\n socialInfluenceLevel: z\n .enum(['very_influential', 'somewhat', 'average', 'low', 'not_sure'])\n .optional(),\n\n /** Past political or social experience */\n pastExperience: z\n .enum(['yes_party_work', 'yes_social_work', 'yes_student_politics', 'no_experience', 'other'])\n .optional(),\n\n /** Changes you want to bring — free text */\n changesYouWantToBring: z.string().trim().max(1000).optional(),\n});\n\n// ─── Inferred types ─────────────────────────────────────────────────────────\n\nexport type Step04LeadershipInput = z.infer<typeof step04LeadershipSchema>;\n"]}
1
+ {"version":3,"file":"step-04.schema.js","sourceRoot":"","sources":["../src/step-04.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,6DAA6D;IAC7D,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEzF,mGAAmG;IACnG,wBAAwB,EAAE,CAAC;SACxB,IAAI,CAAC;QACJ,mBAAmB;QACnB,aAAa;QACb,UAAU;QACV,yBAAyB;QACzB,eAAe;QACf,uBAAuB;QACvB,cAAc;QACd,mBAAmB;QACnB,sBAAsB;QACtB,cAAc;QACd,OAAO;QACP,uBAAuB;QACvB,QAAQ;QACR,KAAK;QACL,KAAK;QACL,gBAAgB;QAChB,WAAW;QACX,gBAAgB;QAChB,eAAe;QACf,yBAAyB;QACzB,WAAW;QACX,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;QACX,gBAAgB;QAChB,mBAAmB;QACnB,mBAAmB;QACnB,cAAc;QACd,cAAc;QACd,kBAAkB;QAClB,0BAA0B;QAC1B,uBAAuB;QACvB,0BAA0B;QAC1B,oBAAoB;QACpB,iBAAiB;QACjB,UAAU;QACV,gBAAgB;QAChB,WAAW;QACX,OAAO;QACP,MAAM;QACN,OAAO;KACR,CAAC;SACD,QAAQ,EAAE;IAEb,sDAAsD;IACtD,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEzD,kCAAkC;IAClC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IAE1F,qCAAqC;IACrC,qBAAqB,EAAE,CAAC;SACrB,IAAI,CAAC,CAAC,kBAAkB,EAAE,UAAU,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,CAAC;SACjF,QAAQ,EAAE;IAEb,6BAA6B;IAC7B,oBAAoB,EAAE,CAAC;SACpB,IAAI,CAAC,CAAC,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;SACpE,QAAQ,EAAE;IAEb,0CAA0C;IAC1C,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;SAC7F,QAAQ,EAAE;CACd,CAAC,CAAC","sourcesContent":["/**\n * Step 04 — Leadership & Ambitions\n *\n * Fields (in onboarding sub-step order):\n * participateInRevolution leadershipSkillset → politicalExposure\n * comfortWithVisibility socialInfluenceLevel → pastExperience\n * desiredPoliticalPosition\n *\n * @module udp-schema/step-04\n */\n\nimport { z } from 'zod';\n\n// ─── Main Step 04 Schema ────────────────────────────────────────────────────\n\nexport const step04LeadershipSchema = z.object({\n /** Willingness to participate in the revolution of change */\n participateInRevolution: z.enum(['yes_definitely', 'maybe', 'not_sure', 'no']).optional(),\n\n /** Desired political position — exhaustive enum covering all levels of Indian political office. */\n desiredPoliticalPosition: z\n .enum([\n // Rural local body\n 'ward_member',\n 'sarpanch',\n 'panchayat_samiti_member',\n 'block_pramukh',\n 'zila_panchayat_member',\n 'zila_pramukh',\n // Urban local body\n 'municipal_councillor',\n 'deputy_mayor',\n 'mayor',\n 'municipal_chairperson',\n // State\n 'mla',\n 'mlc',\n 'state_minister',\n 'deputy_cm',\n 'chief_minister',\n 'state_speaker',\n 'state_opposition_leader',\n // National\n 'mp_lok_sabha',\n 'mp_rajya_sabha',\n 'union_minister',\n 'deputy_pm',\n 'prime_minister',\n 'lok_sabha_speaker',\n 'opposition_leader',\n // Party roles\n 'booth_worker',\n 'mandal_president',\n 'district_party_president',\n 'state_party_president',\n 'national_party_president',\n 'party_spokesperson',\n // Constitutional\n 'governor',\n 'vice_president',\n 'president',\n // Meta\n 'none',\n 'other',\n ])\n .optional(),\n\n /** Leadership skillset (multi-select string array) */\n leadershipSkillset: z.array(z.string().trim()).optional(),\n\n /** Level of political exposure */\n politicalExposure: z.enum(['none', 'minimal', 'moderate', 'high', 'very_high']).optional(),\n\n /** Comfort with public visibility */\n comfortWithVisibility: z\n .enum(['very_comfortable', 'somewhat', 'prefer_behind_scenes', 'not_comfortable'])\n .optional(),\n\n /** Social influence level */\n socialInfluenceLevel: z\n .enum(['very_influential', 'somewhat', 'average', 'low', 'not_sure'])\n .optional(),\n\n /** Past political or social experience */\n pastExperience: z\n .enum(['yes_party_work', 'yes_social_work', 'yes_student_politics', 'no_experience', 'other'])\n .optional(),\n});\n\n// ─── Inferred types ─────────────────────────────────────────────────────────\n\nexport type Step04LeadershipInput = z.infer<typeof step04LeadershipSchema>;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "udp-schema",
3
- "version": "2.21.0",
3
+ "version": "2.23.0",
4
4
  "description": "Shared Zod schemas for User Detailed Profile (frontend + backend).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",