vue-string-directives 1.0.0 → 1.1.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/README.md +298 -92
- package/dist/vue-string-directives.js +167 -116
- package/dist/vue-string-directives.umd.cjs +7 -1
- package/package.json +29 -7
package/README.md
CHANGED
|
@@ -6,14 +6,25 @@ Vue string directives library can change form input value dynamically. All langu
|
|
|
6
6
|
|
|
7
7
|
1. [Compatibility](#compatibility)
|
|
8
8
|
2. [Installation](#installation)
|
|
9
|
-
1. [
|
|
9
|
+
1. [NPM](#npm)
|
|
10
10
|
2. [Manually](#manually)
|
|
11
11
|
3. [Usage](#usage)
|
|
12
|
-
1. [
|
|
13
|
-
2. [
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
1. [Camel case](#camel-case)
|
|
13
|
+
2. [Capitalize](#capitalize)
|
|
14
|
+
3. [Flat case](#flat-case)
|
|
15
|
+
4. [Kebab case](#kebab-case)
|
|
16
|
+
5. [Lower case](#lower-case)
|
|
17
|
+
6. [Pad](#pad)
|
|
18
|
+
7. [Pascal case](#pascal-case)
|
|
19
|
+
8. [Repeat](#repeat)
|
|
20
|
+
9. [Replace](#replace)
|
|
21
|
+
10. [Snake case](#snake-case)
|
|
22
|
+
11. [Title case](#title-case)
|
|
23
|
+
12. [Train case](#train-case)
|
|
24
|
+
13. [Truncate](#truncate)
|
|
25
|
+
14. [Upper case](#upper-case)
|
|
26
|
+
4. [Author](#author)
|
|
27
|
+
5. [License](#license)
|
|
17
28
|
|
|
18
29
|
## Compatibility
|
|
19
30
|
|
|
@@ -23,7 +34,7 @@ Vue | >= 3.5
|
|
|
23
34
|
|
|
24
35
|
## Installation
|
|
25
36
|
|
|
26
|
-
###
|
|
37
|
+
### NPM
|
|
27
38
|
|
|
28
39
|
```bash
|
|
29
40
|
npm install vue-string-directives
|
|
@@ -40,8 +51,6 @@ unzip vue-string-directives.zip
|
|
|
40
51
|
|
|
41
52
|
## Usage
|
|
42
53
|
|
|
43
|
-
### CLI
|
|
44
|
-
|
|
45
54
|
Add following code to your `main.js` file created by Vue CLI:
|
|
46
55
|
|
|
47
56
|
```js
|
|
@@ -77,100 +86,297 @@ export default {
|
|
|
77
86
|
}
|
|
78
87
|
```
|
|
79
88
|
|
|
80
|
-
###
|
|
89
|
+
### Camel case
|
|
90
|
+
|
|
91
|
+
```js
|
|
92
|
+
const camel = defineModel('camel')
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
```html
|
|
96
|
+
<template>
|
|
97
|
+
<!-- Input: camel 123 case. Output: camelCase. -->
|
|
98
|
+
<input type="text" v-model="camel" v-camel>
|
|
99
|
+
|
|
100
|
+
<!-- Input: camel 123 case. Output: camel123Case. -->
|
|
101
|
+
<input type="text" v-model="camel" v-camel.numbers>
|
|
102
|
+
<!-- Or -->
|
|
103
|
+
<input type="text" v-model="camel" v-camel="{ numbers: true }">
|
|
104
|
+
|
|
105
|
+
<!-- Input: cameL 123 casE. Output: camelCase. -->
|
|
106
|
+
<input type="text" v-model="camel" v-camel.lower>
|
|
107
|
+
<!-- Or -->
|
|
108
|
+
<input type="text" v-model="camel" v-camel="{ lower: true }">
|
|
109
|
+
|
|
110
|
+
<!-- Input: cameL 123 casE. Output: camel123Case. -->
|
|
111
|
+
<input type="text" v-model="camel" v-camel.numbers.lower>
|
|
112
|
+
<!-- Or -->
|
|
113
|
+
<input type="text" v-model="camel" v-camel="{ numbers: true, lower: true }">
|
|
114
|
+
</template>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Capitalize
|
|
118
|
+
|
|
119
|
+
```js
|
|
120
|
+
const capitalize = defineModel('capitalize')
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
```html
|
|
124
|
+
<template>
|
|
125
|
+
<!-- Input: capitalize. Output: Capitalize. -->
|
|
126
|
+
<input type="text" v-model="capitalize" v-capitalize>
|
|
127
|
+
|
|
128
|
+
<!-- Input: cApitalizE. Output: Capitalize. -->
|
|
129
|
+
<input type="text" v-model="capitalize" v-capitalize.lower>
|
|
130
|
+
<!-- Or -->
|
|
131
|
+
<input type="text" v-model="capitalize" v-capitalize="{ lower: true }">
|
|
132
|
+
</template>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Flat case
|
|
136
|
+
|
|
137
|
+
```js
|
|
138
|
+
const flat = defineModel('flat')
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
```html
|
|
142
|
+
<template>
|
|
143
|
+
<!-- Input: Flat 123 Case. Output: flatcase. -->
|
|
144
|
+
<input type="text" v-model="flat" v-flat>
|
|
145
|
+
|
|
146
|
+
<!-- Input: Flat 123 Case. Output: flat123case. -->
|
|
147
|
+
<input type="text" v-model="flat" v-flat.numbers>
|
|
148
|
+
<!-- Or -->
|
|
149
|
+
<input type="text" v-model="flat" v-flat="{ numbers: true }">
|
|
150
|
+
</template>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Kebab case
|
|
154
|
+
|
|
155
|
+
```js
|
|
156
|
+
const kebab = defineModel('kebab')
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
```html
|
|
160
|
+
<template>
|
|
161
|
+
<!-- Input: Kebab 123 Case. Output: kebab-case. -->
|
|
162
|
+
<input type="text" v-model="kebab" v-kebab>
|
|
163
|
+
|
|
164
|
+
<!-- Input: Kebab 123 Case. Output: kebab-123-case. -->
|
|
165
|
+
<input type="text" v-model="kebab" v-kebab.numbers>
|
|
166
|
+
<!-- Or -->
|
|
167
|
+
<input type="text" v-model="kebab" v-kebab="{ numbers: true }">
|
|
168
|
+
</template>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### Lower case
|
|
172
|
+
|
|
173
|
+
```js
|
|
174
|
+
const lower = defineModel('lower')
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
```html
|
|
178
|
+
<template>
|
|
179
|
+
<!-- Input: LOWERCASE. Output: lowercase. -->
|
|
180
|
+
<input type="text" v-model="lower" v-lower>
|
|
181
|
+
|
|
182
|
+
<!-- Input: LOWERCASE. Output: lOWERCASE. -->
|
|
183
|
+
<input type="text" v-model="lower" v-lower.first>
|
|
184
|
+
<!-- Or -->
|
|
185
|
+
<input type="text" v-model="lower" v-lower="{ first: true }">
|
|
186
|
+
</template>
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Pad
|
|
190
|
+
|
|
191
|
+
```js
|
|
192
|
+
const lower = defineModel('plowerd')
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
```html
|
|
196
|
+
<template>
|
|
197
|
+
<!-- Input: pad. Output: ___pad____. -->
|
|
198
|
+
<input type="text" v-model="pad" v-pad:10="_">
|
|
199
|
+
<!-- Or -->
|
|
200
|
+
<input type="text" v-model="pad" v-pad="{ count: 10, chars: '_' }">
|
|
201
|
+
|
|
202
|
+
<!-- Input: pad. Output: _________pad. -->
|
|
203
|
+
<input type="text" v-model="pad" v-pad:10.start="_">
|
|
204
|
+
<!-- Or -->
|
|
205
|
+
<input type="text" v-model="pad" v-pad="{ count: 10, chars: '_', start: true }">
|
|
206
|
+
|
|
207
|
+
<!-- Input: pad. Output: pad_______. -->
|
|
208
|
+
<input type="text" v-model="pad" v-pad:10.end="_">
|
|
209
|
+
<!-- Or -->
|
|
210
|
+
<input type="text" v-model="pad" v-pad="{ count: 10, chars: '_', end: true }">
|
|
211
|
+
</template>
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### Pascal case
|
|
215
|
+
|
|
216
|
+
```js
|
|
217
|
+
const pascal = defineModel('pascal')
|
|
218
|
+
```
|
|
81
219
|
|
|
82
220
|
```html
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
<
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
<
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
221
|
+
<template>
|
|
222
|
+
<!-- Input: pascal 123 case. Output: PascalCase. -->
|
|
223
|
+
<input type="text" v-model="pascal" v-pascal>
|
|
224
|
+
|
|
225
|
+
<!-- Input: pascal 123 case. Output: Pascal123Case. -->
|
|
226
|
+
<input type="text" v-model="pascal" v-pascal.numbers>
|
|
227
|
+
<!-- Or -->
|
|
228
|
+
<input type="text" v-model="pascal" v-pascal="{ numbers: true }">
|
|
229
|
+
|
|
230
|
+
<!-- Input: pascaL 123 casE. Output: PascalCase. -->
|
|
231
|
+
<input type="text" v-model="pascal" v-pascal.lower>
|
|
232
|
+
<!-- Or -->
|
|
233
|
+
<input type="text" v-model="pascal" v-pascal="{ lower: true }">
|
|
234
|
+
|
|
235
|
+
<!-- Input: pascaL 123 casE. Output: Pascal123Case. -->
|
|
236
|
+
<input type="text" v-model="pascal" v-pascal.numbers.lower>
|
|
237
|
+
<!-- Or -->
|
|
238
|
+
<input type="text" v-model="pascal" v-pascal="{ numbers: true, lower: true }">
|
|
239
|
+
</template>
|
|
96
240
|
```
|
|
97
241
|
|
|
98
|
-
|
|
242
|
+
### Repeat
|
|
243
|
+
|
|
244
|
+
```js
|
|
245
|
+
const repeat = defineModel('repeat')
|
|
246
|
+
```
|
|
99
247
|
|
|
100
|
-
|
|
248
|
+
```html
|
|
249
|
+
<template>
|
|
250
|
+
<!-- Input: repeat. Output: repeat-----. -->
|
|
251
|
+
<input type="text" v-model="repeat" v-repeat:5="-">
|
|
252
|
+
<!-- Or -->
|
|
253
|
+
<input type="text" v-model="repeat" v-repeat="{ count: 5, string: '-' }">
|
|
254
|
+
</template>
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Replace
|
|
258
|
+
|
|
259
|
+
```js
|
|
260
|
+
const replace = defineModel('replace')
|
|
261
|
+
```
|
|
101
262
|
|
|
102
263
|
```html
|
|
103
|
-
|
|
104
|
-
<!-- Input:
|
|
105
|
-
<input type="text" v-model="
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
<!-- Lowercase -->
|
|
116
|
-
<!-- Input: UPPERCASE. Output: uppercase. -->
|
|
117
|
-
<input type="text" v-model="text" v-lower>
|
|
118
|
-
<!-- Input: UPPERCASE. Output: uPPERCASE. -->
|
|
119
|
-
<input type="text" v-model="text" v-lower.first>
|
|
120
|
-
|
|
121
|
-
<!-- Capitalize -->
|
|
122
|
-
<!-- Input: uppercase. Output: Uppercase. -->
|
|
123
|
-
<input type="text" v-model="text" v-capitalize>
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
Word case.
|
|
264
|
+
<template>
|
|
265
|
+
<!-- Input: replace123. Output: replace---. -->
|
|
266
|
+
<input type="text" v-model="replace" v-replace="{ regexp: '[0-9]', flags: 'g', string: '-' }">
|
|
267
|
+
</template>
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Snake case
|
|
271
|
+
|
|
272
|
+
```js
|
|
273
|
+
const snake = defineModel('snake')
|
|
274
|
+
```
|
|
127
275
|
|
|
128
276
|
```html
|
|
129
|
-
|
|
130
|
-
<!-- Input:
|
|
131
|
-
<input type="text" v-model="
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
<
|
|
148
|
-
<!-- Input:
|
|
149
|
-
<input type="text" v-model="
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
277
|
+
<template>
|
|
278
|
+
<!-- Input: Snake 123 Case. Output: snake_case. -->
|
|
279
|
+
<input type="text" v-model="snake" v-snake>
|
|
280
|
+
|
|
281
|
+
<!-- Input: Snake 123 Case. Output: snake_123_case. -->
|
|
282
|
+
<input type="text" v-model="snake" v-snake.numbers>
|
|
283
|
+
<!-- Or -->
|
|
284
|
+
<input type="text" v-model="snake" v-snake="{ numbers: true }">
|
|
285
|
+
</template>
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Title case
|
|
289
|
+
|
|
290
|
+
```js
|
|
291
|
+
const title = defineModel('title')
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
```html
|
|
295
|
+
<template>
|
|
296
|
+
<!-- Input: title 123 case. Output: Title Case. -->
|
|
297
|
+
<input type="text" v-model="title" v-title>
|
|
298
|
+
|
|
299
|
+
<!-- Input: title 123 case. Output: Title 123 Case. -->
|
|
300
|
+
<input type="text" v-model="title" v-title.numbers>
|
|
301
|
+
<!-- Or -->
|
|
302
|
+
<input type="text" v-model="title" v-title="{ numbers: true }">
|
|
303
|
+
|
|
304
|
+
<!-- Input: titlE 123 casE. Output: Title Case. -->
|
|
305
|
+
<input type="text" v-model="title" v-title.lower>
|
|
306
|
+
<!-- Or -->
|
|
307
|
+
<input type="text" v-model="title" v-title="{ lower: true }">
|
|
308
|
+
|
|
309
|
+
<!-- Input: titlE 123 casE. Output: Title 123 Case. -->
|
|
310
|
+
<input type="text" v-model="title" v-title.numbers.lower>
|
|
311
|
+
<!-- Or -->
|
|
312
|
+
<input type="text" v-model="title" v-title="{ numbers: true, lower: true }">
|
|
313
|
+
</template>
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Train case
|
|
317
|
+
|
|
318
|
+
```js
|
|
319
|
+
const train = defineModel('train')
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
```html
|
|
323
|
+
<template>
|
|
324
|
+
<!-- Input: train 123 case. Output: Train-Case. -->
|
|
325
|
+
<input type="text" v-model="train" v-train>
|
|
326
|
+
|
|
327
|
+
<!-- Input: train 123 case. Output: Train-123-Case. -->
|
|
328
|
+
<input type="text" v-model="train" v-train.numbers>
|
|
329
|
+
<!-- Or -->
|
|
330
|
+
<input type="text" v-model="train" v-train="{ numbers: true }">
|
|
331
|
+
|
|
332
|
+
<!-- Input: traiN 123 casE. Output: Train-Case. -->
|
|
333
|
+
<input type="text" v-model="train" v-train.lower>
|
|
334
|
+
<!-- Or -->
|
|
335
|
+
<input type="text" v-model="train" v-train="{ lower: true }">
|
|
336
|
+
|
|
337
|
+
<!-- Input: traiN 123 casE. Output: Train-123-Case. -->
|
|
338
|
+
<input type="text" v-model="train" v-train.numbers.lower>
|
|
339
|
+
<!-- Or -->
|
|
340
|
+
<input type="text" v-model="train" v-train="{ numbers: true, lower: true }">
|
|
341
|
+
</template>
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### Truncate
|
|
345
|
+
|
|
346
|
+
```js
|
|
347
|
+
const truncate = defineModel('truncate')
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
```html
|
|
351
|
+
<template>
|
|
352
|
+
<!-- Input: truncate. Output: trunc... -->
|
|
353
|
+
<input type="text" v-model="truncate" v-truncate:5="'...'">
|
|
354
|
+
<!-- Or -->
|
|
355
|
+
<input type="text" v-model="truncate" v-truncate="{ count: 5, omission: '...' }">
|
|
356
|
+
</template>
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### Upper case
|
|
360
|
+
|
|
361
|
+
```js
|
|
362
|
+
const upper = defineModel('upper')
|
|
363
|
+
```
|
|
153
364
|
|
|
154
365
|
```html
|
|
155
|
-
|
|
156
|
-
<!-- Input:
|
|
157
|
-
<input type="text" v-model="
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
<!-- Input:
|
|
165
|
-
<input type="text" v-model="
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
<input type="text" v-model="text" v-replace="{ regexp: '[0-9]', flags: 'g', string: '-' }">
|
|
170
|
-
|
|
171
|
-
<!-- Truncate -->
|
|
172
|
-
<!-- Input: truncate. Output: trunc... -->
|
|
173
|
-
<input type="text" v-model="text" v-truncate:5="'...'">
|
|
366
|
+
<template>
|
|
367
|
+
<!-- Input: uppercase. Output: UPPERCASE. -->
|
|
368
|
+
<input type="text" v-model="upper" v-upper>
|
|
369
|
+
|
|
370
|
+
<!-- Input: uppercase. Output: Uppercase. -->
|
|
371
|
+
<input type="text" v-model="upper" v-upper.first>
|
|
372
|
+
<!-- Or -->
|
|
373
|
+
<input type="text" v-model="upper" v-upper="{ first: true }">
|
|
374
|
+
|
|
375
|
+
<!-- Input: uppercase one two three. Output: Uppercase One Two Three. -->
|
|
376
|
+
<input type="text" v-model="upper" v-upper.first.every>
|
|
377
|
+
<!-- Or -->
|
|
378
|
+
<input type="text" v-model="upper" v-upper="{ first: true, every: true }">
|
|
379
|
+
</template>
|
|
174
380
|
```
|
|
175
381
|
|
|
176
382
|
## Author
|
|
@@ -1,139 +1,190 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Vue String Directives v1.1.0
|
|
3
|
+
* Homepage (https://tarkhov.github.io/vue-string-directives/)
|
|
4
|
+
* Copyright 2020-2026 Tarkhov
|
|
5
|
+
* License: MIT
|
|
6
|
+
*/
|
|
7
|
+
function o(e, t = !1) {
|
|
8
|
+
let a = e.charAt(0).toUpperCase(), u = e.slice(1);
|
|
9
|
+
return t && (u = u.toLowerCase()), `${a}${u}`;
|
|
4
10
|
}
|
|
5
|
-
function
|
|
6
|
-
|
|
11
|
+
function j(e, t = { numbers: !1, lower: !1 }) {
|
|
12
|
+
const a = t?.numbers ? /[\p{L}\p{N}]+/gu : new RegExp("\\p{L}+", "gu");
|
|
13
|
+
let u = e.match(a);
|
|
14
|
+
if (u.length <= 1) return null;
|
|
15
|
+
let l = u.shift();
|
|
16
|
+
const n = t?.lower;
|
|
17
|
+
return n && (l = l.toLowerCase()), u = u.map((E) => o(E, n)), u.unshift(l), u.join("");
|
|
7
18
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
function N(e, t = !1) {
|
|
20
|
+
let a = t ? /[\p{L}\p{N}]+/gu : new RegExp("\\p{L}+", "gu"), u = e.match(a);
|
|
21
|
+
return u.length <= 1 ? null : u.map((l) => l.toLowerCase()).join("");
|
|
22
|
+
}
|
|
23
|
+
function R(e, t = !1) {
|
|
24
|
+
let a = t ? /[\p{L}\p{N}-]+/gu : /[\p{L}-]+/gu, u = e.match(a);
|
|
25
|
+
return u.length <= 1 ? null : u.map((l) => l.toLowerCase()).join("-");
|
|
26
|
+
}
|
|
27
|
+
function k(e, t, a = " ") {
|
|
28
|
+
const u = Math.floor((t - e.length) / 2) + e.length;
|
|
29
|
+
return e.padStart(u, a).padEnd(t, a);
|
|
30
|
+
}
|
|
31
|
+
function S(e, t = { numbers: !1, lower: !1 }) {
|
|
32
|
+
const a = t?.numbers ? /[\p{L}\p{N}]+/gu : new RegExp("\\p{L}+", "gu");
|
|
33
|
+
let u = e.match(a);
|
|
34
|
+
return u.length <= 1 ? null : u.map((l) => o(l, t?.lower)).join("");
|
|
35
|
+
}
|
|
36
|
+
function _(e, t = !1) {
|
|
37
|
+
let a = t ? /[\p{L}\p{N}_]+/gu : /[\p{L}_]+/gu, u = e.match(a);
|
|
38
|
+
return u.length <= 1 ? null : u.map((l) => l.toLowerCase()).join("_");
|
|
39
|
+
}
|
|
40
|
+
function r(e, t = !1) {
|
|
41
|
+
return e.replace(new RegExp("\\p{L}+", "gu"), (a) => o(a, t));
|
|
42
|
+
}
|
|
43
|
+
function z(e, t = { numbers: !1, lower: !1 }) {
|
|
44
|
+
const a = t?.numbers ? /[\p{L}\p{N}-]+/gu : /[\p{L}-]+/gu;
|
|
45
|
+
let u = e.match(a);
|
|
46
|
+
return u.length <= 1 ? null : u.map((l) => o(l, t?.lower)).join("-");
|
|
47
|
+
}
|
|
48
|
+
function A(e, t = 32, a = "...") {
|
|
49
|
+
return e.substring(0, t) + a;
|
|
50
|
+
}
|
|
51
|
+
const s = {
|
|
52
|
+
updated: function(e, t) {
|
|
53
|
+
if (e.value.length) {
|
|
54
|
+
const a = t.value || t.modifiers, u = j(e.value, a);
|
|
55
|
+
u !== null && (e.value = u);
|
|
25
56
|
}
|
|
26
57
|
}
|
|
27
|
-
},
|
|
28
|
-
updated: function(
|
|
29
|
-
|
|
58
|
+
}, c = {
|
|
59
|
+
updated: function(e, t) {
|
|
60
|
+
if (e.value.length) {
|
|
61
|
+
const a = t.modifiers?.lower || t.value?.lower;
|
|
62
|
+
e.value = o(e.value, a);
|
|
63
|
+
}
|
|
30
64
|
}
|
|
31
|
-
}
|
|
32
|
-
function
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
updated: function(t, e) {
|
|
37
|
-
if (t.value.length && (typeof e.value > "u" || e.value)) {
|
|
38
|
-
let u = L(t.value, e.modifiers?.numbers || e.value?.numbers);
|
|
39
|
-
u.length > 1 && (u = u.map(function(a) {
|
|
40
|
-
return a.toLowerCase();
|
|
41
|
-
}), t.value = u.join("-"));
|
|
65
|
+
}, v = {
|
|
66
|
+
updated: function(e, t) {
|
|
67
|
+
if (e.value.length) {
|
|
68
|
+
const a = t.modifiers?.numbers || t.value?.numbers, u = N(e.value, a);
|
|
69
|
+
u !== null && (e.value = u);
|
|
42
70
|
}
|
|
43
71
|
}
|
|
44
|
-
},
|
|
45
|
-
updated: function(
|
|
46
|
-
|
|
72
|
+
}, i = {
|
|
73
|
+
updated: function(e, t) {
|
|
74
|
+
if (e.value.length) {
|
|
75
|
+
const a = t.modifiers?.numbers || t.value?.numbers, u = R(e.value, a);
|
|
76
|
+
u !== null && (e.value = u);
|
|
77
|
+
}
|
|
47
78
|
}
|
|
48
|
-
}
|
|
49
|
-
function
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const c = {
|
|
54
|
-
updated: function(t, e) {
|
|
55
|
-
if (t.value.length) {
|
|
56
|
-
let u = 0, a = " ";
|
|
57
|
-
e.value && (typeof e.value == "object" ? e.value.chars && e.value.count && (u = e.value.count, a = e.value.chars) : (u = e.arg, a = e.value)), e.modifiers?.start || e.value?.start ? t.value = t.value.padStart(u, a) : e.modifiers?.end || e.value?.end ? t.value = t.value.padEnd(u, a) : t.value = y(t.value, u, a);
|
|
79
|
+
}, f = {
|
|
80
|
+
updated: function(e, t) {
|
|
81
|
+
if (e.value.length) {
|
|
82
|
+
const a = t.value || t.modifiers;
|
|
83
|
+
e.value = a?.first ? e.value.charAt(0).toLowerCase() + e.value.slice(1) : e.value.toLowerCase();
|
|
58
84
|
}
|
|
59
85
|
}
|
|
60
86
|
}, p = {
|
|
61
|
-
updated: function(
|
|
62
|
-
|
|
87
|
+
updated: function(e, t) {
|
|
88
|
+
if (e.value.length) {
|
|
89
|
+
const a = t.value?.count || t.arg, u = t.value?.chars || t.value;
|
|
90
|
+
t.modifiers?.start || t.value?.start ? e.value = e.value.padStart(a, u) : t.modifiers?.end || t.value?.end ? e.value = e.value.padEnd(a, u) : e.value = k(e.value, a, u);
|
|
91
|
+
}
|
|
63
92
|
}
|
|
64
|
-
},
|
|
65
|
-
updated: function(
|
|
66
|
-
|
|
93
|
+
}, m = {
|
|
94
|
+
updated: function(e, t) {
|
|
95
|
+
if (e.value.length) {
|
|
96
|
+
const a = t.value || t.modifiers, u = S(e.value, a);
|
|
97
|
+
u !== null && (e.value = u);
|
|
98
|
+
}
|
|
67
99
|
}
|
|
68
|
-
}
|
|
69
|
-
function
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
updated: function(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
100
|
+
}, d = {
|
|
101
|
+
updated: function(e, t) {
|
|
102
|
+
e.value.length && t.value && (t.value?.string && t.value?.count ? e.value = e.value + t.value.string.repeat(t.value.count) : t.arg && (e.value = e.value + t.value.repeat(t.arg)));
|
|
103
|
+
}
|
|
104
|
+
}, h = {
|
|
105
|
+
updated: function(e, t) {
|
|
106
|
+
e.value.length && (e.value = e.value.replace(new RegExp(t.value.regexp, t.value.flags), t.value.string || ""));
|
|
107
|
+
}
|
|
108
|
+
}, w = {
|
|
109
|
+
updated: function(e, t) {
|
|
110
|
+
if (e.value.length) {
|
|
111
|
+
const a = t.modifiers?.numbers || t.value?.numbers, u = _(e.value, a);
|
|
112
|
+
u !== null && (e.value = u);
|
|
79
113
|
}
|
|
80
114
|
}
|
|
81
|
-
}
|
|
82
|
-
function
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
updated: function(t, e) {
|
|
87
|
-
let u = t.value.length;
|
|
88
|
-
if (u) {
|
|
89
|
-
let a = "...", l = e.arg;
|
|
90
|
-
e.value && (typeof e.value == "object" ? e.value.count && e.value.omission && (l = e.value.count, a = e.value.omission) : a = e.value), u > l && (t.value = C(t.value, l, a));
|
|
115
|
+
}, g = {
|
|
116
|
+
updated: function(e, t) {
|
|
117
|
+
if (e.value.length) {
|
|
118
|
+
const a = t.modifiers?.lower || t.value?.lower, u = r(e.value, a);
|
|
119
|
+
u !== null && (e.value = u);
|
|
91
120
|
}
|
|
92
121
|
}
|
|
93
|
-
}
|
|
94
|
-
function
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
}, k = {
|
|
109
|
-
directives: {
|
|
110
|
-
camel: v,
|
|
111
|
-
capitalize: f,
|
|
112
|
-
kebab: o,
|
|
113
|
-
lower: s,
|
|
114
|
-
pad: c,
|
|
115
|
-
repeat: p,
|
|
116
|
-
replace: i,
|
|
117
|
-
snake: m,
|
|
118
|
-
truncate: n,
|
|
119
|
-
upper: h
|
|
122
|
+
}, L = {
|
|
123
|
+
updated: function(e, t) {
|
|
124
|
+
if (e.value.length) {
|
|
125
|
+
const a = t.value || t.modifiers, u = z(e.value, a);
|
|
126
|
+
u !== null && (e.value = u);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}, C = {
|
|
130
|
+
updated: function(e, t) {
|
|
131
|
+
let a = e.value.length;
|
|
132
|
+
if (a) {
|
|
133
|
+
let u = t.value?.omission || t.value, l = t.value?.count || t.arg;
|
|
134
|
+
a > l && (e.value = A(e.value, l, u));
|
|
135
|
+
}
|
|
120
136
|
}
|
|
121
137
|
}, x = {
|
|
122
|
-
|
|
123
|
-
|
|
138
|
+
updated: function(e, t) {
|
|
139
|
+
if (e.value.length) {
|
|
140
|
+
const a = t.value || t.modifiers;
|
|
141
|
+
if (a?.first)
|
|
142
|
+
if (a?.every) {
|
|
143
|
+
const u = r(e.value);
|
|
144
|
+
u !== null && (e.value = u);
|
|
145
|
+
} else
|
|
146
|
+
e.value = o(e.value);
|
|
147
|
+
else
|
|
148
|
+
e.value = e.value.toUpperCase();
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}, D = {
|
|
152
|
+
directives: {
|
|
153
|
+
camel: s,
|
|
154
|
+
capitalize: c,
|
|
155
|
+
flat: v,
|
|
156
|
+
kebab: i,
|
|
157
|
+
lower: f,
|
|
158
|
+
pad: p,
|
|
159
|
+
pascal: m,
|
|
160
|
+
repeat: d,
|
|
161
|
+
replace: h,
|
|
162
|
+
snake: w,
|
|
163
|
+
title: g,
|
|
164
|
+
train: L,
|
|
165
|
+
truncate: C,
|
|
166
|
+
upper: x
|
|
167
|
+
}
|
|
168
|
+
}, M = {
|
|
169
|
+
install(e) {
|
|
170
|
+
e.directive("camel", s), e.directive("capitalize", c), e.directive("flat", v), e.directive("kebab", i), e.directive("lower", f), e.directive("pad", p), e.directive("pascal", m), e.directive("repeat", d), e.directive("replace", h), e.directive("snake", w), e.directive("title", g), e.directive("train", L), e.directive("truncate", C), e.directive("upper", x);
|
|
124
171
|
}
|
|
125
172
|
};
|
|
126
173
|
export {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
p as
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
174
|
+
D as StringDirectivesMixin,
|
|
175
|
+
M as VueStringDirectives,
|
|
176
|
+
s as camel,
|
|
177
|
+
c as capitalize,
|
|
178
|
+
v as flat,
|
|
179
|
+
i as kebab,
|
|
180
|
+
f as lower,
|
|
181
|
+
p as pad,
|
|
182
|
+
m as pascal,
|
|
183
|
+
d as repeat,
|
|
184
|
+
h as replace,
|
|
185
|
+
w as snake,
|
|
186
|
+
g as title,
|
|
187
|
+
L as train,
|
|
188
|
+
C as truncate,
|
|
189
|
+
x as upper
|
|
139
190
|
};
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Vue String Directives v1.1.0
|
|
3
|
+
* Homepage (https://tarkhov.github.io/vue-string-directives/)
|
|
4
|
+
* Copyright 2020-2026 Tarkhov
|
|
5
|
+
* License: MIT
|
|
6
|
+
*/
|
|
7
|
+
(function(l,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(l=typeof globalThis<"u"?globalThis:l||self,o(l.VueStringDirectives={}))})(this,(function(l){"use strict";function o(e,t=!1){let a=e.charAt(0).toUpperCase(),u=e.slice(1);return t&&(u=u.toLowerCase()),`${a}${u}`}function E(e,t={numbers:!1,lower:!1}){const a=t?.numbers?/[\p{L}\p{N}]+/gu:new RegExp("\\p{L}+","gu");let u=e.match(a);if(u.length<=1)return null;let n=u.shift();const j=t?.lower;return j&&(n=n.toLowerCase()),u=u.map(_=>o(_,j)),u.unshift(n),u.join("")}function k(e,t=!1){let a=t?/[\p{L}\p{N}]+/gu:new RegExp("\\p{L}+","gu"),u=e.match(a);return u.length<=1?null:u.map(n=>n.toLowerCase()).join("")}function N(e,t=!1){let a=t?/[\p{L}\p{N}-]+/gu:/[\p{L}-]+/gu,u=e.match(a);return u.length<=1?null:u.map(n=>n.toLowerCase()).join("-")}function y(e,t,a=" "){const u=Math.floor((t-e.length)/2)+e.length;return e.padStart(u,a).padEnd(t,a)}function D(e,t={numbers:!1,lower:!1}){const a=t?.numbers?/[\p{L}\p{N}]+/gu:new RegExp("\\p{L}+","gu");let u=e.match(a);return u.length<=1?null:u.map(n=>o(n,t?.lower)).join("")}function R(e,t=!1){let a=t?/[\p{L}\p{N}_]+/gu:/[\p{L}_]+/gu,u=e.match(a);return u.length<=1?null:u.map(n=>n.toLowerCase()).join("_")}function S(e,t=!1){return e.replace(new RegExp("\\p{L}+","gu"),a=>o(a,t))}function M(e,t={numbers:!1,lower:!1}){const a=t?.numbers?/[\p{L}\p{N}-]+/gu:/[\p{L}-]+/gu;let u=e.match(a);return u.length<=1?null:u.map(n=>o(n,t?.lower)).join("-")}function z(e,t=32,a="..."){return e.substring(0,t)+a}const r={updated:function(e,t){if(e.value.length){const a=t.value||t.modifiers,u=E(e.value,a);u!==null&&(e.value=u)}}},c={updated:function(e,t){if(e.value.length){const a=t.modifiers?.lower||t.value?.lower;e.value=o(e.value,a)}}},s={updated:function(e,t){if(e.value.length){const a=t.modifiers?.numbers||t.value?.numbers,u=k(e.value,a);u!==null&&(e.value=u)}}},i={updated:function(e,t){if(e.value.length){const a=t.modifiers?.numbers||t.value?.numbers,u=N(e.value,a);u!==null&&(e.value=u)}}},v={updated:function(e,t){if(e.value.length){const a=t.value||t.modifiers;e.value=a?.first?e.value.charAt(0).toLowerCase()+e.value.slice(1):e.value.toLowerCase()}}},f={updated:function(e,t){if(e.value.length){const a=t.value?.count||t.arg,u=t.value?.chars||t.value;t.modifiers?.start||t.value?.start?e.value=e.value.padStart(a,u):t.modifiers?.end||t.value?.end?e.value=e.value.padEnd(a,u):e.value=y(e.value,a,u)}}},p={updated:function(e,t){if(e.value.length){const a=t.value||t.modifiers,u=D(e.value,a);u!==null&&(e.value=u)}}},d={updated:function(e,t){e.value.length&&t.value&&(t.value?.string&&t.value?.count?e.value=e.value+t.value.string.repeat(t.value.count):t.arg&&(e.value=e.value+t.value.repeat(t.arg)))}},m={updated:function(e,t){e.value.length&&(e.value=e.value.replace(new RegExp(t.value.regexp,t.value.flags),t.value.string||""))}},h={updated:function(e,t){if(e.value.length){const a=t.modifiers?.numbers||t.value?.numbers,u=R(e.value,a);u!==null&&(e.value=u)}}},g={updated:function(e,t){if(e.value.length){const a=t.modifiers?.lower||t.value?.lower,u=S(e.value,a);u!==null&&(e.value=u)}}},w={updated:function(e,t){if(e.value.length){const a=t.value||t.modifiers,u=M(e.value,a);u!==null&&(e.value=u)}}},L={updated:function(e,t){let a=e.value.length;if(a){let u=t.value?.omission||t.value,n=t.value?.count||t.arg;a>n&&(e.value=z(e.value,n,u))}}},C={updated:function(e,t){if(e.value.length){const a=t.value||t.modifiers;if(a?.first)if(a?.every){const u=S(e.value);u!==null&&(e.value=u)}else e.value=o(e.value);else e.value=e.value.toUpperCase()}}},T={directives:{camel:r,capitalize:c,flat:s,kebab:i,lower:v,pad:f,pascal:p,repeat:d,replace:m,snake:h,title:g,train:w,truncate:L,upper:C}},V={install(e){e.directive("camel",r),e.directive("capitalize",c),e.directive("flat",s),e.directive("kebab",i),e.directive("lower",v),e.directive("pad",f),e.directive("pascal",p),e.directive("repeat",d),e.directive("replace",m),e.directive("snake",h),e.directive("title",g),e.directive("train",w),e.directive("truncate",L),e.directive("upper",C)}};l.StringDirectivesMixin=T,l.VueStringDirectives=V,l.camel=r,l.capitalize=c,l.flat=s,l.kebab=i,l.lower=v,l.pad=f,l.pascal=p,l.repeat=d,l.replace=m,l.snake=h,l.title=g,l.train=w,l.truncate=L,l.upper=C,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
|
package/package.json
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vue-string-directives",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Vue string directives library can change form input value dynamically.",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"files": [
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
7
9
|
"main": "./dist/vue-string-directives.umd.cjs",
|
|
8
10
|
"module": "./dist/vue-string-directives.js",
|
|
9
11
|
"exports": {
|
|
@@ -13,16 +15,34 @@
|
|
|
13
15
|
}
|
|
14
16
|
},
|
|
15
17
|
"keywords": [
|
|
16
|
-
"js",
|
|
17
|
-
"javascript",
|
|
18
18
|
"vue",
|
|
19
19
|
"vuejs",
|
|
20
|
+
"vue3",
|
|
20
21
|
"nuxt",
|
|
21
22
|
"nuxtjs",
|
|
23
|
+
"vue-directive",
|
|
24
|
+
"directives",
|
|
22
25
|
"directive",
|
|
23
|
-
"string",
|
|
24
26
|
"form",
|
|
25
|
-
"input"
|
|
27
|
+
"input",
|
|
28
|
+
"string",
|
|
29
|
+
"string-manipulation",
|
|
30
|
+
"text-formatting",
|
|
31
|
+
"trim",
|
|
32
|
+
"lowercase",
|
|
33
|
+
"uppercase",
|
|
34
|
+
"capitalize",
|
|
35
|
+
"slugify",
|
|
36
|
+
"truncate",
|
|
37
|
+
"mask",
|
|
38
|
+
"utility",
|
|
39
|
+
"validation",
|
|
40
|
+
"transformation",
|
|
41
|
+
"sanitize",
|
|
42
|
+
"input-mask",
|
|
43
|
+
"javascript",
|
|
44
|
+
"js",
|
|
45
|
+
"typescript"
|
|
26
46
|
],
|
|
27
47
|
"repository": {
|
|
28
48
|
"type": "git",
|
|
@@ -40,10 +60,12 @@
|
|
|
40
60
|
"preview": "vite preview"
|
|
41
61
|
},
|
|
42
62
|
"dependencies": {
|
|
63
|
+
"string-filters": "^0.3.3",
|
|
43
64
|
"vue": "^3.5.24"
|
|
44
65
|
},
|
|
45
66
|
"devDependencies": {
|
|
46
67
|
"@vitejs/plugin-vue": "^6.0.1",
|
|
47
|
-
"vite": "^7.2.4"
|
|
68
|
+
"vite": "^7.2.4",
|
|
69
|
+
"vite-plugin-banner": "^0.8.1"
|
|
48
70
|
}
|
|
49
71
|
}
|