@baravak/risloo-profile-cli 4.46.1 → 4.46.3
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/.claude/settings.local.json +9 -0
- package/CLAUDE.md +188 -0
- package/a.json +4805 -0
- package/package.json +1 -1
- package/src/publish/json/profiles/BSCT93.json +495 -0
- package/src/publish/json/profiles/BSCT93_t1.json +512 -0
- package/src/publish/json/profiles/BSCT93_t2.json +512 -0
- package/src/samples/BSCT93.js +85 -0
- package/src/samples/FRHPT9A.js +1 -9
- package/views/profiles/samples/BSCT93.hbs +99 -0
- package/views/profiles/samples/FRHPT93_1.hbs +2 -0
- package/views/profiles/samples/FRHPT9A.hbs +12 -22
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{{#> layout}}
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="2.4" y1="112" x2="400" y2="112" gradientUnits="userSpaceOnUse">
|
|
4
|
+
<stop stop-color="#FFFBEB" stop-opacity="0.25"/>
|
|
5
|
+
<stop offset="1" stop-color="#FEF3C7" stop-opacity="0.5"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
<linearGradient id="totalbg" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
8
|
+
<stop stop-color="#94A3B8"/>
|
|
9
|
+
<stop offset="1" stop-color="#334155"/>
|
|
10
|
+
</linearGradient>
|
|
11
|
+
<linearGradient id="bgrow">
|
|
12
|
+
<stop stop-color="#FED7AA"/>
|
|
13
|
+
<stop offset="1" stop-color="#C2410C"/>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<clipPath id="totalRow">
|
|
16
|
+
{{bar 400 16 (object tr=2 br=2 tl=0 bl=0) (toRad 0) fill='black'}}
|
|
17
|
+
</clipPath>
|
|
18
|
+
<filter id="vsp" x="-1.52588e-05" y="0" width="7.00002" height="230" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
19
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
20
|
+
<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"/>
|
|
21
|
+
<feOffset dx="1"/>
|
|
22
|
+
<feGaussianBlur stdDeviation="1.5"/>
|
|
23
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
24
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
|
|
25
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3465_114726"/>
|
|
26
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3465_114726" result="shape"/>
|
|
27
|
+
</filter>
|
|
28
|
+
<filter id="totalvsp" x="0" y="0.5" width="34" height="14" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
29
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
30
|
+
<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"/>
|
|
31
|
+
<feOffset dx="2"/>
|
|
32
|
+
<feGaussianBlur stdDeviation="3"/>
|
|
33
|
+
<feComposite in2="hardAlpha" operator="out"/>
|
|
34
|
+
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0"/>
|
|
35
|
+
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_3465_114738"/>
|
|
36
|
+
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_3465_114738" result="shape"/>
|
|
37
|
+
</filter>
|
|
38
|
+
</defs>
|
|
39
|
+
<g transform="translate({{spec.profile.padding.x}}, {{spec.profile.padding.y}})">
|
|
40
|
+
<g transform="translate(109, 21)">
|
|
41
|
+
<rect width="400" height="224" fill="url(#bg)"/>
|
|
42
|
+
<g transform="translate(0, 24)">
|
|
43
|
+
{{#each factors as |factor index|}}
|
|
44
|
+
<g transform="translate(0, {{math 40 '*' index}})">
|
|
45
|
+
{{bar 400 16 (object tr=2 br=2 tl=0 bl=0) (toRad 0) fill='black' opacity="0.04"}}
|
|
46
|
+
</g>
|
|
47
|
+
{{/each}}
|
|
48
|
+
</g>
|
|
49
|
+
<g transform="translate(38, 0)">
|
|
50
|
+
<line x1="0.5" y1="0.5" x2="0.50001" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
51
|
+
<line x1="40.5" y1="0.5" x2="40.5" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
52
|
+
<line x1="80.5" y1="0.5" x2="80.5" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
53
|
+
<line x1="120.5" y1="0.5" x2="120.5" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
54
|
+
<line x1="160.5" y1="0.5" x2="160.5" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
55
|
+
<line x1="200.5" y1="0.5" x2="200.5" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
56
|
+
<line x1="240.5" y1="0.5" x2="240.5" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
57
|
+
<line x1="280.5" y1="0.5" x2="280.5" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
58
|
+
<line x1="320.5" y1="0.5" x2="320.5" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
59
|
+
<line x1="361.5" y1="0.5" x2="361.5" y2="223.5" stroke="#E2E8F0" stroke-linecap="round" stroke-dasharray="6 6"/>
|
|
60
|
+
</g>
|
|
61
|
+
<text y="-12" text-anchor="middle" font-weight="400" font-size="12" fill="#94A3B8">0</text>
|
|
62
|
+
<text x="200" y="-12" text-anchor="middle" font-weight="400" font-size="12" fill="#94A3B8">50 ٪</text>
|
|
63
|
+
<text x="400" y="-12" text-anchor="middle" font-weight="400" font-size="12" fill="#94A3B8">100 ٪</text>
|
|
64
|
+
<g transform="translate(0, 24)">
|
|
65
|
+
{{#each factors as |factor index|}}
|
|
66
|
+
<g transform="translate(0, {{math 40 '*' index}})">
|
|
67
|
+
<text x="-9" y="8" text-anchor="start" dy="0.25em" font-weight="400" font-size="12" fill="#475569">{{factor.label.title}}</text>
|
|
68
|
+
{{bar (math 400 '*' factor.p) 16 (object tr=2 br=2 tl=0 bl=0) (toRad 0) fill='url(#bgrow)' clip-path="url(#totalRow)"}}
|
|
69
|
+
{{#if (boolean factor.percentage '<=' 24) }}
|
|
70
|
+
<text x="{{math (math 400 '*' factor.p) '+' 6}}" y="8" text-anchor="end" dy="0.3em" font-weight="500" font-size="13" fill="#C2410C">{{factor.percentage}} ٪</text>
|
|
71
|
+
{{else}}
|
|
72
|
+
<text x="{{math (math 400 '*' factor.p) '-' 4}}" y="8" text-anchor="start" dy="0.3em" font-weight="500" font-size="13" fill="#FFFFFF">{{factor.percentage}} ٪</text>
|
|
73
|
+
{{/if}}
|
|
74
|
+
<text x="408" y="8" text-anchor="start" dy="0.3em" direction="ltr">
|
|
75
|
+
<tspan font-weight="700" font-size="18" fill="#C2410C">{{factor.mark}}</tspan>
|
|
76
|
+
<tspan font-weight="300" font-size="12" fill="#64748B">/</tspan>
|
|
77
|
+
<tspan font-weight="400" font-size="13" fill="#64748B">{{factor.label.max}}</tspan>
|
|
78
|
+
</text>
|
|
79
|
+
</g>
|
|
80
|
+
{{/each}}
|
|
81
|
+
</g>
|
|
82
|
+
<g opacity="0.5" filter="url(#vsp)" transform="translate(-3, -3)">
|
|
83
|
+
<line x1="2.5" y1="3.5" x2="2.5" y2="226.5" stroke="white" stroke-linecap="round"/>
|
|
84
|
+
</g>
|
|
85
|
+
</g>
|
|
86
|
+
<g transform="translate(637, 1)">
|
|
87
|
+
<text x="24" y="9" text-anchor="end" font-weight="400" font-size="12" fill="#475569">٪ ۱۰۰</text>
|
|
88
|
+
{{bar 18 230 (object tr=2 tl=2 br=0 bl=0) (toRad 0) fill="#F1F5F9" transform="translate(30, 4)"}}
|
|
89
|
+
{{bar 18 (math 230 '*' total.p) (object tr=2 tl=2 br=0 bl=0) (toRad 0) fill="url(#totalbg)" transform=total.transform}}
|
|
90
|
+
<g transform="translate(29, 235.5)" opacity="0.5" filter="url(#totalvsp)">
|
|
91
|
+
<line x1="0" y1="0" x2="20" y2="0" stroke="white" stroke-width="2" stroke-linecap="round"/>
|
|
92
|
+
</g>
|
|
93
|
+
<text x="56" y="{{math 234 '-' (math 230 '*' total.p)}}" font-weight="600" font-size="18" dy="0" fill="#334155">{{total.percentage}} ٪</text>
|
|
94
|
+
<text x="56" y="{{math 234 '-' (math 230 '*' total.p)}}" font-weight="400" font-size="12" dy="1.5em" fill="#64748B">{{total.mark}} از {{total.label.max}}</text>
|
|
95
|
+
<text font-weight="400" font-size="12" fill="#475569" transform="rotate(-90,0,0) translate(-218,9)">نمره کل</text>
|
|
96
|
+
</g>
|
|
97
|
+
</g>
|
|
98
|
+
|
|
99
|
+
{{/layout}}
|
|
@@ -96,6 +96,7 @@
|
|
|
96
96
|
</g>
|
|
97
97
|
{{/each}}
|
|
98
98
|
</g>
|
|
99
|
+
{{#if (boolean validityErrors.length '!==' 0)}}
|
|
99
100
|
<g transform="translate(0, 611)">
|
|
100
101
|
<rect width="800" height="46" fill="#FFF1F2" stroke="#FECDD3" rx="8" />
|
|
101
102
|
<path d="M 8.9 5.63 v 3.5556 m 0 2.6667 h 0.0089 m -1.464 -11.0303 l -7.2053 12.0303 c -0.1485 0.2572 -0.2271 0.5488 -0.228 0.8459 c -0.0009 0.297 0.0761 0.5891 0.2231 0.8472 c 0.1471 0.258 0.3591 0.4731 0.6151 0.6238 c 0.256 0.1507 0.5469 0.2317 0.844 0.2351 h 14.4125 c 0.2968 -0.0035 0.5877 -0.0845 0.8435 -0.2352 c 0.2559 -0.1506 0.4679 -0.3656 0.6149 -0.6235 c 0.147 -0.258 0.224 -0.5499 0.2233 -0.8468 c -0.0008 -0.2969 -0.0792 -0.5884 -0.2275 -0.8456 l -7.2053 -12.0321 c -0.1516 -0.2502 -0.3652 -0.4571 -0.6201 -0.6007 c -0.2549 -0.1436 -0.5425 -0.219 -0.8351 -0.219 c -0.2926 0 -0.5802 0.0754 -0.8351 0.219 c -0.2549 0.1436 -0.4685 0.3505 -0.6201 0.6007 v 0.0009 z" transform="translate(729.61, 15.04)" fill="none" stroke="#BE123C" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
@@ -110,6 +111,7 @@
|
|
|
110
111
|
{{/each}}
|
|
111
112
|
</g>
|
|
112
113
|
</g>
|
|
114
|
+
{{/if}}
|
|
113
115
|
</g>
|
|
114
116
|
|
|
115
117
|
{{/layout}}
|
|
@@ -55,28 +55,18 @@
|
|
|
55
55
|
<g>
|
|
56
56
|
{{#each groups as |item index|}}
|
|
57
57
|
<g transform="translate(0, {{math index '*' 40}})">
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
<text x="110" y="20" font-size="13" font-weight="400" dy=".3em" fill="#475569" text-anchor="start">{{item.label.fa}}</text>
|
|
71
|
-
{{else}}
|
|
72
|
-
<rect x="659" y="11" width="36" height="18" rx="4" fill="#CBD5E1" />
|
|
73
|
-
<text x="677" y="20" font-size="13" font-weight="500" dy=".3em" fill="white" text-anchor="middle">-</text>
|
|
74
|
-
<text x="755" y="20" font-size="13" font-weight="500" dy=".3em" fill="#64748B" text-anchor="middle">-</text>
|
|
75
|
-
<text x="149" y="20" font-size="13" font-weight="400" dy=".3em" fill="#94A3B8" text-anchor="start">{{item.key}}</text>
|
|
76
|
-
<text x="121" y="20" font-size="13" font-weight="400" dy=".3em" fill="#94A3B8" text-anchor="start">-</text>
|
|
77
|
-
<text x="110" y="20" font-size="13" font-weight="400" dy=".3em" fill="#94A3B8" text-anchor="start">{{item.label.fa}}</text>
|
|
78
|
-
{{/if}}
|
|
79
|
-
|
|
58
|
+
<g transform='translate(158, 12)'>
|
|
59
|
+
{{bar (math 480 '*' percentage) 16 (object tl=0 bl=0 tr=2 br=2) (toRad 0) fill='url(#bgbarg)' clip-path='url(#cbgbarg)'}}
|
|
60
|
+
<text x="{{math (math 480 '*' percentage) '+' (ternary (boolean percentage '<=' 0.24) 4 -6)}}" y="8" font-size="13" font-weight="500" dy=".3em" fill="{{ternary (boolean percentage '<=' 0.24) ../colors.bars.[0].[1] 'white'}}" text-anchor="{{ternary (boolean percentage '<=' 0.24) 'end' 'start'}}">
|
|
61
|
+
{{percentageText}} ٪
|
|
62
|
+
</text>
|
|
63
|
+
</g>
|
|
64
|
+
<rect x="659" y="11" width="36" height="18" rx="4" fill="{{../colors.bars.[0].[2]}}" />
|
|
65
|
+
<text x="677" y="20" font-size="13" font-weight="500" dy=".3em" fill="white" text-anchor="middle">{{item.mark}}</text>
|
|
66
|
+
<text x="755" y="20" font-size="12" font-weight="400" dy=".3em" fill="#64748B" text-anchor="middle">{{item.levelText}}</text>
|
|
67
|
+
<text x="149" y="20" font-size="13" font-weight="400" dy=".3em" fill="#475569" text-anchor="start">{{item.key}}</text>
|
|
68
|
+
<text x="121" y="20" font-size="13" font-weight="400" dy=".3em" fill="#475569" text-anchor="start">-</text>
|
|
69
|
+
<text x="110" y="20" font-size="13" font-weight="400" dy=".3em" fill="#475569" text-anchor="start">{{item.label.fa}}</text>
|
|
80
70
|
</g>
|
|
81
71
|
{{/each}}
|
|
82
72
|
</g>
|