* chore: reorder options
* feat: enable to mask texts
* feat: add the default mask function
* refactor: rename options to identify the difference between mask text and mask input
* test: add tests about masking
* pick nested branch
* iframe snapshot
* temp: add bundle file to git
* revert ignore file
* refactor iframe impl
1. do callback one iframe is loaded, let rrweb handle the rest
2. handle iframe as normal element in rebuild
* rename hook function
* Extract method (isElementBlocked) and add tests
* Add blockSelector argument to snapshot
If blockSelector is passed, it will be matched against the element.
Reasoning: Mutating class names can get messy, so providing another hook
helps keep code clean by using data-attributes instead.
* reuse serialized nodes ids
With this patch, each DOM node keeps its id during its existence. This
allows to apply RRWeb events to previous snapshots if needed.
`resetId` has been removed because it loses its meaning: calling it
would not reset the existing nodes ids anymore, only the new ones.
Since we don't reset the id anymore, we may exhaust the available ids
quicker, but Number.MAX_SAFE_INTEGER (2 ** 53 - 1) is pretty large, so I
doubt this'll cause any problem.
* improv TS typing
The `nAsINode` variable was not very elegant. Simplify this by removing
the cast, and make the INode interface compatible with Node.
* update typings