@baravak/risloo-profile-cli 4.46.3 → 4.75.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/create-profile/SKILL.md +14 -0
- package/.claude/settings.local.json +1 -3
- package/.claude/skills/create-profile/SKILL.md +203 -0
- package/AGENTS.md +413 -0
- package/CLAUDE.md +2 -185
- package/package.json +1 -1
- package/src/cli-commands/Executor.js +8 -2
- package/src/cli-commands/ExtractExecutor.js +55 -21
- package/src/cli-commands/GiftExecutor.js +1 -0
- package/src/handlebars/importPartials.js +10 -44
- package/src/handlebars/init.js +17 -11
- package/src/publish/json/profiles/BSSI93.json +392 -0
- package/src/publish/json/profiles/FRHPT93.json +2 -2
- package/src/publish/json/profiles/ISKS93.json +288 -0
- package/src/publish/json/profiles/MCMI9A.json +1540 -0
- package/src/publish/json/profiles/NEO93.json +3858 -0
- package/src/publish/json/profiles/NEO9A.json +1159 -1
- package/src/publish/json/profiles/NEO9Q.json +3856 -0
- package/src/publish/json/profiles/NEO9V.json +1157 -0
- package/src/publish/json/profiles/RIASEC9A.json +2775 -0
- package/src/publish/json/profiles/RSI93.json +359 -0
- package/src/samples/AEQ93.js +1 -1
- package/src/samples/AMS93.js +1 -1
- package/src/samples/AMS9A.js +3 -1
- package/src/samples/BAOMEIS93.js +1 -1
- package/src/samples/BEQI93.js +1 -1
- package/src/samples/BSCT93.js +5 -0
- package/src/samples/BSSI93.js +93 -0
- package/src/samples/CAATS93.js +1 -1
- package/src/samples/CERQ93.js +1 -1
- package/src/samples/CRAAS93.js +1 -1
- package/src/samples/DSWLS93.js +1 -1
- package/src/samples/EMSS93.js +1 -1
- package/src/samples/EPQ9A.js +6 -1
- package/src/samples/FACES93.js +6 -0
- package/src/samples/FRHPT93.js +41 -13
- package/src/samples/GMIT93.js +1 -1
- package/src/samples/HPL93.js +1 -1
- package/src/samples/ISKS93.js +62 -0
- package/src/samples/IUS93.js +1 -1
- package/src/samples/JCSI93.js +1 -1
- package/src/samples/JPFQ93.js +5 -0
- package/src/samples/KJGI93.js +1 -1
- package/src/samples/LMIQ93.js +1 -1
- package/src/samples/MCMI9A.js +530 -0
- package/src/samples/MMFAD93.js +1 -1
- package/src/samples/MOCI93.js +1 -1
- package/src/samples/NEO93.js +279 -0
- package/src/samples/NEO9A.js +93 -60
- package/src/samples/NEO9Q.js +281 -0
- package/src/samples/NEO9V.js +218 -0
- package/src/samples/OBQ4493.js +1 -1
- package/src/samples/PIES93.js +1 -1
- package/src/samples/PIES9A.js +4 -0
- package/src/samples/PMCIEF93.js +7 -1
- package/src/samples/PSWQ93.js +1 -1
- package/src/samples/RIASEC93.js +1 -1
- package/src/samples/RIASEC9A.js +256 -0
- package/src/samples/RSI93.js +89 -0
- package/src/samples/SASQ93.js +1 -1
- package/src/samples/SDCAQ93.js +1 -1
- package/src/samples/STAIY93.js +1 -1
- package/src/samples/WAQ93.js +1 -1
- package/src/samples/YBOCS93.js +1 -1
- package/src/samples/YPI93.js +5 -1
- package/views/profiles/MCMI9A_facets_partial.hbs +96 -0
- package/views/profiles/MCMI9A_main_partial.hbs +262 -0
- package/views/profiles/MCMI9A_noteworthy_partial.hbs +66 -0
- package/views/profiles/MCMI9A_vertical_label_partial.hbs +8 -0
- package/views/profiles/NEO_long_facets.hbs +125 -0
- package/views/profiles/NEO_main.hbs +152 -0
- package/views/profiles/NEO_short_facets.hbs +82 -0
- package/views/profiles/samples/BSCT93.hbs +17 -17
- package/views/profiles/samples/BSSI93.hbs +102 -0
- package/views/profiles/samples/FRHPT93_1.hbs +568 -87
- package/views/profiles/samples/FRHPT93_2.hbs +90 -76
- package/views/profiles/samples/FRHPT93_3.hbs +2 -2
- package/views/profiles/samples/FRHPT93_4.hbs +2 -2
- package/views/profiles/samples/FRHPT93_5.hbs +103 -0
- package/views/profiles/samples/FRHPT9A.hbs +7 -7
- package/views/profiles/samples/ISKS93.hbs +38 -0
- package/views/profiles/samples/MCMI9A_1.hbs +3 -0
- package/views/profiles/samples/MCMI9A_2.hbs +3 -0
- package/views/profiles/samples/MCMI9A_3.hbs +3 -0
- package/views/profiles/samples/MCMI9A_4.hbs +3 -0
- package/views/profiles/samples/NEO93_1.hbs +14 -0
- package/views/profiles/samples/NEO93_2.hbs +15 -0
- package/views/profiles/samples/NEO93_3.hbs +15 -0
- package/views/profiles/samples/NEO9A.hbs +14 -29
- package/views/profiles/samples/NEO9Q_1.hbs +13 -0
- package/views/profiles/samples/NEO9Q_2.hbs +14 -0
- package/views/profiles/samples/NEO9Q_3.hbs +14 -0
- package/views/profiles/samples/NEO9V_1.hbs +13 -0
- package/views/profiles/samples/NEO9V_2.hbs +3 -0
- package/views/profiles/samples/RIASEC9A_1.hbs +38 -0
- package/views/profiles/samples/RIASEC9A_2.hbs +67 -0
- package/views/profiles/samples/RIASEC9A_3.hbs +93 -0
- package/views/profiles/samples/RSI93.hbs +101 -0
- package/a.json +0 -4805
- package/src/publish/json/profiles/BSCT93_t1.json +0 -512
- package/src/publish/json/profiles/BSCT93_t2.json +0 -512
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
<defs>
|
|
2
|
+
<linearGradient id="mcmBlue" x1="0" y1="1" x2="0" y2="0">
|
|
3
|
+
<stop stop-color="#93C5FD"/>
|
|
4
|
+
<stop offset="1" stop-color="#2563EB"/>
|
|
5
|
+
</linearGradient>
|
|
6
|
+
<linearGradient id="mcmGray" x1="0" y1="1" x2="0" y2="0">
|
|
7
|
+
<stop stop-color="#E2E8F0"/>
|
|
8
|
+
<stop offset="1" stop-color="#94A3B8"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<linearGradient id="mcmYellow" x1="0" y1="1" x2="0" y2="0">
|
|
11
|
+
<stop stop-color="#FEF08A"/>
|
|
12
|
+
<stop offset="1" stop-color="#EAB308"/>
|
|
13
|
+
</linearGradient>
|
|
14
|
+
<linearGradient id="mcmOrange" x1="0" y1="1" x2="0" y2="0">
|
|
15
|
+
<stop stop-color="#FDBA74"/>
|
|
16
|
+
<stop offset="1" stop-color="#EA580C"/>
|
|
17
|
+
</linearGradient>
|
|
18
|
+
<linearGradient id="mcmRose" x1="0" y1="1" x2="0" y2="0">
|
|
19
|
+
<stop stop-color="#FDA4AF"/>
|
|
20
|
+
<stop offset="1" stop-color="#E11D48"/>
|
|
21
|
+
</linearGradient>
|
|
22
|
+
<filter id="mcmMainBaselineModifying" x="134" y="461" width="74" height="7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
23
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
24
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
25
|
+
<feOffset dx="1"/>
|
|
26
|
+
<feGaussianBlur stdDeviation="1.5"/>
|
|
27
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
28
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
|
|
29
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1"/>
|
|
30
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1" result="shape"/>
|
|
31
|
+
</filter>
|
|
32
|
+
<filter id="mcmMainBaselinePersonality" x="266" y="461" width="330" height="7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
33
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
34
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
35
|
+
<feOffset dx="1"/>
|
|
36
|
+
<feGaussianBlur stdDeviation="1.5"/>
|
|
37
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
38
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
|
|
39
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1"/>
|
|
40
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1" result="shape"/>
|
|
41
|
+
</filter>
|
|
42
|
+
<filter id="mcmMainBaselineClinical" x="662" y="461" width="230" height="7" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
43
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
44
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
45
|
+
<feOffset dx="1"/>
|
|
46
|
+
<feGaussianBlur stdDeviation="1.5"/>
|
|
47
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
48
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
|
|
49
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1"/>
|
|
50
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1" result="shape"/>
|
|
51
|
+
</filter>
|
|
52
|
+
</defs>
|
|
53
|
+
|
|
54
|
+
<g transform="translate({{spec.profile.padding.[0].x}}, {{spec.profile.padding.[0].y}})">
|
|
55
|
+
<g>
|
|
56
|
+
{{bar 32 120 (object tl=4 bl=0 tr=4 br=0) (toRad 0) fill="#F1F5F9"}}
|
|
57
|
+
<path d="M0.5 120V4A3.5 3.5 0 0 1 4 0.5H28A3.5 3.5 0 0 1 31.5 4V120" fill="none" stroke="#E2E8F0"/>
|
|
58
|
+
<text x="16" y="60" transform="rotate(-90 16 60)" font-size="12" fill="#334155" text-anchor="middle" dy=".35em">کدهای برافراشته</text>
|
|
59
|
+
{{#each highPoints as |code index|}}
|
|
60
|
+
<g transform="translate(0, {{math 124 '+' (math index '*' 36)}})">
|
|
61
|
+
<rect width="32" height="32" rx="2" fill="#EFF6FF"/>
|
|
62
|
+
<text class="eng-font" x="16" y="16" transform="rotate(-90 16 16)" direction="ltr" font-size="12" fill="#1E40AF" text-anchor="middle" dy=".3em">{{code}}</text>
|
|
63
|
+
</g>
|
|
64
|
+
{{/each}}
|
|
65
|
+
|
|
66
|
+
<g transform="translate(40, 0)">
|
|
67
|
+
{{bar 32 120 (object tl=4 bl=0 tr=4 br=0) (toRad 0) fill="#F1F5F9"}}
|
|
68
|
+
<path d="M0.5 120V4A3.5 3.5 0 0 1 4 0.5H28A3.5 3.5 0 0 1 31.5 4V120" fill="none" stroke="#E2E8F0"/>
|
|
69
|
+
<text x="16" y="60" transform="rotate(-90 16 60)" font-size="12" fill="#334155" text-anchor="middle" dy=".35em">تعدیل نمرات BR</text>
|
|
70
|
+
<g transform="translate(0, 124)">
|
|
71
|
+
<rect width="32" height="{{correction.bodyHeight}}" rx="2" fill="{{correction.background}}"/>
|
|
72
|
+
{{#if correction.valid}}
|
|
73
|
+
<path d="M8 12.667L11.333 9.334L4.667 2.667" transform="translate(8, 16)" fill="none" stroke="{{correction.color}}" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
|
74
|
+
{{else}}
|
|
75
|
+
<path d="M12 20L20 28M20 20L12 28" fill="none" stroke="{{correction.color}}" stroke-width="1.4" stroke-linecap="round"/>
|
|
76
|
+
{{/if}}
|
|
77
|
+
<text x="16" y="36" transform="rotate(-90 16 36)" font-size="12" fill="{{correction.color}}" text-anchor="start" dy=".35em">{{correction.text}}</text>
|
|
78
|
+
</g>
|
|
79
|
+
</g>
|
|
80
|
+
|
|
81
|
+
<g transform="translate(0, 392)">
|
|
82
|
+
{{bar 32 150 (object tl=4 bl=0 tr=4 br=0) (toRad 0) fill="#F1F5F9"}}
|
|
83
|
+
<path d="M0.5 150V4A3.5 3.5 0 0 1 4 0.5H28A3.5 3.5 0 0 1 31.5 4V150" fill="none" stroke="#E2E8F0"/>
|
|
84
|
+
<text x="16" y="75" transform="rotate(-90 16 75)" font-size="12" fill="#334155" text-anchor="middle" dy=".35em">شاخص عدم اعتبار ( V )</text>
|
|
85
|
+
<g transform="translate(0, 154)">
|
|
86
|
+
<rect width="32" height="160" rx="2" fill="{{validityV.background}}"/>
|
|
87
|
+
<text x="16" y="{{validityV.rawY}}" transform="rotate(-90 16 {{validityV.rawY}})" font-size="18" font-weight="500" fill="{{validityV.color}}" text-anchor="middle" dy=".35em">{{validityV.raw}}</text>
|
|
88
|
+
<text x="16" y="{{validityV.equalsY}}" transform="rotate(-90 16 {{validityV.equalsY}})" font-size="14" fill="{{validityV.color}}" text-anchor="middle" dy=".35em">=</text>
|
|
89
|
+
<text x="16" y="{{validityV.reportY}}" transform="rotate(-90 16 {{validityV.reportY}})" font-size="13" fill="{{validityV.color}}" text-anchor="middle" dy=".35em">{{validityV.text}}</text>
|
|
90
|
+
</g>
|
|
91
|
+
</g>
|
|
92
|
+
|
|
93
|
+
<g transform="translate(40, 392)">
|
|
94
|
+
{{bar 32 150 (object tl=4 bl=0 tr=4 br=0) (toRad 0) fill="#F1F5F9"}}
|
|
95
|
+
<path d="M0.5 150V4A3.5 3.5 0 0 1 4 0.5H28A3.5 3.5 0 0 1 31.5 4V150" fill="none" stroke="#E2E8F0"/>
|
|
96
|
+
<text x="16" y="75" transform="rotate(-90 16 75)" font-size="12" fill="#334155" text-anchor="middle" dy=".35em">شاخص ناهمسانی ( W )</text>
|
|
97
|
+
<g transform="translate(0, 154)">
|
|
98
|
+
<rect width="32" height="160" rx="2" fill="{{validityW.background}}"/>
|
|
99
|
+
<text x="16" y="{{validityW.rawY}}" transform="rotate(-90 16 {{validityW.rawY}})" font-size="18" font-weight="500" fill="{{validityW.color}}" text-anchor="middle" dy=".35em">{{validityW.raw}}</text>
|
|
100
|
+
<text x="16" y="{{validityW.equalsY}}" transform="rotate(-90 16 {{validityW.equalsY}})" font-size="14" fill="{{validityW.color}}" text-anchor="middle" dy=".35em">=</text>
|
|
101
|
+
<text x="16" y="{{validityW.reportY}}" transform="rotate(-90 16 {{validityW.reportY}})" font-size="13" fill="{{validityW.color}}" text-anchor="middle" dy=".35em">{{validityW.text}}</text>
|
|
102
|
+
</g>
|
|
103
|
+
</g>
|
|
104
|
+
</g>
|
|
105
|
+
|
|
106
|
+
<rect x="96" width="1" height="706" fill="#E2E8F0"/>
|
|
107
|
+
|
|
108
|
+
<g>
|
|
109
|
+
{{#each modifying as |item|}}
|
|
110
|
+
<g transform="translate({{item.x}}, 64)">
|
|
111
|
+
{{bar 12 400 (object tl=2 bl=0 tr=2 br=0) (toRad 0) fill=item.theme.track}}
|
|
112
|
+
</g>
|
|
113
|
+
{{/each}}
|
|
114
|
+
<line x1="136.5" y1="64.5" x2="203.5" y2="64.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
115
|
+
<line x1="136.5" y1="164.5" x2="203.5" y2="164.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
116
|
+
<line x1="136.5" y1="324.5" x2="203.5" y2="324.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
117
|
+
|
|
118
|
+
<text x="129" y="65" transform="rotate(-90 129 65)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="end">100</text>
|
|
119
|
+
<text x="129" y="165" transform="rotate(-90 129 165)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">75</text>
|
|
120
|
+
<text x="129" y="325" transform="rotate(-90 129 325)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">35</text>
|
|
121
|
+
<text x="129" y="456" transform="rotate(-90 129 456)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">BR</text>
|
|
122
|
+
<text x="129" y="115" transform="rotate(-90 129 115)" font-size="10" fill="#6B7280" text-anchor="middle">بالا</text>
|
|
123
|
+
<text x="129" y="244" transform="rotate(-90 129 244)" font-size="10" fill="#6B7280" text-anchor="middle">متوسط</text>
|
|
124
|
+
<text x="129" y="384" transform="rotate(-90 129 384)" font-size="10" fill="#6B7280" text-anchor="middle">پایین</text>
|
|
125
|
+
<text x="129" y="0" transform="rotate(-90 129 0)" font-size="12" fill="#9CA3AF" text-anchor="start">نمره خام</text>
|
|
126
|
+
<path d="M122.5 51H129.5M126.5 54L129.5 51L126.5 48" fill="none" stroke="#9CA3AF" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
|
|
127
|
+
{{#if showDisclosureAlert}}
|
|
128
|
+
<path d="M148.99 6.49986H151.291M153.016 6.49986V6.49408M145.879 7.44568L153.663 12.1291C153.83 12.2257 154.018 12.2768 154.211 12.2773C154.403 12.2779 154.592 12.2279 154.759 12.1323C154.926 12.0367 155.065 11.8989 155.162 11.7325C155.26 11.5661 155.312 11.377 155.315 11.1839V1.81581C155.312 1.62284 155.26 1.4338 155.162 1.2675C155.065 1.10119 154.926 0.963405 154.759 0.867832C154.592 0.772258 154.403 0.722225 154.211 0.722705C154.019 0.723185 153.83 0.774162 153.664 0.870569L145.878 5.55403C145.717 5.65257 145.583 5.79138 145.49 5.95706C145.397 6.12274 145.348 6.30969 145.348 6.49986C145.348 6.69002 145.397 6.87697 145.49 7.04265C145.583 7.20833 145.717 7.34714 145.878 7.44568H145.879Z" fill="none" stroke="#B91C1C" stroke-linecap="round" stroke-linejoin="round"/>
|
|
129
|
+
{{/if}}
|
|
130
|
+
|
|
131
|
+
{{#each modifying as |item|}}
|
|
132
|
+
{{#if item.barHeight}}
|
|
133
|
+
<g transform="translate({{item.x}}, {{item.barTop}})" fill="url(#{{item.theme.gradient}})">
|
|
134
|
+
{{bar 12 item.barHeight (object tl=2 bl=0 tr=2 br=0) (toRad 0)}}
|
|
135
|
+
</g>
|
|
136
|
+
{{/if}}
|
|
137
|
+
<text x="{{item.center}}" y="{{item.scoreY}}" transform="rotate(-90 {{item.center}} {{item.scoreY}})" direction="ltr" font-size="12" font-weight="500" fill="{{ternary item.inside 'white' item.theme.dark}}" text-anchor="{{item.scoreAnchor}}" dy=".35em">{{item.br}}</text>
|
|
138
|
+
<rect x="{{item.x}}" y="19" width="12" height="36" rx="2" fill="{{item.theme.track}}"/>
|
|
139
|
+
<text x="{{item.center}}" y="37" transform="rotate(-90 {{item.center}} 37)" direction="ltr" font-size="12" fill="{{item.theme.dark}}" text-anchor="middle" dy=".35em">{{item.raw}}</text>
|
|
140
|
+
{{> MCMI9A_vertical_label center=item.center code=item.code fa=item.fa}}
|
|
141
|
+
{{/each}}
|
|
142
|
+
<g opacity="0.5" filter="url(#mcmMainBaselineModifying)">
|
|
143
|
+
<line x1="136.5" y1="464.5" x2="203.5" y2="464.5" stroke="white" stroke-linecap="round"/>
|
|
144
|
+
</g>
|
|
145
|
+
</g>
|
|
146
|
+
|
|
147
|
+
<g>
|
|
148
|
+
{{#each personality as |item|}}
|
|
149
|
+
<g transform="translate({{item.x}}, 64)">
|
|
150
|
+
{{bar 12 400 (object tl=2 bl=0 tr=2 br=0) (toRad 0) fill=item.theme.track}}
|
|
151
|
+
</g>
|
|
152
|
+
{{/each}}
|
|
153
|
+
<line x1="268.5" y1="64.5" x2="591.5" y2="64.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
154
|
+
<line x1="268.5" y1="169.5" x2="591.5" y2="169.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
155
|
+
<line x1="268.5" y1="269.5" x2="591.5" y2="269.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
156
|
+
<line x1="268.5" y1="374.5" x2="591.5" y2="374.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
157
|
+
|
|
158
|
+
<text x="261" y="65" transform="rotate(-90 261 65)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="end">115</text>
|
|
159
|
+
<text x="261" y="170" transform="rotate(-90 261 170)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">85</text>
|
|
160
|
+
<text x="261" y="270" transform="rotate(-90 261 270)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">75</text>
|
|
161
|
+
<text x="261" y="375" transform="rotate(-90 261 375)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">60</text>
|
|
162
|
+
<text x="261" y="456" transform="rotate(-90 261 456)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">BR</text>
|
|
163
|
+
<text x="261" y="0" transform="rotate(-90 261 0)" font-size="12" fill="#9CA3AF" text-anchor="start">نمره خام</text>
|
|
164
|
+
<path d="M254.5 51H261.5M258.5 54L261.5 51L258.5 48" fill="none" stroke="#9CA3AF" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
|
|
165
|
+
<g transform="translate(250, 116) rotate(-90)">
|
|
166
|
+
<text x="0" y="-6" font-size="10" fill="#E11D48" text-anchor="middle">اختلال</text>
|
|
167
|
+
<text x="0" y="8" font-size="10" fill="#E11D48" text-anchor="middle">شخصیت</text>
|
|
168
|
+
</g>
|
|
169
|
+
<g transform="translate(250, 220) rotate(-90)">
|
|
170
|
+
<text x="0" y="-6" font-size="10" fill="#EA580C" text-anchor="middle">تیپ</text>
|
|
171
|
+
<text x="0" y="8" font-size="10" fill="#EA580C" text-anchor="middle">شخصیتی</text>
|
|
172
|
+
</g>
|
|
173
|
+
<g transform="translate(250, 321) rotate(-90)">
|
|
174
|
+
<text x="0" y="-6" font-size="10" fill="#EAB308" text-anchor="middle">سبک</text>
|
|
175
|
+
<text x="0" y="8" font-size="10" fill="#EAB308" text-anchor="middle">شخصیتی</text>
|
|
176
|
+
</g>
|
|
177
|
+
|
|
178
|
+
{{#each personality as |item|}}
|
|
179
|
+
{{#if item.barHeight}}
|
|
180
|
+
<g transform="translate({{item.x}}, {{item.barTop}})" fill="url(#{{item.theme.gradient}})">
|
|
181
|
+
{{bar 12 item.barHeight (object tl=2 bl=0 tr=2 br=0) (toRad 0)}}
|
|
182
|
+
</g>
|
|
183
|
+
{{/if}}
|
|
184
|
+
<text x="{{item.center}}" y="{{item.scoreY}}" transform="rotate(-90 {{item.center}} {{item.scoreY}})" direction="ltr" font-size="12" font-weight="500" fill="{{ternary item.inside 'white' item.theme.dark}}" text-anchor="{{item.scoreAnchor}}" dy=".35em">{{item.br}}</text>
|
|
185
|
+
<rect x="{{item.x}}" y="19" width="12" height="36" rx="2" fill="{{item.theme.track}}"/>
|
|
186
|
+
<text x="{{item.center}}" y="37" transform="rotate(-90 {{item.center}} 37)" direction="ltr" font-size="12" fill="{{item.theme.dark}}" text-anchor="middle" dy=".35em">{{item.raw}}</text>
|
|
187
|
+
{{> MCMI9A_vertical_label center=item.center code=item.code fa=item.fa}}
|
|
188
|
+
{{/each}}
|
|
189
|
+
<g opacity="0.5" filter="url(#mcmMainBaselinePersonality)">
|
|
190
|
+
<line x1="268.5" y1="464.5" x2="591.5" y2="464.5" stroke="white" stroke-linecap="round"/>
|
|
191
|
+
</g>
|
|
192
|
+
</g>
|
|
193
|
+
|
|
194
|
+
<g>
|
|
195
|
+
{{#each clinical as |item|}}
|
|
196
|
+
<g transform="translate({{item.x}}, 64)">
|
|
197
|
+
{{bar 12 400 (object tl=2 bl=0 tr=2 br=0) (toRad 0) fill=item.theme.track}}
|
|
198
|
+
</g>
|
|
199
|
+
{{/each}}
|
|
200
|
+
<line x1="664.5" y1="64.5" x2="887.5" y2="64.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
201
|
+
<line x1="664.5" y1="169.5" x2="887.5" y2="169.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
202
|
+
<line x1="664.5" y1="269.5" x2="887.5" y2="269.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
203
|
+
|
|
204
|
+
<text x="657" y="65" transform="rotate(-90 657 65)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="end">115</text>
|
|
205
|
+
<text x="657" y="170" transform="rotate(-90 657 170)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">85</text>
|
|
206
|
+
<text x="657" y="270" transform="rotate(-90 657 270)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">75</text>
|
|
207
|
+
<text x="657" y="456" transform="rotate(-90 657 456)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">BR</text>
|
|
208
|
+
<text x="657" y="0" transform="rotate(-90 657 0)" font-size="12" fill="#9CA3AF" text-anchor="start">نمره خام</text>
|
|
209
|
+
<path d="M650.5 51H657.5M654.5 54L657.5 51L654.5 48" fill="none" stroke="#9CA3AF" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
|
|
210
|
+
<g transform="translate(646, 115) rotate(-90)">
|
|
211
|
+
<text x="0" y="-6" font-size="10" fill="#E11D48" text-anchor="middle">غالب بودن</text>
|
|
212
|
+
<text x="0" y="8" font-size="10" fill="#E11D48" text-anchor="middle">مشکل</text>
|
|
213
|
+
</g>
|
|
214
|
+
<g transform="translate(646, 220) rotate(-90)">
|
|
215
|
+
<text x="0" y="-6" font-size="10" fill="#EA580C" text-anchor="middle">وجود</text>
|
|
216
|
+
<text x="0" y="8" font-size="10" fill="#EA580C" text-anchor="middle">مشکل</text>
|
|
217
|
+
</g>
|
|
218
|
+
|
|
219
|
+
{{#each clinical as |item|}}
|
|
220
|
+
{{#if item.barHeight}}
|
|
221
|
+
<g transform="translate({{item.x}}, {{item.barTop}})" fill="url(#{{item.theme.gradient}})">
|
|
222
|
+
{{bar 12 item.barHeight (object tl=2 bl=0 tr=2 br=0) (toRad 0)}}
|
|
223
|
+
</g>
|
|
224
|
+
{{/if}}
|
|
225
|
+
<text x="{{item.center}}" y="{{item.scoreY}}" transform="rotate(-90 {{item.center}} {{item.scoreY}})" direction="ltr" font-size="12" font-weight="500" fill="{{ternary item.inside 'white' item.theme.dark}}" text-anchor="{{item.scoreAnchor}}" dy=".35em">{{item.br}}</text>
|
|
226
|
+
<rect x="{{item.x}}" y="19" width="12" height="36" rx="2" fill="{{item.theme.track}}"/>
|
|
227
|
+
<text x="{{item.center}}" y="37" transform="rotate(-90 {{item.center}} 37)" direction="ltr" font-size="12" fill="{{item.theme.dark}}" text-anchor="middle" dy=".35em">{{item.raw}}</text>
|
|
228
|
+
{{> MCMI9A_vertical_label center=item.center code=item.code fa=item.fa}}
|
|
229
|
+
{{/each}}
|
|
230
|
+
<g opacity="0.5" filter="url(#mcmMainBaselineClinical)">
|
|
231
|
+
<line x1="664.5" y1="464.5" x2="887.5" y2="464.5" stroke="white" stroke-linecap="round"/>
|
|
232
|
+
</g>
|
|
233
|
+
</g>
|
|
234
|
+
|
|
235
|
+
<g>
|
|
236
|
+
<rect x="130.5" y="658.5" width="79" height="47" rx="4" fill="#F9FAFB" stroke="#F3F4F6"/>
|
|
237
|
+
<g transform="rotate(180 170 682)">
|
|
238
|
+
<text x="170" y="674.2" dy=".3em" font-size="13" fill="#4B5563" text-anchor="middle">شاخصهای</text>
|
|
239
|
+
<text x="170" y="689.8" dy=".3em" font-size="13" fill="#4B5563" text-anchor="middle">اصلاح</text>
|
|
240
|
+
</g>
|
|
241
|
+
|
|
242
|
+
<rect x="268.5" y="620.5" width="247" height="31" rx="4" fill="none" stroke="#E5E7EB"/>
|
|
243
|
+
<text x="392" y="636" transform="rotate(180 392 636)" dy=".3em" font-size="10" fill="#4B5563" text-anchor="middle">الگوهای بالینی شخصیت</text>
|
|
244
|
+
<rect x="522.5" y="620.5" width="69" height="31" rx="4" fill="none" stroke="#E5E7EB"/>
|
|
245
|
+
<g transform="rotate(180 557 636)">
|
|
246
|
+
<text x="557" y="630.5" dy=".3em" font-size="10" fill="#4B5563" text-anchor="middle">آسیبشناسی</text>
|
|
247
|
+
<text x="557" y="641.5" dy=".3em" font-size="10" fill="#4B5563" text-anchor="middle">شدید شخصیت</text>
|
|
248
|
+
</g>
|
|
249
|
+
<rect x="268.5" y="658.5" width="323" height="47" rx="4" fill="#F9FAFB" stroke="#F3F4F6"/>
|
|
250
|
+
<text x="430" y="682" transform="rotate(180 430 682)" dy=".3em" font-size="13" fill="#4B5563" text-anchor="middle">مقیاسهای شخصیت</text>
|
|
251
|
+
|
|
252
|
+
<rect x="664.5" y="620.5" width="148" height="31" rx="4" fill="none" stroke="#E5E7EB"/>
|
|
253
|
+
<text x="738.5" y="636" transform="rotate(180 738.5 636)" dy=".3em" font-size="10" fill="#4B5563" text-anchor="middle">مجموعه نشانگان بالینی</text>
|
|
254
|
+
<rect x="819.5" y="620.5" width="68" height="31" rx="4" fill="none" stroke="#E5E7EB"/>
|
|
255
|
+
<g transform="rotate(180 853.5 636)">
|
|
256
|
+
<text x="853.5" y="630.5" dy=".3em" font-size="10" fill="#4B5563" text-anchor="middle">نشانگان</text>
|
|
257
|
+
<text x="853.5" y="641.5" dy=".3em" font-size="10" fill="#4B5563" text-anchor="middle">شدید بالینی</text>
|
|
258
|
+
</g>
|
|
259
|
+
<rect x="664.5" y="658.5" width="223" height="47" rx="4" fill="#F9FAFB" stroke="#F3F4F6"/>
|
|
260
|
+
<text x="776" y="682" transform="rotate(180 776 682)" dy=".3em" font-size="13" fill="#4B5563" text-anchor="middle">مقیاسهای آسیبشناسی</text>
|
|
261
|
+
</g>
|
|
262
|
+
</g>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<defs>
|
|
2
|
+
<linearGradient id="mcmNoteworthy" x1="0" y1="0" x2="1" y2="0">
|
|
3
|
+
<stop stop-color="#BAE6FD"/>
|
|
4
|
+
<stop offset="1" stop-color="#0369A1"/>
|
|
5
|
+
</linearGradient>
|
|
6
|
+
<clipPath id="mcmNoteworthyClip">
|
|
7
|
+
{{bar 400 16 (object tl=0 bl=0 tr=2 br=2) (toRad 0)}}
|
|
8
|
+
</clipPath>
|
|
9
|
+
<filter id="mcmNoteworthySplit" x="270" y="19" width="7" height="542" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
10
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
11
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
12
|
+
<feOffset dx="1"/>
|
|
13
|
+
<feGaussianBlur stdDeviation="1.5"/>
|
|
14
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
15
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
|
|
16
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1"/>
|
|
17
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1" result="shape"/>
|
|
18
|
+
</filter>
|
|
19
|
+
</defs>
|
|
20
|
+
|
|
21
|
+
<g transform="translate({{spec.profile.padding.[3].x}}, {{spec.profile.padding.[3].y}})">
|
|
22
|
+
{{#each items as |item index|}}
|
|
23
|
+
{{#if (even index)}}
|
|
24
|
+
<rect y="{{item.rowY}}" width="737" height="40" rx="8" fill="#F8FAFC"/>
|
|
25
|
+
{{/if}}
|
|
26
|
+
{{/each}}
|
|
27
|
+
|
|
28
|
+
<line x1="473" y1="22.5" x2="473" y2="557.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
29
|
+
<line x1="673" y1="22.5" x2="673" y2="557.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
30
|
+
|
|
31
|
+
<text x="274" y="10" font-size="12" fill="#94A3B8" text-anchor="start">0</text>
|
|
32
|
+
<text x="473" y="10" direction="ltr" font-size="12" fill="#94A3B8" text-anchor="middle">٪ 50</text>
|
|
33
|
+
<text x="673" y="10" direction="ltr" font-size="12" fill="#94A3B8" text-anchor="end">٪ 100</text>
|
|
34
|
+
<path d="M688.5 3V10M685.5 7L688.5 10L691.5 7" fill="none" stroke="#9CA3AF" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
|
|
35
|
+
<text x="736" y="10" font-size="12" fill="#9CA3AF" text-anchor="start">نمره خام</text>
|
|
36
|
+
|
|
37
|
+
{{#each items as |item|}}
|
|
38
|
+
<g>
|
|
39
|
+
<g transform="translate(273, {{item.barY}})">
|
|
40
|
+
{{bar 400 16 (object tl=0 bl=0 tr=2 br=2) (toRad 0) fill="#E2E8F0" fill-opacity="0.5"}}
|
|
41
|
+
</g>
|
|
42
|
+
<g transform="translate(273, {{item.barY}})" clip-path="url(#mcmNoteworthyClip)">
|
|
43
|
+
{{#if item.barWidth}}
|
|
44
|
+
{{bar item.barWidth 16 (object tl=0 bl=0 tr=2 br=2) (toRad 0) fill="url(#mcmNoteworthy)"}}
|
|
45
|
+
{{/if}}
|
|
46
|
+
</g>
|
|
47
|
+
<text x="{{item.scoreX}}" y="{{item.centerY}}" dy=".3em" direction="ltr" font-size="13" font-weight="500" fill="{{ternary item.inside 'white' '#0369A1'}}" text-anchor="{{ternary item.inside 'end' 'start'}}">٪ {{item.percentage}}</text>
|
|
48
|
+
|
|
49
|
+
<rect x="685.5" y="{{math item.barY '-' 0.5}}" width="35" height="17" rx="3.5" fill="none" stroke="#0284C7"/>
|
|
50
|
+
<text x="703" y="{{item.centerY}}" dy=".3em" direction="ltr" font-size="13" font-weight="500" fill="#0284C7" text-anchor="middle">{{item.raw}}</text>
|
|
51
|
+
|
|
52
|
+
{{!--
|
|
53
|
+
The code is right-aligned in an invisible 22 × 16 box at x=238.5..260.5.
|
|
54
|
+
Gaps: chart line → code box = 12, code box → dash = 6,
|
|
55
|
+
dash → Persian title = 6.
|
|
56
|
+
--}}
|
|
57
|
+
<text class="eng-font" x="260.5" y="{{item.centerY}}" dy=".3em" direction="ltr" font-size="13" fill="#475569" text-anchor="end">{{item.code}}</text>
|
|
58
|
+
<text x="230.9" y="{{item.centerY}}" dy=".3em" font-size="13" fill="#475569" text-anchor="middle">-</text>
|
|
59
|
+
<text x="221.35" y="{{item.centerY}}" dy=".3em" font-size="13" fill="#475569" text-anchor="start">{{item.fa}}</text>
|
|
60
|
+
</g>
|
|
61
|
+
{{/each}}
|
|
62
|
+
|
|
63
|
+
<g opacity="0.5" filter="url(#mcmNoteworthySplit)">
|
|
64
|
+
<line x1="272.5" y1="22.5" x2="272.5" y2="557.5" stroke="white" stroke-linecap="round"/>
|
|
65
|
+
</g>
|
|
66
|
+
</g>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
{{!--
|
|
2
|
+
Page-one vertical label rail:
|
|
3
|
+
- the English code is centered in an invisible 20 × 12 box;
|
|
4
|
+
- the baseline-to-code-box, code-box-to-dash, and dash-to-title gaps are 8 px.
|
|
5
|
+
--}}
|
|
6
|
+
<text class="eng-font" x="{{center}}" y="483" transform="rotate(-90 {{center}} 483)" direction="ltr" font-size="12" fill="#334155" text-anchor="middle" dy=".35em">{{code}}</text>
|
|
7
|
+
<text x="{{center}}" y="503.3" transform="rotate(-90 {{center}} 503.3)" font-size="12" fill="#334155" text-anchor="middle" dy=".35em">-</text>
|
|
8
|
+
<text x="{{center}}" y="513.8" transform="rotate(-90 {{center}} 513.8)" font-size="12" fill="#334155" text-anchor="start" dy=".35em">{{fa}}</text>
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
<defs>
|
|
2
|
+
<linearGradient id="neoLongPrimary" x1="0" y1="0" x2="1" y2="0">
|
|
3
|
+
<stop stop-color="{{colors.light}}"/>
|
|
4
|
+
<stop offset="1" stop-color="{{colors.dark}}"/>
|
|
5
|
+
</linearGradient>
|
|
6
|
+
<linearGradient id="neoLongSecondary" x1="0" y1="0" x2="1" y2="0">
|
|
7
|
+
<stop stop-color="#C7D2FE"/>
|
|
8
|
+
<stop offset="1" stop-color="#4338CA"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<clipPath id="neoLongBarClip">
|
|
11
|
+
{{bar trackW 16 (object tl=0 bl=0 tr=2 br=2) (toRad 0)}}
|
|
12
|
+
</clipPath>
|
|
13
|
+
<filter id="neoLongSplit" x="352" y="{{math gridTop '-' 3.5}}" width="7" height="{{math (math gridBottom '-' gridTop) '+' 7}}" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
14
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
15
|
+
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
|
16
|
+
<feOffset dx="1"/>
|
|
17
|
+
<feGaussianBlur stdDeviation="1.5"/>
|
|
18
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
19
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
|
|
20
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1"/>
|
|
21
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1" result="shape"/>
|
|
22
|
+
</filter>
|
|
23
|
+
</defs>
|
|
24
|
+
|
|
25
|
+
<g transform="translate({{padding.x}}, {{padding.y}})">
|
|
26
|
+
{{#if tAxis}}
|
|
27
|
+
<text x="374.5" y="9" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">20</text>
|
|
28
|
+
<text x="464.5" y="9" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">35</text>
|
|
29
|
+
<text x="524.5" y="9" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">45</text>
|
|
30
|
+
<text x="584.5" y="9" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">55</text>
|
|
31
|
+
<text x="644.5" y="9" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">65</text>
|
|
32
|
+
<text x="734.5" y="9" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">80</text>
|
|
33
|
+
|
|
34
|
+
<text x="419.5" y="23" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">بسیار پایین</text>
|
|
35
|
+
<text x="494.5" y="23" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">پایین</text>
|
|
36
|
+
<text x="554.5" y="23" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">طبیعی</text>
|
|
37
|
+
<text x="614.5" y="23" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">بالا</text>
|
|
38
|
+
<text x="689.5" y="23" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">بسیار بالا</text>
|
|
39
|
+
{{else}}
|
|
40
|
+
<text x="354.5" y="14" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">0</text>
|
|
41
|
+
<text x="504.5" y="14" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="middle">50 ٪</text>
|
|
42
|
+
<text x="654.5" y="14" font-size="12" font-weight="400" fill="#94A3B8" text-anchor="start">100 ٪</text>
|
|
43
|
+
{{/if}}
|
|
44
|
+
|
|
45
|
+
<text x="{{rawCenter}}" y="9" font-size="12" font-weight="400" fill="#64748B" text-anchor="middle">نمره خام</text>
|
|
46
|
+
<text x="{{rawCenter}}" y="23" font-size="12" font-weight="400" fill="#64748B" text-anchor="middle">از 32</text>
|
|
47
|
+
|
|
48
|
+
{{#each blocks as |block blockIndex|}}
|
|
49
|
+
<g transform="translate(0, {{math blockIndex '*' 204}})">
|
|
50
|
+
{{#if block.isBlue}}
|
|
51
|
+
<rect y="{{../cardY}}" width="811" height="188" rx="8" fill="#F8FAFC"/>
|
|
52
|
+
<g transform="translate(0, {{../cardY}})">
|
|
53
|
+
{{bar 180 188 (object tr=0 br=0 tl=8 bl=8) (toRad 0) fill='#F1F5F9'}}
|
|
54
|
+
</g>
|
|
55
|
+
{{/if}}
|
|
56
|
+
|
|
57
|
+
<text x="90" y="{{math ../cardY '+' 48}}" dy=".3em" font-size="12" font-weight="500" fill="#64748B" text-anchor="middle">{{block.letter}}</text>
|
|
58
|
+
<text x="90" y="{{math ../cardY '+' 68}}" dy=".3em" font-size="15" font-weight="500" fill="#334155" text-anchor="middle">{{block.fa}}</text>
|
|
59
|
+
<rect x="50" y="{{math ../cardY '+' 88.5}}" width="80" height="1" rx="0.5" fill="#E2E8F0"/>
|
|
60
|
+
<rect x="{{../domainChipX}}" y="{{math ../cardY '+' 101.5}}" width="{{../domainChipW}}" height="20" rx="4" fill="{{ternary block.isBlue ../colors.accent '#4F46E5'}}"/>
|
|
61
|
+
{{#if ../tAxis}}
|
|
62
|
+
<text x="90" y="{{math ../cardY '+' 112}}" dy=".3em" font-size="14" font-weight="600" fill="white" text-anchor="middle">{{block.score}}</text>
|
|
63
|
+
{{else}}
|
|
64
|
+
<text x="90" y="{{math ../cardY '+' 112}}" dy=".3em" font-size="14" font-weight="600" fill="white" text-anchor="middle">{{block.percentage}} ٪</text>
|
|
65
|
+
{{/if}}
|
|
66
|
+
<text x="90" y="{{math ../cardY '+' 138}}" dy=".3em" text-anchor="middle"><tspan font-size="15" font-weight="500" fill="#334155">{{block.mark}}</tspan><tspan font-size="13" font-weight="500" fill="#64748B"> از 192</tspan></text>
|
|
67
|
+
|
|
68
|
+
</g>
|
|
69
|
+
{{/each}}
|
|
70
|
+
|
|
71
|
+
{{#if tAxis}}
|
|
72
|
+
<line x1="374.5" y1="{{gridTop}}" x2="374.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
73
|
+
<line x1="464.5" y1="{{gridTop}}" x2="464.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
74
|
+
<line x1="524.5" y1="{{gridTop}}" x2="524.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
75
|
+
<line x1="584.5" y1="{{gridTop}}" x2="584.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
76
|
+
<line x1="644.5" y1="{{gridTop}}" x2="644.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
77
|
+
<line x1="734.5" y1="{{gridTop}}" x2="734.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
78
|
+
{{else}}
|
|
79
|
+
<line x1="429.5" y1="{{gridTop}}" x2="429.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
80
|
+
<line x1="504.5" y1="{{gridTop}}" x2="504.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
81
|
+
<line x1="579.5" y1="{{gridTop}}" x2="579.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
82
|
+
<line x1="654.5" y1="{{gridTop}}" x2="654.5" y2="{{gridBottom}}" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
83
|
+
{{/if}}
|
|
84
|
+
|
|
85
|
+
{{#each blocks as |block blockIndex|}}
|
|
86
|
+
<g transform="translate(0, {{math blockIndex '*' 204}})">
|
|
87
|
+
<g transform="translate(0, {{block.facetOffsetY}})">
|
|
88
|
+
{{#each block.facets as |facet facetIndex|}}
|
|
89
|
+
<g transform="translate(0, {{math facetIndex '*' 28}})">
|
|
90
|
+
<g transform="translate(355, {{math ../../cardY '+' 16}})">
|
|
91
|
+
{{bar ../../trackW 16 (object tl=0 bl=0 tr=2 br=2) (toRad 0) fill='#E2E8F0' fill-opacity='0.5'}}
|
|
92
|
+
</g>
|
|
93
|
+
<text x="348" y="{{math ../../cardY '+' 24}}" dy=".3em" font-size="13" font-weight="400" fill="#475569" text-anchor="start">{{facet.fa}}</text>
|
|
94
|
+
<rect x="{{../../rawX}}" y="{{math ../../cardY '+' 16.5}}" width="35" height="15" rx="3.5" stroke="{{ternary block.isBlue ../../colors.stroke '#818CF8'}}" fill="none"/>
|
|
95
|
+
<text x="{{../../rawCenter}}" y="{{math ../../cardY '+' 24}}" dy=".3em" font-size="13" font-weight="500" fill="{{ternary block.isBlue ../../colors.accent '#4F46E5'}}" text-anchor="middle">{{facet.mark}}</text>
|
|
96
|
+
{{#unless ../../tAxis}}
|
|
97
|
+
<text x="{{../../levelX}}" y="{{math ../../cardY '+' 24}}" dy=".3em" font-size="12" font-weight="400" fill="#64748B" text-anchor="middle">{{facet.levelText}}</text>
|
|
98
|
+
{{/unless}}
|
|
99
|
+
</g>
|
|
100
|
+
{{/each}}
|
|
101
|
+
</g>
|
|
102
|
+
</g>
|
|
103
|
+
{{/each}}
|
|
104
|
+
|
|
105
|
+
{{#each blocks as |block blockIndex|}}
|
|
106
|
+
<g transform="translate(0, {{math blockIndex '*' 204}})">
|
|
107
|
+
<g transform="translate(0, {{block.facetOffsetY}})">
|
|
108
|
+
{{#each block.facets as |facet facetIndex|}}
|
|
109
|
+
<g transform="translate(355, {{math (math facetIndex '*' 28) '+' (math ../../cardY '+' 16)}})">
|
|
110
|
+
{{bar facet.barW 16 (object tl=0 bl=0 tr=2 br=2) (toRad 0) fill=(ternary block.isBlue 'url(#neoLongPrimary)' 'url(#neoLongSecondary)') clip-path='url(#neoLongBarClip)'}}
|
|
111
|
+
{{#if ../../tAxis}}
|
|
112
|
+
<text x="{{math facet.barW '+' (ternary facet.inside -4 6)}}" y="8" dy=".3em" font-size="13" font-weight="500" fill="{{ternary facet.inside 'white' (ternary block.isBlue ../../colors.dark '#4338CA')}}" text-anchor="{{ternary facet.inside 'start' 'end'}}">{{facet.score}}</text>
|
|
113
|
+
{{else}}
|
|
114
|
+
<text x="{{math facet.barW '+' (ternary facet.inside -4 6)}}" y="8" dy=".3em" font-size="13" font-weight="500" fill="{{ternary facet.inside 'white' (ternary block.isBlue ../../colors.dark '#4338CA')}}" text-anchor="{{ternary facet.inside 'start' 'end'}}">{{facet.percentage}} ٪</text>
|
|
115
|
+
{{/if}}
|
|
116
|
+
</g>
|
|
117
|
+
{{/each}}
|
|
118
|
+
</g>
|
|
119
|
+
</g>
|
|
120
|
+
{{/each}}
|
|
121
|
+
|
|
122
|
+
<g opacity="0.5" filter="url(#neoLongSplit)">
|
|
123
|
+
<line x1="354.5" y1="{{gridTop}}" x2="354.5" y2="{{gridBottom}}" stroke="white" stroke-linecap="round"/>
|
|
124
|
+
</g>
|
|
125
|
+
</g>
|