@cocreate/url-uploader 1.1.0 → 1.1.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## [1.1.2](https://github.com/CoCreate-app/CoCreate-url-uploader/compare/v1.1.1...v1.1.2) (2025-05-01)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * update [@cocreate](https://github.com/cocreate) dependencies ([3868e41](https://github.com/CoCreate-app/CoCreate-url-uploader/commit/3868e4141ee18d8e2b916d0cc4e2b2095f27490c))
7
+ * webpack.config and devdependencies ([9a52602](https://github.com/CoCreate-app/CoCreate-url-uploader/commit/9a5260297be3f14417cc87af89863439d60f7b14))
8
+
9
+ ## [1.1.1](https://github.com/CoCreate-app/CoCreate-url-uploader/compare/v1.1.0...v1.1.1) (2024-12-09)
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * formating ([ee217a5](https://github.com/CoCreate-app/CoCreate-url-uploader/commit/ee217a53c372a2c85e084d4d100142b12ab90ea1))
15
+
1
16
  # [1.1.0](https://github.com/CoCreate-app/CoCreate-url-uploader/compare/v1.0.1...v1.1.0) (2024-11-04)
2
17
 
3
18
 
package/docs/index.html CHANGED
@@ -1,228 +1,228 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6
- <meta name="viewport" content="width=device-width, initial-scale=1" />
7
- <title>CoCreate-url-uploader Documentation | CoCreateJS</title>
8
- <link
9
- rel="icon"
10
- type="image/png"
11
- sizes="32x32"
12
- href="https://cocreate.app/images/favicon.ico" />
13
- <meta
14
- name="description"
15
- content="A simple HTML5 and pure javascript component. Easy configuration using data-attributes and highly styleable." />
16
- <meta
17
- name="keywords"
18
- content="helper classes, utility classes, css framework, css library, inline style classes" />
19
- <meta name="robots" content="index,follow" />
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
7
+ <title>CoCreate-url-uploader Documentation | CoCreateJS</title>
8
+ <link
9
+ rel="icon"
10
+ type="image/png"
11
+ sizes="32x32"
12
+ href="https://cocreate.app/images/favicon.ico" />
13
+ <meta
14
+ name="description"
15
+ content="A simple HTML5 and pure javascript component. Easy configuration using data-attributes and highly styleable." />
16
+ <meta
17
+ name="keywords"
18
+ content="helper classes, utility classes, css framework, css library, inline style classes" />
19
+ <meta name="robots" content="index,follow" />
20
20
 
21
- <!-- CoCreate CSS CDN -->
22
- </head>
21
+ <!-- CoCreate CSS CDN -->
22
+ </head>
23
23
 
24
- <body>
25
- <div array="" object="" key="" id="cocreate-url-uploader">
26
- <div
27
- class="display:flex flex-wrap:wrap justify-content:space-between margin:10px">
28
- <div class="display:flex align-items:center">
29
- <h2>CoCreate-url-uploader</h2>
30
- </div>
31
- <div
32
- class="display:flex align-items:center font-size:20px"
33
- share-height="600"
34
- share-width="500"
35
- share-media="https://via.placeholder.com/300/09f/fff.png">
36
- <a
37
- href="https://github.com/CoCreate-app/CoCreate-url-uploader"
38
- target="_blank"
39
- class="margin-right:15px"
40
- ><i class="fab fa-github"></i
41
- ></a>
42
- <a
43
- class="margin-right:15px share"
44
- share-network="twitter"
45
- title="Share on twitter"
46
- ><i class="fab fa-twitter"></i
47
- ></a>
48
- <a
49
- class="margin-right:15px share"
50
- share-network="facebook"
51
- title="Share on Facebook"
52
- ><i class="fab fa-facebook"></i
53
- ></a>
54
- <a
55
- class="margin-right:15px share"
56
- share-network="instagram"
57
- title="Share on instagram"
58
- ><i class="fab fa-instagram"></i
59
- ></a>
60
- <a
61
- class="margin-right:15px share"
62
- share-network="share"
63
- title="Share on share"
64
- ><i class="fas fa-share-alt"></i
65
- ></a>
66
- </div>
67
- </div>
68
- <h1 class="max-width:500px margin:20px_10px">
69
- A simple HTML5, CSS and pure javascript component. Easy
70
- configuration using data-attributes and highly styleable.
71
- </h1>
72
- <div id="url-uploader-section" class="display:flex flex-wrap:wrap">
73
- <div class="flex-grow:1 width:300px padding:20px_10px">
74
- <h2
75
- class="border-bottom:1px_solid_lightgrey padding:5px_0px">
76
- Install
77
- </h2>
78
- <pre
79
- class="margin-top:15px"><code class="language-javascript">npm install cocreate-url-uploader</code></pre>
80
- <p class="padding:10px_0px">Or you can use cdn link:</p>
81
- <pre><code class="language-javascript">https://cdn.cocreate.app/js/CoCreate-url-uploader.min.js</code></pre>
24
+ <body>
25
+ <div array="" object="" key="" id="cocreate-url-uploader">
26
+ <div
27
+ class="display:flex flex-wrap:wrap justify-content:space-between margin:10px">
28
+ <div class="display:flex align-items:center">
29
+ <h2>CoCreate-url-uploader</h2>
30
+ </div>
31
+ <div
32
+ class="display:flex align-items:center font-size:20px"
33
+ share-height="600"
34
+ share-width="500"
35
+ share-media="https://via.placeholder.com/300/09f/fff.png">
36
+ <a
37
+ href="https://github.com/CoCreate-app/CoCreate-url-uploader"
38
+ target="_blank"
39
+ class="margin-right:15px"
40
+ ><i class="fab fa-github"></i
41
+ ></a>
42
+ <a
43
+ class="margin-right:15px share"
44
+ share-network="twitter"
45
+ title="Share on twitter"
46
+ ><i class="fab fa-twitter"></i
47
+ ></a>
48
+ <a
49
+ class="margin-right:15px share"
50
+ share-network="facebook"
51
+ title="Share on Facebook"
52
+ ><i class="fab fa-facebook"></i
53
+ ></a>
54
+ <a
55
+ class="margin-right:15px share"
56
+ share-network="instagram"
57
+ title="Share on instagram"
58
+ ><i class="fab fa-instagram"></i
59
+ ></a>
60
+ <a
61
+ class="margin-right:15px share"
62
+ share-network="share"
63
+ title="Share on share"
64
+ ><i class="fas fa-share-alt"></i
65
+ ></a>
66
+ </div>
67
+ </div>
68
+ <h1 class="max-width:500px margin:20px_10px">
69
+ A simple HTML5, CSS and pure javascript component. Easy
70
+ configuration using data-attributes and highly styleable.
71
+ </h1>
72
+ <div id="url-uploader-section" class="display:flex flex-wrap:wrap">
73
+ <div class="flex-grow:1 width:300px padding:20px_10px">
74
+ <h2
75
+ class="border-bottom:1px_solid_lightgrey padding:5px_0px">
76
+ Install
77
+ </h2>
78
+ <pre
79
+ class="margin-top:15px"><code class="language-javascript">npm install cocreate-url-uploader</code></pre>
80
+ <p class="padding:10px_0px">Or you can use cdn link:</p>
81
+ <pre><code class="language-javascript">https://cdn.cocreate.app/js/CoCreate-url-uploader.min.js</code></pre>
82
82
 
83
- <h2
84
- class="border-bottom:1px_solid_lightgrey margin-top:20px padding:5px_0px">
85
- Usage
86
- </h2>
87
- <p class="padding:10px_0px">url-uploader usage content</p>
88
- <pre><code class="language-html">&lt;div&gt;&lt;/div&gt;</code></pre>
83
+ <h2
84
+ class="border-bottom:1px_solid_lightgrey margin-top:20px padding:5px_0px">
85
+ Usage
86
+ </h2>
87
+ <p class="padding:10px_0px">url-uploader usage content</p>
88
+ <pre><code class="language-html">&lt;div&gt;&lt;/div&gt;</code></pre>
89
89
 
90
- <h2
91
- class="border-bottom:1px_solid_lightgrey margin-top:20px padding:5px_0px">
92
- Reference
93
- </h2>
94
- <p class="padding:10px_0px">
95
- This is url-uploader reference content
96
- </p>
97
- <pre><code class="language-javascript">&lt;div&gt;&lt;/div&gt;</code></pre>
98
- <p class="padding:10px_0px">
99
- This is url-uploader reference content
100
- </p>
90
+ <h2
91
+ class="border-bottom:1px_solid_lightgrey margin-top:20px padding:5px_0px">
92
+ Reference
93
+ </h2>
94
+ <p class="padding:10px_0px">
95
+ This is url-uploader reference content
96
+ </p>
97
+ <pre><code class="language-javascript">&lt;div&gt;&lt;/div&gt;</code></pre>
98
+ <p class="padding:10px_0px">
99
+ This is url-uploader reference content
100
+ </p>
101
101
 
102
- <h2
103
- class="border-bottom:1px_solid_lightgrey margin-top:20px padding:5px_0px">
104
- Attributes
105
- </h2>
106
- <ul class="list-style-type:none">
107
- <li
108
- class="padding:15px_0px border-bottom:1px_solid_lightgrey">
109
- <h4>
110
- <span>url-uploader</span>
111
- <span class="cocreate-badge success"
112
- >string</span
113
- >
114
- <span class="cocreate-badge warning"
115
- >optional</span
116
- >
117
- </h4>
118
- <p>url-uploader-attribute</p>
119
- </li>
120
- <li
121
- class="padding:15px_0px border-bottom:1px_solid_lightgrey">
122
- <h4>
123
- <span>url-uploader</span>
124
- <span class="cocreate-badge success"
125
- >string</span
126
- >
127
- <span class="cocreate-badge warning"
128
- >optional</span
129
- >
130
- </h4>
131
- <p>url-uploader-attribute</p>
132
- </li>
133
- </ul>
134
- </div>
102
+ <h2
103
+ class="border-bottom:1px_solid_lightgrey margin-top:20px padding:5px_0px">
104
+ Attributes
105
+ </h2>
106
+ <ul class="list-style-type:none">
107
+ <li
108
+ class="padding:15px_0px border-bottom:1px_solid_lightgrey">
109
+ <h4>
110
+ <span>url-uploader</span>
111
+ <span class="cocreate-badge success"
112
+ >string</span
113
+ >
114
+ <span class="cocreate-badge warning"
115
+ >optional</span
116
+ >
117
+ </h4>
118
+ <p>url-uploader-attribute</p>
119
+ </li>
120
+ <li
121
+ class="padding:15px_0px border-bottom:1px_solid_lightgrey">
122
+ <h4>
123
+ <span>url-uploader</span>
124
+ <span class="cocreate-badge success"
125
+ >string</span
126
+ >
127
+ <span class="cocreate-badge warning"
128
+ >optional</span
129
+ >
130
+ </h4>
131
+ <p>url-uploader-attribute</p>
132
+ </li>
133
+ </ul>
134
+ </div>
135
135
 
136
- <div
137
- class="flex-grow:1 width:300px padding:0px_10px margin:20px_0px border-bottom:1px_solid_lightgrey">
138
- <!-- SandBox -->
139
- <h2
140
- class="border-bottom:1px_solid_lightgrey padding:5px_0px">
141
- Demo
142
- </h2>
143
- <div
144
- class="position:sticky top:0 padding:10px_0px height:100vh">
145
- <!-- SandBox -->
146
- <div
147
- class="display:flex flex-direction:column position:relative overflow:hidden card border-radius:2px width:auto height:600px margin-top:20px"
148
- id="playground">
149
- <div
150
- id="demo-code"
151
- resizable
152
- class="position:relative height:50%">
153
- <textarea
154
- type="code"
155
- lang="html"
156
- array="demos"
157
- object=""
158
- key="demo"
159
- save="false"
160
- id="demo"
161
- class="height:100% width:100% outline:none border:none resize:none padding:5px"></textarea>
162
- <div
163
- resize="bottom"
164
- class="background:lightgrey"></div>
165
- </div>
136
+ <div
137
+ class="flex-grow:1 width:300px padding:0px_10px margin:20px_0px border-bottom:1px_solid_lightgrey">
138
+ <!-- SandBox -->
139
+ <h2
140
+ class="border-bottom:1px_solid_lightgrey padding:5px_0px">
141
+ Demo
142
+ </h2>
143
+ <div
144
+ class="position:sticky top:0 padding:10px_0px height:100vh">
145
+ <!-- SandBox -->
146
+ <div
147
+ class="display:flex flex-direction:column position:relative overflow:hidden card border-radius:2px width:auto height:600px margin-top:20px"
148
+ id="playground">
149
+ <div
150
+ id="demo-code"
151
+ resizable
152
+ class="position:relative height:50%">
153
+ <textarea
154
+ type="code"
155
+ lang="html"
156
+ array="demos"
157
+ object=""
158
+ key="demo"
159
+ save="false"
160
+ id="demo"
161
+ class="height:100% width:100% outline:none border:none resize:none padding:5px"></textarea>
162
+ <div
163
+ resize="bottom"
164
+ class="background:lightgrey"></div>
165
+ </div>
166
166
 
167
- <div
168
- id="demo-preview"
169
- class="position:relative overflow:auto background-color:white">
170
- <div
171
- get-value="#demo"
172
- class="padding:20px"></div>
173
- </div>
167
+ <div
168
+ id="demo-preview"
169
+ class="position:relative overflow:auto background-color:white">
170
+ <div
171
+ get-value="#demo"
172
+ class="padding:20px"></div>
173
+ </div>
174
174
 
175
- <div
176
- class="font-size:20px position:absolute top:10px right:10px opacity:0.6">
177
- <a
178
- class="margin-right:10px"
179
- id="eye"
180
- show="#eye-slash"
181
- hide="#eye, #demo-preview"
182
- toggle="code-height"
183
- toggle-selector="#demo-code"
184
- ><i class="far fa-eye"></i
185
- ></a>
186
- <a
187
- class="margin-right:10px"
188
- hidden
189
- id="eye-slash"
190
- show="#eye, #demo-preview"
191
- hide="#eye-slash"
192
- toggle="code-height"
193
- toggle-selector="#demo-code"
194
- ><i class="fas fa-eye-slash"></i
195
- ></a>
196
- <a
197
- class="margin-right:10px"
198
- id="code"
199
- show="#code-slash"
200
- hide="#code, #demo-code"
201
- ><i class="fa fa-code"></i
202
- ></a>
203
- <a
204
- class="margin-right:10px"
205
- hidden
206
- id="code-slash"
207
- show="#code, #demo-code"
208
- hide="#code-slash"
209
- ><i class="fas fa-code"></i
210
- ></a>
211
- <a
212
- class="margin-right:5px"
213
- fullscreen
214
- target="#playground"
215
- ><i class="fas fa-expand"></i
216
- ></a>
217
- </div>
218
- </div>
219
- <!-- End SandBox -->
220
- </div>
221
- </div>
222
- </div>
223
- </div>
175
+ <div
176
+ class="font-size:20px position:absolute top:10px right:10px opacity:0.6">
177
+ <a
178
+ class="margin-right:10px"
179
+ id="eye"
180
+ show="#eye-slash"
181
+ hide="#eye, #demo-preview"
182
+ toggle="code-height"
183
+ toggle-query="#demo-code"
184
+ ><i class="far fa-eye"></i
185
+ ></a>
186
+ <a
187
+ class="margin-right:10px"
188
+ hidden
189
+ id="eye-slash"
190
+ show="#eye, #demo-preview"
191
+ hide="#eye-slash"
192
+ toggle="code-height"
193
+ toggle-query="#demo-code"
194
+ ><i class="fas fa-eye-slash"></i
195
+ ></a>
196
+ <a
197
+ class="margin-right:10px"
198
+ id="code"
199
+ show="#code-slash"
200
+ hide="#code, #demo-code"
201
+ ><i class="fa fa-code"></i
202
+ ></a>
203
+ <a
204
+ class="margin-right:10px"
205
+ hidden
206
+ id="code-slash"
207
+ show="#code, #demo-code"
208
+ hide="#code-slash"
209
+ ><i class="fas fa-code"></i
210
+ ></a>
211
+ <a
212
+ class="margin-right:5px"
213
+ fullscreen
214
+ target="#playground"
215
+ ><i class="fas fa-expand"></i
216
+ ></a>
217
+ </div>
218
+ </div>
219
+ <!-- End SandBox -->
220
+ </div>
221
+ </div>
222
+ </div>
223
+ </div>
224
224
 
225
- <!--CoCreateJS-->
226
- <script src="https://CoCreate.app/dist/CoCreate.js"></script>
227
- </body>
225
+ <!--CoCreateJS-->
226
+ <script src="https://CoCreate.app/dist/CoCreate.js"></script>
227
+ </body>
228
228
  </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocreate/url-uploader",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "A simple url-uploader component in vanilla javascript. Easily configured using HTML5 data-attributes and/or JavaScript API.",
5
5
  "keywords": [
6
6
  "url-uploader",
package/src/index.js CHANGED
@@ -20,70 +20,65 @@
20
20
  // you must obtain a commercial license from CoCreate LLC.
21
21
  // For details, visit <https://cocreate.app/licenses/> or contact us at sales@cocreate.app.
22
22
 
23
-
24
- const { URL } = require('url');
23
+ const { URL } = require("url");
25
24
 
26
25
  class CoCreateUrlUploader {
27
- constructor(crud) {
28
- this.crud = crud
29
- crud.wsManager.on('importUrl', async (data) => {
30
- this.fetchFileFromURL(data)
31
- });
32
- }
33
-
26
+ constructor(crud) {
27
+ this.crud = crud;
28
+ crud.wsManager.on("importUrl", async (data) => {
29
+ this.fetchFileFromURL(data);
30
+ });
31
+ }
34
32
 
35
- async fetchFileFromURL(data) {
36
- try {
37
- const file = data.file
38
- const fetch = await import('node-fetch').then(module => module.default);
39
- const response = await fetch(file.src);
33
+ async fetchFileFromURL(data) {
34
+ try {
35
+ const file = data.file;
36
+ const fetch = await import("node-fetch").then(
37
+ (module) => module.default
38
+ );
39
+ const response = await fetch(file.src);
40
40
 
41
- if (!response.ok) {
42
- data.error = 'Failed to fetch file: ' + response.statusText
43
- if (data.socket)
44
- return this.crud.wsManager.send(data)
45
- }
41
+ if (!response.ok) {
42
+ data.error = "Failed to fetch file: " + response.statusText;
43
+ if (data.socket) return this.crud.wsManager.send(data);
44
+ }
46
45
 
47
- const arrayBuffer = await response.arrayBuffer();
48
- file.src = this.arrayBufferToBase64(arrayBuffer)
46
+ const arrayBuffer = await response.arrayBuffer();
47
+ file.src = this.arrayBufferToBase64(arrayBuffer);
49
48
 
50
- file.size = arrayBuffer.byteLength
51
- file['content-type'] = response.headers.get('content-type')
49
+ file.size = arrayBuffer.byteLength;
50
+ file["content-type"] = response.headers.get("content-type");
52
51
 
53
- if (!file.name) {
54
- const parsedUrl = new URL(file.src);
55
- file.name = parsedUrl.pathname.split('/').pop();
56
- }
52
+ if (!file.name) {
53
+ const parsedUrl = new URL(file.src);
54
+ file.name = parsedUrl.pathname.split("/").pop();
55
+ }
57
56
 
58
- if (!file.directory)
59
- file.directory = '/'
60
- if (!file.path)
61
- file.path = file.directory
62
- if (!file.pathname) {
63
- if (file.path.endsWith('/'))
64
- file.pathname = file.path + file.name
65
- else
66
- file.pathname = file.path + '/' + file.name
67
- }
68
- if (data.socket)
69
- this.crud.wsManager.send(data)
57
+ if (!file.directory) file.directory = "/";
58
+ if (!file.path) file.path = file.directory;
59
+ if (!file.pathname) {
60
+ if (file.path.endsWith("/"))
61
+ file.pathname = file.path + file.name;
62
+ else file.pathname = file.path + "/" + file.name;
63
+ }
64
+ if (data.socket) this.crud.wsManager.send(data);
70
65
 
71
- // return data;
72
- } catch (error) {
73
- console.error('Error fetching file:', error);
74
- throw error;
75
- }
76
- }
66
+ // return data;
67
+ } catch (error) {
68
+ console.error("Error fetching file:", error);
69
+ throw error;
70
+ }
71
+ }
77
72
 
78
- arrayBufferToBase64(buffer) {
79
- let binary = '';
80
- const bytes = new Uint8Array(buffer);
81
- const len = bytes.byteLength;
82
- for (let i = 0; i < len; i++) {
83
- binary += String.fromCharCode(bytes[i]);
84
- }
85
- return Buffer.from(binary, 'binary').toString('base64');
86
- }
73
+ arrayBufferToBase64(buffer) {
74
+ let binary = "";
75
+ const bytes = new Uint8Array(buffer);
76
+ const len = bytes.byteLength;
77
+ for (let i = 0; i < len; i++) {
78
+ binary += String.fromCharCode(bytes[i]);
79
+ }
80
+ return Buffer.from(binary, "binary").toString("base64");
81
+ }
87
82
  }
88
83
 
89
84
  module.exports = CoCreateUrlUploader;