udp-schema 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -14,4 +14,5 @@ export { type Step05LeadershipInput, step05LeadershipSchema, } from './step-05.s
14
14
  export { type Step06HouseholdInput, step06HouseholdSchema, } from './step-06.schema.js';
15
15
  export { type CertificateEntryInput, certificateEntrySchema, type DegreeEntryInput, degreeEntrySchema, type Step07EducationInput, step07EducationSchema, } from './step-07.schema.js';
16
16
  export { type Step08EmploymentInput, step08EmploymentSchema, } from './step-08.schema.js';
17
+ export { type Step09NeurodiversityInput, step09NeurodiversitySchema, } from './step-09.schema.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,KAAK,yBAAyB,EAC9B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,YAAY,EACjB,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,mBAAmB,EACxB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,qBAAqB,EAC1B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,oBAAoB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,qBAAqB,EAC1B,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,qBAAqB,EAC1B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,iBAAiB,EACjB,KAAK,yBAAyB,EAC9B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,YAAY,EACjB,aAAa,EACb,aAAa,EACb,KAAK,oBAAoB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,mBAAmB,EACxB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,qBAAqB,EAC1B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,oBAAoB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,qBAAqB,EAC1B,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,qBAAqB,EAC1B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,KAAK,yBAAyB,EAC9B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -23,4 +23,6 @@ export { step06HouseholdSchema, } from './step-06.schema.js';
23
23
  export { certificateEntrySchema, degreeEntrySchema, step07EducationSchema, } from './step-07.schema.js';
24
24
  // Step 08 — Employment & Occupation
25
25
  export { step08EmploymentSchema, } from './step-08.schema.js';
