npm package: @funinps/dom-mark
Description: Add text/HTML as watermark to DOM node, customizable content and style, automatically calculate size and position
Author: dongnaebi
Latest version: 1.1.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# dom-mark
[![NPM version][npm-image]][npm-url] | 
[中文文档](README_zh.md)

[npm-image]: https://img.shields.io/npm/v/@funinps/dom-mark.svg?style=flat-square
[npm-url]: https://www.npmjs.com/package/@funinps/dom-mark

Add text/HTML as watermark to DOM node

- automatically calculate size and position
- 4kb mini library
- support IE 9+ and all mobile browser
- customizable HTML content and style
- observe dom changes and rerender with MutationObserver

## Demo
[ESM](demo/esm.html) | [UMD](demo/umd.html) | [mobile](demo/mobile.html)

![demo](data:image/png;base64,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)

## Install
```bash
npm i @funinps/dom-mark -S
# or
yarn add @funinps/dom-mark
```
In browser, download `dist/dom-mark.js` to your project:
```html
<script src="/path/to/dom-mark.js"></script>
```

## Useage
```javascript
import DomMark from '@funinps/dom-mark'

const domMark = new DomMark('body', {
  content: '水印', // html,text
  fontSize: 'inherit',
  fontFamily: 'inherit',
  color: 'inherit',
  opacity: .3,
  padding: 20,
  zIndex: 6000,
  minMargin: [40, 20],
  rotate: -15,
  observe: true
})

domMark.render()
```
### update:
```javascript
domMark.update({
  content: '<img src="/watermark.png" width="60" />'
})
```
**important: if you want to use `setInterval` or `setTimeout` to update, don't forget `clearInterval` or `clearTimeout`, otherwise maybe it will cause a crash(e.g. webpack HMR)**
### destroy:
```javascript
domMark.destroy()
```

## API
```javascript
const dm = new DomMark(selector, options)
dm.render()
dm.update(options)
dm.destroy()
```

`selector` can be a HTMLElement object or document.querySelector's parameter, default: `body`

### options
| option | type | default | introduction |
|:------|:-------|:--------------------------|:----|
| content | String | - | HTML string or text |
| fontSize | String | inherit | font size, e.g. 16px,2rem  |
| fontFamily | String | inherit | font family |
| color | String | inherit | font color |
| opacity | Number | .3 | opacity of content, 0~1 |
| padding | Number | 20 | the parent element padding, unit: px |
| zIndex | Number | 6000 | z-index of centent |
| minMargin | Array | [40, 20] | [vertical, horizontal], margin of item unit: px |
| rotate | Number | -15 | rotation angle of item |
| observe | Boolean | true | observe the dom change and rerender, prevent user delete watermarks, work with `MutationObserver`, see [caniuse](https://caniuse.com/#search=MutationObserver) |

## Change log
#### v1.1.0 2020/05/17
rerender when hot module reload, rerender only when watermark change in MutationObserver

## Questions & Suggestions

Please open an issue [here](https://github.com/funinps/dom-mark/issues).

## License

[MIT](LICENSE)