udp-schema 2.7.0 → 2.8.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.
@@ -109,10 +109,10 @@ export declare const udpOnboardingFormSchema: z.ZodObject<{
109
109
  viewOnTransgenderInclusion: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
110
110
  viewOnTransgenderOpinion: z.ZodOptional<z.ZodOptional<z.ZodString>>;
111
111
  facingCasteDiscrimination: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
112
- PREFER_NOT_SAY: "PREFER_NOT_SAY";
113
112
  NO: "NO";
114
113
  YES_OFTEN: "YES_OFTEN";
115
114
  YES_SOMETIMES: "YES_SOMETIMES";
115
+ PREFER_NOT_SAY: "PREFER_NOT_SAY";
116
116
  }>>>;
117
117
  casteDiscriminationPlaces: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
118
118
  viewOnGenderEquality: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
@@ -474,17 +474,28 @@ export declare const udpOnboardingFormSchema: z.ZodObject<{
474
474
  reservationStatus: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
475
475
  SC: "SC";
476
476
  ST: "ST";
477
- OBC_NC: "OBC_NC";
478
- OBC_C: "OBC_C";
477
+ OBC_NCL: "OBC_NCL";
478
+ OBC_CL: "OBC_CL";
479
+ MBC: "MBC";
480
+ SEBC: "SEBC";
481
+ SBC: "SBC";
482
+ DNT_NT: "DNT_NT";
479
483
  EWS: "EWS";
480
484
  GENERAL: "GENERAL";
481
485
  DONT_KNOW: "DONT_KNOW";
482
- PREFER_NOT_SAY: "PREFER_NOT_SAY";
486
+ PREFER_NOT_TO_SAY: "PREFER_NOT_TO_SAY";
483
487
  }>>>;
484
488
  minorityStatus: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
489
+ PREFER_NOT_TO_SAY: "PREFER_NOT_TO_SAY";
485
490
  NO: "NO";
486
- RELIGIOUS: "RELIGIOUS";
491
+ MUSLIM: "MUSLIM";
492
+ CHRISTIAN: "CHRISTIAN";
493
+ SIKH: "SIKH";
494
+ BUDDHIST: "BUDDHIST";
495
+ JAIN: "JAIN";
496
+ PARSI: "PARSI";
487
497
  LINGUISTIC: "LINGUISTIC";
498
+ BOTH: "BOTH";
488
499
  NOT_SURE: "NOT_SURE";
489
500
  }>>>;
490
501
  }, z.core.$strip>;
@@ -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"}
@@ -254,43 +254,115 @@ export declare const languageOptions: readonly [{
254
254
  readonly value: "other";
255
255
  readonly label: "Other";
256
256
  }];
257
+ /**
258
+ * Reservation / caste category — exhaustive list per Government of India
259
+ * and state-level backward-class classifications.
260
+ *
261
+ * References:
262
+ * - Articles 341 / 342 (SC / ST)
263
+ * - Mandal Commission + 77th Amendment (OBC)
264
+ * - 103rd Amendment, 2019 (EWS)
265
+ * - State lists: MBC (Tamil Nadu, Bihar), SEBC (Maharashtra, Gujarat, etc.),
266
+ * SBC (Karnataka), DNT / NT / VJNT (Maharashtra, MP, and others)
267
+ */
257
268
  export declare const reservationOptions: readonly [{
258
269
  readonly value: "SC";
259
270
  readonly label: "Scheduled Caste (SC)";
271
+ readonly description: "Listed in the Presidential Order under Article 341";
260
272
  }, {
261
273
  readonly value: "ST";
262
274
  readonly label: "Scheduled Tribe (ST)";
275
+ readonly description: "Listed in the Presidential Order under Article 342";
276
+ }, {
277
+ readonly value: "OBC_NCL";
278
+ readonly label: "OBC — Non-Creamy Layer";
279
+ readonly description: "Other Backward Class, eligible for reservation";
280
+ }, {
281
+ readonly value: "OBC_CL";
282
+ readonly label: "OBC — Creamy Layer";
283
+ readonly description: "Other Backward Class, income above the creamy-layer threshold";
263
284
  }, {
264
- readonly value: "OBC_NC";
265
- readonly label: "OBC (Non-Creamy Layer)";
285
+ readonly value: "MBC";
286
+ readonly label: "Most Backward Class (MBC)";
287
+ readonly description: "State sub-category of OBC (e.g., Tamil Nadu, Bihar)";
266
288
  }, {
267
- readonly value: "OBC_C";
268
- readonly label: "OBC (Creamy Layer)";
289
+ readonly value: "SEBC";
290
+ readonly label: "Socially & Educationally Backward Class (SEBC)";
291
+ readonly description: "State-notified SEBC (e.g., Maharashtra, Gujarat)";
292
+ }, {
293
+ readonly value: "SBC";
294
+ readonly label: "Special Backward Class (SBC)";
295
+ readonly description: "State-notified special backward category";
296
+ }, {
297
+ readonly value: "DNT_NT";
298
+ readonly label: "Denotified / Nomadic Tribes (DNT / NT / VJNT)";
299
+ readonly description: "Denotified, Nomadic, and Semi-Nomadic communities";
269
300
  }, {
270
301
  readonly value: "EWS";
271
302
  readonly label: "Economically Weaker Section (EWS)";
303
+ readonly description: "10% reservation for unreserved categories (103rd Amendment)";
272
304
  }, {
273
305
  readonly value: "GENERAL";
274
- readonly label: "General";
306
+ readonly label: "General / Unreserved";
307
+ readonly description: "No reservation category";
275
308
  }, {
276
309
  readonly value: "DONT_KNOW";
277
310
  readonly label: "Don't know";
311
+ readonly description: "Not sure of the category";
278
312
  }, {
279
- readonly value: "PREFER_NOT_SAY";
313
+ readonly value: "PREFER_NOT_TO_SAY";
280
314
  readonly label: "Prefer not to say";
315
+ readonly description: "Keep this private";
281
316
  }];
317
+ /**
318
+ * Minority status — per Ministry of Minority Affairs, Government of India.
319
+ * 6 religious minorities are centrally notified. Linguistic minorities are
320
+ * defined at the state level (mother tongue ≠ majority language of the state).
321
+ */
282
322
  export declare const minorityOptions: readonly [{
283
323
  readonly value: "NO";
284
324
  readonly label: "No";
325
+ readonly description: "Not a minority community";
285
326
  }, {
286
- readonly value: "RELIGIOUS";
287
- readonly label: "YesReligious minority";
327
+ readonly value: "MUSLIM";
328
+ readonly label: "Religious Minority Muslim";
329
+ readonly description: "Centrally notified religious minority";
330
+ }, {
331
+ readonly value: "CHRISTIAN";
332
+ readonly label: "Religious Minority — Christian";
333
+ readonly description: "Centrally notified religious minority";
334
+ }, {
335
+ readonly value: "SIKH";
336
+ readonly label: "Religious Minority — Sikh";
337
+ readonly description: "Centrally notified religious minority";
338
+ }, {
339
+ readonly value: "BUDDHIST";
340
+ readonly label: "Religious Minority — Buddhist";
341
+ readonly description: "Centrally notified religious minority";
342
+ }, {
343
+ readonly value: "JAIN";
344
+ readonly label: "Religious Minority — Jain";
345
+ readonly description: "Centrally notified religious minority (2014)";
346
+ }, {
347
+ readonly value: "PARSI";
348
+ readonly label: "Religious Minority — Parsi / Zoroastrian";
349
+ readonly description: "Centrally notified religious minority";
288
350
  }, {
289
351
  readonly value: "LINGUISTIC";
290
- readonly label: "Yes — Linguistic minority";
352
+ readonly label: "Linguistic Minority";
353
+ readonly description: "Mother tongue is not the majority language of your state";
354
+ }, {
355
+ readonly value: "BOTH";
356
+ readonly label: "Both religious and linguistic minority";
357
+ readonly description: "Belongs to a religious minority AND a linguistic minority";
291
358
  }, {
292
359
  readonly value: "NOT_SURE";
293
360
  readonly label: "Not sure";
361
+ readonly description: "Don't know if you're a minority";
362
+ }, {
363
+ readonly value: "PREFER_NOT_TO_SAY";
364
+ readonly label: "Prefer not to say";
365
+ readonly description: "Keep this private";
294
366
  }];
