@recruitnepal/shared-packages 1.7.4 → 1.8.1

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.
Files changed (67) hide show
  1. package/dist/career-personality-test/components/CareerFitTestLanding.d.ts +10 -0
  2. package/dist/career-personality-test/components/CareerFitTestLanding.d.ts.map +1 -0
  3. package/dist/career-personality-test/components/CareerFitTestLanding.js +20 -0
  4. package/dist/career-personality-test/components/CareerTestDetailsForm.d.ts +28 -0
  5. package/dist/career-personality-test/components/CareerTestDetailsForm.d.ts.map +1 -0
  6. package/dist/career-personality-test/components/CareerTestDetailsForm.js +91 -0
  7. package/dist/career-personality-test/components/CareerTestResultsPage.d.ts +27 -0
  8. package/dist/career-personality-test/components/CareerTestResultsPage.d.ts.map +1 -0
  9. package/dist/career-personality-test/components/CareerTestResultsPage.js +121 -0
  10. package/dist/career-personality-test/components/CareerTestStart.d.ts +7 -0
  11. package/dist/career-personality-test/components/CareerTestStart.d.ts.map +1 -0
  12. package/dist/career-personality-test/components/CareerTestStart.js +87 -0
  13. package/dist/career-personality-test/constants/resultConstants.d.ts +29 -0
  14. package/dist/career-personality-test/constants/resultConstants.d.ts.map +1 -0
  15. package/dist/career-personality-test/constants/resultConstants.js +92 -0
  16. package/dist/career-personality-test/constants/storageKeys.d.ts +3 -0
  17. package/dist/career-personality-test/constants/storageKeys.d.ts.map +1 -0
  18. package/dist/career-personality-test/constants/storageKeys.js +2 -0
  19. package/dist/career-personality-test/data/overallBands.d.ts +13 -0
  20. package/dist/career-personality-test/data/overallBands.d.ts.map +1 -0
  21. package/dist/career-personality-test/data/overallBands.js +10 -0
  22. package/dist/career-personality-test/data/questions.d.ts +16 -0
  23. package/dist/career-personality-test/data/questions.d.ts.map +1 -0
  24. package/dist/career-personality-test/data/questions.js +51 -0
  25. package/dist/career-personality-test/data/traits.d.ts +7 -0
  26. package/dist/career-personality-test/data/traits.d.ts.map +1 -0
  27. package/dist/career-personality-test/data/traits.js +15 -0
  28. package/dist/career-personality-test/index.d.ts +20 -0
  29. package/dist/career-personality-test/index.d.ts.map +1 -0
  30. package/dist/career-personality-test/index.js +14 -0
  31. package/dist/career-personality-test/utils/scoring.d.ts +18 -0
  32. package/dist/career-personality-test/utils/scoring.d.ts.map +1 -0
  33. package/dist/career-personality-test/utils/scoring.js +69 -0
  34. package/dist/components/ui/Badge.d.ts +10 -0
  35. package/dist/components/ui/Badge.d.ts.map +1 -0
  36. package/dist/components/ui/Badge.js +20 -0
  37. package/dist/components/ui/Button.d.ts +12 -0
  38. package/dist/components/ui/Button.d.ts.map +1 -0
  39. package/dist/components/ui/Button.js +31 -0
  40. package/dist/components/ui/DesignationSelect.d.ts +2 -1
  41. package/dist/components/ui/DesignationSelect.d.ts.map +1 -1
  42. package/dist/components/ui/DesignationSelect.js +11 -16
  43. package/dist/components/ui/IndustrySelect.d.ts +3 -1
  44. package/dist/components/ui/IndustrySelect.d.ts.map +1 -1
  45. package/dist/components/ui/IndustrySelect.js +7 -8
  46. package/dist/components/ui/MultiSelectOptions.d.ts +4 -4
  47. package/dist/components/ui/MultiSelectOptions.d.ts.map +1 -1
  48. package/dist/components/ui/MultiSelectOptions.js +13 -24
  49. package/dist/hooks/useDebounce.d.ts +3 -0
  50. package/dist/hooks/useDebounce.d.ts.map +1 -1
  51. package/dist/hooks/useDebounce.js +3 -0
  52. package/dist/hooks/useDesignations.d.ts +1 -9
  53. package/dist/hooks/useDesignations.d.ts.map +1 -1
  54. package/dist/hooks/useDesignations.js +59 -68
  55. package/dist/hooks/useIndustries.d.ts +4 -10
  56. package/dist/hooks/useIndustries.d.ts.map +1 -1
  57. package/dist/hooks/useIndustries.js +60 -69
  58. package/dist/hooks/useSkills.d.ts +1 -2
  59. package/dist/hooks/useSkills.d.ts.map +1 -1
  60. package/dist/hooks/useSkills.js +7 -7
  61. package/dist/index.d.ts +14 -0
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +13 -1
  64. package/dist/utils/cn.d.ts +2 -1
  65. package/dist/utils/cn.d.ts.map +1 -1
  66. package/dist/utils/cn.js +4 -2
  67. package/package.json +21 -3
