it-tools/src/tools/case-converter/case-converter.vue

81 lines
2.2 KiB
Vue
Raw Normal View History

<script setup lang="ts">
import {
camelCase,
capitalCase,
constantCase,
dotCase,
headerCase,
noCase,
paramCase,
pascalCase,
pathCase,
sentenceCase,
snakeCase,
} from 'change-case';
import InputCopyable from '../../components/InputCopyable.vue';
const baseConfig = {
stripRegexp: /[^A-Za-zÀ-ÖØ-öø-ÿ]+/gi,
};
const input = ref('lorem ipsum dolor sit amet');
</script>
2022-04-16 00:03:31 +02:00
<template>
<c-card>
2022-04-22 23:31:40 +02:00
<n-form label-width="120" label-placement="left" :show-feedback="false">
<c-input-text
v-model:value="input"
label="Your string"
label-position="left"
label-width="120px"
label-align="right"
placeholder="Your string..."
raw-text
/>
2022-04-16 00:03:31 +02:00
<n-divider />
<n-form-item label="Camelcase:">
<InputCopyable :value="camelCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Capitalcase:">
<InputCopyable :value="capitalCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Constantcase:">
<InputCopyable :value="constantCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Dotcase:">
<InputCopyable :value="dotCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Headercase:">
<InputCopyable :value="headerCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Nocase:">
<InputCopyable :value="noCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Paramcase:">
<InputCopyable :value="paramCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Pascalcase:">
<InputCopyable :value="pascalCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Pathcase:">
<InputCopyable :value="pathCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Sentencecase:">
<InputCopyable :value="sentenceCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
<n-form-item label="Snakecase:">
<InputCopyable :value="snakeCase(input, baseConfig)" />
2022-04-16 00:03:31 +02:00
</n-form-item>
</n-form>
</c-card>
2022-04-16 00:03:31 +02:00
</template>
<style lang="less" scoped>
.n-form-item {
margin: 5px 0;
}
2022-04-22 23:31:40 +02:00
</style>