295
367
  export declare const profile: FieldGroup;
296
368
  //# sourceMappingURL=01-profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"01-profile.d.ts","sourceRoot":"","sources":["../../src/profile-fields/01-profile.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DhB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDlB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BlB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EASrB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;EAKlB,CAAC;AAIX,eAAO,MAAM,OAAO,EAAE,UAqGrB,CAAC"}
1
+ {"version":3,"file":"01-profile.d.ts","sourceRoot":"","sources":["../../src/profile-fields/01-profile.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAI7C;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8DhB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDlB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BlB,CAAC;AAEX;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCrB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ClB,CAAC;AAIX,eAAO,MAAM,OAAO,EAAE,UAqGrB,CAAC"}
@@ -155,21 +155,108 @@ export const languageOptions = [
155
155
  { value: 'santali', label: 'Santali (ᱥᱟᱱᱛᱟᱲᱤ)' },
156
156
  { value: 'other', label: 'Other' },
157
157
  ];
158
+ /**
159
+ * Reservation / caste category — exhaustive list per Government of India
160
+ * and state-level backward-class classifications.
161
+ *
162
+ * References:
163
+ * - Articles 341 / 342 (SC / ST)
164
+ * - Mandal Commission + 77th Amendment (OBC)
165
+ * - 103rd Amendment, 2019 (EWS)
166
+ * - State lists: MBC (Tamil Nadu, Bihar), SEBC (Maharashtra, Gujarat, etc.),
167
+ * SBC (Karnataka), DNT / NT / VJNT (Maharashtra, MP, and others)
168
+ */
158
169
  export const reservationOptions = [
159
- { value: 'SC', label: 'Scheduled Caste (SC)' },
160
- { value: 'ST', label: 'Scheduled Tribe (ST)' },
161
- { value: 'OBC_NC', label: 'OBC (Non-Creamy Layer)' },
162
- { value: 'OBC_C', label: 'OBC (Creamy Layer)' },
163
- { value: 'EWS', label: 'Economically Weaker Section (EWS)' },
164
- { value: 'GENERAL', label: 'General' },
165
- { value: 'DONT_KNOW', label: "Don't know" },
166
- { value: 'PREFER_NOT_SAY', label: 'Prefer not to say' },
170
+ { value: 'SC', label: 'Scheduled Caste (SC)', description: 'Listed in the Presidential Order under Article 341' },
171
+ { value: 'ST', label: 'Scheduled Tribe (ST)', description: 'Listed in the Presidential Order under Article 342' },
172
+ {
173
+ value: 'OBC_NCL',
174
+ label: 'OBC Non-Creamy Layer',
175
+ description: 'Other Backward Class, eligible for reservation',
176
+ },
177
+ {
178
+ value: 'OBC_CL',
179
+ label: 'OBC — Creamy Layer',
180
+ description: 'Other Backward Class, income above the creamy-layer threshold',
181
+ },
182
+ {
183
+ value: 'MBC',
184
+ label: 'Most Backward Class (MBC)',
185
+ description: 'State sub-category of OBC (e.g., Tamil Nadu, Bihar)',
186
+ },
187
+ {
188
+ value: 'SEBC',
189
+ label: 'Socially & Educationally Backward Class (SEBC)',
190
+ description: 'State-notified SEBC (e.g., Maharashtra, Gujarat)',
191
+ },
192
+ {
193
+ value: 'SBC',
194
+ label: 'Special Backward Class (SBC)',
195
+ description: 'State-notified special backward category',
196
+ },
197
+ {
198
+ value: 'DNT_NT',
199
+ label: 'Denotified / Nomadic Tribes (DNT / NT / VJNT)',
200
+ description: 'Denotified, Nomadic, and Semi-Nomadic communities',
201
+ },
202
+ {
203
+ value: 'EWS',
204
+ label: 'Economically Weaker Section (EWS)',
205
+ description: '10% reservation for unreserved categories (103rd Amendment)',
206
+ },
207
+ { value: 'GENERAL', label: 'General / Unreserved', description: 'No reservation category' },
208
+ { value: 'DONT_KNOW', label: "Don't know", description: 'Not sure of the category' },
209
+ { value: 'PREFER_NOT_TO_SAY', label: 'Prefer not to say', description: 'Keep this private' },
167
210
  ];
211
+ /**
212
+ * Minority status — per Ministry of Minority Affairs, Government of India.
213
+ * 6 religious minorities are centrally notified. Linguistic minorities are
214
+ * defined at the state level (mother tongue ≠ majority language of the state).
215
+ */
168
216
  export const minorityOptions = [
169
- { value: 'NO', label: 'No' },
170
- { value: 'RELIGIOUS', label: 'Yes — Religious minority' },
171
- { value: 'LINGUISTIC', label: 'Yes — Linguistic minority' },
172
- { value: 'NOT_SURE', label: 'Not sure' },
217
+ { value: 'NO', label: 'No', description: 'Not a minority community' },
218
+ {
219
+ value: 'MUSLIM',
220
+ label: 'Religious Minority Muslim',
221
+ description: 'Centrally notified religious minority',
222
+ },
223
+ {
224
+ value: 'CHRISTIAN',
225
+ label: 'Religious Minority — Christian',
226
+ description: 'Centrally notified religious minority',
227
+ },
228
+ {
229
+ value: 'SIKH',
230
+ label: 'Religious Minority — Sikh',
231
+ description: 'Centrally notified religious minority',
232
+ },
233
+ {
234
+ value: 'BUDDHIST',
235
+ label: 'Religious Minority — Buddhist',
236
+ description: 'Centrally notified religious minority',
237
+ },
238
+ {
239
+ value: 'JAIN',
240
+ label: 'Religious Minority — Jain',
241
+ description: 'Centrally notified religious minority (2014)',
242
+ },
243
+ {
244
+ value: 'PARSI',
245
+ label: 'Religious Minority — Parsi / Zoroastrian',
246
+ description: 'Centrally notified religious minority',
247
+ },
248
+ {
249
+ value: 'LINGUISTIC',
250
+ label: 'Linguistic Minority',
251
+ description: 'Mother tongue is not the majority language of your state',
252
+ },
253
+ {
254
+ value: 'BOTH',
255
+ label: 'Both religious and linguistic minority',
256
+ description: 'Belongs to a religious minority AND a linguistic minority',
257
+ },
258
+ { value: 'NOT_SURE', label: 'Not sure', description: "Don't know if you're a minority" },
259
+ { value: 'PREFER_NOT_TO_SAY', label: 'Prefer not to say', description: 'Keep this private' },
173
260
  ];
174
261
  // ─── Field Group ────────────────────────────────────────────────────────────
175
262
  export const profile = {
@@ -1 +1 @@
1
- {"version":3,"file":"01-profile.js","sourceRoot":"","sources":["../../src/profile-fields/01-profile.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE;IAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACrE;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,qCAAqC;KACnD;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,4CAA4C;KAC1D;IACD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,kCAAkC,EAAE;IAC/F;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,uCAAuC;KACrD;IACD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,sCAAsC,EAAE;IAC3F;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,uDAAuD;KACrE;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,4CAA4C;KAC1D;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,kEAAkE;KAChF;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,mDAAmD;KACjE;IACD;QACE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,iEAAiE;KAC/E;IACD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kCAAkC,EAAE;IACnF,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,EAAE;CACpF,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC7E,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,yBAAyB,EAAE;IAC1F,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,gCAAgC,EAAE;IAC/F,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC3F,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,+BAA+B,EAAE;IAChG;QACE,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,uCAAuC;KACrD;IACD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE;IACtE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,yBAAyB,EAAE;IAC5F;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,2BAA2B;KACzC;IACD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,qCAAqC,EAAE;IAC5F;QACE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,uBAAuB;KACrC;IACD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;IAC9E,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;IACvF;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,6BAA6B;KAC3C;IACD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAC3E,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,8BAA8B,EAAE;IACrF,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE;IACnF;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE,wBAAwB;KACtC;IACD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE;IAC3E,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;CAClD,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAC3C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC9C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC7C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC9C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;IAC1C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACvC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAClD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC9C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE;IACxC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACnD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAClD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACjD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAClD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,EAAE;IACxD,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,4BAA4B,EAAE;IAC/D,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACnD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACvC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE;IACpD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAChD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC7C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC/C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;IAC1C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACnD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACvC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAChD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC9C,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC9C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE;IACpD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAC/C,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,EAAE;IAC5D,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE;IAC3C,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,mBAAmB,EAAE;CAC/C,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;IAC5B,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE;IACzD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,2BAA2B,EAAE;IAC3D,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;CAChC,CAAC;AAEX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,OAAO,GAAe;IACjC,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,mFAAmF;IAChG,IAAI,EAAE,CAAC;IACP,MAAM,EAAE;QACN;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,8DAA8D;SAC5E;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC;SAC5B;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;SACnB;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,sBAAsB;SACpC;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;SAC9B;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;YAC7B,SAAS,EAAE,EAAE;SACd;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;SAC9B;QACD;YACE,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;SAC9B;QACD;YACE,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,mBAAmB;YACxB,KAAK,EAAE,sBAAsB;YAC7B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,kBAAkB,CAAC;YAChC,SAAS,EAAE,IAAI;SAChB;QACD;YACE,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;SAC9B;KACF;CACF,CAAC","sourcesContent":["/**\n * Step 01 — Profile fields.\n *\n * Rich field definitions with options and descriptions,\n * matching the dating-schema profile-fields pattern.\n */\n\nimport type { FieldGroup } from './types.js';\n\n// ─── Shared option arrays (exported for reuse) ─────────────────────────────\n\n/**\n * Gender options — matches dating-schema (01-hero-identity.ts) EXACTLY.\n * Keep in sync with dating so both products share the same enum + copy.\n */\nexport const genderOptions = [\n { value: 'man', label: 'Man', description: 'Identify as male' },\n { value: 'woman', label: 'Woman', description: 'Identify as female' },\n {\n value: 'non_binary',\n label: 'Non-binary',\n description: 'Neither exclusively male nor female',\n },\n {\n value: 'trans_man',\n label: 'Trans Man',\n description: 'Assigned female at birth, identify as male',\n },\n {\n value: 'trans_woman',\n label: 'Trans Woman',\n description: 'Assigned male at birth, identify as female',\n },\n { value: 'genderfluid', label: 'Genderfluid', description: 'Gender identity shifts over time' },\n {\n value: 'genderqueer',\n label: 'Genderqueer',\n description: 'Outside the traditional gender binary',\n },\n { value: 'agender', label: 'Agender', description: 'No gender identity or gender-neutral' },\n {\n value: 'bigender',\n label: 'Bigender',\n description: 'Identify as two genders simultaneously or alternating',\n },\n {\n value: 'pangender',\n label: 'Pangender',\n description: 'Identify with all genders or many gender identities',\n },\n {\n value: 'androgynous',\n label: 'Androgynous',\n description: 'Blend of masculine and feminine expression',\n },\n {\n value: 'intersex',\n label: 'Intersex',\n description: \"Born with sex characteristics that don't fit typical male/female\",\n },\n {\n value: 'gender_nonconforming',\n label: 'Gender Non-conforming',\n description: \"Expression doesn't align with conventional expectations\",\n },\n {\n value: 'two_spirit',\n label: 'Two-Spirit',\n description: 'Indigenous identity encompassing multiple genders',\n },\n {\n value: 'hijra',\n label: 'Hijra',\n description: 'South Asian third-gender identity — legally recognized in India',\n },\n { value: 'other', label: 'Other', description: 'Another identity not listed here' },\n { value: 'prefer_not_to_say', label: 'Prefer not to say', description: 'Keep this private' },\n] as const;\n\nexport const religionOptions = [\n { value: 'hindu', label: 'Hindu', description: 'Sanatana Dharma traditions' },\n { value: 'muslim_sunni', label: 'Muslim (Sunni)', description: 'Largest branch of Islam' },\n { value: 'muslim_shia', label: 'Muslim (Shia)', description: 'Second-largest branch of Islam' },\n { value: 'muslim_sufi', label: 'Muslim (Sufi)', description: 'Mystical Islamic tradition' },\n { value: 'muslim_other', label: 'Muslim (Other)', description: 'Ahmadiyya or other traditions' },\n {\n value: 'christian_catholic',\n label: 'Christian (Catholic)',\n description: 'Roman Catholic tradition',\n },\n {\n value: 'christian_protestant',\n label: 'Christian (Protestant)',\n description: 'Baptist, Methodist, Pentecostal, etc.',\n },\n {\n value: 'christian_other',\n label: 'Christian (Other)',\n description: 'Orthodox, Syrian, or other traditions',\n },\n { value: 'sikh', label: 'Sikh', description: 'Founded by Guru Nanak' },\n { value: 'jain_digambar', label: 'Jain (Digambar)', description: 'Sky-clad Jain tradition' },\n {\n value: 'jain_shwetambar',\n label: 'Jain (Shwetambar)',\n description: 'White-clad Jain tradition',\n },\n { value: 'buddhist', label: 'Buddhist', description: \"Followers of the Buddha's teachings\" },\n {\n value: 'parsi_zoroastrian',\n label: 'Parsi / Zoroastrian',\n description: 'Ancient Persian faith',\n },\n { value: 'jewish', label: 'Jewish', description: 'Judaism — Abrahamic faith' },\n { value: 'bahai', label: \"Baha'i\", description: 'Unity of all religions and humanity' },\n {\n value: 'spiritual',\n label: 'Spiritual but not religious',\n description: 'Personal spiritual practice',\n },\n { value: 'atheist', label: 'Atheist', description: 'No belief in deities' },\n { value: 'agnostic', label: 'Agnostic', description: 'Uncertain about higher power' },\n { value: 'no_religion', label: 'No Religion', description: 'Simply non-religious' },\n {\n value: 'inter_religion',\n label: 'Inter-Religion / Multi-faith',\n description: 'Multi-faith background',\n },\n { value: 'other', label: 'Other', description: 'A faith not listed above' },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\nexport const languageOptions = [\n { value: 'hindi', label: 'Hindi (हिन्दी)' },\n { value: 'english', label: 'English' },\n { value: 'bengali', label: 'Bengali (বাংলা)' },\n { value: 'telugu', label: 'Telugu (తెలుగు)' },\n { value: 'marathi', label: 'Marathi (मराठी)' },\n { value: 'tamil', label: 'Tamil (தமிழ்)' },\n { value: 'urdu', label: 'Urdu (اردو)' },\n { value: 'gujarati', label: 'Gujarati (ગુજરાતી)' },\n { value: 'kannada', label: 'Kannada (ಕನ್ನಡ)' },\n { value: 'odia', label: 'Odia (ଓଡ଼ିଆ)' },\n { value: 'malayalam', label: 'Malayalam (മലയാളം)' },\n { value: 'punjabi', label: 'Punjabi (ਪੰਜਾਬੀ)' },\n { value: 'assamese', label: 'Assamese (অসমীয়া)' },\n { value: 'maithili', label: 'Maithili (मैथिली)' },\n { value: 'bhojpuri', label: 'Bhojpuri (भोजपुरी)' },\n { value: 'rajasthani', label: 'Rajasthani (राजस्थानी)' },\n { value: 'chhattisgarhi', label: 'Chhattisgarhi (छत्तीसगढ़ी)' },\n { value: 'haryanvi', label: 'Haryanvi (हरियाणवी)' },\n { value: 'tulu', label: 'Tulu (ತುಳು)' },\n { value: 'sanskrit', label: 'Sanskrit (संस्कृतम्)' },\n { value: 'sindhi', label: 'Sindhi (سنڌي)' },\n { value: 'kashmiri', label: 'Kashmiri (कॉशुर)' },\n { value: 'nepali', label: 'Nepali (नेपाली)' },\n { value: 'konkani', label: 'Konkani (कोंकणी)' },\n { value: 'dogri', label: 'Dogri (डोगरी)' },\n { value: 'manipuri', label: 'Manipuri (মৈতৈলোন্)' },\n { value: 'bodo', label: 'Bodo (बड़ो)' },\n { value: 'santali', label: 'Santali (ᱥᱟᱱᱛᱟᱲᱤ)' },\n { value: 'other', label: 'Other' },\n] as const;\n\nexport const reservationOptions = [\n { value: 'SC', label: 'Scheduled Caste (SC)' },\n { value: 'ST', label: 'Scheduled Tribe (ST)' },\n { value: 'OBC_NC', label: 'OBC (Non-Creamy Layer)' },\n { value: 'OBC_C', label: 'OBC (Creamy Layer)' },\n { value: 'EWS', label: 'Economically Weaker Section (EWS)' },\n { value: 'GENERAL', label: 'General' },\n { value: 'DONT_KNOW', label: \"Don't know\" },\n { value: 'PREFER_NOT_SAY', label: 'Prefer not to say' },\n] as const;\n\nexport const minorityOptions = [\n { value: 'NO', label: 'No' },\n { value: 'RELIGIOUS', label: 'Yes — Religious minority' },\n { value: 'LINGUISTIC', label: 'Yes — Linguistic minority' },\n { value: 'NOT_SURE', label: 'Not sure' },\n] as const;\n\n// ─── Field Group ────────────────────────────────────────────────────────────\n\nexport const profile: FieldGroup = {\n key: 'profile',\n label: 'Profile',\n description: 'Basic personal information — name, gender, date of birth, language, and religion.',\n step: 1,\n fields: [\n {\n order: 1,\n key: 'fullName',\n label: 'Full Name',\n type: 'object',\n step: 1,\n isOnboarding: true,\n description: 'First, middle, and last name as per Aadhaar or other govt ID',\n },\n {\n order: 4,\n key: 'gender',\n label: 'Gender',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...genderOptions],\n },\n {\n order: 5,\n key: 'dateOfBirth',\n label: 'Date of Birth',\n type: 'date',\n step: 1,\n isOnboarding: true,\n },\n {\n order: 6,\n key: 'whatsappNumber',\n label: 'WhatsApp Number',\n type: 'text',\n step: 1,\n isOnboarding: true,\n optional: true,\n description: 'Include country code',\n },\n {\n order: 7,\n key: 'primaryLanguage',\n label: 'Primary Language',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...languageOptions],\n },\n {\n order: 8,\n key: 'secondaryLanguages',\n label: 'Secondary Languages',\n type: 'multi_select',\n step: 1,\n isOnboarding: true,\n optional: true,\n options: [...languageOptions],\n maxSelect: 10,\n },\n {\n order: 9,\n key: 'familyReligion',\n label: 'Family Religion',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...religionOptions],\n },\n {\n order: 10,\n key: 'personalReligion',\n label: 'Personal Religion',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n optional: true,\n options: [...religionOptions],\n },\n {\n order: 11,\n key: 'reservationStatus',\n label: 'Reservation Category',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...reservationOptions],\n sensitive: true,\n },\n {\n order: 12,\n key: 'minorityStatus',\n label: 'Minority Status',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...minorityOptions],\n },\n ],\n};\n"]}
1
+ {"version":3,"file":"01-profile.js","sourceRoot":"","sources":["../../src/profile-fields/01-profile.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE;IAC/D,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE;IACrE;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,qCAAqC;KACnD;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,4CAA4C;KAC1D;IACD,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,kCAAkC,EAAE;IAC/F;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,uCAAuC;KACrD;IACD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,sCAAsC,EAAE;IAC3F;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,uDAAuD;KACrE;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,4CAA4C;KAC1D;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,kEAAkE;KAChF;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,mDAAmD;KACjE;IACD;QACE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,iEAAiE;KAC/E;IACD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kCAAkC,EAAE;IACnF,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,EAAE;CACpF,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC7E,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,yBAAyB,EAAE;IAC1F,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,gCAAgC,EAAE;IAC/F,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC3F,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,+BAA+B,EAAE;IAChG;QACE,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,uCAAuC;KACrD;IACD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE;IACtE,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,yBAAyB,EAAE;IAC5F;QACE,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,2BAA2B;KACzC;IACD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,qCAAqC,EAAE;IAC5F;QACE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,uBAAuB;KACrC;IACD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;IAC9E,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;IACvF;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,6BAA6B;KAC3C;IACD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,EAAE;IAC3E,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,8BAA8B,EAAE;IACrF,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,sBAAsB,EAAE;IACnF;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE,wBAAwB;KACtC;IACD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE;IAC3E,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;CAClD,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAC3C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;IACtC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC9C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC7C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC9C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;IAC1C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACvC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAClD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC9C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE;IACxC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE;IACnD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC/C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAClD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACjD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE;IAClD,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,wBAAwB,EAAE;IACxD,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,4BAA4B,EAAE;IAC/D,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACnD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACvC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,sBAAsB,EAAE;IACpD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE;IAC3C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAChD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC7C,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;IAC/C,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;IAC1C,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACnD,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE;IACvC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,EAAE;IAChD,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;CAC1B,CAAC;AAEX;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,oDAAoD,EAAE;IACjH,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,oDAAoD,EAAE;IACjH;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,+DAA+D;KAC7E;IACD;QACE,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,qDAAqD;KACnE;IACD;QACE,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,gDAAgD;QACvD,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE,0CAA0C;KACxD;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,+CAA+C;QACtD,WAAW,EAAE,mDAAmD;KACjE;IACD;QACE,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,mCAAmC;QAC1C,WAAW,EAAE,6DAA6D;KAC3E;IACD,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,yBAAyB,EAAE;IAC3F,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,0BAA0B,EAAE;IACpF,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,EAAE;CACpF,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B,EAAE;IACrE;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,gCAAgC;QACvC,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,+BAA+B;QACtC,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,8CAA8C;KAC5D;IACD;QACE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,0CAA0C;QACjD,WAAW,EAAE,uCAAuC;KACrD;IACD;QACE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,wCAAwC;QAC/C,WAAW,EAAE,2DAA2D;KACzE;IACD,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE;IACxF,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,EAAE;CACpF,CAAC;AAEX,+EAA+E;AAE/E,MAAM,CAAC,MAAM,OAAO,GAAe;IACjC,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,WAAW,EAAE,mFAAmF;IAChG,IAAI,EAAE,CAAC;IACP,MAAM,EAAE;QACN;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,8DAA8D;SAC5E;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC;SAC5B;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;SACnB;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,sBAAsB;SACpC;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,iBAAiB;YACtB,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;SAC9B;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,oBAAoB;YACzB,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;YAC7B,SAAS,EAAE,EAAE;SACd;QACD;YACE,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;SAC9B;QACD;YACE,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,kBAAkB;YACvB,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;SAC9B;QACD;YACE,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,mBAAmB;YACxB,KAAK,EAAE,sBAAsB;YAC7B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,kBAAkB,CAAC;YAChC,SAAS,EAAE,IAAI;SAChB;QACD;YACE,KAAK,EAAE,EAAE;YACT,GAAG,EAAE,gBAAgB;YACrB,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,CAAC;YACP,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;SAC9B;KACF;CACF,CAAC","sourcesContent":["/**\n * Step 01 — Profile fields.\n *\n * Rich field definitions with options and descriptions,\n * matching the dating-schema profile-fields pattern.\n */\n\nimport type { FieldGroup } from './types.js';\n\n// ─── Shared option arrays (exported for reuse) ─────────────────────────────\n\n/**\n * Gender options — matches dating-schema (01-hero-identity.ts) EXACTLY.\n * Keep in sync with dating so both products share the same enum + copy.\n */\nexport const genderOptions = [\n { value: 'man', label: 'Man', description: 'Identify as male' },\n { value: 'woman', label: 'Woman', description: 'Identify as female' },\n {\n value: 'non_binary',\n label: 'Non-binary',\n description: 'Neither exclusively male nor female',\n },\n {\n value: 'trans_man',\n label: 'Trans Man',\n description: 'Assigned female at birth, identify as male',\n },\n {\n value: 'trans_woman',\n label: 'Trans Woman',\n description: 'Assigned male at birth, identify as female',\n },\n { value: 'genderfluid', label: 'Genderfluid', description: 'Gender identity shifts over time' },\n {\n value: 'genderqueer',\n label: 'Genderqueer',\n description: 'Outside the traditional gender binary',\n },\n { value: 'agender', label: 'Agender', description: 'No gender identity or gender-neutral' },\n {\n value: 'bigender',\n label: 'Bigender',\n description: 'Identify as two genders simultaneously or alternating',\n },\n {\n value: 'pangender',\n label: 'Pangender',\n description: 'Identify with all genders or many gender identities',\n },\n {\n value: 'androgynous',\n label: 'Androgynous',\n description: 'Blend of masculine and feminine expression',\n },\n {\n value: 'intersex',\n label: 'Intersex',\n description: \"Born with sex characteristics that don't fit typical male/female\",\n },\n {\n value: 'gender_nonconforming',\n label: 'Gender Non-conforming',\n description: \"Expression doesn't align with conventional expectations\",\n },\n {\n value: 'two_spirit',\n label: 'Two-Spirit',\n description: 'Indigenous identity encompassing multiple genders',\n },\n {\n value: 'hijra',\n label: 'Hijra',\n description: 'South Asian third-gender identity — legally recognized in India',\n },\n { value: 'other', label: 'Other', description: 'Another identity not listed here' },\n { value: 'prefer_not_to_say', label: 'Prefer not to say', description: 'Keep this private' },\n] as const;\n\nexport const religionOptions = [\n { value: 'hindu', label: 'Hindu', description: 'Sanatana Dharma traditions' },\n { value: 'muslim_sunni', label: 'Muslim (Sunni)', description: 'Largest branch of Islam' },\n { value: 'muslim_shia', label: 'Muslim (Shia)', description: 'Second-largest branch of Islam' },\n { value: 'muslim_sufi', label: 'Muslim (Sufi)', description: 'Mystical Islamic tradition' },\n { value: 'muslim_other', label: 'Muslim (Other)', description: 'Ahmadiyya or other traditions' },\n {\n value: 'christian_catholic',\n label: 'Christian (Catholic)',\n description: 'Roman Catholic tradition',\n },\n {\n value: 'christian_protestant',\n label: 'Christian (Protestant)',\n description: 'Baptist, Methodist, Pentecostal, etc.',\n },\n {\n value: 'christian_other',\n label: 'Christian (Other)',\n description: 'Orthodox, Syrian, or other traditions',\n },\n { value: 'sikh', label: 'Sikh', description: 'Founded by Guru Nanak' },\n { value: 'jain_digambar', label: 'Jain (Digambar)', description: 'Sky-clad Jain tradition' },\n {\n value: 'jain_shwetambar',\n label: 'Jain (Shwetambar)',\n description: 'White-clad Jain tradition',\n },\n { value: 'buddhist', label: 'Buddhist', description: \"Followers of the Buddha's teachings\" },\n {\n value: 'parsi_zoroastrian',\n label: 'Parsi / Zoroastrian',\n description: 'Ancient Persian faith',\n },\n { value: 'jewish', label: 'Jewish', description: 'Judaism — Abrahamic faith' },\n { value: 'bahai', label: \"Baha'i\", description: 'Unity of all religions and humanity' },\n {\n value: 'spiritual',\n label: 'Spiritual but not religious',\n description: 'Personal spiritual practice',\n },\n { value: 'atheist', label: 'Atheist', description: 'No belief in deities' },\n { value: 'agnostic', label: 'Agnostic', description: 'Uncertain about higher power' },\n { value: 'no_religion', label: 'No Religion', description: 'Simply non-religious' },\n {\n value: 'inter_religion',\n label: 'Inter-Religion / Multi-faith',\n description: 'Multi-faith background',\n },\n { value: 'other', label: 'Other', description: 'A faith not listed above' },\n { value: 'prefer_not_to_say', label: 'Prefer not to say' },\n] as const;\n\nexport const languageOptions = [\n { value: 'hindi', label: 'Hindi (हिन्दी)' },\n { value: 'english', label: 'English' },\n { value: 'bengali', label: 'Bengali (বাংলা)' },\n { value: 'telugu', label: 'Telugu (తెలుగు)' },\n { value: 'marathi', label: 'Marathi (मराठी)' },\n { value: 'tamil', label: 'Tamil (தமிழ்)' },\n { value: 'urdu', label: 'Urdu (اردو)' },\n { value: 'gujarati', label: 'Gujarati (ગુજરાતી)' },\n { value: 'kannada', label: 'Kannada (ಕನ್ನಡ)' },\n { value: 'odia', label: 'Odia (ଓଡ଼ିଆ)' },\n { value: 'malayalam', label: 'Malayalam (മലയാളം)' },\n { value: 'punjabi', label: 'Punjabi (ਪੰਜਾਬੀ)' },\n { value: 'assamese', label: 'Assamese (অসমীয়া)' },\n { value: 'maithili', label: 'Maithili (मैथिली)' },\n { value: 'bhojpuri', label: 'Bhojpuri (भोजपुरी)' },\n { value: 'rajasthani', label: 'Rajasthani (राजस्थानी)' },\n { value: 'chhattisgarhi', label: 'Chhattisgarhi (छत्तीसगढ़ी)' },\n { value: 'haryanvi', label: 'Haryanvi (हरियाणवी)' },\n { value: 'tulu', label: 'Tulu (ತುಳು)' },\n { value: 'sanskrit', label: 'Sanskrit (संस्कृतम्)' },\n { value: 'sindhi', label: 'Sindhi (سنڌي)' },\n { value: 'kashmiri', label: 'Kashmiri (कॉशुर)' },\n { value: 'nepali', label: 'Nepali (नेपाली)' },\n { value: 'konkani', label: 'Konkani (कोंकणी)' },\n { value: 'dogri', label: 'Dogri (डोगरी)' },\n { value: 'manipuri', label: 'Manipuri (মৈতৈলোন্)' },\n { value: 'bodo', label: 'Bodo (बड़ो)' },\n { value: 'santali', label: 'Santali (ᱥᱟᱱᱛᱟᱲᱤ)' },\n { value: 'other', label: 'Other' },\n] as const;\n\n/**\n * Reservation / caste category — exhaustive list per Government of India\n * and state-level backward-class classifications.\n *\n * References:\n * - Articles 341 / 342 (SC / ST)\n * - Mandal Commission + 77th Amendment (OBC)\n * - 103rd Amendment, 2019 (EWS)\n * - State lists: MBC (Tamil Nadu, Bihar), SEBC (Maharashtra, Gujarat, etc.),\n * SBC (Karnataka), DNT / NT / VJNT (Maharashtra, MP, and others)\n */\nexport const reservationOptions = [\n { value: 'SC', label: 'Scheduled Caste (SC)', description: 'Listed in the Presidential Order under Article 341' },\n { value: 'ST', label: 'Scheduled Tribe (ST)', description: 'Listed in the Presidential Order under Article 342' },\n {\n value: 'OBC_NCL',\n label: 'OBC — Non-Creamy Layer',\n description: 'Other Backward Class, eligible for reservation',\n },\n {\n value: 'OBC_CL',\n label: 'OBC — Creamy Layer',\n description: 'Other Backward Class, income above the creamy-layer threshold',\n },\n {\n value: 'MBC',\n label: 'Most Backward Class (MBC)',\n description: 'State sub-category of OBC (e.g., Tamil Nadu, Bihar)',\n },\n {\n value: 'SEBC',\n label: 'Socially & Educationally Backward Class (SEBC)',\n description: 'State-notified SEBC (e.g., Maharashtra, Gujarat)',\n },\n {\n value: 'SBC',\n label: 'Special Backward Class (SBC)',\n description: 'State-notified special backward category',\n },\n {\n value: 'DNT_NT',\n label: 'Denotified / Nomadic Tribes (DNT / NT / VJNT)',\n description: 'Denotified, Nomadic, and Semi-Nomadic communities',\n },\n {\n value: 'EWS',\n label: 'Economically Weaker Section (EWS)',\n description: '10% reservation for unreserved categories (103rd Amendment)',\n },\n { value: 'GENERAL', label: 'General / Unreserved', description: 'No reservation category' },\n { value: 'DONT_KNOW', label: \"Don't know\", description: 'Not sure of the category' },\n { value: 'PREFER_NOT_TO_SAY', label: 'Prefer not to say', description: 'Keep this private' },\n] as const;\n\n/**\n * Minority status — per Ministry of Minority Affairs, Government of India.\n * 6 religious minorities are centrally notified. Linguistic minorities are\n * defined at the state level (mother tongue ≠ majority language of the state).\n */\nexport const minorityOptions = [\n { value: 'NO', label: 'No', description: 'Not a minority community' },\n {\n value: 'MUSLIM',\n label: 'Religious Minority — Muslim',\n description: 'Centrally notified religious minority',\n },\n {\n value: 'CHRISTIAN',\n label: 'Religious Minority — Christian',\n description: 'Centrally notified religious minority',\n },\n {\n value: 'SIKH',\n label: 'Religious Minority — Sikh',\n description: 'Centrally notified religious minority',\n },\n {\n value: 'BUDDHIST',\n label: 'Religious Minority — Buddhist',\n description: 'Centrally notified religious minority',\n },\n {\n value: 'JAIN',\n label: 'Religious Minority — Jain',\n description: 'Centrally notified religious minority (2014)',\n },\n {\n value: 'PARSI',\n label: 'Religious Minority — Parsi / Zoroastrian',\n description: 'Centrally notified religious minority',\n },\n {\n value: 'LINGUISTIC',\n label: 'Linguistic Minority',\n description: 'Mother tongue is not the majority language of your state',\n },\n {\n value: 'BOTH',\n label: 'Both religious and linguistic minority',\n description: 'Belongs to a religious minority AND a linguistic minority',\n },\n { value: 'NOT_SURE', label: 'Not sure', description: \"Don't know if you're a minority\" },\n { value: 'PREFER_NOT_TO_SAY', label: 'Prefer not to say', description: 'Keep this private' },\n] as const;\n\n// ─── Field Group ────────────────────────────────────────────────────────────\n\nexport const profile: FieldGroup = {\n key: 'profile',\n label: 'Profile',\n description: 'Basic personal information — name, gender, date of birth, language, and religion.',\n step: 1,\n fields: [\n {\n order: 1,\n key: 'fullName',\n label: 'Full Name',\n type: 'object',\n step: 1,\n isOnboarding: true,\n description: 'First, middle, and last name as per Aadhaar or other govt ID',\n },\n {\n order: 4,\n key: 'gender',\n label: 'Gender',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...genderOptions],\n },\n {\n order: 5,\n key: 'dateOfBirth',\n label: 'Date of Birth',\n type: 'date',\n step: 1,\n isOnboarding: true,\n },\n {\n order: 6,\n key: 'whatsappNumber',\n label: 'WhatsApp Number',\n type: 'text',\n step: 1,\n isOnboarding: true,\n optional: true,\n description: 'Include country code',\n },\n {\n order: 7,\n key: 'primaryLanguage',\n label: 'Primary Language',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...languageOptions],\n },\n {\n order: 8,\n key: 'secondaryLanguages',\n label: 'Secondary Languages',\n type: 'multi_select',\n step: 1,\n isOnboarding: true,\n optional: true,\n options: [...languageOptions],\n maxSelect: 10,\n },\n {\n order: 9,\n key: 'familyReligion',\n label: 'Family Religion',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...religionOptions],\n },\n {\n order: 10,\n key: 'personalReligion',\n label: 'Personal Religion',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n optional: true,\n options: [...religionOptions],\n },\n {\n order: 11,\n key: 'reservationStatus',\n label: 'Reservation Category',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...reservationOptions],\n sensitive: true,\n },\n {\n order: 12,\n key: 'minorityStatus',\n label: 'Minority Status',\n type: 'single_select',\n step: 1,\n isOnboarding: true,\n options: [...minorityOptions],\n },\n ],\n};\n"]}
@@ -86,17 +86,28 @@ export declare const step01ProfileSchema: z.ZodObject<{
86
86
  reservationStatus: z.ZodOptional<z.ZodEnum<{
87
87
  SC: "SC";
88
88
  ST: "ST";
89
- OBC_NC: "OBC_NC";
90
- OBC_C: "OBC_C";
89
+ OBC_NCL: "OBC_NCL";
90
+ OBC_CL: "OBC_CL";
91
+ MBC: "MBC";
92
+ SEBC: "SEBC";
93
+ SBC: "SBC";
94
+ DNT_NT: "DNT_NT";
91
95
  EWS: "EWS";
92
96
  GENERAL: "GENERAL";
93
97
  DONT_KNOW: "DONT_KNOW";
94
- PREFER_NOT_SAY: "PREFER_NOT_SAY";
98
+ PREFER_NOT_TO_SAY: "PREFER_NOT_TO_SAY";
95
99
  }>>;
96
100
  minorityStatus: z.ZodOptional<z.ZodEnum<{
101
+ PREFER_NOT_TO_SAY: "PREFER_NOT_TO_SAY";
97
102
  NO: "NO";
98
- RELIGIOUS: "RELIGIOUS";
103
+ MUSLIM: "MUSLIM";
104
+ CHRISTIAN: "CHRISTIAN";
105
+ SIKH: "SIKH";
106
+ BUDDHIST: "BUDDHIST";
107
+ JAIN: "JAIN";
108
+ PARSI: "PARSI";
99
109
  LINGUISTIC: "LINGUISTIC";
110
+ BOTH: "BOTH";
100
111
  NOT_SURE: "NOT_SURE";
101
112
  }>>;
102
113
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"step-01.schema.d.ts","sourceRoot":"","sources":["../src/step-01.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwG9B,CAAC;AAIH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"step-01.schema.d.ts","sourceRoot":"","sources":["../src/step-01.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmI9B,CAAC;AAIH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -99,11 +99,38 @@ export const step01ProfileSchema = z.object({
99
99
  'prefer_not_to_say',
100
100
  ])
101
101
  .optional(),
102
- /** Reservation / caste category */
102
+ /** Reservation / caste category — exhaustive per central + state notifications. */
103
103
  reservationStatus: z
104
- .enum(['SC', 'ST', 'OBC_NC', 'OBC_C', 'EWS', 'GENERAL', 'DONT_KNOW', 'PREFER_NOT_SAY'])
104
+ .enum([
105
+ 'SC',
106
+ 'ST',
107
+ 'OBC_NCL',
108
+ 'OBC_CL',
109
+ 'MBC',
110
+ 'SEBC',
111
+ 'SBC',
112
+ 'DNT_NT',
113
+ 'EWS',
114
+ 'GENERAL',
115
+ 'DONT_KNOW',
116
+ 'PREFER_NOT_TO_SAY',
117
+ ])
118
+ .optional(),
119
+ /** Minority community status — per Ministry of Minority Affairs (6 religious + linguistic). */
120
+ minorityStatus: z
121
+ .enum([
122
+ 'NO',
123
+ 'MUSLIM',
124
+ 'CHRISTIAN',
125
+ 'SIKH',
126
+ 'BUDDHIST',
127
+ 'JAIN',
128
+ 'PARSI',
129
+ 'LINGUISTIC',
130
+ 'BOTH',
131
+ 'NOT_SURE',
132
+ 'PREFER_NOT_TO_SAY',
133
+ ])
105
134
  .optional(),
106
- /** Minority community status */
107
- minorityStatus: z.enum(['NO', 'RELIGIOUS', 'LINGUISTIC', 'NOT_SURE']).optional(),
108
135
  });
109
136
  //# sourceMappingURL=step-01.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"step-01.schema.js","sourceRoot":"","sources":["../src/step-01.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,UAAU,EAAE,qBAAqB;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAE9C,gFAAgF;IAChF,MAAM,EAAE,CAAC;SACN,IAAI,CAAC;QACJ,KAAK;QACL,OAAO;QACP,YAAY;QACZ,WAAW;QACX,aAAa;QACb,aAAa;QACb,aAAa;QACb,SAAS;QACT,UAAU;QACV,WAAW;QACX,aAAa;QACb,UAAU;QACV,sBAAsB;QACtB,YAAY;QACZ,OAAO;QACP,OAAO;QACP,mBAAmB;KACpB,CAAC;SACD,QAAQ,EAAE;IAEb,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;IAE7E,cAAc,EAAE,mBAAmB;IAEnC,mGAAmG;IACnG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAE7C,qCAAqC;IACrC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEjE;;;OAGG;IACH,cAAc,EAAE,CAAC;SACd,IAAI,CAAC;QACJ,OAAO;QACP,cAAc;QACd,aAAa;QACb,aAAa;QACb,cAAc;QACd,oBAAoB;QACpB,sBAAsB;QACtB,iBAAiB;QACjB,MAAM;QACN,eAAe;QACf,iBAAiB;QACjB,UAAU;QACV,mBAAmB;QACnB,QAAQ;QACR,OAAO;QACP,WAAW;QACX,SAAS;QACT,UAAU;QACV,aAAa;QACb,gBAAgB;QAChB,OAAO;QACP,mBAAmB;KACpB,CAAC;SACD,QAAQ,EAAE;IAEb,yDAAyD;IACzD,gBAAgB,EAAE,CAAC;SAChB,IAAI,CAAC;QACJ,OAAO;QACP,cAAc;QACd,aAAa;QACb,aAAa;QACb,cAAc;QACd,oBAAoB;QACpB,sBAAsB;QACtB,iBAAiB;QACjB,MAAM;QACN,eAAe;QACf,iBAAiB;QACjB,UAAU;QACV,mBAAmB;QACnB,QAAQ;QACR,OAAO;QACP,WAAW;QACX,SAAS;QACT,UAAU;QACV,aAAa;QACb,gBAAgB;QAChB,OAAO;QACP,mBAAmB;KACpB,CAAC;SACD,QAAQ,EAAE;IAEb,mCAAmC;IACnC,iBAAiB,EAAE,CAAC;SACjB,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;SACtF,QAAQ,EAAE;IAEb,gCAAgC;IAChC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjF,CAAC,CAAC","sourcesContent":["/**\n * Step 01 — Profile\n *\n * Fields: firstName, middleName, lastName, gender, dateOfBirth,\n * whatsappNumber, primaryLanguage, secondaryLanguages,\n * familyReligion, personalReligion, reservationStatus, minorityStatus\n *\n * @module udp-schema/step-01\n */\n\nimport { z } from 'zod';\nimport {\n emptyStringToUndefined,\n optionalPhoneSchema,\n optionalTrimmedString,\n} from './zod-helpers.js';\n\n// ─── Main Step 01 Schema ────────────────────────────────────────────────────\n\nexport const step01ProfileSchema = z.object({\n firstName: z.string().trim().max(50).optional(),\n middleName: optionalTrimmedString,\n lastName: z.string().trim().max(50).optional(),\n\n /** Gender — matches dating-schema enum EXACTLY (same values, same spelling). */\n gender: z\n .enum([\n 'man',\n 'woman',\n 'non_binary',\n 'trans_man',\n 'trans_woman',\n 'genderfluid',\n 'genderqueer',\n 'agender',\n 'bigender',\n 'pangender',\n 'androgynous',\n 'intersex',\n 'gender_nonconforming',\n 'two_spirit',\n 'hijra',\n 'other',\n 'prefer_not_to_say',\n ])\n .optional(),\n\n dateOfBirth: z.preprocess(emptyStringToUndefined, z.coerce.date().optional()),\n\n whatsappNumber: optionalPhoneSchema,\n\n /** Single language code string (e.g., \"hindi\", \"english\") — matches dating motherTongue options */\n primaryLanguage: z.string().trim().optional(),\n\n /** Array of language code strings */\n secondaryLanguages: z.array(z.string().trim()).max(10).optional(),\n\n /**\n * Family religion — uses dating-schema religion option values.\n * e.g., \"hindu\", \"muslim_sunni\", \"christian_catholic\", etc.\n */\n familyReligion: z\n .enum([\n 'hindu',\n 'muslim_sunni',\n 'muslim_shia',\n 'muslim_sufi',\n 'muslim_other',\n 'christian_catholic',\n 'christian_protestant',\n 'christian_other',\n 'sikh',\n 'jain_digambar',\n 'jain_shwetambar',\n 'buddhist',\n 'parsi_zoroastrian',\n 'jewish',\n 'bahai',\n 'spiritual',\n 'atheist',\n 'agnostic',\n 'no_religion',\n 'inter_religion',\n 'other',\n 'prefer_not_to_say',\n ])\n .optional(),\n\n /** Personal religion — same options as familyReligion */\n personalReligion: z\n .enum([\n 'hindu',\n 'muslim_sunni',\n 'muslim_shia',\n 'muslim_sufi',\n 'muslim_other',\n 'christian_catholic',\n 'christian_protestant',\n 'christian_other',\n 'sikh',\n 'jain_digambar',\n 'jain_shwetambar',\n 'buddhist',\n 'parsi_zoroastrian',\n 'jewish',\n 'bahai',\n 'spiritual',\n 'atheist',\n 'agnostic',\n 'no_religion',\n 'inter_religion',\n 'other',\n 'prefer_not_to_say',\n ])\n .optional(),\n\n /** Reservation / caste category */\n reservationStatus: z\n .enum(['SC', 'ST', 'OBC_NC', 'OBC_C', 'EWS', 'GENERAL', 'DONT_KNOW', 'PREFER_NOT_SAY'])\n .optional(),\n\n /** Minority community status */\n minorityStatus: z.enum(['NO', 'RELIGIOUS', 'LINGUISTIC', 'NOT_SURE']).optional(),\n});\n\n// ─── Inferred types ─────────────────────────────────────────────────────────\n\nexport type Step01ProfileInput = z.infer<typeof step01ProfileSchema>;\n"]}
1
+ {"version":3,"file":"step-01.schema.js","sourceRoot":"","sources":["../src/step-01.schema.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Step 01 — Profile\n *\n * Fields: firstName, middleName, lastName, gender, dateOfBirth,\n * whatsappNumber, primaryLanguage, secondaryLanguages,\n * familyReligion, personalReligion, reservationStatus, minorityStatus\n *\n * @module udp-schema/step-01\n */\n\nimport { z } from 'zod';\nimport {\n emptyStringToUndefined,\n optionalPhoneSchema,\n optionalTrimmedString,\n} from './zod-helpers.js';\n\n// ─── Main Step 01 Schema ────────────────────────────────────────────────────\n\nexport const step01ProfileSchema = z.object({\n firstName: z.string().trim().max(50).optional(),\n middleName: optionalTrimmedString,\n lastName: z.string().trim().max(50).optional(),\n\n /** Gender — matches dating-schema enum EXACTLY (same values, same spelling). */\n gender: z\n .enum([\n 'man',\n 'woman',\n 'non_binary',\n 'trans_man',\n 'trans_woman',\n 'genderfluid',\n 'genderqueer',\n 'agender',\n 'bigender',\n 'pangender',\n 'androgynous',\n 'intersex',\n 'gender_nonconforming',\n 'two_spirit',\n 'hijra',\n 'other',\n 'prefer_not_to_say',\n ])\n .optional(),\n\n dateOfBirth: z.preprocess(emptyStringToUndefined, z.coerce.date().optional()),\n\n whatsappNumber: optionalPhoneSchema,\n\n /** Single language code string (e.g., \"hindi\", \"english\") — matches dating motherTongue options */\n primaryLanguage: z.string().trim().optional(),\n\n /** Array of language code strings */\n secondaryLanguages: z.array(z.string().trim()).max(10).optional(),\n\n /**\n * Family religion — uses dating-schema religion option values.\n * e.g., \"hindu\", \"muslim_sunni\", \"christian_catholic\", etc.\n */\n familyReligion: z\n .enum([\n 'hindu',\n 'muslim_sunni',\n 'muslim_shia',\n 'muslim_sufi',\n 'muslim_other',\n 'christian_catholic',\n 'christian_protestant',\n 'christian_other',\n 'sikh',\n 'jain_digambar',\n 'jain_shwetambar',\n 'buddhist',\n 'parsi_zoroastrian',\n 'jewish',\n 'bahai',\n 'spiritual',\n 'atheist',\n 'agnostic',\n 'no_religion',\n 'inter_religion',\n 'other',\n 'prefer_not_to_say',\n ])\n .optional(),\n\n /** Personal religion — same options as familyReligion */\n personalReligion: z\n .enum([\n 'hindu',\n 'muslim_sunni',\n 'muslim_shia',\n 'muslim_sufi',\n 'muslim_other',\n 'christian_catholic',\n 'christian_protestant',\n 'christian_other',\n 'sikh',\n 'jain_digambar',\n 'jain_shwetambar',\n 'buddhist',\n 'parsi_zoroastrian',\n 'jewish',\n 'bahai',\n 'spiritual',\n 'atheist',\n 'agnostic',\n 'no_religion',\n 'inter_religion',\n 'other',\n 'prefer_not_to_say',\n ])\n .optional(),\n\n /** Reservation / caste category — exhaustive per central + state notifications. */\n reservationStatus: z\n .enum([\n 'SC',\n 'ST',\n 'OBC_NCL',\n 'OBC_CL',\n 'MBC',\n 'SEBC',\n 'SBC',\n 'DNT_NT',\n 'EWS',\n 'GENERAL',\n 'DONT_KNOW',\n 'PREFER_NOT_TO_SAY',\n ])\n .optional(),\n\n /** Minority community status — per Ministry of Minority Affairs (6 religious + linguistic). */\n minorityStatus: z\n .enum([\n 'NO',\n 'MUSLIM',\n 'CHRISTIAN',\n 'SIKH',\n 'BUDDHIST',\n 'JAIN',\n 'PARSI',\n 'LINGUISTIC',\n 'BOTH',\n 'NOT_SURE',\n 'PREFER_NOT_TO_SAY',\n ])\n .optional(),\n});\n\n// ─── Inferred types ─────────────────────────────────────────────────────────\n\nexport type Step01ProfileInput = z.infer<typeof step01ProfileSchema>;\n"]}
@@ -21,10 +21,10 @@ export declare const step10WorldViewSchema: z.ZodObject<{
21
21
  viewOnTransgenderInclusion: z.ZodOptional<z.ZodArray<z.ZodString>>;
22
22
  viewOnTransgenderOpinion: z.ZodOptional<z.ZodString>;
23
23
  facingCasteDiscrimination: z.ZodOptional<z.ZodEnum<{
24
- PREFER_NOT_SAY: "PREFER_NOT_SAY";
25
24
  NO: "NO";
26
25
  YES_OFTEN: "YES_OFTEN";
27
26
  YES_SOMETIMES: "YES_SOMETIMES";
27
+ PREFER_NOT_SAY: "PREFER_NOT_SAY";
28
28
  }>>;
29
29
  casteDiscriminationPlaces: z.ZodOptional<z.ZodArray<z.ZodString>>;
30
30
  viewOnGenderEquality: z.ZodOptional<z.ZodEnum<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "udp-schema",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "description": "Shared Zod schemas for User Detailed Profile (frontend + backend).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",