26
+ // Step 09 — Neurodiversity & Learning Profile
27
+ export { step09NeurodiversitySchema, } from './step-09.schema.js';
26
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,UAAU;AACV,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,+BAA+B;AAC/B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAGlB,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,4BAA4B;AAC5B,OAAO,EACL,iBAAiB,EAEjB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,gCAAgC;AAChC,OAAO,EAEL,aAAa,EACb,aAAa,EAEb,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,sCAAsC;AACtC,OAAO,EAEL,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,0DAA0D;AAC1D,OAAO,EAEL,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,kDAAkD;AAClD,OAAO,EAEL,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,8BAA8B;AAC9B,OAAO,EAEL,sBAAsB,EAEtB,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,oCAAoC;AACpC,OAAO,EAEL,sBAAsB,GACvB,MAAM,qBAAqB,CAAC","sourcesContent":["/**\n * udp-schema — Shared Zod schemas for User Detailed Profile\n *\n * Single source of truth consumed by both survey-frontend and survey-backend.\n *\n * @module udp-schema\n */\n\n// Helpers\nexport {\n emptyStringToUndefined,\n optionalPhoneSchema,\n optionalTrimmedString,\n optionalYearSchema,\n} from './helpers.js';\n\n// Step 01 — Profile Onboarding\nexport {\n assistedBySurveyorSchema,\n languageValueSchema,\n profilePhotoSchema,\n type Step01OnboardingFormInput,\n type Step01OnboardingInput,\n secondaryLanguageItemSchema,\n step01OnboardingSchema,\n} from './step-01.schema.js';\n\n// Step 02 — Contact Details\nexport {\n optionalUrlSchema,\n type Step02ContactDetailsInput,\n step02ContactDetailsSchema,\n} from './step-02.schema.js';\n\n// Step 03 — Residence / Address\nexport {\n type AddressInput,\n addressSchema,\n areaRefSchema,\n type Step03ResidenceInput,\n step03ResidenceSchema,\n} from './step-03.schema.js';\n\n// Step 04 — Identity & Social Profile\nexport {\n type Step04IdentityInput,\n step04IdentitySchema,\n} from './step-04.schema.js';\n\n// Step 05 — Leadership, Contribution & Political Ambition\nexport {\n type Step05LeadershipInput,\n step05LeadershipSchema,\n} from './step-05.schema.js';\n\n// Step 06 — Household, Economic & Digital Profile\nexport {\n type Step06HouseholdInput,\n step06HouseholdSchema,\n} from './step-06.schema.js';\n\n// Step 07 — Education History\nexport {\n type CertificateEntryInput,\n certificateEntrySchema,\n type DegreeEntryInput,\n degreeEntrySchema,\n type Step07EducationInput,\n step07EducationSchema,\n} from './step-07.schema.js';\n\n// Step 08 — Employment & Occupation\nexport {\n type Step08EmploymentInput,\n step08EmploymentSchema,\n} from './step-08.schema.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,UAAU;AACV,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,+BAA+B;AAC/B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAGlB,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,4BAA4B;AAC5B,OAAO,EACL,iBAAiB,EAEjB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,gCAAgC;AAChC,OAAO,EAEL,aAAa,EACb,aAAa,EAEb,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,sCAAsC;AACtC,OAAO,EAEL,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,0DAA0D;AAC1D,OAAO,EAEL,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,kDAAkD;AAClD,OAAO,EAEL,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,8BAA8B;AAC9B,OAAO,EAEL,sBAAsB,EAEtB,iBAAiB,EAEjB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,oCAAoC;AACpC,OAAO,EAEL,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,8CAA8C;AAC9C,OAAO,EAEL,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC","sourcesContent":["/**\n * udp-schema — Shared Zod schemas for User Detailed Profile\n *\n * Single source of truth consumed by both survey-frontend and survey-backend.\n *\n * @module udp-schema\n */\n\n// Helpers\nexport {\n emptyStringToUndefined,\n optionalPhoneSchema,\n optionalTrimmedString,\n optionalYearSchema,\n} from './helpers.js';\n\n// Step 01 — Profile Onboarding\nexport {\n assistedBySurveyorSchema,\n languageValueSchema,\n profilePhotoSchema,\n type Step01OnboardingFormInput,\n type Step01OnboardingInput,\n secondaryLanguageItemSchema,\n step01OnboardingSchema,\n} from './step-01.schema.js';\n\n// Step 02 — Contact Details\nexport {\n optionalUrlSchema,\n type Step02ContactDetailsInput,\n step02ContactDetailsSchema,\n} from './step-02.schema.js';\n\n// Step 03 — Residence / Address\nexport {\n type AddressInput,\n addressSchema,\n areaRefSchema,\n type Step03ResidenceInput,\n step03ResidenceSchema,\n} from './step-03.schema.js';\n\n// Step 04 — Identity & Social Profile\nexport {\n type Step04IdentityInput,\n step04IdentitySchema,\n} from './step-04.schema.js';\n\n// Step 05 — Leadership, Contribution & Political Ambition\nexport {\n type Step05LeadershipInput,\n step05LeadershipSchema,\n} from './step-05.schema.js';\n\n// Step 06 — Household, Economic & Digital Profile\nexport {\n type Step06HouseholdInput,\n step06HouseholdSchema,\n} from './step-06.schema.js';\n\n// Step 07 — Education History\nexport {\n type CertificateEntryInput,\n certificateEntrySchema,\n type DegreeEntryInput,\n degreeEntrySchema,\n type Step07EducationInput,\n step07EducationSchema,\n} from './step-07.schema.js';\n\n// Step 08 — Employment & Occupation\nexport {\n type Step08EmploymentInput,\n step08EmploymentSchema,\n} from './step-08.schema.js';\n\n// Step 09 — Neurodiversity & Learning Profile\nexport {\n type Step09NeurodiversityInput,\n step09NeurodiversitySchema,\n} from './step-09.schema.js';\n"]}
@@ -0,0 +1,88 @@
1
+ import { z } from 'zod';
2
+ export declare const NEURODIVERGENT_SELF_ID: readonly ["NO", "YES_DIAGNOSED", "YES_SELF_IDENTIFIED", "NOT_SURE"];
3
+ export declare const NEURODIVERGENT_CONDITIONS: readonly ["ADHD", "ASD", "DYSLEXIA", "DYSCALCULIA", "DYSGRAPHIA", "DYSPRAXIA", "TOURETTE", "OCD", "HYPERLEXIA", "OTHER"];
4
+ export declare const SENSORY_SENSITIVITIES: readonly ["LOUD_NOISE", "BRIGHT_LIGHT", "STRONG_SMELLS", "TOUCH", "CROWDS", "TEMPERATURE", "TEXTURE_FOOD", "TEXTURE_CLOTHING", "OTHER", "NONE"];
5
+ export declare const LEARNING_STYLES: readonly ["VISUAL", "AUDITORY", "READING_WRITING", "HANDS_ON", "ONE_TO_ONE", "GROUP_DISCUSSION", "STORYTELLING", "REPETITION_PRACTICE"];
6
+ export declare const COMMUNICATION_PREFERENCES: readonly ["PREFER_WRITTEN", "PREFER_VOICE", "NEED_MORE_TIME", "PREFER_STEP_BY_STEP", "PREFER_EXAMPLES", "PREFER_SHORT_MEETINGS", "PREFER_REMINDERS", "PREFER_VISUAL_AIDS", "PREFER_DIRECT_LANGUAGE"];
7
+ export declare const EXECUTIVE_FUNCTION_CHALLENGES: readonly ["PLANNING", "TIME_MANAGEMENT", "TASK_INITIATION", "TASK_SWITCHING", "EMOTIONAL_REGULATION", "WORKING_MEMORY", "ORGANIZATION", "IMPULSE_CONTROL", "NONE"];
8
+ export declare const WORKPLACE_STUDY_ACCOMMODATIONS: readonly ["QUIET_SPACE", "FLEXIBLE_DEADLINES", "WRITTEN_INSTRUCTIONS", "EXTRA_TIME", "FREQUENT_BREAKS", "REDUCED_DISTRACTIONS", "ASSISTIVE_TECHNOLOGY", "CLEAR_EXPECTATIONS", "REGULAR_CHECK_INS", "NONE_NEEDED"];
9
+ export declare const step09NeurodiversitySchema: z.ZodObject<{
10
+ neurodivergentSelfIdentification: z.ZodEnum<{
11
+ NO: "NO";
12
+ NOT_SURE: "NOT_SURE";
13
+ YES_DIAGNOSED: "YES_DIAGNOSED";
14
+ YES_SELF_IDENTIFIED: "YES_SELF_IDENTIFIED";
15
+ }>;
16
+ neurodivergentConditions: z.ZodOptional<z.ZodArray<z.ZodEnum<{
17
+ OTHER: "OTHER";
18
+ ADHD: "ADHD";
19
+ ASD: "ASD";
20
+ DYSLEXIA: "DYSLEXIA";
21
+ DYSCALCULIA: "DYSCALCULIA";
22
+ DYSGRAPHIA: "DYSGRAPHIA";
23
+ DYSPRAXIA: "DYSPRAXIA";
24
+ TOURETTE: "TOURETTE";
25
+ OCD: "OCD";
26
+ HYPERLEXIA: "HYPERLEXIA";
27
+ }>>>;
28
+ neurodiversityDiagnosisSource: z.ZodOptional<z.ZodString>;
29
+ sensorySensitivities: z.ZodOptional<z.ZodArray<z.ZodEnum<{
30
+ OTHER: "OTHER";
31
+ NONE: "NONE";
32
+ LOUD_NOISE: "LOUD_NOISE";
33
+ BRIGHT_LIGHT: "BRIGHT_LIGHT";
34
+ STRONG_SMELLS: "STRONG_SMELLS";
35
+ TOUCH: "TOUCH";
36
+ CROWDS: "CROWDS";
37
+ TEMPERATURE: "TEMPERATURE";
38
+ TEXTURE_FOOD: "TEXTURE_FOOD";
39
+ TEXTURE_CLOTHING: "TEXTURE_CLOTHING";
40
+ }>>>;
41
+ executiveFunctionChallenges: z.ZodOptional<z.ZodArray<z.ZodEnum<{
42
+ NONE: "NONE";
43
+ PLANNING: "PLANNING";
44
+ TIME_MANAGEMENT: "TIME_MANAGEMENT";
45
+ TASK_INITIATION: "TASK_INITIATION";
46
+ TASK_SWITCHING: "TASK_SWITCHING";
47
+ EMOTIONAL_REGULATION: "EMOTIONAL_REGULATION";
48
+ WORKING_MEMORY: "WORKING_MEMORY";
49
+ ORGANIZATION: "ORGANIZATION";
50
+ IMPULSE_CONTROL: "IMPULSE_CONTROL";
51
+ }>>>;
52
+ learningStylePreference: z.ZodOptional<z.ZodArray<z.ZodEnum<{
53
+ VISUAL: "VISUAL";
54
+ AUDITORY: "AUDITORY";
55
+ READING_WRITING: "READING_WRITING";
56
+ HANDS_ON: "HANDS_ON";
57
+ ONE_TO_ONE: "ONE_TO_ONE";
58
+ GROUP_DISCUSSION: "GROUP_DISCUSSION";
59
+ STORYTELLING: "STORYTELLING";
60
+ REPETITION_PRACTICE: "REPETITION_PRACTICE";
61
+ }>>>;
62
+ communicationPreferences: z.ZodOptional<z.ZodArray<z.ZodEnum<{
63
+ PREFER_WRITTEN: "PREFER_WRITTEN";
64
+ PREFER_VOICE: "PREFER_VOICE";
65
+ NEED_MORE_TIME: "NEED_MORE_TIME";
66
+ PREFER_STEP_BY_STEP: "PREFER_STEP_BY_STEP";
67
+ PREFER_EXAMPLES: "PREFER_EXAMPLES";
68
+ PREFER_SHORT_MEETINGS: "PREFER_SHORT_MEETINGS";
69
+ PREFER_REMINDERS: "PREFER_REMINDERS";
70
+ PREFER_VISUAL_AIDS: "PREFER_VISUAL_AIDS";
71
+ PREFER_DIRECT_LANGUAGE: "PREFER_DIRECT_LANGUAGE";
72
+ }>>>;
73
+ workplaceStudyAccommodations: z.ZodOptional<z.ZodArray<z.ZodEnum<{
74
+ QUIET_SPACE: "QUIET_SPACE";
75
+ FLEXIBLE_DEADLINES: "FLEXIBLE_DEADLINES";
76
+ WRITTEN_INSTRUCTIONS: "WRITTEN_INSTRUCTIONS";
77
+ EXTRA_TIME: "EXTRA_TIME";
78
+ FREQUENT_BREAKS: "FREQUENT_BREAKS";
79
+ REDUCED_DISTRACTIONS: "REDUCED_DISTRACTIONS";
80
+ ASSISTIVE_TECHNOLOGY: "ASSISTIVE_TECHNOLOGY";
81
+ CLEAR_EXPECTATIONS: "CLEAR_EXPECTATIONS";
82
+ REGULAR_CHECK_INS: "REGULAR_CHECK_INS";
83
+ NONE_NEEDED: "NONE_NEEDED";
84
+ }>>>;
85
+ neurodiversitySupportNeeds: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strip>;
87
+ export type Step09NeurodiversityInput = z.infer<typeof step09NeurodiversitySchema>;
88
+ //# sourceMappingURL=step-09.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-09.schema.d.ts","sourceRoot":"","sources":["../src/step-09.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,sBAAsB,qEAKzB,CAAC;AAEX,eAAO,MAAM,yBAAyB,0HAW5B,CAAC;AAEX,eAAO,MAAM,qBAAqB,iJAWxB,CAAC;AAEX,eAAO,MAAM,eAAe,yIASlB,CAAC;AAEX,eAAO,MAAM,yBAAyB,sMAU5B,CAAC;AAEX,eAAO,MAAM,6BAA6B,oKAUhC,CAAC;AAEX,eAAO,MAAM,8BAA8B,mNAWjC,CAAC;AAIX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoDrC,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
@@ -0,0 +1,123 @@
1
+ import { z } from 'zod';
2
+ // ─── Enums ────────────────────────────────────────────────────────────────────
3
+ export const NEURODIVERGENT_SELF_ID = [
4
+ 'NO',
5
+ 'YES_DIAGNOSED',
6
+ 'YES_SELF_IDENTIFIED',
7
+ 'NOT_SURE',
8
+ ];
9
+ export const NEURODIVERGENT_CONDITIONS = [
10
+ 'ADHD',
11
+ 'ASD',
12
+ 'DYSLEXIA',
13
+ 'DYSCALCULIA',
14
+ 'DYSGRAPHIA',
15
+ 'DYSPRAXIA',
16
+ 'TOURETTE',
17
+ 'OCD',
18
+ 'HYPERLEXIA',
19
+ 'OTHER',
20
+ ];
21
+ export const SENSORY_SENSITIVITIES = [
22
+ 'LOUD_NOISE',
23
+ 'BRIGHT_LIGHT',
24
+ 'STRONG_SMELLS',
25
+ 'TOUCH',
26
+ 'CROWDS',
27
+ 'TEMPERATURE',
28
+ 'TEXTURE_FOOD',
29
+ 'TEXTURE_CLOTHING',
30
+ 'OTHER',
31
+ 'NONE',
32
+ ];
33
+ export const LEARNING_STYLES = [
34
+ 'VISUAL',
35
+ 'AUDITORY',
36
+ 'READING_WRITING',
37
+ 'HANDS_ON',
38
+ 'ONE_TO_ONE',
39
+ 'GROUP_DISCUSSION',
40
+ 'STORYTELLING',
41
+ 'REPETITION_PRACTICE',
42
+ ];
43
+ export const COMMUNICATION_PREFERENCES = [
44
+ 'PREFER_WRITTEN',
45
+ 'PREFER_VOICE',
46
+ 'NEED_MORE_TIME',
47
+ 'PREFER_STEP_BY_STEP',
48
+ 'PREFER_EXAMPLES',
49
+ 'PREFER_SHORT_MEETINGS',
50
+ 'PREFER_REMINDERS',
51
+ 'PREFER_VISUAL_AIDS',
52
+ 'PREFER_DIRECT_LANGUAGE',
53
+ ];
54
+ export const EXECUTIVE_FUNCTION_CHALLENGES = [
55
+ 'PLANNING',
56
+ 'TIME_MANAGEMENT',
57
+ 'TASK_INITIATION',
58
+ 'TASK_SWITCHING',
59
+ 'EMOTIONAL_REGULATION',
60
+ 'WORKING_MEMORY',
61
+ 'ORGANIZATION',
62
+ 'IMPULSE_CONTROL',
63
+ 'NONE',
64
+ ];
65
+ export const WORKPLACE_STUDY_ACCOMMODATIONS = [
66
+ 'QUIET_SPACE',
67
+ 'FLEXIBLE_DEADLINES',
68
+ 'WRITTEN_INSTRUCTIONS',
69
+ 'EXTRA_TIME',
70
+ 'FREQUENT_BREAKS',
71
+ 'REDUCED_DISTRACTIONS',
72
+ 'ASSISTIVE_TECHNOLOGY',
73
+ 'CLEAR_EXPECTATIONS',
74
+ 'REGULAR_CHECK_INS',
75
+ 'NONE_NEEDED',
76
+ ];
77
+ // ─── Schema ───────────────────────────────────────────────────────────────────
78
+ export const step09NeurodiversitySchema = z.object({
79
+ /**
80
+ * 9.1 Self-identification — required.
81
+ * Anchors whether follow-up condition / source fields are shown.
82
+ */
83
+ neurodivergentSelfIdentification: z.enum(NEURODIVERGENT_SELF_ID, {
84
+ message: 'Please select an option.',
85
+ }),
86
+ /**
87
+ * 9.2 Conditions — shown when self-ID is YES_DIAGNOSED, YES_SELF_IDENTIFIED, or NOT_SURE.
88
+ * Multi-select.
89
+ */
90
+ neurodivergentConditions: z.array(z.enum(NEURODIVERGENT_CONDITIONS)).optional(),
91
+ /**
92
+ * 9.3 Diagnosis source — e.g. "school psychologist", "self-research", "therapist".
93
+ */
94
+ neurodiversityDiagnosisSource: z.string().trim().optional(),
95
+ /**
96
+ * 9.4 Sensory sensitivities — multi-select.
97
+ * NONE is exclusive; selecting it clears the rest (enforced in UI).
98
+ */
99
+ sensorySensitivities: z.array(z.enum(SENSORY_SENSITIVITIES)).optional(),
100
+ /**
101
+ * 9.5 Executive function challenges — multi-select (improved from original spec).
102
+ * Highly diagnostic for ADHD/ASD support planning.
103
+ */
104
+ executiveFunctionChallenges: z.array(z.enum(EXECUTIVE_FUNCTION_CHALLENGES)).optional(),
105
+ /**
106
+ * 9.6 Learning style preference — multi-select.
107
+ */
108
+ learningStylePreference: z.array(z.enum(LEARNING_STYLES)).optional(),
109
+ /**
110
+ * 9.7 Communication preferences — multi-select.
111
+ */
112
+ communicationPreferences: z.array(z.enum(COMMUNICATION_PREFERENCES)).optional(),
113
+ /**
114
+ * 9.8 Workplace / study accommodations — multi-select (added beyond original spec).
115
+ * Actionable data for HR, educators, and support teams.
116
+ */
117
+ workplaceStudyAccommodations: z.array(z.enum(WORKPLACE_STUDY_ACCOMMODATIONS)).optional(),
118
+ /**
119
+ * 9.9 Free-text support note — open-ended.
120
+ */
121
+ neurodiversitySupportNeeds: z.string().trim().optional(),
122
+ });
123
+ //# sourceMappingURL=step-09.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-09.schema.js","sourceRoot":"","sources":["../src/step-09.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,iFAAiF;AAEjF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI;IACJ,eAAe;IACf,qBAAqB;IACrB,UAAU;CACF,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,MAAM;IACN,KAAK;IACL,UAAU;IACV,aAAa;IACb,YAAY;IACZ,WAAW;IACX,UAAU;IACV,KAAK;IACL,YAAY;IACZ,OAAO;CACC,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,YAAY;IACZ,cAAc;IACd,eAAe;IACf,OAAO;IACP,QAAQ;IACR,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,OAAO;IACP,MAAM;CACE,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,UAAU;IACV,iBAAiB;IACjB,UAAU;IACV,YAAY;IACZ,kBAAkB;IAClB,cAAc;IACd,qBAAqB;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,qBAAqB;IACrB,iBAAiB;IACjB,uBAAuB;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,wBAAwB;CAChB,CAAC;AAEX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,UAAU;IACV,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,cAAc;IACd,iBAAiB;IACjB,MAAM;CACE,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,aAAa;IACb,oBAAoB;IACpB,sBAAsB;IACtB,YAAY;IACZ,iBAAiB;IACjB,sBAAsB;IACtB,sBAAsB;IACtB,oBAAoB;IACpB,mBAAmB;IACnB,aAAa;CACL,CAAC;AAEX,iFAAiF;AAEjF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD;;;OAGG;IACH,gCAAgC,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE;QAC/D,OAAO,EAAE,0BAA0B;KACpC,CAAC;IAEF;;;OAGG;IACH,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,QAAQ,EAAE;IAE/E;;OAEG;IACH,6BAA6B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAE3D;;;OAGG;IACH,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEvE;;;OAGG;IACH,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEtF;;OAEG;IACH,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE;IAEpE;;OAEG;IACH,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,QAAQ,EAAE;IAE/E;;;OAGG;IACH,4BAA4B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,QAAQ,EAAE;IAExF;;OAEG;IACH,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CACzD,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\n// ─── Enums ────────────────────────────────────────────────────────────────────\n\nexport const NEURODIVERGENT_SELF_ID = [\n 'NO',\n 'YES_DIAGNOSED',\n 'YES_SELF_IDENTIFIED',\n 'NOT_SURE',\n] as const;\n\nexport const NEURODIVERGENT_CONDITIONS = [\n 'ADHD',\n 'ASD',\n 'DYSLEXIA',\n 'DYSCALCULIA',\n 'DYSGRAPHIA',\n 'DYSPRAXIA',\n 'TOURETTE',\n 'OCD',\n 'HYPERLEXIA',\n 'OTHER',\n] as const;\n\nexport const SENSORY_SENSITIVITIES = [\n 'LOUD_NOISE',\n 'BRIGHT_LIGHT',\n 'STRONG_SMELLS',\n 'TOUCH',\n 'CROWDS',\n 'TEMPERATURE',\n 'TEXTURE_FOOD',\n 'TEXTURE_CLOTHING',\n 'OTHER',\n 'NONE',\n] as const;\n\nexport const LEARNING_STYLES = [\n 'VISUAL',\n 'AUDITORY',\n 'READING_WRITING',\n 'HANDS_ON',\n 'ONE_TO_ONE',\n 'GROUP_DISCUSSION',\n 'STORYTELLING',\n 'REPETITION_PRACTICE',\n] as const;\n\nexport const COMMUNICATION_PREFERENCES = [\n 'PREFER_WRITTEN',\n 'PREFER_VOICE',\n 'NEED_MORE_TIME',\n 'PREFER_STEP_BY_STEP',\n 'PREFER_EXAMPLES',\n 'PREFER_SHORT_MEETINGS',\n 'PREFER_REMINDERS',\n 'PREFER_VISUAL_AIDS',\n 'PREFER_DIRECT_LANGUAGE',\n] as const;\n\nexport const EXECUTIVE_FUNCTION_CHALLENGES = [\n 'PLANNING',\n 'TIME_MANAGEMENT',\n 'TASK_INITIATION',\n 'TASK_SWITCHING',\n 'EMOTIONAL_REGULATION',\n 'WORKING_MEMORY',\n 'ORGANIZATION',\n 'IMPULSE_CONTROL',\n 'NONE',\n] as const;\n\nexport const WORKPLACE_STUDY_ACCOMMODATIONS = [\n 'QUIET_SPACE',\n 'FLEXIBLE_DEADLINES',\n 'WRITTEN_INSTRUCTIONS',\n 'EXTRA_TIME',\n 'FREQUENT_BREAKS',\n 'REDUCED_DISTRACTIONS',\n 'ASSISTIVE_TECHNOLOGY',\n 'CLEAR_EXPECTATIONS',\n 'REGULAR_CHECK_INS',\n 'NONE_NEEDED',\n] as const;\n\n// ─── Schema ───────────────────────────────────────────────────────────────────\n\nexport const step09NeurodiversitySchema = z.object({\n /**\n * 9.1 Self-identification — required.\n * Anchors whether follow-up condition / source fields are shown.\n */\n neurodivergentSelfIdentification: z.enum(NEURODIVERGENT_SELF_ID, {\n message: 'Please select an option.',\n }),\n\n /**\n * 9.2 Conditions — shown when self-ID is YES_DIAGNOSED, YES_SELF_IDENTIFIED, or NOT_SURE.\n * Multi-select.\n */\n neurodivergentConditions: z.array(z.enum(NEURODIVERGENT_CONDITIONS)).optional(),\n\n /**\n * 9.3 Diagnosis source — e.g. \"school psychologist\", \"self-research\", \"therapist\".\n */\n neurodiversityDiagnosisSource: z.string().trim().optional(),\n\n /**\n * 9.4 Sensory sensitivities — multi-select.\n * NONE is exclusive; selecting it clears the rest (enforced in UI).\n */\n sensorySensitivities: z.array(z.enum(SENSORY_SENSITIVITIES)).optional(),\n\n /**\n * 9.5 Executive function challenges — multi-select (improved from original spec).\n * Highly diagnostic for ADHD/ASD support planning.\n */\n executiveFunctionChallenges: z.array(z.enum(EXECUTIVE_FUNCTION_CHALLENGES)).optional(),\n\n /**\n * 9.6 Learning style preference — multi-select.\n */\n learningStylePreference: z.array(z.enum(LEARNING_STYLES)).optional(),\n\n /**\n * 9.7 Communication preferences — multi-select.\n */\n communicationPreferences: z.array(z.enum(COMMUNICATION_PREFERENCES)).optional(),\n\n /**\n * 9.8 Workplace / study accommodations — multi-select (added beyond original spec).\n * Actionable data for HR, educators, and support teams.\n */\n workplaceStudyAccommodations: z.array(z.enum(WORKPLACE_STUDY_ACCOMMODATIONS)).optional(),\n\n /**\n * 9.9 Free-text support note — open-ended.\n */\n neurodiversitySupportNeeds: z.string().trim().optional(),\n});\n\nexport type Step09NeurodiversityInput = z.infer<typeof step09NeurodiversitySchema>;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "udp-schema",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Shared Zod schemas for User Detailed Profile (frontend + backend).",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",