appscms-tools-theme 2.1.5 → 2.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3366fa72cecdd50d5cc92d57d91352e6e5dab5108fd10293435b542a3463c8cd
4
- data.tar.gz: fa531a7a3c5fb6625b4f133fe1b9dbfdde0158c8a5857bc3588bc918187ab736
3
+ metadata.gz: 51b3c31ee812993687656e68b2412e478286a67cbb98d2e104b9292fdb0bce6f
4
+ data.tar.gz: cb31442354d68bb04bcfb6a790c1b140fbc2081eb83bf2bb51b35e70d6b6050b
5
5
  SHA512:
6
- metadata.gz: 9271670b9ffa1f1ee18b90068760491980d5182bc68c6b560190b9797cf217a8d0c6f2f3fe4329bd3181296ad01bc1e6d4a6b3f10a9e2619f508f1f1bf284e81
7
- data.tar.gz: 83c2dbf161b39d2feaea322c7eff1cd8881d2d4bee330f15de78861c1c7c820286262b98edd8130aa1033f586915030cf32a06f71fa44bfc1675573a5fb15ab9
6
+ metadata.gz: 93cb976dbffe80210bc811ee1ce7c7fbee6c4ae099744f191f3747ea2896753fa78b783dd761ebfd53fa9d82f84444779c7e252dc4ae33629cb0d8618a7658f9
7
+ data.tar.gz: 457d0caab467afae723489e2e5e13bf73856c76ab389a6e2b3e3b2941026f15a995386e7a7bda5a0ebe8162995cfbca89ea1c993e05d483599fc8f683b7c79a6
@@ -0,0 +1,37 @@
1
+ {
2
+ "Language": "English",
3
+ "htmlLangAtt": "en",
4
+ "H1": "The frame",
5
+ "H2": "Upload the image and apply your favourite border",
6
+ "color": "#FF5554",
7
+ "imgwidth": "35px",
8
+ "imgheight": "35px",
9
+ "imgalt": "altvalue",
10
+ "nofileupload": true,
11
+ "variant": "primary",
12
+ "TITLE": "Image border tool- Surround your images with a border",
13
+ "META": "Image border tool helps you to add a simple border frame to your image. You can customize border colour and width. Border sets the focal subject.",
14
+ "TEXTUAL_CONTENT": [],
15
+ "FAQ": [
16
+ {
17
+ "question": "",
18
+ "answer": ""
19
+ }
20
+ ],
21
+ "jsfilepaths": [
22
+ "/assets/js/googledrive.js",
23
+ "https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.12/cropper.min.js",
24
+ "/assets/js/frame.js"
25
+ ],
26
+ "cssfilepaths": [
27
+ "https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.12/cropper.css",
28
+ "/assets/css/frame.css"
29
+ ],
30
+ "image": {
31
+ "src": "/assets/images/gallary.png",
32
+ "height": 277,
33
+ "width": 378,
34
+ "x": 110,
35
+ "y": 180
36
+ }
37
+ }
@@ -12,7 +12,7 @@ layout: feature
12
12
  <div class="row w-100 mx-auto">
13
13
  <form id="calculator-form" class="w-100">
14
14
  {%- for item in calculatorData.calculatorRow -%}
15
- <div class="row" id="calculator-row">
15
+ <div class="row" id="calculator-row-{{forloop.index}}">
16
16
  {%- if item.labelName -%}
17
17
  <div class="col-md-12">
18
18
  <label for="{{item.labelId}}">{{item.labelName}}</label>
@@ -39,6 +39,7 @@ layout: feature
39
39
 
40
40
  </div>
41
41
  {%- endfor -%}
42
+ <div id="dynamic-section"></div>
42
43
  </form>
43
44
 
44
45
  </div>
