1.0.1 • Published 9 months ago

react-preview-link v1.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
9 months ago

React Preview Link

A flexible React component that helps you display preview links with customizable styles.

Table of Contents

Installation

You can install react-preview-link using npm:

npm install react-preview-link

or using yarn:

yarn add react-preview-link

Usage

To use the PreviewLink component, import it into your React component and pass the props.

Basic Example With Default Props

import React from 'react';
import PreviewLink from 'react-preview-link';

const MyComponent = () => {
  return (
    <PreviewLink
      url="https://github.com"
    />
  );
};

Fully Customized Example

import React from 'react';
import PreviewLink from 'react-preview-link';

const MyComponent = () => {
  return (
    <PreviewLink
      url="https://github.com"
      width={300}
      height={200}
      margin={10}
      border="1px solid #ccc"
      direction="horizontal"
      reverse={false}
      imageCoverage={70}
      content={{
        vertical: 'center',
        horizontal: 'start',
        margin: 5,
        gap: 5,
      }}
      image={{
        borderRadius: 8,
        margin: 5,
      }}
    />
  );
};

export default MyComponent;

Props

The PreviewLink component accepts the following props:

type PreviewLinkProps = {
  url: string,
  width: number,
  height: number,
  margin: number,
  border: string,
  direction: Direction,
  reverse: boolean,
  imageCoverage: number,
  content: {
    vertical?: AlignmentDirection,
    horizontal?: AlignmentDirection,
    margin?: number | string,
    gap?: number,
  },
  image: {
    borderRadius?: number | string,
    margin?: number | string,
  },
};

Props Table

PropTypeDescription
urlstringThe URL of the preview link.
widthnumberThe width of the preview container.
heightnumberThe height of the preview container.
marginnumberThe margin around the preview container.
borderstringThe border style of the preview container.
direction'horizontal' or 'vertical'The direction of content alignment.
reversebooleanWhether to reverse the content and image positions.
imageCoveragenumber (0 to 100)The coverage percentage of the image on the preview.
content{ vertical?, horizontal?, margin?, gap? }Object containing content alignment and spacing settings.
image{ borderRadius?, margin? }Object containing image styling settings.

It is not on the table but adding thekey prop is highly recommended. It is important especially if you have multiple PreviewLink. More information about key prop: https://react.dev/learn/rendering-lists#rules-of-keys

Changelog

Version 1.0.1 (17.08.2023)

  • Initial production release
  • Added 4 layout option to preview link
  • Seperated style option for image and content

Todo

Here are some ideas and planned features for future releases of react-preview-link:

  • Demo: Add demo images and create a showcase
  • Examples: Create examples folder to provide different layout examples.
  • Enhanced Styling: Provide more built-in styles for the preview link. Primary and secondary color
  • Content Manipulation: Handle link title and link description with callback. (For example: get substring of description)
  • Caching: Cache the requested links for a while to decrease latency.
  • Image Lazy Loading Animation: Add a simple lazy loading system for image. (Maybe with: https://loading.io/css/)

License

This project is licensed under the MIT License.

Thanks

  • ChatGPT: (for helping me create this file)
1.0.1

9 months ago

1.0.1-alfa

9 months ago

1.0.0-alfa

9 months ago

1.0.0

9 months ago

0.0.0

10 months ago