@@ -0,0 +1,92 @@
1
+ export const BIGO_LETTERS = {
2
+ Openness: 'O',
3
+ Conscientiousness: 'C',
4
+ Extraversion: 'E',
5
+ Agreeableness: 'A',
6
+ Neuroticism: 'N',
7
+ };
8
+ export const RIASEC_LETTERS = {
9
+ Realistic: 'R',
10
+ Investigative: 'I',
11
+ Artistic: 'A',
12
+ Social: 'S',
13
+ Enterprising: 'E',
14
+ Conventional: 'C',
15
+ };
16
+ export const BIGO_COMBOS = {
17
+ CEO: "You're an innovative doer who plans well and brings people along. You spot new possibilities, organize the work, and communicate with energy. Stakeholder-heavy projects that need both creativity and delivery discipline are your sweet spot.",
18
+ ACO: "You're a thoughtful builder who protects both quality and harmony. You manage cross-functional work with care, balancing fresh ideas with reliable execution and a steady, collaborative tone. Teams trust you to make change feel safe.",
19
+ CNO: "You're a calm innovator with discipline. Ambiguity doesn't rattle you; you set a plan, test options, and ship reliably. You're well suited to strategic initiatives where exploration and delivery must coexist without drama.",
20
+ AEO: "You're a creative collaborator who energizes groups. You co-create solutions, keep user needs central, and communicate ideas with warmth. Workshops, product discovery, and public-facing creative projects feel natural.",
21
+ ENO: "You're a visionary communicator who stays composed under pressure. Pitching, iterating, and guiding teams through change come easily. You help others see the future and feel confident stepping into it.",
22
+ ANO: "You're an empathetic innovator. You bring original ideas with a steady, supportive presence, making you ideal for change programs, design research, and transformation work where people need reassurance.",
23
+ ACE: "You're an organized people-driver. You set structure, motivate teams, and keep standards high without losing cohesion. You excel in delivery leadership, onboarding, enablement, and client implementations.",
24
+ CEN: "You're a reliable leader under pressure. You coordinate stakeholders, manage deadlines, and land outcomes when stakes are high. Crisis-proof projects, escalations, and go-lives benefit from your steadiness.",
25
+ ACN: "You're a steady, trustworthy teammate who keeps quality and relationships strong. Compliance, onboarding, account management, and service operations suit your patient, consistent delivery style.",
26
+ AEN: "You're a warm, resilient influencer. You build rapport quickly, stay balanced with feedback, and move people toward decisions. Growth, partnerships, customer success, and advocacy roles match your social energy and calm.",
27
+ };
28
+ export const RIASEC_COMBOS = {
29
+ AIR: "You're a hands-on maker with analytical depth and creative flair. You like to move from data and insight to something you can touch: prototypes, tools, installations, working models. You test quickly, refine based on evidence and care about finish and usability.\n\nRoles that let you think, build and beautify in tight cycles—labs, product workshops, creative tech—bring out your best.",
30
+ IRS: "You solve real-world problems with a mix of practicality, evidence, and care for people. You enjoy translating analysis into help that users can feel, such as training sessions, field support, troubleshooting or service workflows that actually work on the ground.\n\nWork that connects data to human outcomes in health, education or tech ops suits your temperament.",
31
+ EIR: "You're an action-oriented analyst who turns opportunities into results. You like testing hypotheses in the wild, cutting through noise and driving projects to measurable impact. You're comfortable making informed bets and adjusting fast.\n\nRoles at the intersection of analysis, field execution and business outcomes—process improvement, growth ops, technical PM—fit you naturally.",
32
+ CIR: "You blend technical practicality with standards and systems. Consistency, safety, and quality matter to you and you enjoy working where measurements and methods keep everyone aligned.\n\nManufacturing, QA, compliance, process engineering, or documentation-heavy environments let you improve reliability without losing sight of the real world.",
33
+ ARS: "You're a maker who creates experiences for people. Workshops, learning labs, community events, and experiential design are your sweet spot.\n\nYou enjoy crafting tangible outputs that teach, guide or inspire, blending a human touch with creativity and a bias for action. You shine where empathy and making meet.",
34
+ AER: "You build, stage and sell the vision. You like showing what's possible with compelling demos, pilots, and creative production and you're energized by moving others to act.\n\nYou're a natural in product showcases, creative ops and go-to-market experiments where prototypes, storytelling and decisive execution come together.",
35
+ ACR: "You're a detail-driven craftsperson who respects structure. You enjoy creative work that requires precision, standards, and reliable delivery: production design, print/packaging, asset libraries, brand systems or studio operations.\n\nYour strength is making creative output repeatable, accurate and on time.",
36
+ ERS: "You're a people-centric operator who gets things done on the ground. You coordinate vendors, teams and schedules. You keep services running and customers satisfied.\n\nSite coordination, service operations leadership and event or retail ops are strong fits.",
37
+ CRS: "You're a supportive organizer with a practical backbone. You like facilities, logistics, and documentation that make everyone else's work smoother. Reliability and consistency are your calling cards.\n\nRoles in office admin, campus/clinic operations, inventory or service scheduling let you deliver value every day.",
38
+ CER: "You're an operational leader who loves structure and momentum. You move resources, manage risk and raise throughput. You're steady under load and keep the system humming.\n\nSupply chain, warehouse/plant leadership, shift management or process excellence teams will feel like home.",
39
+ AIS: "You translate complex ideas into clear, human stories. You're good at empathizing with learners, customers or stakeholders and guiding them through research-backed recommendations.\n\nUX research, L&D content, data storytelling, and client education are strong lanes—anywhere clarity and empathy meet evidence.",
40
+ AEI: "You pair discovery with creativity and ownership. You start with insight, test concepts, and drive toward outcomes fast. Experiments and iteration excite you; you enjoy aligning people around a clear \"why.\"\n\nProduct discovery, growth strategy, and innovation consulting roles match your cadence.",
41
+ ACI: "You're an analytical creator who values clarity and standards. You enjoy research documentation, information architecture, and content or knowledge systems, especially in regulated settings.\n\nYou make complex things understandable and traceable so teams can create confidently within guardrails.",
42
+ EIS: "You're an influential problem-solver. You build evidence, consult with stakeholders, and secure decisions that move the work forward.\n\nPre-sales engineering, solutions consulting or strategy roles that combine advisory, analysis, and persuasion fit you well.",
43
+ CIS: "You're a patient, precise helper who thrives in structured service. Academic/admin support, compliance training, records/data stewardship, and policy rollout suit your steady approach.\n\nYou like getting details right so people can rely on the system.",
44
+ CEI: "You're a results-driven analyst with process discipline. You enjoy tracking performance, building dashboards, and enforcing standards that improve outcomes.\n\nFinance/BI, PMO, governance, and performance operations let you pair rigor with impact.",
45
+ AES: "You use storytelling to create people impact and influence.\n\nYou enjoy brand/community work, CX, enablement, and training-led marketing—anywhere you can craft a narrative that mobilizes teams and customers around change.",
46
+ ACS: "You're a human-centered organizer who lands creative work with structure.\n\nProgram coordination, L&D ops, editorial planning and campaign operations benefit from your ability to turn good ideas into consistent delivery.",
47
+ ACE: "You're a creative strategist who ships on time. You balance imagination with production realism, making you ideal for campaign/production management, brand ops and content systems where deadlines matter.",
48
+ CES: "You're a service-oriented leader with structure. You keep standards high while advocating for people.\n\nCustomer success leadership, HR programs, service quality, and policy implementation play to your strengths.",
49
+ };
50
+ export const WORK_STYLE_BANDS = [
51
+ { min: 0, max: 39, text: "Your answers suggest you're still clarifying what feels natural at work. You tend to do best when expectations are clear, tasks are broken into steps, and feedback is frequent. Social energy and high-pressure contexts may feel draining right now, so smaller, scoped wins help you build confidence and discover what truly motivates you.\n\nThink of this as an exploration phase: try short projects in your strongest interest area and notice which activities leave you energized vs. exhausted.", image: 'The_Explorer_work_personality-removebg-preview.png' },
52
+ { min: 40, max: 59, text: "You show a balanced profile with a few emerging strengths. Structure and clear goals help you stay on track, while purposeful interactions (not constant meetings) keep you engaged. You can collaborate well when roles are defined, and you handle pressure best when routines and check-ins are in place.\n\nAs you lean into your top interests and trim work tied to your lowest codes, your confidence and momentum grow quickly.", image: 'The_builder_work_personality-removebg-preview.png' },
53
+ { min: 60, max: 79, text: "You have a clear sense of how you like to work and where you add value. You're comfortable taking a problem from investigation to delivery, following through on commitments, and collaborating with the right partners.\n\nUnder typical pressure you remain steady, and you thrive when your day mixes focus time with purposeful collaboration. Your strengths show up consistently in how you learn, plan, communicate, and improve results over each cycle.", image: 'The_achiever_work_personality-removebg-preview.png' },
54
+ { min: 80, max: 100, text: "You have a clear sense of how you like to work and where you add value. You're comfortable taking a problem from investigation to delivery, following through on commitments, and collaborating with the right partners.\n\nUnder typical pressure you remain steady, and you thrive when your day mixes focus time with purposeful collaboration. Your strengths show up consistently in how you learn, plan, communicate, and improve results over each cycle.", image: 'the_catalyst_work_personality-removebg-preview.png' },
55
+ ];
56
+ export function pickWorkStyleBand(overallPct) {
57
+ const clamped = Math.max(0, Math.min(100, overallPct));
58
+ return WORK_STYLE_BANDS.find(({ min, max }) => clamped >= min && clamped <= max) ?? WORK_STYLE_BANDS[0];
59
+ }
60
+ const PERSONA_BANDS = [
61
+ { min: 0, max: 39, band: { key: 'explorer', label: 'Low Match', title: 'The Explorer', subtitle: 'still exploring; needs structure and feedback', description: "You are in a stage where you are still discovering what kind of work environment, responsibilities, and collaboration style suit you best. Your profile reflects someone who has broad curiosity but has not yet anchored themselves to a clear direction and that is completely normal at this stage of growth. You tend to do your best when tasks are structured, expectations are clearly defined, and guidance is available as you navigate new challenges. You learn well through experimentation and short, simple tasks that allow you to understand what energizes you and what drains you.\n\nThis is a chapter of exploration, reflection, and self-awareness. You grow quickest when you receive steady feedback and have opportunities to try different types of work. Instead of locking yourself into one path too soon, this is your time to observe how you naturally respond to different roles, team dynamics, and responsibilities. Over time, these small experiences will help you define your strengths, make better decisions about your future roles, and build confidence in what truly aligns with your personality and long-term goals.", image: 'The_Explorer-removebg-preview.png', positiveAttributes: ['Curious by nature — you show a genuine interest in understanding how things work and enjoy discovering new options before choosing a path.', 'Eager to learn — you absorb new information quickly and are open to experimenting with unfamiliar tasks or tools.', 'Flexible mindset — you adapt easily when things change, and you\'re comfortable exploring alternatives when something doesn\'t feel right.', 'Open to feedback — you respond well to guidance, and feedback tends to motivate you rather than discourage you.', 'Naturally observant — you notice patterns, team dynamics, and small details that others may overlook, helping you understand what environment you feel most comfortable in.', 'Willing to try before you commit — you approach opportunities with a healthy mindset, wanting to experience something first before deciding.', 'Growth-oriented personality — you show signs that you learn quickly from mistakes and turn them into stepping stones.', 'Low ego, high adaptability — you\'re not afraid to start small, ask questions, and improve through exploration.', 'Independent thinker — you like to form your own opinions rather than following assumptions.', 'Resilient beginner — even if something feels unclear or unfamiliar, you bounce back and try again.'] } },
62
+ { min: 40, max: 59, band: { key: 'builder', label: 'Moderate Match', title: 'The Builder', subtitle: 'partial alignment; learning clarity through projects', description: "Your profile shows partial but meaningful alignment with the types of work you may be considering. You have a growing understanding of how you like to work, think, plan, and collaborate but there is still room for clarity and refinement. Builders perform especially well when projects have defined priorities, practical timelines, and consistent feedback. You tend to deliver strong results when the scope is focused and when you can lean into your natural strengths.\n\nThis stage of your development is all about sharpening direction: identifying the tasks that feel natural, recognising patterns in what motivates you, and understanding what drains your energy. With the right environment — one that sets realistic goals and supports you through weekly or bi-weekly check-ins — you quickly transform your potential into concrete results. You are in a phase where a few well-chosen projects can help you achieve major clarity about where you fit best and how you can contribute with confidence.", image: 'The_Builder-removebg-preview.png', positiveAttributes: ['Strong sense of responsibility — once expectations are clear, you deliver consistently and reliably.', 'Good at organizing tasks — you show an emerging ability to plan and break work into manageable steps.', 'Balanced personality — you combine creativity with structure, allowing you to handle both routine and new tasks well.', 'Steady learner — your growth is visible when you work with clear priorities and supportive guidance.', 'Self-reflective — you notice what you enjoy, what drains your energy, and what direction feels right.', 'Improving confidence — each completed project boosts your clarity and personal belief in your abilities.', 'Team-aware — you engage well when others share expectations clearly and respectfully.', 'Problem-aware mindset — you can identify bottlenecks early and suggest practical adjustments.', 'Dependable collaborator — you support the team by completing your part on time and asking for clarity when needed.', 'Focused effort — when scope is clear, you produce clean, thoughtful work that reflects genuine effort.'] } },
63
+ { min: 60, max: 79, band: { key: 'achiever', label: 'High Match', title: 'The Achiever', subtitle: 'strong alignment; ready to own meaningful problems', description: "Your profile indicates strong alignment between your natural strengths and the types of roles or environments you are suited for. Achievers typically work with a healthy balance of structure and independence. You know how to collaborate, how to plan, and how to maintain momentum even under normal levels of pressure. You tend to understand where you add value, and you approach tasks with a combination of practicality, focus, and self-awareness. You thrive when goals are clear, partners are reliable, and expectations are measurable.\n\nYou are someone who can confidently take responsibility for meaningful tasks and follow through with consistency. With the right mix of challenge and guidance, you grow quickly and demonstrate your potential through well-executed outcomes. You are at a point where you can take on increasingly complex responsibilities, communicate effectively across teams, and use your strengths to make a visible impact on the work you do.", image: 'The_Achiever-removebg-preview.png', positiveAttributes: ['Strong internal motivation — you push yourself to deliver solid results without needing constant supervision.', 'Clear sense of direction — you understand your strengths and can use them effectively in day-to-day work.', 'Consistent performer — you maintain momentum even when tasks get challenging or deadlines approach.', 'Collaborative but independent — you work well with others while still being able to manage your own responsibilities.', 'Goal-oriented mindset — you set personal standards and aim to meet or exceed them.', 'Emotionally steady — you generally stay composed under pressure, allowing you to think clearly and act rationally.', 'Highly dependable — people can count on you to follow through on responsibilities.', 'Strong decision-making instincts — you weigh information logically and choose practical solutions.', 'Growth-focused — you actively seek opportunities to improve and take on tasks that stretch your capabilities.', 'Positive team influence — your work ethic naturally encourages and motivates others.'] } },
64
+ { min: 80, max: 100, band: { key: 'catalyst', label: 'Very High Match', title: 'The Catalyst', subtitle: 'full alignment; leadership and influence traits visible', description: "Your profile reflects someone with exceptional alignment, clarity, and readiness for impactful work. Catalysts are individuals who naturally take ownership, influence others positively, and elevate the quality of their environment. You think ahead, remain calm under pressure, and adapt quickly to new demands. You have the ability to understand both the bigger picture and the finer details, which allows you to move between strategic thinking and execution effortlessly.\n\nYou thrive in environments that trust you with autonomy, invite your ideas, and give you room to experiment, innovate, and lead. You are the type of person who brings energy into a team, someone who motivates others and pushes projects forward with intention. This score suggests that you not only fit well into many roles but also have the potential to shape them, propose improvements, and guide others as you grow. Your natural combination of confidence, initiative, and adaptability positions you for leadership over time, and you are ready for opportunities that challenge you to take the next step in your professional journey.", image: 'The_Catalyst-removebg-preview.png', positiveAttributes: ['Natural sense of ownership — you take initiative and drive projects forward without waiting for direction.', 'Strategic thinker — you understand long-term implications and plan ahead with clarity and purpose.', 'Influential communicator — people value your voice because you articulate ideas confidently and logically.', 'High adaptability — you adjust quickly to new challenges, environments, and responsibilities.', 'Strong leadership tendencies — you elevate others, bring structure to discussions, and guide the team toward outcomes.', 'Mentor-like energy — people often seek your feedback because you provide clarity and perspective.', 'Strong execution mindset — you turn plans into measurable outcomes with discipline and consistency.', 'Innovative problem-solver — you identify opportunities for improvement and propose actionable solutions.', 'Emotionally resilient — you manage pressure exceptionally well and maintain clarity even in uncertain moments.', 'High-impact presence — your involvement often improves the quality, speed, and direction of the work around you.'] } },
65
+ ];
66
+ export function pickPersonaBand(overallPct) {
67
+ const clamped = Math.max(0, Math.min(100, overallPct));
68
+ const match = PERSONA_BANDS.find(({ min, max }) => clamped >= min && clamped <= max) ?? PERSONA_BANDS[0];
69
+ return match.band;
70
+ }
71
+ export const RIASEC_ROLES = {
72
+ AIR: ['Creative Technologist', 'Prototype Engineer', 'Product Workshop Specialist', 'Technical Designer', 'Rapid Prototyping Specialist', 'Industrial Designer', 'Hardware Prototyper', 'UX Prototyper', 'Innovation Lab Associate', 'Experimental Fabrication Specialist', 'Design Technologist', 'Human–Computer Interaction Prototyper'],
73
+ IRS: ['Field Operations Specialist', 'Training & Implementation Associate', 'Service/Tech Ops Coordinator', 'Technical Support Trainer', 'Health Tech Ops Associate', 'EdTech Implementation Specialist', 'User Support Analyst', 'Field Data Technician', 'Vocational Trainer', 'Customer Onboarding Specialist', 'Service Workflow Designer', 'Community Technology Facilitator'],
74
+ EIR: ['Technical Project Manager', 'Process Improvement Analyst', 'Growth Operations Manager', 'Business Operations Analyst', 'Field Program Manager', 'Product Operations Manager', 'Revenue Operations Analyst', 'Experimentation Program Manager', 'Technical Program Manager (TPM)', 'Solutions Operations Lead', 'Continuous Improvement Lead', 'Operations Strategist'],
75
+ CIR: ['QA/QC Analyst', 'Process/Manufacturing Engineer', 'Compliance Analyst', 'Quality Systems Specialist', 'Validation Engineer', 'Documentation Specialist', 'Laboratory QA Coordinator', 'Regulatory Operations Associate', 'Reliability Engineer', 'Process Control Technician', 'Industrial Quality Auditor', 'SOP/Standards Coordinator'],
76
+ ARS: ['Workshop/Training Facilitator', 'Learning Lab Coordinator', 'Community Program Producer', 'Experience Designer', 'Instructional Designer (Hands-on)', 'Event Producer', 'Educational Maker Coach', 'Exhibit/Museum Designer', 'Training Workshop Designer', 'Service Design Associate', 'Community Learning Designer', 'Outreach Workshop Lead'],
77
+ AER: ['Product Demo Specialist', 'Creative Producer', 'Experiential Marketing Manager', 'Prototype Showcase Lead', 'GTM Pilot Lead', 'Creative Operations Manager', 'Brand Activation Manager', 'Technical Evangelist', 'Solutions Demonstration Specialist', 'Product Marketing Producer', 'Experiential Producer', 'Field Marketing Engineer'],
78
+ ACR: ['Production Designer', 'Print/Packaging Specialist', 'Brand Asset Librarian', 'Studio/Traffic Coordinator', 'Production Artworker', 'Prepress Technician', 'Creative Operations Coordinator', 'Design QA Specialist', 'Artwork Compliance Coordinator', 'Catalog/Template Manager', 'Content Production Scheduler', 'Design Systems Producer'],
79
+ ERS: ['Site/Operations Coordinator', 'Vendor Manager', 'Service Operations Manager', 'Facility Manager', 'Event Operations Manager', 'Retail Operations Lead', 'Logistics Supervisor', 'Field Service Manager', 'Workforce Scheduling Manager', 'Regional Operations Coordinator', 'Service Delivery Lead', 'Multi-site Operations Supervisor'],
80
+ CRS: ['Office/Clinic Operations Associate', 'Logistics & Inventory Coordinator', 'Service Scheduler', 'Records Officer', 'Administrative Services Manager', 'Procurement Assistant', 'Fleet Coordinator', 'Operations Support Specialist', 'Facilities Coordinator', 'Documentation & Compliance Assistant', 'Front Office Lead', 'Service Desk Operations Coordinator'],
81
+ CER: ['Supply Chain Coordinator', 'Warehouse/Plant Supervisor', 'Shift Manager', 'Production Planner', 'Process Excellence Analyst', 'Operations Controller', 'Risk & Safety Coordinator', 'Distribution Center Lead', 'Industrial Scheduler', 'Fulfillment Operations Manager', 'Materials Planner', 'Operations Compliance Supervisor'],
82
+ AIS: ['UX Researcher', 'Data Storyteller', 'L&D Content Designer', 'Client Education Specialist', 'Research Communicator', 'Instructional Content Writer', 'Insights Presenter', 'Knowledge Translator', 'Design Researcher', 'User Education Program Manager', 'Research-to-Practice Specialist', 'Customer Insights Educator'],
83
+ AEI: ['Product Manager (Discovery)', 'Growth/Strategy Analyst', 'Innovation Consultant', 'Experimentation Lead', 'Product Strategist', 'Market Research Lead', 'Venture Builder Associate', 'Product Analyst (Discovery)', 'Solutions Strategist', 'New Initiatives PM', 'GTM Experiments Manager', 'Opportunity Assessment Lead'],
84
+ ACI: ['Research Documentation Specialist', 'Information Architect', 'Knowledge Management Lead', 'Regulatory Content Designer', 'Technical Writer', 'Data Catalog Manager', 'Taxonomy Specialist', 'Compliance Documentation Analyst', 'Quality Documentation Manager', 'Information Governance Analyst', 'Research Librarian', 'Metadata Manager'],
85
+ EIS: ['Solutions Consultant', 'Pre-Sales Engineer', 'Strategy Associate', 'Customer Solutions Lead', 'Partner Solutions Architect', 'Business Consultant', 'Customer Success Strategist', 'Enterprise Onboarding Consultant', 'Value Engineer', 'Proposal Engineer', 'Solutions Advisor', 'Engagement Manager (Solutions)'],
86
+ CIS: ['Academic Program Coordinator', 'Compliance Training Specialist', 'Records & Data Steward', 'Policy Implementation Coordinator', 'Research Administration Associate', 'Registrar Assistant', 'Data Governance Coordinator', 'Quality Training Coordinator', 'Grants & Compliance Associate', 'Documentation Control Specialist', 'Academic Operations Officer', 'Institutional Compliance Coordinator'],
87
+ CEI: ['Finance/BI Analyst', 'PMO Analyst', 'Governance & Risk Associate', 'Performance Operations Analyst', 'Business Intelligence Developer', 'Financial Planning Analyst', 'Operational Reporting Analyst', 'Process Governance Specialist', 'Analytics Program Coordinator', 'Portfolio Analyst', 'Controls & Assurance Analyst', 'Data Quality Lead'],
88
+ AES: ['Brand Strategist', 'Content Strategist', 'Community Manager', 'Customer Experience Lead', 'Sales/Enablement Specialist', 'Training-Led Marketing Manager', 'Campaign Strategist', 'Employer Branding Specialist', 'Advocacy/Influencer Program Manager', 'Engagement Lead', 'Partner Marketing Manager', 'Community Growth Lead'],
89
+ ACS: ['Program Coordinator (L&D/Editorial)', 'Campaign Operations Manager', 'Content Operations Specialist', 'Editorial Project Manager', 'Learning Operations Coordinator', 'Creative Project Coordinator', 'Curriculum Operations Manager', 'Production Scheduler (Creative)', 'Knowledge Content Coordinator', 'Studio Traffic Manager', 'Editorial Operations Lead', 'Program Scheduling Manager'],
90
+ ACE: ['Campaign/Production Manager', 'Brand Operations Lead', 'Content Systems Manager', 'Creative Operations Lead', 'Project Manager (Creative)', 'Marketing Operations Manager', 'Studio Manager', 'Release/Traffic Manager', 'Integrated Producer', 'Content Program Manager', 'Creative Delivery Manager', 'Production Operations Lead'],
91
+ CES: ['Customer Success Manager', 'HR Programs Specialist', 'Service Quality Manager', 'Policy Implementation Lead', 'People Operations Partner', 'Onboarding Program Manager', 'Support Operations Manager', 'Workforce Planning Analyst', 'Community Partnerships Manager', 'Client Services Lead', 'Service Excellence Manager', 'Employee Experience Program Lead'],
92
+ };
@@ -0,0 +1,3 @@
1
+ export declare const CAREER_TEST_RESULTS_KEY = "careerTestResults";
2
+ export declare const CAREER_TEST_USER_KEY = "careerTestUser";
3
+ //# sourceMappingURL=storageKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageKeys.d.ts","sourceRoot":"","sources":["../../../src/career-personality-test/constants/storageKeys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,oBAAoB,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export const CAREER_TEST_RESULTS_KEY = 'careerTestResults';
2
+ export const CAREER_TEST_USER_KEY = 'careerTestUser';
@@ -0,0 +1,13 @@
1
+ /** Image is filename only; prepend imageBasePath in UI (e.g. "/images/careerFitPersonality") */
2
+ export type OverallBand = {
3
+ label: 'Low Match' | 'Moderate Match' | 'High Match' | 'Very High Match';
4
+ min: number;
5
+ max: number;
6
+ persona: string;
7
+ tagline: string;
8
+ description: string;
9
+ image: string;
10
+ };
11
+ export declare const OVERALL_BANDS: OverallBand[];
12
+ export declare function pickOverallBand(pct: number): OverallBand;
13
+ //# sourceMappingURL=overallBands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overallBands.d.ts","sourceRoot":"","sources":["../../../src/career-personality-test/data/overallBands.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,WAAW,GAAG,gBAAgB,GAAG,YAAY,GAAG,iBAAiB,CAAC;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAW,EAKtC,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAGxD"}
@@ -0,0 +1,10 @@
1
+ export const OVERALL_BANDS = [
2
+ { label: 'Low Match', min: 0, max: 39, persona: 'The Explorer', tagline: 'still exploring; needs structure and feedback', description: "You're still exploring what fits you best. Your answers suggest that the roles you've tried or imagined don't fully align with how you like to work. Right now, you'll grow fastest by focusing on one clear interest and building confidence with small, scoped tasks. Aim for teams that give clear guidance, step-by-step goals and frequent feedback so you can discover what energizes you and what doesn't. Use this phase to name your strengths, notice what drains you and gather quick wins you can point to in applications.", image: 'The_Explorer-removebg-preview.png' },
3
+ { label: 'Moderate Match', min: 40, max: 59, persona: 'The Builder', tagline: 'partial alignment; learning clarity through projects', description: "You have partial alignment with the work you're aiming at. With focused scope, good checklists and steady feedback, you can deliver strong results — especially when you lean into your Top-3 interests and avoid work tied to your lowest codes. You'll do well in environments that set clear priorities and weekly checkpoints while giving enough room to use your natural strengths. Treat this as a clarity phase: double down on what feels right, trim what doesn't and turn 1–2 projects into evidence of fit.", image: 'The_Builder-removebg-preview.png' },
4
+ { label: 'High Match', min: 60, max: 79, persona: 'The Achiever', tagline: 'strong alignment; ready to own meaningful problems', description: "Your profile shows strong alignment. You're ready to own meaningful problems and produce measurable outcomes. You tend to understand where you add value and how you like to collaborate, and you can stay steady under normal pressure. Look for roles that combine your Top-1 or Top-2 RIASEC interests with your standout BIG-O behaviors. You'll thrive with clear KPIs, cross-functional partners and regular review cycles that let you investigate, create, deliver and iterate.", image: 'The_Achiever-removebg-preview.png' },
5
+ { label: 'Very High Match', min: 80, max: 100, persona: 'The Catalyst', tagline: 'full alignment; leadership and influence traits visible', description: "You're an excellent fit for work that uses your pattern every day. You expect to ramp quickly, take ownership of outcomes and influence people or systems around you. Environments with clear metrics, experimentation budget and leadership access will bring out your best. Lean into your Top-2 interests and shape your role around them. This is the time to propose a roadmap, lead initiatives and mentor others. Your profile has a clear story: who you are at work, why you perform and where you'll have the strongest trajectory.", image: 'The_Catalyst-removebg-preview.png' },
6
+ ];
7
+ export function pickOverallBand(pct) {
8
+ const p = Math.max(0, Math.min(100, Math.round(pct)));
9
+ return OVERALL_BANDS.find(b => p >= b.min && p <= b.max) ?? OVERALL_BANDS[0];
10
+ }
@@ -0,0 +1,16 @@
1
+ import { Framework, BigOTrait, RiasecTrait } from './traits';
2
+ export type QuestionType = 'likert' | 'binary';
3
+ export type Question = {
4
+ id: string;
5
+ section: 1 | 2 | 3 | 4 | 5 | 6;
6
+ framework: Framework;
7
+ trait: BigOTrait | RiasecTrait;
8
+ prompt: string;
9
+ type: QuestionType;
10
+ weight: number;
11
+ reverse?: boolean;
12
+ order: number;
13
+ };
14
+ export declare const QUESTIONS: Question[];
15
+ export declare const QUESTIONS_BY_SECTION: Record<1 | 2 | 3 | 4 | 5 | 6, Question[]>;
16
+ //# sourceMappingURL=questions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../../src/career-personality-test/data/questions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/C,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,QAAQ,EAyC/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAO1E,CAAC"}
@@ -0,0 +1,51 @@
1
+ const qid = (k) => `q_${k.replace(/\s+/g, '_').toLowerCase()}`;
2
+ export const QUESTIONS = [
3
+ { id: qid('openness_1'), section: 1, framework: 'BIGO', trait: 'Openness', prompt: 'I enjoy learning new work methods or technologies.', type: 'likert', weight: 1.0, reverse: false, order: 1 },
4
+ { id: qid('openness_2'), section: 1, framework: 'BIGO', trait: 'Openness', prompt: 'I am open to trying different career fields or roles.', type: 'likert', weight: 1.0, reverse: false, order: 2 },
5
+ { id: qid('openness_3'), section: 1, framework: 'BIGO', trait: 'Openness', prompt: 'I like solving problems creatively at work.', type: 'likert', weight: 1.0, reverse: false, order: 3 },
6
+ { id: qid('openness_4'), section: 1, framework: 'BIGO', trait: 'Openness', prompt: 'I enjoy jobs that let me innovate or think outside the box.', type: 'likert', weight: 1.0, reverse: false, order: 4 },
7
+ { id: qid('conscientiousness_1'), section: 1, framework: 'BIGO', trait: 'Conscientiousness', prompt: 'I prefer tasks with clear goals and deadlines.', type: 'likert', weight: 1.0, reverse: false, order: 5 },
8
+ { id: qid('conscientiousness_2'), section: 1, framework: 'BIGO', trait: 'Conscientiousness', prompt: 'I carefully plan my work to avoid mistakes.', type: 'likert', weight: 1.0, reverse: false, order: 6 },
9
+ { id: qid('conscientiousness_3'), section: 1, framework: 'BIGO', trait: 'Conscientiousness', prompt: 'I feel satisfied finishing work early.', type: 'likert', weight: 1.0, reverse: false, order: 7 },
10
+ { id: qid('conscientiousness_4'), section: 1, framework: 'BIGO', trait: 'Conscientiousness', prompt: 'I prefer jobs needing attention to detail.', type: 'likert', weight: 1.0, reverse: false, order: 8 },
11
+ { id: qid('extraversion_1'), section: 2, framework: 'BIGO', trait: 'Extraversion', prompt: 'I enjoy group projects or a team environment.', type: 'likert', weight: 1.5, reverse: false, order: 1 },
12
+ { id: qid('extraversion_2'), section: 2, framework: 'BIGO', trait: 'Extraversion', prompt: 'I feel energized when meeting new colleagues or clients.', type: 'likert', weight: 1.5, reverse: false, order: 2 },
13
+ { id: qid('extraversion_3'), section: 2, framework: 'BIGO', trait: 'Extraversion', prompt: 'I like roles involving public speaking or networking.', type: 'likert', weight: 1.5, reverse: false, order: 3 },
14
+ { id: qid('extraversion_4'), section: 2, framework: 'BIGO', trait: 'Extraversion', prompt: 'I prefer careers with lots of interaction.', type: 'likert', weight: 1.5, reverse: false, order: 4 },
15
+ { id: qid('agreeableness_1'), section: 2, framework: 'BIGO', trait: 'Agreeableness', prompt: 'I try to maintain positive coworker relationships.', type: 'likert', weight: 1.0, reverse: false, order: 5 },
16
+ { id: qid('agreeableness_2'), section: 2, framework: 'BIGO', trait: 'Agreeableness', prompt: 'I enjoy helping teammates with problems.', type: 'likert', weight: 1.0, reverse: false, order: 6 },
17
+ { id: qid('agreeableness_3'), section: 2, framework: 'BIGO', trait: 'Agreeableness', prompt: 'I value cooperation over competition.', type: 'likert', weight: 1.0, reverse: false, order: 7 },
18
+ { id: qid('agreeableness_4'), section: 2, framework: 'BIGO', trait: 'Agreeableness', prompt: 'I feel fulfilled supporting or mentoring others.', type: 'likert', weight: 1.0, reverse: false, order: 8 },
19
+ { id: qid('neuroticism_1'), section: 3, framework: 'BIGO', trait: 'Neuroticism', prompt: 'I get stressed easily under deadlines.', type: 'likert', weight: 1.5, reverse: true, order: 1 },
20
+ { id: qid('neuroticism_2'), section: 3, framework: 'BIGO', trait: 'Neuroticism', prompt: 'I worry about making mistakes at work.', type: 'likert', weight: 1.5, reverse: true, order: 2 },
21
+ { id: qid('neuroticism_3'), section: 3, framework: 'BIGO', trait: 'Neuroticism', prompt: 'I find it hard to stay calm under pressure.', type: 'likert', weight: 1.5, reverse: true, order: 3 },
22
+ { id: qid('neuroticism_4'), section: 3, framework: 'BIGO', trait: 'Neuroticism', prompt: 'I feel anxious about career uncertainty.', type: 'likert', weight: 1.5, reverse: true, order: 4 },
23
+ { id: qid('realistic_1'), section: 3, framework: 'RIASEC', trait: 'Realistic', prompt: 'I enjoy careers involving building or repairing with tools.', type: 'likert', weight: 1.0, reverse: false, order: 5 },
24
+ { id: qid('realistic_2'), section: 3, framework: 'RIASEC', trait: 'Realistic', prompt: 'I like hands-on, physical, or outdoor jobs.', type: 'binary', weight: 1.0, reverse: false, order: 6 },
25
+ { id: qid('realistic_3'), section: 3, framework: 'RIASEC', trait: 'Realistic', prompt: 'I prefer solving practical problems.', type: 'likert', weight: 1.0, reverse: false, order: 7 },
26
+ { id: qid('investigative_1'), section: 4, framework: 'RIASEC', trait: 'Investigative', prompt: 'I enjoy careers in data analysis or research.', type: 'likert', weight: 1.5, reverse: false, order: 1 },
27
+ { id: qid('investigative_2'), section: 4, framework: 'RIASEC', trait: 'Investigative', prompt: 'I enjoy jobs in research, science, or tech.', type: 'binary', weight: 1.5, reverse: false, order: 2 },
28
+ { id: qid('investigative_3'), section: 4, framework: 'RIASEC', trait: 'Investigative', prompt: 'I prefer jobs that require logical thinking and experimentation.', type: 'likert', weight: 1.5, reverse: false, order: 3 },
29
+ { id: qid('investigative_4'), section: 4, framework: 'RIASEC', trait: 'Investigative', prompt: 'I feel motivated solving complex or abstract problems.', type: 'likert', weight: 1.5, reverse: false, order: 4 },
30
+ { id: qid('artistic_1'), section: 4, framework: 'RIASEC', trait: 'Artistic', prompt: 'I enjoy jobs where I can design, write, perform, or create.', type: 'likert', weight: 1.0, reverse: false, order: 5 },
31
+ { id: qid('artistic_2'), section: 4, framework: 'RIASEC', trait: 'Artistic', prompt: 'I prefer flexible work valuing creativity.', type: 'likert', weight: 1.0, reverse: false, order: 6 },
32
+ { id: qid('artistic_3'), section: 4, framework: 'RIASEC', trait: 'Artistic', prompt: 'I feel energized brainstorming solutions.', type: 'likert', weight: 1.0, reverse: false, order: 7 },
33
+ { id: qid('artistic_4'), section: 4, framework: 'RIASEC', trait: 'Artistic', prompt: 'I prefer flexible environments over a strict office routine.', type: 'likert', weight: 1.0, reverse: false, order: 8 },
34
+ { id: qid('social_1'), section: 5, framework: 'RIASEC', trait: 'Social', prompt: 'I enjoy jobs teaching, training, or guiding others.', type: 'likert', weight: 1.0, reverse: false, order: 1 },
35
+ { id: qid('social_2'), section: 5, framework: 'RIASEC', trait: 'Social', prompt: 'I feel fulfilled helping people in my workplace.', type: 'likert', weight: 1.0, reverse: false, order: 2 },
36
+ { id: qid('social_3'), section: 5, framework: 'RIASEC', trait: 'Social', prompt: 'I prefer a career in healthcare, education, or counseling.', type: 'binary', weight: 1.0, reverse: false, order: 3 },
37
+ { id: qid('enterprising_1'), section: 5, framework: 'RIASEC', trait: 'Enterprising', prompt: 'I enjoy persuading or motivating people at work.', type: 'likert', weight: 2.0, reverse: false, order: 4 },
38
+ { id: qid('enterprising_2'), section: 5, framework: 'RIASEC', trait: 'Enterprising', prompt: 'I like leadership, decision-making, or risk-taking jobs.', type: 'likert', weight: 2.0, reverse: false, order: 5 },
39
+ { id: qid('enterprising_3'), section: 5, framework: 'RIASEC', trait: 'Enterprising', prompt: 'I feel drawn to business, sales, or management careers.', type: 'likert', weight: 2.0, reverse: false, order: 6 },
40
+ { id: qid('conventional_1'), section: 6, framework: 'RIASEC', trait: 'Conventional', prompt: 'I enjoy jobs organizing records or managing information.', type: 'likert', weight: 1.0, reverse: false, order: 1 },
41
+ { id: qid('conventional_2'), section: 6, framework: 'RIASEC', trait: 'Conventional', prompt: 'I prefer structured roles with clear rules.', type: 'likert', weight: 1.0, reverse: false, order: 2 },
42
+ { id: qid('conventional_3'), section: 6, framework: 'RIASEC', trait: 'Conventional', prompt: 'I prefer careers in finance, administration, or data.', type: 'binary', weight: 1.0, reverse: false, order: 3 },
43
+ ];
44
+ export const QUESTIONS_BY_SECTION = {
45
+ 1: QUESTIONS.filter(q => q.section === 1).sort((a, b) => a.order - b.order),
46
+ 2: QUESTIONS.filter(q => q.section === 2).sort((a, b) => a.order - b.order),
47
+ 3: QUESTIONS.filter(q => q.section === 3).sort((a, b) => a.order - b.order),
48
+ 4: QUESTIONS.filter(q => q.section === 4).sort((a, b) => a.order - b.order),
49
+ 5: QUESTIONS.filter(q => q.section === 5).sort((a, b) => a.order - b.order),
50
+ 6: QUESTIONS.filter(q => q.section === 6).sort((a, b) => a.order - b.order),
51
+ };
@@ -0,0 +1,7 @@
1
+ export type Framework = 'BIGO' | 'RIASEC';
2
+ export type BigOTrait = 'Openness' | 'Conscientiousness' | 'Extraversion' | 'Agreeableness' | 'Neuroticism';
3
+ export type RiasecTrait = 'Realistic' | 'Investigative' | 'Artistic' | 'Social' | 'Enterprising' | 'Conventional';
4
+ export type AnyTrait = BigOTrait | RiasecTrait;
5
+ export declare const BIGO_TRAITS: BigOTrait[];
6
+ export declare const RIASEC_TRAITS: RiasecTrait[];
7
+ //# sourceMappingURL=traits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"traits.d.ts","sourceRoot":"","sources":["../../../src/career-personality-test/data/traits.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE1C,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,aAAa,CAAC;AAElB,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,eAAe,GACf,UAAU,GACV,QAAQ,GACR,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAE/C,eAAO,MAAM,WAAW,EAAE,SAAS,EAMlC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,WAAW,EAOtC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export const BIGO_TRAITS = [
2
+ 'Openness',
3
+ 'Conscientiousness',
4
+ 'Extraversion',
5
+ 'Agreeableness',
6
+ 'Neuroticism',
7
+ ];
8
+ export const RIASEC_TRAITS = [
9
+ 'Realistic',
10
+ 'Investigative',
11
+ 'Artistic',
12
+ 'Social',
13
+ 'Enterprising',
14
+ 'Conventional',
15
+ ];
@@ -0,0 +1,20 @@
1
+ export { QUESTIONS, QUESTIONS_BY_SECTION } from './data/questions';
2
+ export type { Question, QuestionType } from './data/questions';
3
+ export { BIGO_TRAITS, RIASEC_TRAITS } from './data/traits';
4
+ export type { Framework, BigOTrait, RiasecTrait, AnyTrait } from './data/traits';
5
+ export { OVERALL_BANDS, pickOverallBand } from './data/overallBands';
6
+ export type { OverallBand } from './data/overallBands';
7
+ export { calculateTraitScore, computeOverall } from './utils/scoring';
8
+ export type { AnswerValue, AnswersMap, TraitName } from './utils/scoring';
9
+ export { CAREER_TEST_RESULTS_KEY, CAREER_TEST_USER_KEY } from './constants/storageKeys';
10
+ export { BIGO_LETTERS, RIASEC_LETTERS, BIGO_COMBOS, RIASEC_COMBOS, RIASEC_ROLES, WORK_STYLE_BANDS, pickWorkStyleBand, pickPersonaBand, } from './constants/resultConstants';
11
+ export type { WorkStyleBand, PersonaBand } from './constants/resultConstants';
12
+ export { CareerFitTestLanding } from './components/CareerFitTestLanding';
13
+ export type { CareerFitTestLandingProps } from './components/CareerFitTestLanding';
14
+ export { CareerTestDetailsForm } from './components/CareerTestDetailsForm';
15
+ export type { CareerTestDetailsFormProps, CareerTestDetailsFormPayload, CareerTestDetailsFormInitial, } from './components/CareerTestDetailsForm';
16
+ export { CareerTestStart } from './components/CareerTestStart';
17
+ export type { CareerTestStartProps } from './components/CareerTestStart';
18
+ export { CareerTestResultsPage } from './components/CareerTestResultsPage';
19
+ export type { CareerTestResultsPageProps, StoredResults } from './components/CareerTestResultsPage';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/career-personality-test/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACrE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG1E,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACV,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC"}
@@ -0,0 +1,14 @@
1
+ // Data
2
+ export { QUESTIONS, QUESTIONS_BY_SECTION } from './data/questions';
3
+ export { BIGO_TRAITS, RIASEC_TRAITS } from './data/traits';
4
+ export { OVERALL_BANDS, pickOverallBand } from './data/overallBands';
5
+ // Utils
6
+ export { calculateTraitScore, computeOverall } from './utils/scoring';
7
+ // Constants
8
+ export { CAREER_TEST_RESULTS_KEY, CAREER_TEST_USER_KEY } from './constants/storageKeys';
9
+ export { BIGO_LETTERS, RIASEC_LETTERS, BIGO_COMBOS, RIASEC_COMBOS, RIASEC_ROLES, WORK_STYLE_BANDS, pickWorkStyleBand, pickPersonaBand, } from './constants/resultConstants';
10
+ // Components
11
+ export { CareerFitTestLanding } from './components/CareerFitTestLanding';
12
+ export { CareerTestDetailsForm } from './components/CareerTestDetailsForm';
13
+ export { CareerTestStart } from './components/CareerTestStart';
14
+ export { CareerTestResultsPage } from './components/CareerTestResultsPage';
@@ -0,0 +1,18 @@
1
+ import type { Question } from '../data/questions';
2
+ export type AnswerValue = 1 | 2 | 3 | 4 | 5 | 'yes' | 'no';
3
+ export type AnswersMap = Record<string, AnswerValue | undefined>;
4
+ export type TraitName = 'Openness' | 'Conscientiousness' | 'Extraversion' | 'Agreeableness' | 'Neuroticism' | 'Realistic' | 'Investigative' | 'Artistic' | 'Social' | 'Enterprising' | 'Conventional';
5
+ export declare function calculateTraitScore(trait: TraitName, answers: AnswersMap): {
6
+ totalScore: number;
7
+ maxScore: number;
8
+ percentage: number;
9
+ };
10
+ export declare function computeOverall(_questions: Question[], answers: AnswersMap): {
11
+ traitPercentages: Record<TraitName, number>;
12
+ frameworkPercentages: {
13
+ BIGO: number;
14
+ RIASEC: number;
15
+ };
16
+ overallPercentage: number;
17
+ };
18
+ //# sourceMappingURL=scoring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoring.d.ts","sourceRoot":"","sources":["../../../src/career-personality-test/utils/scoring.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAC3D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC;AAEjE,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,aAAa,GACb,WAAW,GACX,eAAe,GACf,UAAU,GACV,QAAQ,GACR,cAAc,GACd,cAAc,CAAC;AAgBnB,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,UAAU,GAClB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAmB9D;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,QAAQ,EAAE,EACtB,OAAO,EAAE,UAAU,GAClB;IACD,gBAAgB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5C,oBAAoB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CA+BA"}
@@ -0,0 +1,69 @@
1
+ import { QUESTIONS } from '../data/questions';
2
+ const TRAIT_MAX = {
3
+ Openness: 20,
4
+ Conscientiousness: 20,
5
+ Extraversion: 30,
6
+ Agreeableness: 20,
7
+ Neuroticism: 30,
8
+ Realistic: 15,
9
+ Investigative: 24,
10
+ Artistic: 20,
11
+ Social: 11,
12
+ Enterprising: 30,
13
+ Conventional: 11,
14
+ };
15
+ export function calculateTraitScore(trait, answers) {
16
+ let totalScore = 0;
17
+ QUESTIONS.forEach((q) => {
18
+ if (q.trait !== trait)
19
+ return;
20
+ const answer = answers[q.id];
21
+ if (answer === undefined)
22
+ return;
23
+ let rawScore;
24
+ if (q.type === 'likert') {
25
+ if (typeof answer !== 'number')
26
+ return;
27
+ rawScore = answer;
28
+ if (q.reverse)
29
+ rawScore = 6 - rawScore;
30
+ }
31
+ else {
32
+ rawScore = answer === 'yes' ? 1 : 0;
33
+ }
34
+ totalScore += rawScore * q.weight;
35
+ });
36
+ const maxScore = TRAIT_MAX[trait];
37
+ const percentage = maxScore > 0 ? (totalScore / maxScore) * 100 : 0;
38
+ return { totalScore, maxScore, percentage };
39
+ }
40
+ export function computeOverall(_questions, answers) {
41
+ const bigoTraits = [
42
+ 'Openness',
43
+ 'Conscientiousness',
44
+ 'Extraversion',
45
+ 'Agreeableness',
46
+ 'Neuroticism',
47
+ ];
48
+ const riasecTraits = [
49
+ 'Realistic',
50
+ 'Investigative',
51
+ 'Artistic',
52
+ 'Social',
53
+ 'Enterprising',
54
+ 'Conventional',
55
+ ];
56
+ const traitPercentages = {};
57
+ bigoTraits.concat(riasecTraits).forEach((trait) => {
58
+ const { percentage } = calculateTraitScore(trait, answers);
59
+ traitPercentages[trait] = percentage;
60
+ });
61
+ const bigoAvg = bigoTraits.reduce((sum, t) => sum + traitPercentages[t], 0) / bigoTraits.length;
62
+ const riasecAvg = riasecTraits.reduce((sum, t) => sum + traitPercentages[t], 0) / riasecTraits.length;
63
+ const overallPercentage = bigoAvg * 0.4 + riasecAvg * 0.6;
64
+ return {
65
+ traitPercentages,
66
+ frameworkPercentages: { BIGO: bigoAvg, RIASEC: riasecAvg },
67
+ overallPercentage,
68
+ };
69
+ }
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const badgeVariants: (props?: ({
4
+ variant?: "outline" | "secondary" | "default" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
+ }
8
+ declare function Badge({ className, variant, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
9
+ export { Badge, badgeVariants };
10
+ //# sourceMappingURL=Badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Badge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,aAAa;;8EAclB,CAAC;AAEF,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,aAAa,CAAC;CAAG;AAEzC,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAI1D;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cva } from 'class-variance-authority';
4
+ import { cn } from '../../utils/cn';
5
+ const badgeVariants = cva('inline-flex items-center rounded-full border px-2.5 py-1.5 text-xs transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2', {
6
+ variants: {
7
+ variant: {
8
+ default: 'border-transparent bg-primary/40 text-primary-foreground',
9
+ secondary: 'border-transparent bg-secondary text-secondary-foreground',
10
+ outline: 'text-foreground',
11
+ },
12
+ },
13
+ defaultVariants: {
14
+ variant: 'default',
15
+ },
16
+ });
17
+ function Badge({ className, variant, ...props }) {
18
+ return (_jsx("div", { className: cn(badgeVariants({ variant }), className), ...props }));
19
+ }
20
+ export { Badge, badgeVariants };
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "outline" | "secondary" | "default" | "ghost" | null | undefined;
5
+ size?: "sm" | "default" | "lg" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
8
+ asChild?: boolean;
9
+ }
10
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
+ export { Button, buttonVariants };
12
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,QAAA,MAAM,cAAc;;;8EAqBnB,CAAC;AAEF,MAAM,WAAW,WACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,MAAM,uFAWX,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,31 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as React from 'react';
4
+ import { Slot } from '@radix-ui/react-slot';
5
+ import { cva } from 'class-variance-authority';
6
+ import { cn } from '../../utils/cn';
7
+ const buttonVariants = cva('inline-flex items-center justify-center whitespace-nowrap rounded-lg text-base font-normal ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50', {
8
+ variants: {
9
+ variant: {
10
+ default: 'bg-primary text-primary-foreground hover:bg-primary/90',
11
+ outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',
12
+ secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',
13
+ ghost: 'hover:bg-accent hover:text-accent-foreground',
14
+ },
15
+ size: {
16
+ default: 'h-10 px-4 py-2',
17
+ sm: 'h-9 rounded-md px-3',
18
+ lg: 'h-11 rounded-md px-8',
19
+ },
20
+ },
21
+ defaultVariants: {
22
+ variant: 'default',
23
+ size: 'default',
24
+ },
25
+ });
26
+ const Button = React.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {
27
+ const Comp = asChild ? Slot : 'button';
28
+ return (_jsx(Comp, { className: cn(buttonVariants({ variant, size, className })), ref: ref, ...props }));
29
+ });
30
+ Button.displayName = 'Button';
31
+ export { Button, buttonVariants };
@@ -5,6 +5,7 @@ export interface DesignationSelectProps {
5
5
  disabled?: boolean;
6
6
  className?: string;
7
7
  valueType?: 'id' | 'title';
8
+ token?: string;
8
9
  }
9
- export default function DesignationSelect({ value, onChange, placeholder, disabled, className, valueType, }: DesignationSelectProps): import("react/jsx-runtime").JSX.Element;
10
+ export default function DesignationSelect({ value, onChange, placeholder, disabled, className, valueType, token, }: DesignationSelectProps): import("react/jsx-runtime").JSX.Element;
10
11
  //# sourceMappingURL=DesignationSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DesignationSelect.d.ts","sourceRoot":"","sources":["../../../src/components/ui/DesignationSelect.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;CAC5B;AAQD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,KAAK,EACL,QAAQ,EACR,WAAoC,EACpC,QAAQ,EACR,SAAS,EACT,SAAmB,GACpB,EAAE,sBAAsB,2CA4JxB"}
1
+ {"version":3,"file":"DesignationSelect.d.ts","sourceRoot":"","sources":["../../../src/components/ui/DesignationSelect.tsx"],"names":[],"mappings":"AAiBA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,KAAK,EACL,QAAQ,EACR,WAAoC,EACpC,QAAQ,EACR,SAAS,EACT,SAAmB,EACnB,KAAK,GACN,EAAE,sBAAsB,2CAyJxB"}