@@ -0,0 +1,109 @@
1
+ ---
2
+ layout: feature
3
+ ---
4
+
5
+ <div class="container">
6
+ {%- assign fileData = site.data[page.folderName][page.lang][page.fileName] -%}
7
+ <div class="custom-box" data-filter="{{page.filter}}" data-src="{{fileData.image.src}}"
8
+ data-height="{{fileData.image.height}}" data-width="{{fileData.image.width}}" data-x="{{fileData.image.x}}"
9
+ data-y="{{fileData.image.y}}" style="background-color:{{fileData.color}};">
10
+ <div class="inner-box">
11
+ <div style="display:none;" id="file-loader"><img src="/spinner.gif" alt="">
12
+ <p>Please Wait ,Loading Your file </p>
13
+ </div>
14
+ <div class="saving-file-download-wrap" style="display: none;">
15
+ <img loading="lazy" class="trust-img" src="/trust.svg" alt="trust">
16
+ <p class="text-white my-2">Thanks for your patience</p>
17
+ <button class="btn" id="download-zip">Download</button>
18
+ </div>
19
+ <div class="file-input">
20
+ <div class="mb-4 d-flex justify-content-center">
21
+ <svg xmlns="http://www.w3.org/2000/svg" id="img-svg" viewBox="0 0 96 60">
22
+ <path fill="white"
23
+ d="M61.9655252,3.24869071 L61.9765763,3.41278068 L62.045,5.866 L73.2405238,6.25793424 C74.5651997,6.30419294 75.6130942,7.37295092 75.6521743,8.67919891 L75.6517521,8.84366004 L73.9765763,56.8144197 C73.9303176,58.1390957 72.8615596,59.1869902 71.5553116,59.2260703 L71.3908505,59.2256481 L68.3103384,59.1184351 C68.0464245,59.8400339 67.3786666,60.3670921 66.5807111,60.425963 L66.4314488,60.4314488 L66.4314488,60.4314488 L30.4314488,60.4314488 C29.3268793,60.4314488 28.4314488,59.5360183 28.4314488,58.4314488 L28.431,55.114 L25.262454,55.2256481 C23.9377781,55.2719068 22.8178834,54.2788497 22.6877793,52.9785097 L22.6767282,52.8144197 L21.0015524,4.84366004 C20.9552937,3.51898409 21.9483508,2.39908942 23.2486907,2.2689853 L23.4127807,2.25793424 L59.3908505,1.00155235 C60.7155264,0.955293651 61.8354211,1.94835077 61.9655252,3.24869071 Z M54.2794488,39.4234488 L45.0024366,47.6809882 L40.7104488,42.4274488 L29.431,51.895 L29.4314488,58.4314488 C29.4314488,58.9442846 29.817489,59.3669559 30.3148276,59.424721 L30.4314488,59.4314488 L66.4314488,59.4314488 C66.9442846,59.4314488 67.3669559,59.0454086 67.424721,58.5480699 L67.4314488,58.4314488 L67.4304488,52.8324488 L54.2794488,39.4234488 Z M37.2275545,6.00094318 C36.4483334,5.97373218 35.7872098,6.54589593 35.688023,7.30354781 L35.676119,7.44768018 L35.676,8.431 L60.4314488,8.43144877 L68.4314488,16.4314488 L68.431,58.121 L71.4257499,58.2262572 C72.2049711,58.2534682 72.8660946,57.6813045 72.9652815,56.9236526 L72.9771854,56.7795202 L74.6523613,8.80876055 C74.6795723,8.0295394 74.1074085,7.36841587 73.3497567,7.26922904 L73.2056243,7.25732506 L37.2275545,6.00094318 Z M59.4257499,2.00094318 L23.4476802,3.25732506 C22.668459,3.28453606 22.0488581,3.9014237 22.002764,4.6641489 L22.0009432,4.80876055 L23.676119,52.7795202 C23.70333,53.5587414 24.3202177,54.1783423 25.0829429,54.2244364 L25.2275545,54.2262572 L28.431,54.114 L28.4314488,10.4314488 C28.4314488,9.32687927 29.3268793,8.43144877 30.4314488,8.43144877 L34.611,8.431 L34.6767282,7.41278068 C34.7229869,6.08810473 35.7917449,5.04021022 37.0979929,5.00113017 L37.262454,5.00155235 L61.045,5.831 L60.9771854,3.44768018 C60.9499744,2.66845903 60.3330868,2.04885809 59.5703616,2.00276399 L59.4257499,2.00094318 Z M59.431,9.431 L30.4314488,9.43144877 C29.9186129,9.43144877 29.4959416,9.81748896 29.4381765,10.3148276 L29.4314488,10.4314488 L29.431,50.591 L40.8439098,41.010846 L45.1168036,46.2404726 L54.3266522,38.0432874 L67.431,51.405 L67.431,17.431 L59.4314488,17.4314488 L59.431,9.431 Z M58.4314488,26.4314488 C60.088303,26.4314488 61.4314488,27.7745945 61.4314488,29.4314488 C61.4314488,31.088303 60.088303,32.4314488 58.4314488,32.4314488 C56.7745945,32.4314488 55.4314488,31.088303 55.4314488,29.4314488 C55.4314488,27.7745945 56.7745945,26.4314488 58.4314488,26.4314488 Z M60.431,9.846 L60.431,16.431 L67.016,16.431 L60.431,9.846 Z">
24
+ </path>
25
+ </svg>
26
+ </div>
27
+ <div class="d-flex justify-content-center align-items-center ">
28
+ <div id="Inputbox" class="boxes"> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"
29
+ fill="currentColor">
30
+ <path
31
+ d="M14.0036 1.99646L17.0036 4.99646L16.999 4.99946L17 5.00001V13H16V5.99946L13 6.00001V2.99946H4V17.9995L12.0275 18.0003C12.0093 17.8361 12 17.6691 12 17.5C12 15.0147 14.0147 13 16.5 13C18.9853 13 21 15.0147 21 17.5C21 19.9853 18.9853 22 16.5 22C14.5409 22 12.8742 20.7481 12.2563 19.0007L3 19V2.00001H14L14.0036 1.99646ZM16.5 14C14.567 14 13 15.567 13 17.5C13 19.433 14.567 21 16.5 21C18.433 21 20 19.433 20 17.5C20 15.567 18.433 14 16.5 14ZM17 15V16.9995L19 17V18L17 17.9995V20H16V17.9995L14 18V17L16 16.9995V15H17ZM11 14V15H6V14H11ZM14 11V12H6V11H14ZM14 8.00001V9.00001H6V8.00001H14ZM14 3.40746V4.99946H15.592L14 3.40746Z">
32
+ </path>
33
+ </svg> <span class='ml-1'>CHOOSE FILE</span> </div>
34
+ <div class="file-pick-dropdown">
35
+ <i class="fas fa-angle-down arrow-sign "></i>
36
+ <div class="file-picker-dropdown" style="display: none;">
37
+ <button id="dropbox"> <svg viewBox="0 0 24 24" fill="#0061FF"
38
+ xmlns="http://www.w3.org/2000/svg">
39
+ <path id="icon"
40
+ d="M12.0146 6.57367L6.50732 10.1473L12.0146 13.721L6.50732 17.2947L1 13.6912L6.50732 10.1176L1 6.57367L6.50732 3L12.0146 6.57367ZM6.47803 18.4263L11.9854 14.8527L17.4927 18.4263L11.9854 22L6.47803 18.4263ZM12.0146 13.6912L17.522 10.1176L12.0146 6.57367L17.4927 3L23 6.57367L17.4927 10.1473L23 13.721L17.4927 17.2947L12.0146 13.6912Z">
41
+ </path>
42
+ </svg> From Dropbox</button>
43
+ <button id='filepicker'> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
44
+ <path id="Path" d="M8.33331 3H15.6666L23 15H15.6666L8.33331 3Z" fill="#FFC107">
45
+ </path>
46
+ <path id="Path_2" d="M4.6012 21L8.30086 15H23L19.3333 21H4.6012Z" fill="#1976D2">
47
+ </path>
48
+ <path id="Path_3" d="M1 15.0625L4.60119 21L12 9L8.33333 3L1 15.0625Z"
49
+ fill="#4CAF50">
50
+ </path>
51
+ </svg> From Google Drive</button>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ <p id="dropfile">or drop your file here</p>
56
+ </div>
57
+ </div>
58
+ </div>
59
+ <div class="crop-image-modal-container">
60
+ <div class="row w-100">
61
+ <div class="crop-image-modal col-lg-6 col-md-8 mx-auto">
62
+ <div class="crop-image-modal-header" style="background-color:{{fileData.color}} ;">
63
+ <div>Select an area you would like to use</div>
64
+ <div>
65
+ <button onclick="closeModal()">
66
+ <i class="fas fa-times"></i>
67
+ </button>
68
+ </div>
69
+ </div>
70
+ <div class="crop-image-modal-body">
71
+
72
+ </div>
73
+ <div class="crop-btn-section">
74
+ <button id="crop" class="mx-auto my-3" style="background-color: {{fileData.color}};">crop</button>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ <div id="workspace" style="display: none;">
80
+ <div class="row">
81
+ <div class="col-md-8 mx-auto">
82
+ <div class="select-img-panel">
83
+ <div id="saving-data" style="display: none;">
84
+ <img loading="lazy" src="/img/save.gif" alt="saving"> <span class="ml-2">Saving your
85
+ images...</span>
86
+ </div>
87
+ <div id="canvas-panel">
88
+ </div>
89
+ </div>
90
+ </div>
91
+ <div class="col-md-4">
92
+ <div class="options-panel">
93
+ <div class="title">
94
+
95
+ </div>
96
+ <div class="download-wrapper">
97
+ <button id="download-button" style="background-color: {{fileData.color}};"><svg
98
+ xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
99
+ <path
100
+ d="M256 0C114.6 0 0 114.6 0 256c0 141.4 114.6 256 256 256s256-114.6 256-256C512 114.6 397.4 0 256 0zM382.6 302.6l-103.1 103.1C270.7 414.6 260.9 416 256 416c-4.881 0-14.65-1.391-22.65-9.398L129.4 302.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 306.8V128c0-17.69 14.33-32 32-32s32 14.31 32 32v178.8l49.38-49.38c12.5-12.5 32.75-12.5 45.25 0S395.1 290.1 382.6 302.6z" />
101
+ </svg>Download</button>
102
+ </div>
103
+ </div>
104
+
105
+ </div>
106
+ </div>
107
+ </div>
108
+ </div>
109
+ <input class="d-none" onchange="fileOnChange()" type="file" id="file" accept=".webp,.png,.jpg,.jpeg" />
@@ -0,0 +1,431 @@
1
+ #img-svg {
2
+ margin: auto;
3
+ margin-top: 16px;
4
+ height: 67px;
5
+ width: 98px;
6
+ }
7
+
8
+ #file-loader {
9
+ display: flex;
10
+ align-items: center;
11
+ flex-direction: column;
12
+ }
13
+
14
+ #file-loader img {
15
+ height: 60px;
16
+ }
17
+
18
+ #file-loader p {
19
+ text-align: center;
20
+ color: #fff;
21
+ font-size: 17px;
22
+ }
23
+
24
+ #loading-img {
25
+ height: 27px;
26
+ width: 27px;
27
+ margin-right: 21px;
28
+ }
29
+
30
+ #dropbox svg,
31
+ #filepicker svg,
32
+ .boxes svg {
33
+ height: 24px !important;
34
+ width: 24px !important;
35
+ }
36
+
37
+ .file-picker-dropdown a,
38
+ .file-picker-dropdown button {
39
+ border: none;
40
+ width: 100%;
41
+ border-radius: 4px;
42
+ text-align: left;
43
+ background: #fff;
44
+ font-weight: 400;
45
+ font-size: 16px;
46
+ line-height: 24px;
47
+ padding: 15px 24px;
48
+ list-style: none;
49
+ height: 54px;
50
+ }
51
+
52
+ .file-picker-dropdown {
53
+ width: 213px;
54
+ position: absolute;
55
+ background: #fff;
56
+ top: 111%;
57
+ right: 0;
58
+ display: none;
59
+ box-shadow: rgb(26 26 26 / 20%) 0 0 12px;
60
+ border-radius: 4px;
61
+ }
62
+
63
+ .file-pick-dropdown i {
64
+ margin: 0;
65
+ }
66
+
67
+ .boxes {
68
+ background: #fff;
69
+ border-radius: 0;
70
+ cursor: pointer;
71
+ display: flex;
72
+ align-items: center;
73
+ padding: 15px 24px;
74
+ height: 54px;
75
+ border-top-left-radius: 4px;
76
+ border-bottom-left-radius: 4px;
77
+ justify-content: center;
78
+ font-size: 15px;
79
+ font-weight: 800;
80
+ color: #000;
81
+ }
82
+
83
+ .file-pick-dropdown {
84
+ color: #000;
85
+ cursor: pointer;
86
+ display: inline-flex;
87
+ background: #fff;
88
+ height: 54px;
89
+ border-left: 1px solid rgba(95, 88, 88, 0.75);
90
+ padding: 13px 20px;
91
+ border-top-right-radius: 4px;
92
+ border-bottom-right-radius: 4px;
93
+ align-items: center;
94
+ position: relative;
95
+ }
96
+
97
+ .custom-box {
98
+ padding: 15px;
99
+ }
100
+
101
+ .inner-box {
102
+ border: 1px dashed rgba(0, 0, 0, 0.15);
103
+ background: rgba(0, 0, 0, 0.1);
104
+ padding: 40px;
105
+ min-height: 300px;
106
+ width: 100%;
107
+ display: flex;
108
+ align-items: center;
109
+ justify-content: center;
110
+ }
111
+ #dropfile {
112
+ font-size: 16px;
113
+ margin-top: 15px;
114
+ text-align: center;
115
+ color: #fff;
116
+ }
117
+ .saving-file-download-wrap {
118
+ display: flex;
119
+ flex-direction: column;
120
+ align-items: center;
121
+ }
122
+ #download {
123
+ padding: 10px 16px;
124
+ background: #fff;
125
+ }
126
+
127
+ .trust-img {
128
+ height: 80px;
129
+ width: 80px;
130
+ }
131
+ .options-panel select,
132
+ textarea,
133
+ input {
134
+ width: 100%;
135
+ text-align: left;
136
+ background: #fff;
137
+ height: 34px;
138
+ display: flex;
139
+ border-radius: 4px;
140
+ align-items: center;
141
+ justify-content: space-between;
142
+ box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
143
+ color: #0f0c0c;
144
+ border: 1px solid #ccc;
145
+ }
146
+ .options-panel div {
147
+ width: 100%;
148
+ }
149
+ #action-button {
150
+ background-color: #ff6537;
151
+ margin: 0;
152
+ width: 180px;
153
+ padding: 10px 0;
154
+ font-size: 13pt;
155
+ position: relative;
156
+ border-radius: 2px;
157
+ border: 1px solid #ff6131;
158
+ color: #fff;
159
+ font-weight: 600;
160
+ display: block;
161
+ margin: auto;
162
+ margin-top: 20px;
163
+ }
164
+ #workspace-area input[type='text'] {
165
+ height: 40px;
166
+ border: 1px solid gray;
167
+ border-radius: 2px;
168
+ }
169
+ #canvas-area {
170
+ width: 100%;
171
+ margin-top: 30px;
172
+ max-width: 100%;
173
+ }
174
+ #img-svg {
175
+ margin: auto;
176
+ margin-top: 16px;
177
+ height: 67px;
178
+ width: 98px;
179
+ }
180
+
181
+ #file-loader {
182
+ display: flex;
183
+ align-items: center;
184
+ flex-direction: column;
185
+ }
186
+
187
+ #file-loader img {
188
+ height: 60px;
189
+ }
190
+
191
+ #file-loader p {
192
+ text-align: center;
193
+ color: #fff;
194
+ font-size: 17px;
195
+ }
196
+
197
+ #loading-img {
198
+ height: 27px;
199
+ width: 27px;
200
+ margin-right: 21px;
201
+ }
202
+
203
+ #dropbox svg,
204
+ #filepicker svg,
205
+ .boxes svg {
206
+ height: 24px !important;
207
+ width: 24px !important;
208
+ }
209
+
210
+ .file-picker-dropdown a,
211
+ .file-picker-dropdown button {
212
+ border: none;
213
+ width: 100%;
214
+ border-radius: 4px;
215
+ text-align: left;
216
+ background: #fff;
217
+ font-weight: 400;
218
+ font-size: 16px;
219
+ line-height: 24px;
220
+ padding: 15px 24px;
221
+ list-style: none;
222
+ height: 54px;
223
+ }
224
+
225
+ .file-picker-dropdown {
226
+ width: 213px;
227
+ position: absolute;
228
+ background: #fff;
229
+ top: 111%;
230
+ right: 0;
231
+ display: none;
232
+ box-shadow: rgb(26 26 26 / 20%) 0 0 12px;
233
+ border-radius: 4px;
234
+ }
235
+
236
+ .file-pick-dropdown i {
237
+ margin: 0;
238
+ }
239
+
240
+ .boxes {
241
+ background: #fff;
242
+ border-radius: 0;
243
+ cursor: pointer;
244
+ display: flex;
245
+ align-items: center;
246
+ padding: 15px 24px;
247
+ height: 54px;
248
+ border-top-left-radius: 4px;
249
+ border-bottom-left-radius: 4px;
250
+ justify-content: center;
251
+ font-size: 15px;
252
+ font-weight: 800;
253
+ color: #000;
254
+ }
255
+
256
+ .file-pick-dropdown {
257
+ color: #000;
258
+ cursor: pointer;
259
+ display: inline-flex;
260
+ background: #fff;
261
+ height: 54px;
262
+ border-left: 1px solid rgba(95, 88, 88, 0.75);
263
+ padding: 13px 20px;
264
+ border-top-right-radius: 4px;
265
+ border-bottom-right-radius: 4px;
266
+ align-items: center;
267
+ position: relative;
268
+ }
269
+
270
+ .crop-img-box {
271
+ background-color: #fff;
272
+ width: 100%;
273
+ border-radius: 0.75em;
274
+ border: 1px solid #f2f2f2;
275
+ box-shadow: 0px 5px 16px -2px rgb(42 115 217 / 20%);
276
+ font-size: 16px;
277
+ height: auto;
278
+ display: none;
279
+ }
280
+
281
+ .custom-box {
282
+ padding: 15px;
283
+ }
284
+
285
+ .inner-box {
286
+ border: 1px dashed rgba(0, 0, 0, 0.15);
287
+ background: rgba(0, 0, 0, 0.1);
288
+ padding: 40px;
289
+ min-height: 300px;
290
+ width: 100%;
291
+ }
292
+ #dropfile {
293
+ font-size: 16px;
294
+ margin-top: 15px;
295
+ text-align: center;
296
+ color: #fff;
297
+ }
298
+ .options-panel {
299
+ box-shadow: 0 2px 4px rgb(0 0 0 / 20%);
300
+ border-radius: 4px;
301
+ padding: 30px;
302
+ width: 100%;
303
+ }
304
+ .options-panel .title {
305
+ width: 100%;
306
+ font-size: 28px;
307
+ line-height: 36px;
308
+ color: #000;
309
+ font-weight: 700;
310
+ text-align: left;
311
+ text-transform: capitalize;
312
+ }
313
+ .options-panel .description {
314
+ width: 100%;
315
+ font-size: 17px;
316
+ color: #666;
317
+ font-weight: 400;
318
+ text-align: left;
319
+ }
320
+ .options-title {
321
+ width: 100%;
322
+ font-size: 17px;
323
+ color: #666;
324
+ font-weight: 400;
325
+ text-align: left;
326
+ }
327
+ #download-button {
328
+ cursor: pointer;
329
+ display: inline-block;
330
+ width: 100%;
331
+ padding: 14px 0;
332
+ margin-bottom: 20px;
333
+ text-align: center;
334
+ border-radius: 50px;
335
+ background: #0050e5;
336
+ font-size: 18px;
337
+ color: #fff;
338
+ font-weight: 700;
339
+ text-decoration: none;
340
+ transition: all 0.3s;
341
+ border: none;
342
+ }
343
+ #download-button svg {
344
+ fill: #fff;
345
+ margin-right: 4px;
346
+ margin-bottom: 4px;
347
+ height: 20px;
348
+ }
349
+ .download-wrapper {
350
+ display: flex;
351
+ align-items: center;
352
+ border-bottom: 1px solid #ddd;
353
+ margin: 12px 0px;
354
+ padding: 12px 0px;
355
+ }
356
+ #canvas-panel canvas {
357
+ max-width: 100%;
358
+ }
359
+ .options-panel select,
360
+ textarea,
361
+ input {
362
+ width: 100%;
363
+ text-align: left;
364
+ background: #fff;
365
+ height: 34px;
366
+ display: flex;
367
+ border-radius: 4px;
368
+ justify-content: space-between;
369
+ box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
370
+ color: #0f0c0c;
371
+ border: 1px solid #ccc;
372
+ }
373
+ .crop-image-modal-container {
374
+ position: fixed;
375
+ display: none;
376
+ justify-content: center;
377
+ background-color: rgba(0, 0, 0, 0.297);
378
+ height: 100vh;
379
+ width: 100%;
380
+ top: 0;
381
+ left: 0;
382
+ z-index: 999999;
383
+ padding: 0px 20px;
384
+ }
385
+ .crop-image-modal {
386
+ height: fit-content;
387
+ background-color: #fff;
388
+ width: 100%;
389
+ margin-top: 10px;
390
+ border-radius: 5px;
391
+ padding: 0;
392
+ overflow-y: auto;
393
+ }
394
+ .crop-image-modal-header {
395
+ border-top-right-radius: 5px;
396
+ border-top-left-radius: 5px;
397
+ display: flex;
398
+ justify-content: space-between;
399
+ background-color: #ff5554;
400
+ display: flex;
401
+ align-items: center;
402
+ padding: 10px 20px;
403
+ }
404
+ .crop-image-modal-header div {
405
+ height: 100%;
406
+ display: flex;
407
+ align-items: center;
408
+ font-size: 20px;
409
+ color: #fff;
410
+ }
411
+ .crop-image-modal-body {
412
+ width: 450px;
413
+ margin: 10px auto;
414
+ }
415
+ .crop-image-modal-header button {
416
+ border: none;
417
+ background-color: transparent;
418
+ }
419
+ .crop-image-modal-header button i {
420
+ color: #fff;
421
+ font-size: 20px;
422
+ }
423
+ .crop-image-modal-body {
424
+ border-top-right-radius: 5px;
425
+ border-top-left-radius: 5px;
426
+ }
427
+ #crop {
428
+ border: none;
429
+ padding: 7px 14px;
430
+ color: #fff;
431
+ }
Binary file
@@ -0,0 +1,171 @@
1
+ const getScript = document.currentScript
2
+ const pageTool = getScript.dataset.tool
3
+ const lang = getScript.dataset.lang
4
+ const gdrive = document.querySelector('#filepicker')
5
+ const inputBox = document.querySelector('#Inputbox')
6
+ const fileDropBox = document.querySelector('.custom-box')
7
+ const cropModal = document.querySelector('.crop-image-modal-container')
8
+ const workspace = document.getElementById('workspace')
9
+ const canvasPanel = document.getElementById('canvas-panel')
10
+ const download = document.querySelector('#download-button')
11
+ let cropInputWidth = null
12
+ let cropInputHeight = null
13
+ let image = null
14
+ const showLoader = () => {
15
+ showLoading()
16
+ }
17
+ const closeLoader = () => {}
18
+ const mimeTypes = 'image/png,image/jpg,image/jpeg,image/webp'
19
+ const filemimes = ['.png', '.webp', '.jpg', '.jpeg']
20
+ gdrive.addEventListener(
21
+ 'click',
22
+ (getFile, mimeTypes, showLoader, closeLoader) => {
23
+ const data = loadPicker()
24
+ }
25
+ )
26
+ const getDropBoxFile = (file) => {
27
+ handleFile(file)
28
+ }
29
+ const getFile = (file) => {
30
+ handleFile(file)
31
+ }
32
+ const fileOnChange = () => {
33
+ handleFile(file.files[0])
34
+ }
35
+ const dropbox = document.getElementById('dropbox')
36
+ dropbox.addEventListener(
37
+ 'click',
38
+ async (getDropBoxFile, showLoader, closeLoader) => {
39
+ const getFile = chooseFromDropbox()
40
+ }
41
+ )
42
+ inputBox.onclick = function () {
43
+ document.querySelector('#file').click()
44
+ }
45
+ fileDropBox.addEventListener('dragover', (e) => {
46
+ e.preventDefault()
47
+ })
48
+ fileDropBox.addEventListener('drop', (e) => {
49
+ e.preventDefault()
50
+ handleFile(e.dataTransfer.files[0])
51
+ })
52
+ const closeModal = () => {
53
+ cropModal.style.display = 'none'
54
+ }
55
+ const drawImage = () => {
56
+ let img = new Image()
57
+ img.src = fileDropBox.dataset.src
58
+ var canvas = document.createElement('canvas')
59
+ var ctx = canvas.getContext('2d')
60
+ img.onload = () => {
61
+ image.width = Number(fileDropBox.dataset.width)
62
+ image.height = Number(fileDropBox.dataset.height)
63
+ canvas.width = img.width
64
+ canvas.height = img.height
65
+ ctx.drawImage(
66
+ image,
67
+ Number(fileDropBox.dataset.x),
68
+ Number(fileDropBox.dataset.y),
69
+ image.width,
70
+ image.height
71
+ )
72
+ ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
73
+ canvasPanel.innerHTML = ''
74
+ canvasPanel.appendChild(canvas)
75
+ stopLoading()
76
+ cropModal.style.display = 'none'
77
+ workspace.style.display = 'block'
78
+ }
79
+ }
80
+ const cropImage = (result) => {
81
+ let img = new Image()
82
+ let cropper = null
83
+ img.src = fileDropBox.dataset.src
84
+ img.onload = () => {
85
+ let img = document.createElement('img')
86
+ img.id = 'image'
87
+ img.src = result
88
+ let cropWidth = null
89
+ let cropHeight = null
90
+ document.querySelector('.crop-image-modal-body').appendChild(img)
91
+ cropper = new Cropper(img, {
92
+ ready() {
93
+ cropper.setAspectRatio(
94
+ Number(fileDropBox.dataset.width) / Number(fileDropBox.dataset.height)
95
+ )
96
+ cropModal.style.display = 'flex'
97
+ this.cropper.crop()
98
+ document.querySelector('#crop').addEventListener('click', () => {
99
+ let cropperImg = cropper
100
+ .getCroppedCanvas({
101
+ width: cropWidth,
102
+ height: cropHeight,
103
+ })
104
+ .toDataURL()
105
+ image = new Image()
106
+ image.onload = () => {
107
+ drawImage()
108
+ }
109
+ image.src = cropperImg
110
+ })
111
+ },
112
+ crop(event) {
113
+ cropWidth = Math.round(event.detail.width)
114
+ cropHeight = Math.round(event.detail.height)
115
+ },
116
+ })
117
+ stopLoading()
118
+ }
119
+ }
120
+ let inputFile = ''
121
+ const handleFile = (file) => {
122
+ cropModal.style.display = 'flex'
123
+ document.querySelector('#file-loader').style.display = 'flex'
124
+ document.querySelector('.file-input').style.display = 'none'
125
+ inputFile = file
126
+ if (file) {
127
+ const reader = new FileReader()
128
+ reader.onload = (e) => {
129
+ if (e.target.result) {
130
+ cropImage(e.target.result)
131
+ }
132
+ }
133
+ reader.readAsDataURL(file)
134
+ }
135
+ }
136
+ const showLoading = () => {
137
+ document.querySelector('#file-loader').style.display = 'flex'
138
+ document.querySelector('.file-input').style.display = 'none'
139
+ }
140
+ const stopLoading = () => {
141
+ fileDropBox.style.display = 'none'
142
+ }
143
+ download.addEventListener('click', () => {
144
+ let canvas = document.querySelector('canvas')
145
+ let url = canvas.toDataURL(`image/png`)
146
+ let a = document.createElement('a')
147
+ a.href = url
148
+ a.download = `safeimagekit-border-image.${inputFile.type.split('/')[1]}`
149
+ document.body.appendChild(a)
150
+ a.click()
151
+ if (lang === 'en') {
152
+ window.location.href = `/download?tool=${pageTool}`
153
+ } else {
154
+ window.location.href = `/${lang}/download?tool=${pageTool}`
155
+ }
156
+ })
157
+ const showDropDown = document.querySelector('.file-pick-dropdown')
158
+ const icon = document.querySelector('.arrow-sign')
159
+ const dropDown = document.querySelector('.file-picker-dropdown')
160
+ showDropDown.addEventListener('click', () => {
161
+ addScripts()
162
+ if (dropDown.style.display !== 'none') {
163
+ dropDown.style.display = 'none'
164
+ icon.classList.remove('fa-angle-up')
165
+ icon.classList.add('fa-angle-down')
166
+ } else {
167
+ dropDown.style.display = 'block'
168
+ icon.classList.remove('fa-angle-down')
169
+ icon.classList.add('fa-angle-up')
170
+ }
171
+ })
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appscms-tools-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.5
4
+ version: 2.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - vivek-appscms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-26 00:00:00.000000000 Z
11
+ date: 2022-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -2361,6 +2361,7 @@ files:
2361
2361
  - _data/feature/en/allele-frequency.json
