JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 32
  • Score
    100M100P100Q49069F
  • License MIT

Transform HTML strings to chakra-ui components

Package Exports

  • html-strings-to-chakra
  • html-strings-to-chakra/dist/cjs/index.js
  • html-strings-to-chakra/dist/esm/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (html-strings-to-chakra) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

html-strings-to-chakra

html-strings-to-chakra is a easy-to-use npm package designed for converting HTML strings into Chakra UI components.

Based on html-react-parser

Note: Created for a spefisic project, to be updated to be more universal

Usage

Basic

import { parse } from  'html-strings-to-chakra';

parse("<p>Hello world!</p>")

//Output
<p class="chakra-text css-xxx">Hello World!</p>

Overwrite props

import { parse } from  'html-strings-to-chakra';

parse("<p>Hello world!</p>", {
    overwriteProps: {
        p: {
            as: 'h1'
        }
    }
})

//Output
<h1 class="chakra-text css-xxx">Hello World!</h1>

Disallow inline styles

import { parse } from  'html-strings-to-chakra';

parse("<p style="color:red;">Hello World!</p>", {
    disallowStyles:  true
})

Default component mapping

Element Component Props
h1 Heading as: 'h1', size: '3xl', mb: 'xs'
h2 Heading as: 'h2', size: 'xl', mb: '2xs'
h3 Heading as: 'h3', size: 'lg', mb: '2xs'
h4 Heading as: 'h4', size: 'md', mb: '2xs'
h5 Heading as: 'h5', size: 'md', mb: '2xs'
h6 Heading as: 'h6', size: 'md', mb: '2xs'
span Text as: 'span', size: 'inherit', fontSize: 'inherit'
a Link variant: 'inside-text', fontWeight: 'inherit'
abbr Text as: 'abbr', size: 'inherit', fontSize: 'inherit'
b Text as: 'b', fontWeight: 'bold', size: 'inherit', fontSize: 'inherit'
big Text as: 'big'
blockquote Text as: 'blockquote', variant: 'quote'
br Box as: 'br'
caption TableCaption
cite Text as: 'cite', size: 'inherit', fontSize: 'inherit'
code Text as: 'code', size: 'inherit', fontSize: 'inherit'
del Text as: 'del', size: 'inherit', fontSize: 'inherit'
div Text as: 'div', mb: '2xs'
em Text as: 'em', size: 'inherit', fontSize: 'inherit'
i Text as: 'i', size: 'inherit', fontSize: 'inherit'
li ListItem
ol OrderedList
p Text mb: '2xs'
pre Text as: 'pre', size: 'inherit', fontSize: 'inherit'
q Text as: 'q', size: 'inherit', fontSize: 'inherit'
s Text as: 's', size: 'inherit', fontSize: 'inherit'
small Text as: 'small'
strong Text as: 'strong', fontWeight: 'bold', size: 'inherit', fontSize: 'inherit'
sub Text as: 'sub', size: 'inherit', fontSize: 'inherit'
sup Text as: 'sup', size: 'inherit', fontSize: 'inherit'
table Table
tbody Tbody
td Td
th Th
thead Thead
tfoot Tfoot
tr Tr
u Text as: 'u', size: 'inherit', fontSize: 'inherit'
ul UnorderedList
img Image