Giter VIP home page Giter VIP logo

wc-flow-layout's Introduction

wc-waterfall

The wc-waterfall is a high performance waterfall component written using web-component

It can support running in various frameworks, such as React Vue SolidJs

image

๐ŸŒˆ Demo

โš™๏ธ Installation

  • npm

npm i wc-waterfall
  • scripts

<script src="https://cdn.jsdelivr.net/npm/wc-waterfall/dist/index.iife.js"></script>

๐Ÿฆ„ Example

๐Ÿš€ Use in VanillaJS

import 'wc-waterfall'
<wc-waterfall gap="10" cols="3">
  <div>01</div>
  <div>02</div>
  <div>03</div>
  <div>04</div>
  <div>05</div>
  <div>06</div>
</wc-waterfall>

๐Ÿš€ Use in React

// App.tsx
import 'wc-waterfall'

export default function MyApp() {
  return (
    <wc-waterfall gap={10} cols={3}>
      <div>01</div>
      <div>02</div>
      <div>03</div>
      <div>04</div>
      <div>05</div>
      <div>06</div>
    </wc-waterfall>
  )
}

TypeScript support (JSX/TSX)

// shims.d.ts
declare namespace JSX {
  interface IntrinsicElements {
    'wc-waterfall': React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement> & {
      gap?: number;
      cols?: number;
    }, HTMLElement>;
  }
}

๐Ÿš€ Use in Vue

// main.ts
import 'wc-waterfall'
<!-- App.vue -->
<template>
  <wc-waterfall :gap="10" :cols="3">
    <div>01</div>
    <div>02</div>
    <div>03</div>
    <div>04</div>
    <div>05</div>
    <div>06</div>
  </wc-waterfall>
</template>
// vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [
    vue({
      template: {
        compilerOptions: { isCustomElement: (tag) => tag.startsWith('wc-') }
      },
    })
  ],
})

๐Ÿš€ Use in SSR

- import 'wc-waterfall'
+ if (typeof document != 'undefined') import('wc-waterfall')

๐Ÿ“„ Props

Name Type Default Description
cols number 2 Number of columns
gap number 4 Interval between cells

โญ๏ธ Show Your Support

Please give a โญ๏ธ if this project helped you!

๐Ÿ‘ Contributing

If you have any questions or requests or want to contribute, please write the issue or give me a Pull Request freely.

wc-flow-layout's People

Contributors

huodoushigemi avatar zyyv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.