@baravak/risloo-profile-cli 4.70.0 → 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 +1 -1
- package/.claude/skills/create-profile/SKILL.md +157 -34
- package/AGENTS.md +203 -29
- package/package.json +1 -1
- package/src/publish/json/profiles/NEO93.json +1 -1
- package/src/publish/json/profiles/NEO9Q.json +1 -1
- package/src/publish/json/profiles/NEO9V.json +1 -1
- package/src/samples/MCMI9A.js +530 -0
- package/src/samples/NEO93.js +6 -4
- package/src/samples/NEO9A.js +3 -1
- package/src/samples/NEO9Q.js +6 -4
- package/src/samples/NEO9V.js +8 -5
- 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 +1 -1
- package/views/profiles/NEO_main.hbs +14 -12
- package/views/profiles/NEO_short_facets.hbs +1 -1
- 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
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<defs>
|
|
2
|
+
<linearGradient id="mcmGray" x1="0" y1="1" x2="0" y2="0">
|
|
3
|
+
<stop stop-color="#CBD5E1"/>
|
|
4
|
+
<stop offset="1" stop-color="#94A3B8"/>
|
|
5
|
+
</linearGradient>
|
|
6
|
+
<linearGradient id="mcmZinc" x1="0" y1="1" x2="0" y2="0">
|
|
7
|
+
<stop stop-color="#D4D4D8"/>
|
|
8
|
+
<stop offset="1" stop-color="#A1A1AA"/>
|
|
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="mcmFacetBaseline" x="24" y="358" width="838" 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
|
+
</defs>
|
|
33
|
+
|
|
34
|
+
<g transform="translate({{padding.x}}, {{padding.y}})">
|
|
35
|
+
{{#each groups as |group|}}
|
|
36
|
+
{{#each group.facets as |item|}}
|
|
37
|
+
<g transform="translate({{item.x}}, 61)">
|
|
38
|
+
{{bar 16 300 (object tl=2 bl=0 tr=2 br=0) (toRad 0) fill=item.theme.track}}
|
|
39
|
+
</g>
|
|
40
|
+
{{/each}}
|
|
41
|
+
{{/each}}
|
|
42
|
+
|
|
43
|
+
<line x1="26.5" y1="61.5" x2="857.5" y2="61.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
44
|
+
<line x1="26.5" y1="136.5" x2="857.5" y2="136.5" stroke="#D1D5DB" stroke-linecap="round"/>
|
|
45
|
+
<line x1="26.5" y1="211.5" x2="857.5" y2="211.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
46
|
+
<line x1="26.5" y1="286.5" x2="857.5" y2="286.5" stroke="#E5E7EB" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
47
|
+
|
|
48
|
+
<text x="10" y="70.5" transform="rotate(-90 10 70.5)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">100</text>
|
|
49
|
+
<text x="10" y="136.5" transform="rotate(-90 10 136.5)" direction="ltr" font-size="12" font-weight="500" fill="#6B7280" text-anchor="middle">75</text>
|
|
50
|
+
<text x="10" y="211.5" transform="rotate(-90 10 211.5)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">50</text>
|
|
51
|
+
<text x="10" y="286.5" transform="rotate(-90 10 286.5)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">25</text>
|
|
52
|
+
<text x="10" y="361.5" transform="rotate(-90 10 361.5)" direction="ltr" font-size="12" fill="#9CA3AF" text-anchor="middle">BR</text>
|
|
53
|
+
<text x="10" y="0" transform="rotate(-90 10 0)" font-size="12" fill="#9CA3AF" text-anchor="start">نمره خام</text>
|
|
54
|
+
<path d="M3 48H10M7 51L10 48L7 45" fill="none" stroke="#9CA3AF" stroke-width="0.75" stroke-linecap="round" stroke-linejoin="round"/>
|
|
55
|
+
|
|
56
|
+
{{#each groups as |group|}}
|
|
57
|
+
{{#each group.facets as |item|}}
|
|
58
|
+
{{#if item.barHeight}}
|
|
59
|
+
<g transform="translate({{item.x}}, {{item.barTop}})" fill="url(#{{item.theme.gradient}})">
|
|
60
|
+
{{bar 16 item.barHeight (object tl=2 bl=0 tr=2 br=0) (toRad 0)}}
|
|
61
|
+
</g>
|
|
62
|
+
{{/if}}
|
|
63
|
+
<text x="{{item.center}}" y="{{item.scoreY}}" transform="rotate(-90 {{item.center}} {{item.scoreY}})" direction="ltr" font-size="15" font-weight="{{ternary item.inside '600' '400'}}" fill="{{ternary item.inside 'white' item.theme.dark}}" text-anchor="{{item.scoreAnchor}}" dy=".35em">{{item.br}}</text>
|
|
64
|
+
<rect x="{{item.x}}" y="16" width="16" height="36" rx="2" fill="{{item.theme.track}}"/>
|
|
65
|
+
<text x="{{item.center}}" y="34" transform="rotate(-90 {{item.center}} 34)" direction="ltr" font-size="13" fill="{{item.theme.dark}}" text-anchor="middle" dy=".35em">{{item.raw}}</text>
|
|
66
|
+
{{!--
|
|
67
|
+
The code is centered in an invisible 32 × 16 box at y=366..398.
|
|
68
|
+
Gaps: chart baseline → code box = 4, code box → dash = 8,
|
|
69
|
+
dash → Persian title = 8.
|
|
70
|
+
--}}
|
|
71
|
+
<text class="eng-font" x="{{item.center}}" y="382" transform="rotate(-90 {{item.center}} 382)" direction="ltr" font-size="13" font-weight="{{ternary item.inside '600' '400'}}" fill="{{item.theme.text}}" text-anchor="middle" dy=".35em">{{item.code}}</text>
|
|
72
|
+
<text x="{{item.center}}" y="408.5" transform="rotate(-90 {{item.center}} 408.5)" font-size="13" font-weight="{{ternary item.inside '600' '300'}}" fill="{{item.theme.text}}" text-anchor="middle" dy=".35em">-</text>
|
|
73
|
+
<text x="{{item.center}}" y="419.6" transform="rotate(-90 {{item.center}} 419.6)" font-size="13" font-weight="{{ternary item.inside '600' '400'}}" fill="{{item.theme.text}}" text-anchor="start" dy=".35em">{{item.fa}}</text>
|
|
74
|
+
{{/each}}
|
|
75
|
+
|
|
76
|
+
<rect x="{{group.cardX}}" y="615.5" width="79" height="47" rx="4" fill="{{group.theme.card}}" stroke="{{group.theme.stroke}}"/>
|
|
77
|
+
{{#if (boolean group.key "===" "6b")}}
|
|
78
|
+
<g transform="rotate(180 {{math group.cardX '+' 39.5}} 639)">
|
|
79
|
+
<text x="{{math group.cardX '+' 39.5}}" y="631" dy=".3em" font-size="13" font-weight="500" fill="{{group.theme.dark}}" text-anchor="middle">دیگرآزار</text>
|
|
80
|
+
<text x="{{math group.cardX '+' 39.5}}" y="647" dy=".3em" font-size="13" font-weight="500" fill="{{group.theme.dark}}" text-anchor="middle">(سادیستیک)</text>
|
|
81
|
+
</g>
|
|
82
|
+
{{else}}
|
|
83
|
+
<text x="{{math group.cardX '+' 39.5}}" y="639" transform="rotate(180 {{math group.cardX '+' 39.5}} 639)" dy=".3em" font-size="13" font-weight="500" fill="{{group.theme.dark}}" text-anchor="middle">{{group.fa}}</text>
|
|
84
|
+
{{/if}}
|
|
85
|
+
<g transform="translate({{math group.cardX '+' 3.5}}, 663)">
|
|
86
|
+
{{bar 72 36 (object tl=0 tr=0 bl=2 br=2) (toRad 0) fill=group.theme.card}}
|
|
87
|
+
</g>
|
|
88
|
+
<line x1="{{math group.cardX '+' 39.5}}" y1="666" x2="{{math group.cardX '+' 39.5}}" y2="696" stroke="{{group.theme.divider}}"/>
|
|
89
|
+
<text class="eng-font" x="{{math group.cardX '+' 19.5}}" y="681" transform="rotate(-90 {{math group.cardX '+' 19.5}} 681)" direction="ltr" font-size="13" font-weight="500" fill="{{group.theme.cardText}}" text-anchor="middle" dy=".35em">{{group.code}}</text>
|
|
90
|
+
<text x="{{math group.cardX '+' 59.5}}" y="681" transform="rotate(-90 {{math group.cardX '+' 59.5}} 681)" direction="ltr" font-size="13" font-weight="500" fill="{{group.theme.cardText}}" text-anchor="middle" dy=".35em">{{group.br}}</text>
|
|
91
|
+
{{/each}}
|
|
92
|
+
|
|
93
|
+
<g opacity="0.5" filter="url(#mcmFacetBaseline)">
|
|
94
|
+
<line x1="26.5" y1="361.5" x2="857.5" y2="361.5" stroke="white" stroke-linecap="round"/>
|
|
95
|
+
</g>
|
|
96
|
+
</g>
|
|
@@ -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>
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
{{#if ../../tAxis}}
|
|
112
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
113
|
{{else}}
|
|
114
|
-
<text x="{{math facet.barW '+' (ternary
|
|
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
115
|
{{/if}}
|
|
116
116
|
</g>
|
|
117
117
|
{{/each}}
|
|
@@ -80,16 +80,16 @@
|
|
|
80
80
|
{{#if ../tAxis}}
|
|
81
81
|
<text x="{{math item.barW '+' (ternary item.inside -6 6)}}" y="12" dy=".3em" font-size="14" font-weight="500" fill="{{ternary item.inside 'white' ../colors.dark}}" text-anchor="{{ternary item.inside 'start' 'end'}}">{{item.score}}</text>
|
|
82
82
|
{{else}}
|
|
83
|
-
<text x="{{math item.barW '+' (ternary
|
|
83
|
+
<text x="{{math item.barW '+' (ternary item.inside -6 6)}}" y="12" dy=".3em" font-size="14" font-weight="500" fill="{{ternary item.inside 'white' ../colors.dark}}" text-anchor="{{ternary item.inside 'start' 'end'}}">{{item.percentage}} ٪</text>
|
|
84
84
|
{{/if}}
|
|
85
85
|
</g>
|
|
86
86
|
|
|
87
87
|
<rect x="{{../rawX}}" y="49.5" width="35" height="23" rx="3.5" stroke="{{../colors.accent}}" fill="none"/>
|
|
88
88
|
<text x="{{../rawCenter}}" y="61" dy=".3em" font-size="14" font-weight="500" fill="{{../colors.accent}}" text-anchor="middle">{{item.mark}}</text>
|
|
89
89
|
|
|
90
|
-
<text x="
|
|
91
|
-
<text x="
|
|
92
|
-
<text x="
|
|
90
|
+
<text x="{{math ../barX '-' 36}}" y="61" dy=".3em" font-size="13" font-weight="400" fill="#475569" text-anchor="start">{{item.fa}}</text>
|
|
91
|
+
<text x="{{math ../barX '-' 27.5}}" y="61" dy=".3em" font-size="13" font-weight="400" fill="#475569" text-anchor="middle">-</text>
|
|
92
|
+
<text x="{{math ../barX '-' 14}}" y="61" dy=".3em" font-size="13" font-weight="400" fill="#475569" text-anchor="middle">{{item.letter}}</text>
|
|
93
93
|
|
|
94
94
|
{{#if ../showLevels}}
|
|
95
95
|
<text x="{{../levelX}}" y="61" dy=".3em" font-size="12" font-weight="400" fill="#64748B" text-anchor="middle">{{item.levelText}}</text>
|
|
@@ -105,15 +105,17 @@
|
|
|
105
105
|
{{#if showRed}}
|
|
106
106
|
<g transform="translate({{alertX}}, 0)">
|
|
107
107
|
{{#if compactAlert}}
|
|
108
|
-
<
|
|
108
|
+
<g clip-path="url(#neoRedBoxClip)">
|
|
109
|
+
<rect y="628" width="800" height="46" rx="8" fill="#FFF1F2"/>
|
|
110
|
+
{{#each redErrors as |error|}}
|
|
111
|
+
<text x="{{math 540 '-' (math error.start '+' (math error.length '/' 2))}}" y="651" dy=".3em" font-size="13" font-weight="400" fill="#57534E" text-anchor="middle">{{error.text}}</text>
|
|
112
|
+
{{/each}}
|
|
113
|
+
<path d="M580 651L595 636L595 666L580 651Z" fill="url(#neoRedArrow)"/>
|
|
114
|
+
<rect width="190" height="46" transform="translate(610 628)" fill="url(#neoRedTab)"/>
|
|
115
|
+
<text x="691" y="651" dy=".3em" font-size="14" font-weight="500" fill="#BE123C" text-anchor="middle">آزمون نامعتبر است</text>
|
|
116
|
+
<path d="M758.5 647L764.5 655M764.5 647L758.5 655M761.5 660C763.887 660 766.176 659.052 767.864 657.364C769.552 655.676 770.5 653.387 770.5 651C770.5 648.613 769.552 646.324 767.864 644.636C766.176 642.948 763.887 642 761.5 642C759.113 642 756.824 642.948 755.136 644.636C753.448 646.324 752.5 648.613 752.5 651C752.5 653.387 753.448 655.676 755.136 657.364C756.824 659.052 759.113 660 761.5 660Z" stroke="#BE123C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
117
|
+
</g>
|
|
109
118
|
<rect x="0.5" y="628.5" width="799" height="45" rx="7.5" stroke="#FECDD3" fill="none"/>
|
|
110
|
-
{{#each redErrors as |error|}}
|
|
111
|
-
<text x="{{math 540 '-' (math error.start '+' (math error.length '/' 2))}}" y="651" dy=".3em" font-size="13" font-weight="400" fill="#57534E" text-anchor="middle">{{error.text}}</text>
|
|
112
|
-
{{/each}}
|
|
113
|
-
<path d="M580 651L595 636L595 666L580 651Z" fill="url(#neoRedArrow)"/>
|
|
114
|
-
<rect width="190" height="46" transform="translate(610 628)" fill="url(#neoRedTab)"/>
|
|
115
|
-
<text x="691" y="651" dy=".3em" font-size="14" font-weight="500" fill="#BE123C" text-anchor="middle">آزمون نامعتبر است</text>
|
|
116
|
-
<path d="M758.5 647L764.5 655M764.5 647L758.5 655M761.5 660C763.887 660 766.176 659.052 767.864 657.364C769.552 655.676 770.5 653.387 770.5 651C770.5 648.613 769.552 646.324 767.864 644.636C766.176 642.948 763.887 642 761.5 642C759.113 642 756.824 642.948 755.136 644.636C753.448 646.324 752.5 648.613 752.5 651C752.5 653.387 753.448 655.676 755.136 657.364C756.824 659.052 759.113 660 761.5 660Z" stroke="#BE123C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
117
119
|
{{else}}
|
|
118
120
|
<g clip-path="url(#neoRedBoxClip)">
|
|
119
121
|
<rect y="628" width="800" height="46" rx="8" fill="#FFF1F2"/>
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
{{#each block.facets as |facet facetIndex|}}
|
|
71
71
|
<g transform="translate(367, {{math (math facetIndex '*' 28) '+' (ternary (boolean block.facets.length '===' 2) 66 52)}})">
|
|
72
72
|
{{bar facet.barW 16 (object tl=0 bl=0 tr=2 br=2) (toRad 0) fill=(ternary block.isBlue 'url(#neoShortPrimary)' 'url(#neoShortSecondary)') clip-path='url(#neoShortBarClip)'}}
|
|
73
|
-
<text x="{{math facet.barW '+' (ternary
|
|
73
|
+
<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>
|
|
74
74
|
</g>
|
|
75
75
|
{{/each}}
|
|
76
76
|
</g>
|