2362
2362
  - _data/feature/en/compress-pdf.json
2363
2363
  - _data/feature/en/split-pdf.json
2364
+ - _data/feature/en/theframe.json
2364
2365
  - _data/feature/hi/compress-pdf.json
2365
2366
  - _data/feature/tr/compress-pdf.json
2366
2367
  - _data/filecomparison/en/filecomparison.json
@@ -2430,6 +2431,7 @@ files:
2430
2431
  - _layouts/featureResultPage.html
2431
2432
  - _layouts/fileInfo.html
2432
2433
  - _layouts/filecomparison.html
2434
+ - _layouts/frame.html
2433
2435
  - _layouts/help.html
2434
2436
  - _layouts/home.html
2435
2437
  - _layouts/homeResultPage.html
@@ -2445,6 +2447,7 @@ files:
2445
2447
  - assets/css/bootstrap.min.css
2446
2448
  - assets/css/calculators.css
2447
2449
  - assets/css/filecomparison.css
2450
+ - assets/css/frame.css
2448
2451
  - assets/css/responsive.css
2449
2452
  - assets/css/tools.css
2450
2453
  - assets/easy.svg
@@ -2572,6 +2575,7 @@ files:
2572
2575
  - assets/images/avatar.png
2573
2576
  - assets/images/balark.jpeg
2574
2577
  - assets/images/fileformat.webp
2578
+ - assets/images/gallary.png
2575
2579
  - assets/images/keshav.webp
2576
2580
  - assets/images/krutika.jpeg
2577
2581
  - assets/images/logo.png
@@ -2590,6 +2594,7 @@ files:
2590
2594
  - assets/js/ads.js
2591
2595
  - assets/js/append-div.js
2592
2596
  - assets/js/featureResult.js
2597
+ - assets/js/frame.js
2593
2598
  - assets/js/googledrive.js
2594
2599
  - assets/js/homeResult.js
2595
2600
  - assets/js/manifest.json