@medelm/vue-image-selector

1,657
Install
npm install @medelm/vue-image-selector
Latest Version:2.0.1
Vue:3
License:MIT
Last Updated:Jul 12, 2024
Links: GitHub  ·  npm
Maintainer: medelm

Vue Image Selector

Vue Yup

vue-image-selector-logo

Vue Image Selector is a flexible Vue 3 component and composable for handling image selection, preview, and validation within Vue applications.

Installation

Install the package using npm or yarn:

npm install @medelm/vue-image-selector
# or
yarn add @medelm/vue-image-selector

Usage

1. Setup Plugin in Your Vue App

Import and use the plugin in your main application file (main.js or main.ts):

import { createApp } from 'vue';
import App from './App.vue';
import imageSelectorPlugin from '@medelm/vue-image-selector';
import '@medelm/vue-image-selector/style.css';

createApp(App)
  .use(imageSelectorPlugin)
  .mount('#app');

2. Use the Component

Use the ImageSelector component in your Vue components:

<template>
  <ImageSelector v-bind="imageSelector" />
</template>

<script setup>
  import { useImageSelector } from '@medelm/vue-image-selector';

  const imageSelector = useImageSelector();

  // Optional: Handle callbacks or additional logic
</script>

<style scoped>
  /* Your scoped styles here */
</style>

3. Customization

  • Styling: Customize the appearance using scoped CSS or by overriding classes in your project's stylesheets.
  • Callbacks: Implement onSelect and onReset callbacks to handle image selection and reset events.

4. Composable API

The composable useImageSelector provides the following methods and reactive state:

  • select(event): Handles file input change and drag-and-drop events.
  • reset(): Resets the image selection state.
  • onSelect(callback): Sets a callback function for when an image is selected.
  • onReset(callback): Sets a callback function for when the image selection is reset.
  • hasError(): Checks if there is an error in image selection.
  • getError(): Retrieves the error message, if any.
  • setError(errorMessage): Sets a custom error message.

Contributing

Contributions are welcome! If you have any suggestions, bug reports, or want to contribute code, please open an issue or submit a pull request on GitHub.

License

This project is licensed under the MIT License

Related Packages

vuevaldi

Reactive form validation library for Vue 3 with yup

3,731 2
vue-yup-form

Headless form validation with Vue and Yup

17,480 30
@skaldapp/shared

A TypeScript library providing reactive data structures, JSON schema validation,...

14,847 0
@jasonshimmy/vite-plugin-cer-app

Nuxt-style meta-framework for @jasonshimmy/custom-elements-runtime

10,097 0
@vuito/vue

Vue.js mixin wrapper for vuito validation library.

666 5

Version History

Version Released Vue License
2.0.1 ^3.4.29 MIT
2.0.0 ^3.4.29 MIT
1.0.2 ^3.4.29 MIT
1.0.1 ^3.4.29 MIT
1.0.0 ^3.4.29 MIT