Skip to content

v-lowercase

Transform input text to lowercase.

Since: 1.2.0

Usage

Basic

vue
<template>
  <input v-lowercase v-model="email" />
  <!-- Input: "JOHN@EXAMPLE.COM" → Output: "john@example.com" -->
</template>

With Options

vue
<template>
  <input v-lowercase="{ on: 'input' }" v-model="username" />
</template>

API

Types

typescript
interface LowercaseOptions {
  /** When to transform: 'input' or 'blur' @default 'blur' */
  on?: 'input' | 'blur'
  /** Disable transformation @default false */
  disabled?: boolean
}

type LowercaseBinding = boolean | LowercaseOptions

Options

OptionTypeDefaultDescription
onstring'blur'When to apply transformation
disabledbooleanfalseDisable transformation

Examples

Email Input

vue
<template>
  <input v-lowercase type="email" v-model="email" placeholder="Email" />
</template>

Username Field

vue
<template>
  <input v-lowercase="{ on: 'input' }" v-model="username" />
</template>

Composable API

For programmatic use, you can use the useLowercase composable:

typescript
import { useLowercase, lowercaseText, createLowercaser } from 'directix'

const { transformed, original } = useLowercase({
  text: inputText,
  first: false // Transform only first character
})

// Utility function
const lower = lowercaseText('HELLO WORLD') // 'hello world'
const firstLower = lowercaseText('HELLO WORLD', true) // 'hELLO WORLD'

// Create reusable transformer
const toLower = createLowercaser()
const result = toLower('HELLO') // 'hello'

UseLowercaseOptions

OptionTypeDefaultDescription
textstring | Ref<string>-The text to transform (required)
firstboolean | Ref<boolean>falseTransform only the first character

UseLowercaseReturn

PropertyTypeDescription
transformedRef<string>The transformed text
originalRef<string>Original text

Example

vue
<script setup>
import { ref } from 'vue'
import { useLowercase } from 'directix'

const text = ref('HELLO WORLD')
const { transformed } = useLowercase({ text })
// transformed.value = 'hello world'
</script>

<template>
  <p>{{ transformed }}</p>
</template>

Code Generator

Quick Code Generator
<template>
  <div v-lowercase>
    <!-- Transform input text to lowercase. directive -->
  </div>
</template>

<script setup lang="ts">
import { ref } from 'vue'

// Configure your options here
const options = {}
</script>

Released under the MIT License.