🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

vue-string-directives

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-string-directives - npm Package Compare versions

Comparing version
1.0.0
to
1.1.0
+166
-115
dist/vue-string-directives.js

@@ -1,139 +0,190 @@

function r(t, e = !1) {
let u = t.charAt(0).toUpperCase(), a = t.slice(1);
return e && (a = a.toLowerCase()), `${u}${a}`;
/*!
* Vue String Directives v1.1.0
* Homepage (https://tarkhov.github.io/vue-string-directives/)
* Copyright 2020-2026 Tarkhov
* License: MIT
*/
function o(e, t = !1) {
let a = e.charAt(0).toUpperCase(), u = e.slice(1);
return t && (u = u.toLowerCase()), `${a}${u}`;
}
function d(t, e = !1) {
return e ? t.match(/[\p{L}\p{N}]+/gu) : t.match(/[\p{L}]+/gu);
function j(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 l = u.shift();
const n = t?.lower;
return n && (l = l.toLowerCase()), u = u.map((E) => o(E, n)), u.unshift(l), u.join("");
}
const v = {
updated: function(t, e) {
if (t.value.length && (typeof e.value > "u" || e.value)) {
let u = d(t.value, e.modifiers?.numbers || e.value?.numbers);
if (u.length > 1) {
if (e.modifiers?.first || e.value?.first)
u = u.map(function(a) {
return r(a);
});
else {
let a = u.shift();
u = u.map(function(l) {
return r(l);
}), u.unshift(a);
}
t.value = u.join("");
}
function N(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((l) => l.toLowerCase()).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((l) => l.toLowerCase()).join("-");
}
function k(e, t, a = " ") {
const u = Math.floor((t - e.length) / 2) + e.length;
return e.padStart(u, a).padEnd(t, a);
}
function S(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((l) => o(l, t?.lower)).join("");
}
function _(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((l) => l.toLowerCase()).join("_");
}
function r(e, t = !1) {
return e.replace(new RegExp("\\p{L}+", "gu"), (a) => o(a, t));
}
function z(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((l) => o(l, t?.lower)).join("-");
}
function A(e, t = 32, a = "...") {
return e.substring(0, t) + a;
}
const s = {
updated: function(e, t) {
if (e.value.length) {
const a = t.value || t.modifiers, u = j(e.value, a);
u !== null && (e.value = u);
}
}
}, f = {
updated: function(t, e) {
t.value.length && (typeof e.value > "u" || e.value) && (t.value = r(t.value, !0));
}, c = {
updated: function(e, t) {
if (e.value.length) {
const a = t.modifiers?.lower || t.value?.lower;
e.value = o(e.value, a);
}
}
};
function L(t, e = !1) {
return e ? t.match(/[\p{L}\p{N}-]+/gu) : t.match(/[\p{L}-]+/gu);
}
const o = {
updated: function(t, e) {
if (t.value.length && (typeof e.value > "u" || e.value)) {
let u = L(t.value, e.modifiers?.numbers || e.value?.numbers);
u.length > 1 && (u = u.map(function(a) {
return a.toLowerCase();
}), t.value = u.join("-"));
}, v = {
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);
}
}
}, s = {
updated: function(t, e) {
t.value.length && (typeof e.value > "u" || e.value) && (e.modifiers?.first || e.value?.first ? t.value = t.value.charAt(0).toLowerCase() + t.value.slice(1) : t.value = t.value.toLowerCase());
}, i = {
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);
}
}
};
function y(t, e, u = " ") {
const a = Math.floor((e - t.length) / 2) + t.length;
return t.padStart(a, u).padEnd(e, u);
}
const c = {
updated: function(t, e) {
if (t.value.length) {
let u = 0, a = " ";
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);
}, f = {
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();
}
}
}, p = {
updated: function(t, e) {
t.value.length && e.value && (typeof e.value == "object" ? e.value.string && e.value.count && (t.value = t.value + e.value.string.repeat(e.value.count)) : e.arg && (t.value = t.value + e.value.repeat(e.arg)));
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 = k(e.value, a, u);
}
}
}, i = {
updated: function(t, e) {
t.value.length && e.value && e.value.regexp && (t.value = t.value.replace(new RegExp(e.value.regexp, e.value.flags), e.value.string || ""));
}, m = {
updated: function(e, t) {
if (e.value.length) {
const a = t.value || t.modifiers, u = S(e.value, a);
u !== null && (e.value = u);
}
}
};
function w(t, e = !1) {
return e ? t.match(/[\p{L}\p{N}_]+/gu) : t.match(/[\p{L}_]+/gu);
}
const m = {
updated: function(t, e) {
if (t.value.length && (typeof e.value > "u" || e.value)) {
let u = w(t.value, e.modifiers?.numbers || e.value?.numbers);
u.length > 1 && (u = u.map(function(a) {
return a.toLowerCase();
}), t.value = u.join("_"));
}, 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)));
}
}, h = {
updated: function(e, t) {
e.value.length && (e.value = e.value.replace(new RegExp(t.value.regexp, t.value.flags), t.value.string || ""));
}
}, w = {
updated: function(e, t) {
if (e.value.length) {
const a = t.modifiers?.numbers || t.value?.numbers, u = _(e.value, a);
u !== null && (e.value = u);
}
}
};
function C(t, e = 32, u = "...") {
return t.substring(0, e) + u;
}
const n = {
updated: function(t, e) {
let u = t.value.length;
if (u) {
let a = "...", l = e.arg;
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));
}, g = {
updated: function(e, t) {
if (e.value.length) {
const a = t.modifiers?.lower || t.value?.lower, u = r(e.value, a);
u !== null && (e.value = u);
}
}
};
function j(t, e = !1) {
return t.replace(new RegExp("\\p{L}+", "gu"), function(u) {
return r(u, e);
});
}
const h = {
updated: function(t, e) {
if (t.value.length && (typeof e.value > "u" || e.value))
if (e.modifiers?.first || e.value?.first) {
const u = e.modifiers?.capitalize || e.value?.capitalize;
e.modifiers?.every || e.value?.every ? t.value = j(t.value, u) : t.value = r(t.value, u);
} else
t.value = t.value.toUpperCase();
}, L = {
updated: function(e, t) {
if (e.value.length) {
const a = t.value || t.modifiers, u = z(e.value, a);
u !== null && (e.value = u);
}
}
}, k = {
directives: {
camel: v,
capitalize: f,
kebab: o,
lower: s,
pad: c,
repeat: p,
replace: i,
snake: m,
truncate: n,
upper: h
}, C = {
updated: function(e, t) {
let a = e.value.length;
if (a) {
let u = t.value?.omission || t.value, l = t.value?.count || t.arg;
a > l && (e.value = A(e.value, l, u));
}
}
}, x = {
install(t) {
t.directive("camel", v), t.directive("capitalize", f), t.directive("kebab", o), t.directive("lower", s), t.directive("pad", c), t.directive("repeat", p), t.directive("replace", i), t.directive("snake", m), t.directive("truncate", n), t.directive("upper", h);
updated: function(e, t) {
if (e.value.length) {
const a = t.value || t.modifiers;
if (a?.first)
if (a?.every) {
const u = r(e.value);
u !== null && (e.value = u);
} else
e.value = o(e.value);
else
e.value = e.value.toUpperCase();
}
}
}, D = {
directives: {
camel: s,
capitalize: c,
flat: v,
kebab: i,
lower: f,
pad: p,
pascal: m,
repeat: d,
replace: h,
snake: w,
title: g,
train: L,
truncate: C,
upper: x
}
}, M = {
install(e) {
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);
}
};
export {
k as StringDirectivesMixin,
x as VueStringDirectives,
v as camel,
f as capitalize,
o as kebab,
s as lower,
c as pad,
p as repeat,
i as replace,
m as snake,
n as truncate,
h as upper
D as StringDirectivesMixin,
M as VueStringDirectives,
s as camel,
c as capitalize,
v as flat,
i as kebab,
f as lower,
p as pad,
m as pascal,
d as repeat,
h as replace,
w as snake,
g as title,
L as train,
C as truncate,
x as upper
};

@@ -1,1 +0,7 @@

(function(l,r){typeof exports=="object"&&typeof module<"u"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(l=typeof globalThis<"u"?globalThis:l||self,r(l.VueStringDirectives={}))})(this,(function(l){"use strict";function r(t,e=!1){let u=t.charAt(0).toUpperCase(),a=t.slice(1);return e&&(a=a.toLowerCase()),`${u}${a}`}function y(t,e=!1){return e?t.match(/[\p{L}\p{N}]+/gu):t.match(/[\p{L}]+/gu)}const f={updated:function(t,e){if(t.value.length&&(typeof e.value>"u"||e.value)){let u=y(t.value,e.modifiers?.numbers||e.value?.numbers);if(u.length>1){if(e.modifiers?.first||e.value?.first)u=u.map(function(a){return r(a)});else{let a=u.shift();u=u.map(function(v){return r(v)}),u.unshift(a)}t.value=u.join("")}}}},c={updated:function(t,e){t.value.length&&(typeof e.value>"u"||e.value)&&(t.value=r(t.value,!0))}};function L(t,e=!1){return e?t.match(/[\p{L}\p{N}-]+/gu):t.match(/[\p{L}-]+/gu)}const o={updated:function(t,e){if(t.value.length&&(typeof e.value>"u"||e.value)){let u=L(t.value,e.modifiers?.numbers||e.value?.numbers);u.length>1&&(u=u.map(function(a){return a.toLowerCase()}),t.value=u.join("-"))}}},s={updated:function(t,e){t.value.length&&(typeof e.value>"u"||e.value)&&(e.modifiers?.first||e.value?.first?t.value=t.value.charAt(0).toLowerCase()+t.value.slice(1):t.value=t.value.toLowerCase())}};function w(t,e,u=" "){const a=Math.floor((e-t.length)/2)+t.length;return t.padStart(a,u).padEnd(e,u)}const i={updated:function(t,e){if(t.value.length){let u=0,a=" ";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=w(t.value,u,a)}}},n={updated:function(t,e){t.value.length&&e.value&&(typeof e.value=="object"?e.value.string&&e.value.count&&(t.value=t.value+e.value.string.repeat(e.value.count)):e.arg&&(t.value=t.value+e.value.repeat(e.arg)))}},p={updated:function(t,e){t.value.length&&e.value&&e.value.regexp&&(t.value=t.value.replace(new RegExp(e.value.regexp,e.value.flags),e.value.string||""))}};function S(t,e=!1){return e?t.match(/[\p{L}\p{N}_]+/gu):t.match(/[\p{L}_]+/gu)}const m={updated:function(t,e){if(t.value.length&&(typeof e.value>"u"||e.value)){let u=S(t.value,e.modifiers?.numbers||e.value?.numbers);u.length>1&&(u=u.map(function(a){return a.toLowerCase()}),t.value=u.join("_"))}}};function j(t,e=32,u="..."){return t.substring(0,e)+u}const h={updated:function(t,e){let u=t.value.length;if(u){let a="...",v=e.arg;e.value&&(typeof e.value=="object"?e.value.count&&e.value.omission&&(v=e.value.count,a=e.value.omission):a=e.value),u>v&&(t.value=j(t.value,v,a))}}};function k(t,e=!1){return t.replace(new RegExp("\\p{L}+","gu"),function(u){return r(u,e)})}const d={updated:function(t,e){if(t.value.length&&(typeof e.value>"u"||e.value))if(e.modifiers?.first||e.value?.first){const u=e.modifiers?.capitalize||e.value?.capitalize;e.modifiers?.every||e.value?.every?t.value=k(t.value,u):t.value=r(t.value,u)}else t.value=t.value.toUpperCase()}},C={directives:{camel:f,capitalize:c,kebab:o,lower:s,pad:i,repeat:n,replace:p,snake:m,truncate:h,upper:d}},z={install(t){t.directive("camel",f),t.directive("capitalize",c),t.directive("kebab",o),t.directive("lower",s),t.directive("pad",i),t.directive("repeat",n),t.directive("replace",p),t.directive("snake",m),t.directive("truncate",h),t.directive("upper",d)}};l.StringDirectivesMixin=C,l.VueStringDirectives=z,l.camel=f,l.capitalize=c,l.kebab=o,l.lower=s,l.pad=i,l.repeat=n,l.replace=p,l.snake=m,l.truncate=h,l.upper=d,Object.defineProperty(l,Symbol.toStringTag,{value:"Module"})}));
/*!
* Vue String Directives v1.1.0
* Homepage (https://tarkhov.github.io/vue-string-directives/)
* Copyright 2020-2026 Tarkhov
* License: MIT
*/
(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"})}));
{
"name": "vue-string-directives",
"version": "1.0.0",
"version": "1.1.0",
"description": "Vue string directives library can change form input value dynamically.",
"type": "module",
"files": ["dist"],
"files": [
"dist"
],
"main": "./dist/vue-string-directives.umd.cjs",

@@ -16,12 +18,30 @@ "module": "./dist/vue-string-directives.js",

"keywords": [
"js",
"javascript",
"vue",
"vuejs",
"vue3",
"nuxt",
"nuxtjs",
"vue-directive",
"directives",
"directive",
"form",
"input",
"string",
"form",
"input"
"string-manipulation",
"text-formatting",
"trim",
"lowercase",
"uppercase",
"capitalize",
"slugify",
"truncate",
"mask",
"utility",
"validation",
"transformation",
"sanitize",
"input-mask",
"javascript",
"js",
"typescript"
],

@@ -44,2 +64,3 @@ "repository": {

"dependencies": {
"string-filters": "^0.3.3",
"vue": "^3.5.24"

@@ -49,4 +70,5 @@ },

"@vitejs/plugin-vue": "^6.0.1",
"vite": "^7.2.4"
"vite": "^7.2.4",
"vite-plugin-banner": "^0.8.1"
}
}
+287
-81

@@ -9,10 +9,21 @@ # Vue string directives

2. [Installation](#installation)
1. [NodeJS](#nodejs)
1. [NPM](#npm)
2. [Manually](#manually)
3. [Usage](#usage)
1. [CLI](#cli)
2. [CDN](#cdn)
4. [Examples](#examples)
5. [Author](#author)
6. [License](#license)
1. [Camel case](#camel-case)
2. [Capitalize](#capitalize)
3. [Flat case](#flat-case)
4. [Kebab case](#kebab-case)
5. [Lower case](#lower-case)
6. [Pad](#pad)
7. [Pascal case](#pascal-case)
8. [Repeat](#repeat)
9. [Replace](#replace)
10. [Snake case](#snake-case)
11. [Title case](#title-case)
12. [Train case](#train-case)
13. [Truncate](#truncate)
14. [Upper case](#upper-case)
4. [Author](#author)
5. [License](#license)

@@ -27,3 +38,3 @@ ## Compatibility

### NodeJS
### NPM

@@ -45,4 +56,2 @@ ```bash

### CLI
Add following code to your `main.js` file created by Vue CLI:

@@ -83,98 +92,295 @@

### CDN
### Camel case
```js
const camel = defineModel('camel')
```
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue string directives</title>
</head>
<body>
<div id="app"></div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script src="https://cdn.rawgit.com/tarkhov/vue-string-directives/v1.0.0/dist/vue-string-directives.umd.cjs"></script>
</body>
</html>
<template>
<!-- Input: camel 123 case. Output: camelCase. -->
<input type="text" v-model="camel" v-camel>
<!-- Input: camel 123 case. Output: camel123Case. -->
<input type="text" v-model="camel" v-camel.numbers>
<!-- Or -->
<input type="text" v-model="camel" v-camel="{ numbers: true }">
<!-- Input: cameL 123 casE. Output: camelCase. -->
<input type="text" v-model="camel" v-camel.lower>
<!-- Or -->
<input type="text" v-model="camel" v-camel="{ lower: true }">
<!-- Input: cameL 123 casE. Output: camel123Case. -->
<input type="text" v-model="camel" v-camel.numbers.lower>
<!-- Or -->
<input type="text" v-model="camel" v-camel="{ numbers: true, lower: true }">
</template>
```
## Examples
### Capitalize
Letter case.
```js
const capitalize = defineModel('capitalize')
```
```html
<!-- Uppercase -->
<!-- Input: uppercase. Output: UPPERCASE. -->
<input type="text" v-model="text" v-upper>
<!-- Input: uppercase. Output: Uppercase. -->
<input type="text" v-model="text" v-upper.first>
<!-- Input: uppercase. Output: Uppercase. -->
<input type="text" v-model="text" v-upper.first.capitalize>
<!-- Input: uppercase one two three. Output: Uppercase One Two Three. -->
<input type="text" v-model="text" v-upper.first.every>
<!-- Input: uppercase one two three. Output: Uppercase One Two Three. -->
<input type="text" v-model="text" v-upper.first.capitalize.every>
<template>
<!-- Input: capitalize. Output: Capitalize. -->
<input type="text" v-model="capitalize" v-capitalize>
<!-- Lowercase -->
<!-- Input: UPPERCASE. Output: uppercase. -->
<input type="text" v-model="text" v-lower>
<!-- Input: UPPERCASE. Output: uPPERCASE. -->
<input type="text" v-model="text" v-lower.first>
<!-- Input: cApitalizE. Output: Capitalize. -->
<input type="text" v-model="capitalize" v-capitalize.lower>
<!-- Or -->
<input type="text" v-model="capitalize" v-capitalize="{ lower: true }">
</template>
```
<!-- Capitalize -->
<!-- Input: uppercase. Output: Uppercase. -->
<input type="text" v-model="text" v-capitalize>
### Flat case
```js
const flat = defineModel('flat')
```
Word case.
```html
<template>
<!-- Input: Flat 123 Case. Output: flatcase. -->
<input type="text" v-model="flat" v-flat>
<!-- Input: Flat 123 Case. Output: flat123case. -->
<input type="text" v-model="flat" v-flat.numbers>
<!-- Or -->
<input type="text" v-model="flat" v-flat="{ numbers: true }">
</template>
```
### Kebab case
```js
const kebab = defineModel('kebab')
```
```html
<!-- Camelcase -->
<!-- Input: camel case. Output: camelCase. -->
<input type="text" v-model="text" v-camel>
<!-- Input: camel case. Output: CamelCase. -->
<input type="text" v-model="text" v-camel.first>
<!-- Input: camel 123 case. Output: camel123Case. -->
<input type="text" v-model="text" v-camel.numbers>
<!-- Input: camel 123 case. Output: Camel123Case. -->
<input type="text" v-model="text" v-camel.first.numbers>
<template>
<!-- Input: Kebab 123 Case. Output: kebab-case. -->
<input type="text" v-model="kebab" v-kebab>
<!-- Kebabcase -->
<!-- Input: kebab case. Output: kebab-case. -->
<input type="text" v-model="text" v-kebab>
<!-- Input: kebab 123 case. Output: kebab-123-case. -->
<input type="text" v-model="text" v-kebab.numbers>
<!-- Input: Kebab 123 Case. Output: kebab-123-case. -->
<input type="text" v-model="kebab" v-kebab.numbers>
<!-- Or -->
<input type="text" v-model="kebab" v-kebab="{ numbers: true }">
</template>
```
<!-- Snakecase -->
<!-- Input: snake case. Output: snake_case. -->
<input type="text" v-model="text" v-snake>
<!-- Input: snake 123 case. Output: snake_123_case. -->
<input type="text" v-model="text" v-snake.numbers>
### Lower case
```js
const lower = defineModel('lower')
```
Replacing.
```html
<template>
<!-- Input: LOWERCASE. Output: lowercase. -->
<input type="text" v-model="lower" v-lower>
<!-- Input: LOWERCASE. Output: lOWERCASE. -->
<input type="text" v-model="lower" v-lower.first>
<!-- Or -->
<input type="text" v-model="lower" v-lower="{ first: true }">
</template>
```
### Pad
```js
const lower = defineModel('plowerd')
```
```html
<!-- Pad -->
<!-- Input: pad. Output: ___pad____. -->
<input type="text" v-model="text" v-pad:10="_">
<!-- Input: pad. Output: _________pad. -->
<input type="text" v-model="text" v-pad:10.start="_">
<!-- Input: pad. Output: pad_______. -->
<input type="text" v-model="text" v-pad:10.end="_">
<template>
<!-- Input: pad. Output: ___pad____. -->
<input type="text" v-model="pad" v-pad:10="_">
<!-- Or -->
<input type="text" v-model="pad" v-pad="{ count: 10, chars: '_' }">
<!-- Repeat -->
<!-- Input: repeat. Output: repeat-----. -->
<input type="text" v-model="text" v-repeat:5="-">
<!-- Input: pad. Output: _________pad. -->
<input type="text" v-model="pad" v-pad:10.start="_">
<!-- Or -->
<input type="text" v-model="pad" v-pad="{ count: 10, chars: '_', start: true }">
<!-- Replace -->
<!-- Input: replace123. Output: replace---. -->
<input type="text" v-model="text" v-replace="{ regexp: '[0-9]', flags: 'g', string: '-' }">
<!-- Input: pad. Output: pad_______. -->
<input type="text" v-model="pad" v-pad:10.end="_">
<!-- Or -->
<input type="text" v-model="pad" v-pad="{ count: 10, chars: '_', end: true }">
</template>
```
<!-- Truncate -->
<!-- Input: truncate. Output: trunc... -->
<input type="text" v-model="text" v-truncate:5="'...'">
### Pascal case
```js
const pascal = defineModel('pascal')
```
```html
<template>
<!-- Input: pascal 123 case. Output: PascalCase. -->
<input type="text" v-model="pascal" v-pascal>
<!-- Input: pascal 123 case. Output: Pascal123Case. -->
<input type="text" v-model="pascal" v-pascal.numbers>
<!-- Or -->
<input type="text" v-model="pascal" v-pascal="{ numbers: true }">
<!-- Input: pascaL 123 casE. Output: PascalCase. -->
<input type="text" v-model="pascal" v-pascal.lower>
<!-- Or -->
<input type="text" v-model="pascal" v-pascal="{ lower: true }">
<!-- Input: pascaL 123 casE. Output: Pascal123Case. -->
<input type="text" v-model="pascal" v-pascal.numbers.lower>
<!-- Or -->
<input type="text" v-model="pascal" v-pascal="{ numbers: true, lower: true }">
</template>
```
### Repeat
```js
const repeat = defineModel('repeat')
```
```html
<template>
<!-- Input: repeat. Output: repeat-----. -->
<input type="text" v-model="repeat" v-repeat:5="-">
<!-- Or -->
<input type="text" v-model="repeat" v-repeat="{ count: 5, string: '-' }">
</template>
```
### Replace
```js
const replace = defineModel('replace')
```
```html
<template>
<!-- Input: replace123. Output: replace---. -->
<input type="text" v-model="replace" v-replace="{ regexp: '[0-9]', flags: 'g', string: '-' }">
</template>
```
### Snake case
```js
const snake = defineModel('snake')
```
```html
<template>
<!-- Input: Snake 123 Case. Output: snake_case. -->
<input type="text" v-model="snake" v-snake>
<!-- Input: Snake 123 Case. Output: snake_123_case. -->
<input type="text" v-model="snake" v-snake.numbers>
<!-- Or -->
<input type="text" v-model="snake" v-snake="{ numbers: true }">
</template>
```
### Title case
```js
const title = defineModel('title')
```
```html
<template>
<!-- Input: title 123 case. Output: Title Case. -->
<input type="text" v-model="title" v-title>
<!-- Input: title 123 case. Output: Title 123 Case. -->
<input type="text" v-model="title" v-title.numbers>
<!-- Or -->
<input type="text" v-model="title" v-title="{ numbers: true }">
<!-- Input: titlE 123 casE. Output: Title Case. -->
<input type="text" v-model="title" v-title.lower>
<!-- Or -->
<input type="text" v-model="title" v-title="{ lower: true }">
<!-- Input: titlE 123 casE. Output: Title 123 Case. -->
<input type="text" v-model="title" v-title.numbers.lower>
<!-- Or -->
<input type="text" v-model="title" v-title="{ numbers: true, lower: true }">
</template>
```
### Train case
```js
const train = defineModel('train')
```
```html
<template>
<!-- Input: train 123 case. Output: Train-Case. -->
<input type="text" v-model="train" v-train>
<!-- Input: train 123 case. Output: Train-123-Case. -->
<input type="text" v-model="train" v-train.numbers>
<!-- Or -->
<input type="text" v-model="train" v-train="{ numbers: true }">
<!-- Input: traiN 123 casE. Output: Train-Case. -->
<input type="text" v-model="train" v-train.lower>
<!-- Or -->
<input type="text" v-model="train" v-train="{ lower: true }">
<!-- Input: traiN 123 casE. Output: Train-123-Case. -->
<input type="text" v-model="train" v-train.numbers.lower>
<!-- Or -->
<input type="text" v-model="train" v-train="{ numbers: true, lower: true }">
</template>
```
### Truncate
```js
const truncate = defineModel('truncate')
```
```html
<template>
<!-- Input: truncate. Output: trunc... -->
<input type="text" v-model="truncate" v-truncate:5="'...'">
<!-- Or -->
<input type="text" v-model="truncate" v-truncate="{ count: 5, omission: '...' }">
</template>
```
### Upper case
```js
const upper = defineModel('upper')
```
```html
<template>
<!-- Input: uppercase. Output: UPPERCASE. -->
<input type="text" v-model="upper" v-upper>
<!-- Input: uppercase. Output: Uppercase. -->
<input type="text" v-model="upper" v-upper.first>
<!-- Or -->
<input type="text" v-model="upper" v-upper="{ first: true }">
<!-- Input: uppercase one two three. Output: Uppercase One Two Three. -->
<input type="text" v-model="upper" v-upper.first.every>
<!-- Or -->
<input type="text" v-model="upper" v-upper="{ first: true, every: true }">
</template>
```
## Author

@@ -181,0 +387,0 @@