GithubHelp home page GithubHelp logo

aadito123 / solid-qr-code Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aidanaden/solid-qr-code

0.0 0.0 0.0 308 KB

Solid component to generate QR codes, based on qrcode.react

Home Page: solid-qr-code.vercel.app

JavaScript 0.35% TypeScript 95.33% CSS 0.31% HTML 4.00%

solid-qr-code's Introduction

solid-qr-code

size size npm

solid-qr-code

A Solid component to generate QR codes for rendering to the DOM. This package was ported to Solid from the qrcode.react package made by zpao

Installation

npm install solid-qr-code

Usage

solid-qr-code exports three components, supporting rendering as SVG or Canvas. SVG is generally recommended as it is more flexible, but Canvas may be preferable.

All examples are shown using modern JavaScript modules and syntax.

QRCodeSVG

import { render } from 'solid-js/web';
import QRCodeSVG from "solid-qr-code";

import App from './App';

render(() => <QRCodeSVG value="https://solidjs.com/" />, document.getElementById('root') as HTMLElement);

QRCodeCanvas

import { render } from 'solid-js/web';
import QRCodeCanvas from "solid-qr-code";

import App from './App';

render(() => <QRCodeCanvas value="https://solidjs.com/" />, document.getElementById('root') as HTMLElement);

QRCode - DEPRECATED

Note: Usage of this is deprecated as of v3. It is available as the default export for compatiblity with previous versions. The renderAs prop is only supported with this component.

import { render } from 'solid-js/web';
import QRCode from "solid-qr-code";

import App from './App';

render(() => <QRCode value="https://solidjs.com/" renderAs="canvas" />, document.getElementById('root') as HTMLElement);

Available Props

prop type default value
value string
renderAs string ('canvas' 'svg') 'canvas'
size number 128
bgColor string (CSS color) "#FFFFFF"
fgColor string (CSS color) "#000000"
level string ('L' 'M' 'Q' 'H') 'L'
includeMargin boolean false
imageSettings object (see below)

imageSettings

field type default value
src string
x number none, will center
y number none, will center
height number 10% of size
width number 10% of size

Custom Styles

solid-qr-code will pass through any additional props to the underlying DOM node (<svg> or <canvas>). This allows the use of inline style or custom className to customize the rendering. One common use would be to support a responsive layout.

Note: In order to render QR Codes in <canvas> on high density displays, we scale the canvas element to contain an appropriate number of pixels and then use inline styles to scale back down. We will merge any additional styles, with custom height and width overriding our own values. This allows scaling to percentages but if scaling beyond the size, you will encounter blurry images. I recommend detecting resizes with something like a solid version of react-measure to detect and pass the appropriate size when rendering to <canvas>.

Encoding Mode

solid-qr-code supports encoding text only, in a single segment. The encoding library being used does minimal detection to determine if the text being encoded can follow an optimized path for Numeric or Alphanumeric modes, allowing for more data to be encoded. Otherwise, it will encode following Byte mode. This mode includes supports multi-byte Unicode characters such as Kanji, however it does not support the optimized Kanji encoding mode.

LICENSE

solid-qr-code is licensed under the MIT license.

solid-qr-code bundles QR Code Generator, which is available under the MIT license.

solid-qr-code's People

Contributors

aidanaden 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.