1.0.5 • Published 5 months ago

chrobustimage v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

1. Package Description (for package.json and npm):

A versatile and robust image component for React, designed to enhance image handling in your applications. Offers built-in lazy loading, customizable fallback images, and improved accessibility, ensuring a seamless image experience with minimal configuration. Handles missing or broken image sources gracefully, replacing them with a user-defined fallback or a default placeholder. Simplifies image optimization and improves overall website performance.

Explanation of Key Elements in the Description:

  • Versatile and Robust: Highlights the component's reliability and adaptability.
  • React Image Component: Clearly states the technology.
  • Enhance Image Handling: Focuses on the user's benefit.
  • Built-in Features: Mentions key features like lazy loading, fallbacks, and accessibility.
  • Seamless Image Experience: Aims for a positive impression.
  • Minimal Configuration: Emphasizes ease of use.
  • Graceful Handling: Shows the component's robustness.
  • Image Optimization & Performance: Mentions performance benefits.

2. Comprehensive README.md File (Documentation):

Create a README.md file in the root directory of your chrobustimage package. This file will be displayed on npm and GitHub and should provide all the information users need to install and use your component.

A versatile and robust image component for React, designed to enhance image handling in your applications. Offers built-in lazy loading, customizable fallback images, and improved accessibility, ensuring a seamless image experience with minimal configuration. Handles missing or broken image sources gracefully, replacing them with a user-defined fallback or a default placeholder. Simplifies image optimization and improves overall website performance.

## Features

*   **Lazy Loading:**  Improves initial page load performance by loading images only when they enter the viewport.
*   **Customizable Fallback Images:** Provides a mechanism to display a placeholder image if the original image fails to load.
*   **Accessibility:**  Ensures proper `alt` attributes for improved accessibility.
*   **Easy Integration:** Simple and intuitive API for seamless integration into React projects.
*   **Vite Optimized:** Built with Vite for optimal performance and modern build tooling.
* **Default Placeholder:** Provides a default placeholder image if no fallback is specified.

## Installation

```bash
npm install chrobustimage
# or
yarn add chrobustimage

Usage

Import the RobustImage component into your React application:

import React from 'react';
import RobustImage from 'chrobustimage';

function MyComponent() {
  return (
    <div>
      <RobustImage
        src="https://example.com/my-image.jpg"
        alt="A descriptive alt text"
        fallbackSrc="/images/fallback-image.png" // Optional: Custom fallback image
        className="my-image"             // Optional: Custom CSS class
        style={{ width: '300px' }}      // Optional: Inline styles
        placeholder={<p>Loading...</p>}  // Optional: Placeholder content
      />
    </div>
  );
}

export default MyComponent;

Or you can just write the component without any props and it will work

import React from 'react';
import RobustImage from 'chrobustimage';

function MyComponent() {
  return (
    <div>
      <RobustImage/>
    </div>
  );
}
export default MyComponent;

Props

PropTypeDefaultDescription
srcstringrequiredThe URL of the image.
altstring"Image"Alternative text for the image (for accessibility).
fallbackSrcstringnoneURL of the image to display if the main src image fails to load.
lazybooleantrueEnables or disables lazy loading.
classNamestring""CSS class name to apply to the image.
styleobject{}Inline styles to apply to the image.
placeholderReact.ReactNodenullA React node (e.g., a component, text, or an image) to display while the image is loading.

Fallback Image

If the src image fails to load and no fallbackSrc is provided, the component will display a default placeholder image.

Placeholder Content

The placeholder prop allows you to display custom content while the image is loading. This can be a loading spinner, a blurred version of the image, or any other React node.

Lazy Loading

Lazy loading is enabled by default, which improves performance by only loading images when they are visible in the viewport. You can disable lazy loading by setting the lazy prop to false.

Customization

You can customize the appearance of the image using CSS classes and inline styles. The className prop allows you to apply CSS rules defined in your stylesheets, while the style prop allows you to set inline styles directly.

Contributing

Contributions are welcome! Please feel free to submit bug reports, feature requests, or pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

chaudhuree

MIT License

Copyright (c) [2025] [sOhan chaudhuree]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
1.0.5

5 months ago

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago