@cocreate/resize 1.13.1 → 1.14.1
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 +22 -0
- package/demo/dashboard.html +5 -5
- package/docs/index.html +329 -329
- package/package.json +5 -9
- package/src/index.js +48 -31
- package/webpack.config.js +65 -83
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,25 @@
|
|
|
1
|
+
## [1.14.1](https://github.com/CoCreate-app/CoCreate-resize/compare/v1.14.0...v1.14.1) (2025-04-30)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* added css-loader ([778f474](https://github.com/CoCreate-app/CoCreate-resize/commit/778f4747c380bf8bc55b702ae1c1be712a967f6e))
|
|
7
|
+
* update query attributes ([1c2c485](https://github.com/CoCreate-app/CoCreate-resize/commit/1c2c4856b6a61ec8036878fa4dbfdde408b1d0ec))
|
|
8
|
+
* updated cocreate modules versions ([b52c58d](https://github.com/CoCreate-app/CoCreate-resize/commit/b52c58d497dfcc721dd09c5be26343626bb1a73a))
|
|
9
|
+
* webpack.config and devdependencies ([f600023](https://github.com/CoCreate-app/CoCreate-resize/commit/f60002306be8e7af9b1675d823edff5192f6f22d))
|
|
10
|
+
|
|
11
|
+
# [1.14.0](https://github.com/CoCreate-app/CoCreate-resize/compare/v1.13.1...v1.14.0) (2025-04-11)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* update observer obseve param to type and and attributeName to attributeFilter ([1bb5e14](https://github.com/CoCreate-app/CoCreate-resize/commit/1bb5e14ae342a0e836bce36551bb4b80c4cd9cba))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* auto height handling for select fields ([11a7bc9](https://github.com/CoCreate-app/CoCreate-resize/commit/11a7bc9b6832361dcc50910ee742693ef9606fbd))
|
|
22
|
+
|
|
1
23
|
## [1.13.1](https://github.com/CoCreate-app/CoCreate-resize/compare/v1.13.0...v1.13.1) (2025-01-18)
|
|
2
24
|
|
|
3
25
|
|
package/demo/dashboard.html
CHANGED
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
id="menuL"
|
|
174
174
|
class="position:fixed top:0px left:0px overflow:hidden background:whitesmoke height:100vh width:50px width:275px:hover width:0px@xs"
|
|
175
175
|
resizable
|
|
176
|
-
resize-
|
|
176
|
+
resize-query="[content_id='content']"
|
|
177
177
|
resize-property="margin-left"
|
|
178
178
|
resize-value="width">
|
|
179
179
|
<!-- Search -->
|
|
@@ -205,7 +205,7 @@
|
|
|
205
205
|
filter-query-key="main-menu-position"
|
|
206
206
|
filter-query-value="0"
|
|
207
207
|
filter-value-type="number"
|
|
208
|
-
render-
|
|
208
|
+
render-query="[template]">
|
|
209
209
|
<!-- Template -->
|
|
210
210
|
<li
|
|
211
211
|
template
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
array="files"
|
|
217
217
|
object="{{object.main-menu-primary}}"
|
|
218
218
|
key="path"
|
|
219
|
-
input-
|
|
219
|
+
input-query="#a{{object._id}}"
|
|
220
220
|
input-key="primary-url" />
|
|
221
221
|
<a
|
|
222
222
|
actions="state, openModal"
|
|
@@ -266,7 +266,7 @@
|
|
|
266
266
|
array="files"
|
|
267
267
|
object="{{object.main-menu-secondary}}"
|
|
268
268
|
key="path"
|
|
269
|
-
input-
|
|
269
|
+
input-query="#a{{object._id}}"
|
|
270
270
|
input-key="secondary-url" />
|
|
271
271
|
<a
|
|
272
272
|
actions="state, openModal"
|
|
@@ -394,7 +394,7 @@
|
|
|
394
394
|
dnd-group-key="dashboard"
|
|
395
395
|
array="files"
|
|
396
396
|
filter-limit="20"
|
|
397
|
-
render-
|
|
397
|
+
render-query="[template]"
|
|
398
398
|
droppable="true">
|
|
399
399
|
<div
|
|
400
400
|
template
|
package/docs/index.html
CHANGED
|
@@ -1,341 +1,341 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
2
|
<html lang="en">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<meta
|
|
24
|
-
property="og:image"
|
|
25
|
-
content="https://cdn.cocreate.app/docs/resize.png"
|
|
26
|
-
/>
|
|
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-resize 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 light weight resize handler make any element resizable by adding data attributes or usinng init object. Great for Customized text box or text area." />
|
|
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
|
+
<meta
|
|
21
|
+
property="og:image"
|
|
22
|
+
content="https://cdn.cocreate.app/docs/resize.png" />
|
|
27
23
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
</head>
|
|
24
|
+
<link
|
|
25
|
+
rel="stylesheet"
|
|
26
|
+
href="../index.css"
|
|
27
|
+
array="files"
|
|
28
|
+
object="60888216117c640e7596303f"
|
|
29
|
+
key="src"
|
|
30
|
+
type="text/css"
|
|
31
|
+
save="true" />
|
|
32
|
+
<link rel="manifest" href="/manifest.webmanifest" />
|
|
33
|
+
</head>
|
|
39
34
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
class="margin-top:15px"
|
|
153
|
-
><code class="language-bash">npm i @cocreate/resize</code></pre>
|
|
154
|
-
<p class="padding:10px_0px line-height:1.5">
|
|
155
|
-
Or you can use cdn link:
|
|
156
|
-
</p>
|
|
157
|
-
<pre><code class="language-html"><script>https://cdn.cocreate.app/resize/latest/CoCreate-resize.min.js</script></code></pre>
|
|
35
|
+
<body>
|
|
36
|
+
<!-- Navbar -->
|
|
37
|
+
<nav
|
|
38
|
+
class="width:100% display:flex align-items:center background:transparent padding-top:10px padding-bottom:10px"
|
|
39
|
+
content_id="content"
|
|
40
|
+
scroll="sticky-nav,"
|
|
41
|
+
scroll-up="5"
|
|
42
|
+
scroll-down="5"
|
|
43
|
+
path="../"
|
|
44
|
+
src="../components/navbar.html"></nav>
|
|
45
|
+
<sidenav
|
|
46
|
+
id="menuL"
|
|
47
|
+
class="position:fixed top:0px left:0px overflow:hidden background:whitesmoke height:100vh width:0px width:300px@xl"
|
|
48
|
+
resizable
|
|
49
|
+
resize-query="[content_id='content']"
|
|
50
|
+
resize-property="margin-left"
|
|
51
|
+
resize-value="width">
|
|
52
|
+
<menu
|
|
53
|
+
array="files"
|
|
54
|
+
object="603717b07de7fb350ae9fec8"
|
|
55
|
+
key="src"></menu>
|
|
56
|
+
<div resize="right"></div>
|
|
57
|
+
</sidenav>
|
|
58
|
+
<main
|
|
59
|
+
class="padding-top:15px padding:15px@lg@xl"
|
|
60
|
+
content_id="content"
|
|
61
|
+
id="cocreate-resize">
|
|
62
|
+
<div
|
|
63
|
+
class="display:flex flex-wrap:wrap justify-content:space-between position:relative margin:10px">
|
|
64
|
+
<div class="display:flex align-items:center">
|
|
65
|
+
<h2>CoCreate-resize</h2>
|
|
66
|
+
</div>
|
|
67
|
+
<div
|
|
68
|
+
class="display:flex align-items:center font-size:20px position:absolute right:0 padding:5px background:white">
|
|
69
|
+
<div
|
|
70
|
+
class="display:flex align-items:center transition:0.3s padding-left:10px"
|
|
71
|
+
share-network="true"
|
|
72
|
+
share-text="A light weight resize handler make any element resizable by adding data attributes or usinng init object. Great for Customized text box or text area."
|
|
73
|
+
share-title="CoCreate-resize"
|
|
74
|
+
share-height="600"
|
|
75
|
+
share-width="700"
|
|
76
|
+
share-media="https://cdn.cocreate.app/docs/resize.png"
|
|
77
|
+
hover="display:block!important"
|
|
78
|
+
hover-query=".social-networks">
|
|
79
|
+
<div class="display:none social-networks">
|
|
80
|
+
<a
|
|
81
|
+
class="margin-right:15px"
|
|
82
|
+
share-network="twitter"
|
|
83
|
+
title="Share on twitter"
|
|
84
|
+
><i src="/assets/svg/twitter.svg"></i
|
|
85
|
+
></a>
|
|
86
|
+
<a
|
|
87
|
+
class="margin-right:15px"
|
|
88
|
+
share-network="facebook"
|
|
89
|
+
title="Share on Facebook"
|
|
90
|
+
><i src="/assets/svg/facebook.svg"></i
|
|
91
|
+
></a>
|
|
92
|
+
<a
|
|
93
|
+
class="margin-right:15px"
|
|
94
|
+
share-network="instagram"
|
|
95
|
+
title="Share on instagram"
|
|
96
|
+
><i src="/assets/svg/instagram.svg"></i
|
|
97
|
+
></a>
|
|
98
|
+
</div>
|
|
99
|
+
<a
|
|
100
|
+
class="margin-right:15px"
|
|
101
|
+
share-network="share"
|
|
102
|
+
title="Share on share"
|
|
103
|
+
><i src="/assets/svg/share-alt.svg"></i
|
|
104
|
+
></a>
|
|
105
|
+
</div>
|
|
106
|
+
<a
|
|
107
|
+
href="https://github.com/CoCreate-app/CoCreate-resize"
|
|
108
|
+
target="_blank"
|
|
109
|
+
class="margin-right:15px"
|
|
110
|
+
><i src="/assets/svg/github.svg"></i
|
|
111
|
+
></a>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<h1
|
|
115
|
+
class="max-width:500px margin:20px_10px line-height:1.5 font-size:16px font-weight:100">
|
|
116
|
+
A light weight resize handler make any element resizable by
|
|
117
|
+
adding data attributes or usinng init object. Great for
|
|
118
|
+
Customized text box or text area.
|
|
119
|
+
</h1>
|
|
120
|
+
<div id="resize-section" class="display:flex flex-wrap:wrap">
|
|
121
|
+
<div
|
|
122
|
+
class="flex-grow:1 width:400px width:300px@xs padding:0px_10px margin-top:60px">
|
|
123
|
+
<div
|
|
124
|
+
id="resize-install"
|
|
125
|
+
class="border-bottom:1px_solid_lightgrey"
|
|
126
|
+
scroll
|
|
127
|
+
scroll-intersect="color:dodgerblue"
|
|
128
|
+
scroll-query="#resize-install-section">
|
|
129
|
+
<span
|
|
130
|
+
class="display:flex align-items:center width:fit-content"
|
|
131
|
+
hover="display:block!important"
|
|
132
|
+
hover-query="[href='#resize-install']">
|
|
133
|
+
<h2 class="padding:5px_0px">Install</h2>
|
|
134
|
+
<a
|
|
135
|
+
class="margin-left:10px display:none"
|
|
136
|
+
href="#resize-install"
|
|
137
|
+
><i src="/assets/svg/link.svg"></i
|
|
138
|
+
></a>
|
|
139
|
+
</span>
|
|
140
|
+
</div>
|
|
141
|
+
<pre
|
|
142
|
+
class="margin-top:15px"><code class="language-bash">npm i @cocreate/resize</code></pre>
|
|
143
|
+
<p class="padding:10px_0px line-height:1.5">
|
|
144
|
+
Or you can use cdn link:
|
|
145
|
+
</p>
|
|
146
|
+
<pre><code class="language-html"><script>https://cdn.cocreate.app/resize/latest/CoCreate-resize.min.js</script></code></pre>
|
|
158
147
|
|
|
159
|
-
|
|
160
|
-
|
|
148
|
+
<p class="padding:10px_0px line-height:1.5">
|
|
149
|
+
resize usage content
|
|
150
|
+
</p>
|
|
151
|
+
<pre><code class="language-html"><div></div></code></pre>
|
|
161
152
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
153
|
+
<div
|
|
154
|
+
id="resize-usage"
|
|
155
|
+
class="margin-top:80px border-bottom:1px_solid_lightgrey"
|
|
156
|
+
scroll
|
|
157
|
+
scroll-intersect="color:dodgerblue"
|
|
158
|
+
scroll-query="#resize-usage-section">
|
|
159
|
+
<span
|
|
160
|
+
class="display:flex align-items:center width:fit-content"
|
|
161
|
+
hover="display:block!important"
|
|
162
|
+
hover-query="[href='#resize-usage']">
|
|
163
|
+
<h2 class="padding:5px_0px">Usage</h2>
|
|
164
|
+
<a
|
|
165
|
+
class="margin-left:10px display:none"
|
|
166
|
+
href="#resize-usage"
|
|
167
|
+
><i src="/assets/svg/link.svg"></i
|
|
168
|
+
></a>
|
|
169
|
+
</span>
|
|
170
|
+
</div>
|
|
171
|
+
<p class="padding:10px_0px line-height:1.5">
|
|
172
|
+
This is resize usage content
|
|
173
|
+
</p>
|
|
174
|
+
<pre><code class="language-javascript"><div></div></code></pre>
|
|
175
|
+
<p class="padding:10px_0px line-height:1.5">
|
|
176
|
+
This is resize usage content
|
|
177
|
+
</p>
|
|
187
178
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
179
|
+
<div
|
|
180
|
+
id="resize-attributes"
|
|
181
|
+
class="margin-top:80px border-bottom:1px_solid_lightgrey"
|
|
182
|
+
scroll
|
|
183
|
+
scroll-intersect="color:dodgerblue"
|
|
184
|
+
scroll-query="#resize-attributes-section">
|
|
185
|
+
<span
|
|
186
|
+
class="display:flex align-items:center width:fit-content"
|
|
187
|
+
hover="display:block!important"
|
|
188
|
+
hover-query="[href='#resize-attributes']">
|
|
189
|
+
<h2 class="padding:5px_0px">Attributes</h2>
|
|
190
|
+
<a
|
|
191
|
+
class="margin-left:10px display:none"
|
|
192
|
+
href="#resize-attributes"
|
|
193
|
+
><i src="/assets/svg/link.svg"></i
|
|
194
|
+
></a>
|
|
195
|
+
</span>
|
|
196
|
+
</div>
|
|
197
|
+
<ul class="list-style-type:none">
|
|
198
|
+
<li
|
|
199
|
+
class="padding:15px_0px border-bottom:1px_solid_lightgrey">
|
|
200
|
+
<h4>
|
|
201
|
+
<span>resize</span>
|
|
202
|
+
<span class="cocreate-badge success"
|
|
203
|
+
>string</span
|
|
204
|
+
>
|
|
205
|
+
<span class="cocreate-badge warning"
|
|
206
|
+
>optional</span
|
|
207
|
+
>
|
|
208
|
+
</h4>
|
|
209
|
+
<p>resize-attribute</p>
|
|
210
|
+
</li>
|
|
211
|
+
<li
|
|
212
|
+
class="padding:15px_0px border-bottom:1px_solid_lightgrey">
|
|
213
|
+
<h4>
|
|
214
|
+
<span>resize</span>
|
|
215
|
+
<span class="cocreate-badge success"
|
|
216
|
+
>string</span
|
|
217
|
+
>
|
|
218
|
+
<span class="cocreate-badge warning"
|
|
219
|
+
>optional</span
|
|
220
|
+
>
|
|
221
|
+
</h4>
|
|
222
|
+
<p>resize-attribute</p>
|
|
223
|
+
</li>
|
|
224
|
+
</ul>
|
|
225
|
+
</div>
|
|
225
226
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
</div>
|
|
227
|
+
<div
|
|
228
|
+
class="flex-grow:1 width:300px padding:0px_10px margin-top:60px border-bottom:1px_solid_lightgrey">
|
|
229
|
+
<!-- SandBox -->
|
|
230
|
+
<div
|
|
231
|
+
id="resize-demo"
|
|
232
|
+
class="border-bottom:1px_solid_lightgrey"
|
|
233
|
+
scroll
|
|
234
|
+
scroll-intersect="color:dodgerblue"
|
|
235
|
+
scroll-query="#resize-demo-section">
|
|
236
|
+
<span
|
|
237
|
+
class="display:flex align-items:center width:fit-content"
|
|
238
|
+
hover="display:block!important"
|
|
239
|
+
hover-query="[href='#resize-demo']">
|
|
240
|
+
<h2 class="padding:5px_0px">Demo</h2>
|
|
241
|
+
<a
|
|
242
|
+
class="margin-left:10px display:none"
|
|
243
|
+
href="#resize-demo"
|
|
244
|
+
><i src="/assets/svg/link.svg"></i
|
|
245
|
+
></a>
|
|
246
|
+
</span>
|
|
247
|
+
</div>
|
|
248
|
+
<div
|
|
249
|
+
class="position:sticky top:0 padding:10px_0px height:100vh">
|
|
250
|
+
<!-- SandBox -->
|
|
251
|
+
<div
|
|
252
|
+
class="display:flex flex-direction:column position:relative overflow:hidden card border-radius:2px width:auto height:600px margin-top:20px"
|
|
253
|
+
id="playground">
|
|
254
|
+
<div
|
|
255
|
+
id="demo-code"
|
|
256
|
+
resizable
|
|
257
|
+
class="position:relative height:50%">
|
|
258
|
+
<textarea
|
|
259
|
+
type="code"
|
|
260
|
+
lang="html"
|
|
261
|
+
array="demos"
|
|
262
|
+
object=""
|
|
263
|
+
key="demo"
|
|
264
|
+
save="false"
|
|
265
|
+
id="demo"
|
|
266
|
+
input-query=".demopreview"
|
|
267
|
+
input-attribute="value"
|
|
268
|
+
input-events="input, onload"
|
|
269
|
+
class="height:100% width:100% outline:none border:none resize:none padding:5px"></textarea>
|
|
270
|
+
<div
|
|
271
|
+
resize="bottom"
|
|
272
|
+
class="background:lightgrey"></div>
|
|
273
|
+
</div>
|
|
274
274
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
</div>
|
|
275
|
+
<div
|
|
276
|
+
id="demo-preview"
|
|
277
|
+
class="position:relative overflow:auto background-color:white">
|
|
278
|
+
<div class="demopreview padding:20px"></div>
|
|
279
|
+
</div>
|
|
281
280
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
281
|
+
<div
|
|
282
|
+
class="font-size:20px position:absolute top:10px right:10px opacity:0.6">
|
|
283
|
+
<a
|
|
284
|
+
class="margin-right:10px"
|
|
285
|
+
id="eye"
|
|
286
|
+
show="#eye-slash"
|
|
287
|
+
hide="#eye, #demo-preview"
|
|
288
|
+
toggle="code-height"
|
|
289
|
+
toggle-query="#demo-code"
|
|
290
|
+
><i
|
|
291
|
+
class="height:18px"
|
|
292
|
+
src="/assets/svg/eye.svg"></i
|
|
293
|
+
></a>
|
|
294
|
+
<a
|
|
295
|
+
class="margin-right:10px"
|
|
296
|
+
hidden
|
|
297
|
+
id="eye-slash"
|
|
298
|
+
show="#eye, #demo-preview"
|
|
299
|
+
hide="#eye-slash"
|
|
300
|
+
toggle="code-height"
|
|
301
|
+
toggle-query="#demo-code"
|
|
302
|
+
><i src="/assets/svg/eye-slash.svg"></i
|
|
303
|
+
></a>
|
|
304
|
+
<a
|
|
305
|
+
class="margin-right:10px"
|
|
306
|
+
id="code"
|
|
307
|
+
show="#code-slash"
|
|
308
|
+
hide="#code, #demo-code"
|
|
309
|
+
><i src="/assets/svg/code.svg"></i
|
|
310
|
+
></a>
|
|
311
|
+
<a
|
|
312
|
+
class="margin-right:10px"
|
|
313
|
+
hidden
|
|
314
|
+
id="code-slash"
|
|
315
|
+
show="#code, #demo-code"
|
|
316
|
+
hide="#code-slash"
|
|
317
|
+
><i
|
|
318
|
+
class="height:18px"
|
|
319
|
+
src="/assets/svg/code.svg"></i
|
|
320
|
+
></a>
|
|
321
|
+
<a
|
|
322
|
+
class="margin-right:5px"
|
|
323
|
+
fullscreen
|
|
324
|
+
fullscreen-query="#playground"></a>
|
|
325
|
+
</div>
|
|
326
|
+
</div>
|
|
327
|
+
<!-- End SandBox -->
|
|
328
|
+
</div>
|
|
329
|
+
</div>
|
|
330
|
+
</div>
|
|
331
|
+
<button
|
|
332
|
+
href="https://github.com/CoCreate-app/CoCreate-resize/tree/master/docs/index.html?message=docs%3A%20describe%20your%20change..."
|
|
333
|
+
target="_blank"
|
|
334
|
+
class="display:flex justify-content:center align-items:center position:fixed bottom:15px right:15px height:50px width:50px border-radius:50% box-shadow:0px_2px_10px_0px_rgba(0,_0,_0,_0.4)">
|
|
335
|
+
<i src="../assets/svg/pencil-alt.svg"></i>
|
|
336
|
+
</button>
|
|
337
|
+
</main>
|
|
338
338
|
|
|
339
|
-
|
|
340
|
-
|
|
339
|
+
<script src="https://CoCreate.app/dist/CoCreate.js"></script>
|
|
340
|
+
</body>
|
|
341
341
|
</html>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cocreate/resize",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.1",
|
|
4
4
|
"description": "A light weight resize handler make any element resizable by adding data attributes or usinng init object. Great for Customized text box or text area.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"resize",
|
|
@@ -45,19 +45,15 @@
|
|
|
45
45
|
},
|
|
46
46
|
"main": "src/index.js",
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"clean-webpack-plugin": "^3.0.0",
|
|
52
|
-
"file-loader": "^6.2.0",
|
|
48
|
+
"css-loader": "^5.1.3",
|
|
49
|
+
"esbuild": "^0.25.2",
|
|
50
|
+
"esbuild-loader": "^4.3.0",
|
|
53
51
|
"mini-css-extract-plugin": "^1.3.9",
|
|
54
|
-
"style-loader": "^3.3.1",
|
|
55
|
-
"terser-webpack-plugin": "^5.1.1",
|
|
56
52
|
"webpack": "^5.24.4",
|
|
57
53
|
"webpack-cli": "^4.5.0",
|
|
58
54
|
"webpack-log": "^3.0.1"
|
|
59
55
|
},
|
|
60
56
|
"dependencies": {
|
|
61
|
-
"@cocreate/observer": "^1.
|
|
57
|
+
"@cocreate/observer": "^1.18.0"
|
|
62
58
|
}
|
|
63
59
|
}
|
package/src/index.js
CHANGED
|
@@ -599,19 +599,24 @@ CoCreateResize.prototype = {
|
|
|
599
599
|
|
|
600
600
|
// Function to auto-resize the element based on its content
|
|
601
601
|
function autoResizeElement(element) {
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
602
|
+
if (!element) return;
|
|
603
|
+
|
|
604
|
+
if (element.tagName === "TEXTAREA") {
|
|
605
|
+
element.style.height = "auto";
|
|
606
|
+
|
|
607
|
+
let scrollHeight;
|
|
608
|
+
if (element.contentDocument) {
|
|
609
|
+
scrollHeight = element.contentDocument.body.scrollHeight;
|
|
610
|
+
} else {
|
|
611
|
+
// For other elements, get scrollHeight directly
|
|
612
|
+
scrollHeight = element.scrollHeight;
|
|
613
|
+
}
|
|
612
614
|
|
|
613
|
-
|
|
614
|
-
|
|
615
|
+
// Set the height of the element to the calculated scrollHeight
|
|
616
|
+
element.style.height = scrollHeight + "px";
|
|
617
|
+
} else if (element.tagName === "SELECT" && element.multiple) {
|
|
618
|
+
element.size = Math.max(element.options.length, 1); // Ensure at least 1 visible option
|
|
619
|
+
}
|
|
615
620
|
}
|
|
616
621
|
|
|
617
622
|
// Observe the resize of the element
|
|
@@ -630,9 +635,9 @@ function initAutoHeight(element) {
|
|
|
630
635
|
!(element instanceof HTMLCollection) &&
|
|
631
636
|
!(element instanceof NodeList) &&
|
|
632
637
|
!Array.isArray(element)
|
|
633
|
-
)
|
|
638
|
+
) {
|
|
634
639
|
element = [element];
|
|
635
|
-
else if (!element) {
|
|
640
|
+
} else if (!element) {
|
|
636
641
|
element = document.querySelectorAll('[height="auto"]');
|
|
637
642
|
|
|
638
643
|
// Add event listener for iframes on load
|
|
@@ -647,25 +652,28 @@ function initAutoHeight(element) {
|
|
|
647
652
|
false
|
|
648
653
|
);
|
|
649
654
|
|
|
650
|
-
if (element.contentDocument) {
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
}
|
|
655
|
+
// if (element.contentDocument) {
|
|
656
|
+
// // Create a MutationObserver for changes within the iframe's body
|
|
657
|
+
// const observer = new MutationObserver(autoResizeElement);
|
|
658
|
+
// observer.observe(iframeDocument.body, {
|
|
659
|
+
// childList: true,
|
|
660
|
+
// subtree: true
|
|
661
|
+
// });
|
|
662
|
+
|
|
663
|
+
// // Handle iframe document changes (e.g., if src or srcdoc is modified)
|
|
664
|
+
// element.addEventListener("load", () => {
|
|
665
|
+
// observer.disconnect(); // Disconnect the previous observer
|
|
666
|
+
// observeIframeContent(); // Reinitialize the observer on new document
|
|
667
|
+
// });
|
|
668
|
+
// }
|
|
664
669
|
}
|
|
665
670
|
|
|
666
671
|
for (let i = 0; i < element.length; i++) {
|
|
672
|
+
if (element[i].tagName === "TEXTAREA") {
|
|
673
|
+
element[i].rows = 1;
|
|
674
|
+
}
|
|
667
675
|
autoResizeElement(element[i]);
|
|
668
|
-
observeElementResize(element[i]); // Observe resize changes
|
|
676
|
+
observeElementResize(element[i]); // Observe resize changes.
|
|
669
677
|
}
|
|
670
678
|
}
|
|
671
679
|
|
|
@@ -673,7 +681,7 @@ initAutoHeight();
|
|
|
673
681
|
|
|
674
682
|
observer.init({
|
|
675
683
|
name: "CoCreateResize",
|
|
676
|
-
|
|
684
|
+
types: ["addedNodes"],
|
|
677
685
|
selector: "[resizable]:not([resizable='false'])",
|
|
678
686
|
callback: function (mutation) {
|
|
679
687
|
coCreateResize.initElement(mutation.target);
|
|
@@ -682,13 +690,22 @@ observer.init({
|
|
|
682
690
|
|
|
683
691
|
observer.init({
|
|
684
692
|
name: "CoCreateResize",
|
|
685
|
-
|
|
693
|
+
types: ["addedNodes"],
|
|
686
694
|
selector: "[height='auto']",
|
|
687
695
|
callback: function (mutation) {
|
|
688
696
|
initAutoHeight(mutation.target);
|
|
689
697
|
}
|
|
690
698
|
});
|
|
691
699
|
|
|
700
|
+
observer.init({
|
|
701
|
+
name: "CoCreateResize",
|
|
702
|
+
types: ["addedNodes"],
|
|
703
|
+
selector: "[height='auto'] option",
|
|
704
|
+
callback: function (mutation) {
|
|
705
|
+
autoResizeElement(mutation.target.parentElement);
|
|
706
|
+
}
|
|
707
|
+
});
|
|
708
|
+
|
|
692
709
|
coCreateResize.init({
|
|
693
710
|
selector: "[resizable]:not([resizable='false'])",
|
|
694
711
|
dragLeft: "[resize='left']",
|
package/webpack.config.js
CHANGED
|
@@ -1,83 +1,65 @@
|
|
|
1
|
-
const path = require("path")
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
compress: {
|
|
67
|
-
drop_console: true,
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
}),
|
|
71
|
-
],
|
|
72
|
-
splitChunks: {
|
|
73
|
-
chunks: "all",
|
|
74
|
-
minSize: 200,
|
|
75
|
-
// maxSize: 99999,
|
|
76
|
-
//minChunks: 1,
|
|
77
|
-
|
|
78
|
-
cacheGroups: {
|
|
79
|
-
defaultVendors: false,
|
|
80
|
-
},
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
}
|
|
1
|
+
const path = require("path");
|
|
2
|
+
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
|
3
|
+
const { EsbuildPlugin } = require("esbuild-loader");
|
|
4
|
+
const { FileUploader } = require("@cocreate/webpack");
|
|
5
|
+
|
|
6
|
+
module.exports = async (env, argv) => {
|
|
7
|
+
const isProduction = argv && argv.mode === "production";
|
|
8
|
+
const config = {
|
|
9
|
+
entry: {
|
|
10
|
+
"CoCreate-resize": "src/index.js"
|
|
11
|
+
},
|
|
12
|
+
output: {
|
|
13
|
+
path: path.resolve(__dirname, "dist"),
|
|
14
|
+
filename: isProduction ? "[name].min.js" : "[name].js",
|
|
15
|
+
libraryExport: "default",
|
|
16
|
+
library: ["CoCreate", "resize"],
|
|
17
|
+
clean: true
|
|
18
|
+
},
|
|
19
|
+
plugins: [
|
|
20
|
+
new MiniCssExtractPlugin({
|
|
21
|
+
filename: isProduction ? "[name].min.css" : "[name].css"
|
|
22
|
+
}),
|
|
23
|
+
new FileUploader(env, argv)
|
|
24
|
+
],
|
|
25
|
+
mode: isProduction ? "production" : "development",
|
|
26
|
+
devtool: isProduction ? "source-map" : "eval-source-map",
|
|
27
|
+
module: {
|
|
28
|
+
rules: [
|
|
29
|
+
{
|
|
30
|
+
test: /.js$/,
|
|
31
|
+
exclude: /node_modules/,
|
|
32
|
+
use: {
|
|
33
|
+
loader: "esbuild-loader",
|
|
34
|
+
options: {
|
|
35
|
+
loader: "js",
|
|
36
|
+
target: "es2017"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
test: /.css$/i,
|
|
42
|
+
use: [MiniCssExtractPlugin.loader, "css-loader"]
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
optimization: {
|
|
47
|
+
minimize: isProduction,
|
|
48
|
+
minimizer: [
|
|
49
|
+
new EsbuildPlugin({
|
|
50
|
+
target: "es2017",
|
|
51
|
+
css: true
|
|
52
|
+
})
|
|
53
|
+
],
|
|
54
|
+
splitChunks: {
|
|
55
|
+
cacheGroups: {
|
|
56
|
+
defaultVendors: false
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
performance: {
|
|
61
|
+
hints: isProduction ? "warning" : false
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
return config;
|
|
65
|
+
};
|