vue-string-directives
Advanced tools
+166
-115
@@ -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"})})); |
+29
-7
| { | ||
| "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 @@ |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
21922
46.33%214
38.06%389
112.57%2
100%3
50%+ Added
+ Added