1.0.0 • Published 5 years ago

reshape-custom-elements v1.0.0

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

Reshape Custom Elements

npm tests dependencies coverage

Transform custom element names into class names.

Installation

npm i reshape-custom-elements --save

Usage

Input HTML

<my-component>
  <my-text class="text">Text</my-text>

  <!-- An actual HTML element defined in additionalTags -->
  <label>Label</label>

  <!-- Overriding the default replacement tag with a map -->
  <my-footer>
    Reshape is licensed under the MIT license
  </my-footer>

  <!-- Locally overriding the default replacement tag with an attribute -->
  <my-text data-replacement="div">
    This will get wrapped in a div instead of a span
  </my-text>
</my-component>

Reshape processing

const reshape = require('reshape')
const customElements = require('reshape-custom-elements')

reshape({
  plugins: [
    customElements({
      replacementTag: 'span',
      additionalTags: ['label'],
      replacementTagMap: {
        footer: ['my-footer']
      }
    })
  ]
})
  .process(html)
  .then(res => console.log(res.output()))

Output HTML

<span class="my-component">
  <span class="my-text text">Text</span>

  <span class="label">Label</span>

  <div class="my-text">
    This will get wrapped in a div instead of a span
  </div>

  <footer class="my-footer">
    Reshape is licensed under the MIT license
  </footer>
</span>

Options

NameDescriptionDefault
defaultReplacementTagTag used to replace the custom element tag namediv
additionalTagsArray of tags to be processed despite being a normal HTML tag. HTML tags that are used in the replacementTagMap will automatically be added to this list[]
blacklistArray of tags that should never be processed[]
replacementTagMapObject containing custom tag ↔ replacement tag mappings in the format: ReplacedTag: [ customTag1, customTag2, ... ]. Overrides replacementTag{}
replacementTagOverrideAttributeAttribute name that can be used to locally override the used replacement tag. Overrides replacementTag and replacementTagMapdata-replacement

License

1.0.0

5 years ago

0.2.0

5 years ago

0.1.0

8 years ago