npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

flatman-client

v1.11.0

Published

#### ✅ All 84 tests pass

Downloads

38

Readme

Flatman Client 1.10.2

License: MIT

✅ All 84 tests pass

Table of Contents

Overview

Description

Description.md (top)

  • Create nodes with a simple interface which will be very familiar.
  • Get an API to simplify DOM manipulation
  • Plugin architecture to extend the prototype

Thanks to FRZR for some help for clearing up the "child" problem https://freezer.js.org/minimum-viable-view-library/

Installation

Installation.md (top)

Include the script in your body tag, or head, I think it's wise to place it in the body, at the bottom.

<script src="createNode.min.js"></script>

Notes

Notes.md (top)

I use this on production, and I would like some help on it. Thanks. The goal is to keep it as simple and light as possible. It's a bit of a bastard child between FRZR and jQuery — a somewhat attractive & useful bastard.

Component

Initialing A Component

Component / Initialing A Component.md (top)

The most basic way to initialize a component is like this:

el('Component')

It takes the same type of arguments that a regular el takes.

A component and an element are designed to be similar. This means you can do things like this:

el('Component', [
  el('div'),
  el(Component)
]);

Mixing A Component

Component / Mixing A Component.md (top)

Special considerations

Wrapped components cannot share method names which are shared with 'el()' node. They will be excluded.

Component.create('interior', {
  myExposedMethod() {
    // Do stuff
  },

  render() {
    return el('div', {
      name : 'interior',
      className : 'component'
    });
  }
});

Component.create('my-component', Component.wrap('interior', {
  constructor(props) {
    // Set my stuff
  },

  thisMethod() {
    // do stuff
  },

  onHover() {
    // Do stuff
    this.node.name.trigger('hover');
  },

  render(props) {
    el('div', {
      onClick : props.onClick,
      onHover : () => this.onHover()
    }, [
      props.component // <-- The 'interior' component
    ])
  }
}));
var a = el('my-component');

a.myExposedMethod();
a.thisMethod();

The Options Object

Component / The Options Object.md (top)

You can pass your component any options.

  • Keys will be checked for matching methods
  • The options will be passed as an argument to the Component constructor
el('Component', {
  className : 'this-class',
  onClick : function () {},
})

Writing A Component

Component / Writing A Component.md (top)

Component.create('my-component', {
  constructor(props) {
    // Set my stuff
  },

  onHover() {
    // Do stuff
  },

  touchInner() {
    this.node.inner.trigger('touch');
  },

  render(props) {
    el('div', {
      onClick : props.onClick,
      onHover : () => this.onHover()
    }, [
      // Names will be added as a reference to 'this.node',
      // name : 'inner' becomes this.node.inner
      el('div', { name : 'inner' })
    ])
  }
});

Examples

Nesting

Examples / Nesting.md (top)

el('div', [
  el('div', { className : 'child'}),
  el('div', { className : 'child-2'})
]);

Basic Usage

Examples / Basic Usage.md (top)

el('div', { className : 'my-class-name' }, ['some text']);

Wrapping The Dom

Examples / Wrapping The Dom.md (top)

You can get all the methods and the simplified interface based on ideas in jQuery by wrapping a node in el.

var wrapped = el(document.querySelector('#my-div'));

What You Can Pass As An Object

Examples / What You Can Pass As An Object.md (top)

  • You can pass it anything which has an appendTo method

Functional Methods

Basics

Functional Methods / Basics.md (top)

Functional interfaces

  • el.contains
  • el.fn
  • el.hasParent
  • el.isComponent
  • el.isCreateNode
  • el.isElement
  • el.isVisible

el.addClass

Functional Methods / el.addClass.md (top)

Is a curried function which can take 1 or 2 arguments.

Using el.addClass with a single argument will return a function which expects a Node or an Array of nodes.

Using the partially applied function:

var pizzas = document.querySelectorAll('.pizza');
[].forEach.call(pizzas, el.addClass('class-name'));

Using the function with 2 arguments:

var pizza = document.querySelector('.pizza');
el.addClass('class-name', pizza);

The order of the arguments does not matter

var pizza = document.querySelector('.pizza');
el.addClass(pizza, 'class-name');

A curried function which adds class names to the Node

var pizza = document.querySelector('.pizza');
var toppings = el.addClass(pizza);
toppings('peppers');
toppings('mushrooms');

el.isComponent

Functional Methods / el.isComponent.md (top)

Returns true or false if the argument is a component

El Methods

Attributes

addClass

El Methods / Attributes / addClass.md (top)

Will add a class to a node, and will check if the class does not exist before adding.

el('div').addClass('this-class-name');

attr

El Methods / Attributes / attr.md (top)
var div = el('div');
div.attr('data-attribute', 'value');
<div data-attribute="value"></div>

el('div').attr({
  className : 'some-class-name',
  style : 'background: red'
});
<div class="some-class-name" style="background: red"></div>

className

El Methods / Attributes / className.md (top)

Will set or return value of the attribute class for a Node.

var b = el('div');

a.className('test');

a.className();
//-> test

copy

El Methods / Attributes / copy.md (top)

Will copy a target node's attributes from another node, including it's innerHTML.

var a = el('div');
var b = el('div', { className : 'test' }, 'text');
a.copy(b);

a.className();
//-> test

a.html();
// -> text

name

El Methods / Attributes / name.md (top)

Will set or return value of the attribute name for a Node.

var b = el('div');

a.name('test');

a.name();
//-> test

removeClass

El Methods / Attributes / removeClass.md (top)

Will remove the class name from a node.

<div id="copy" class="my-class-name" data-attribute="some-text">
var node = el(document.querySelector('#copy'));
node.removeClass('my-class-name');
<div id="copy" data-attribute="some-text">

scrollHeight

El Methods / Attributes / scrollHeight.md (top)

Will tell you an elements scrollHeight value

myDiv.scrollHeight();
// -> Number

scrollTop

El Methods / Attributes / scrollTop.md (top)

Will tell you an elements scrollTop value when passed nothing. Will set the node scrollTop when passed a number.

myDiv.scrollTop();
// -> Number
myDiv.scrollTop(20);
// -> [ELEMENT]

scrollWidth

El Methods / Attributes / scrollWidth.md (top)

Will tell you an elements scrollWidth value

myDiv.scrollWidth();
// -> Number

toggleClass

El Methods / Attributes / toggleClass.md (top)

Will toggle a class name on a node. If the class exists, it will be removed, if it does not exist, it will be added.

var myDIV = el('div');
myDIV.toggleClass('toggle'); // -> myDIV has class 'toggle'
myDIV.toggleClass('toggle'); // -> myDIV does not have class 'toggle'

Dom Manipulation

append

El Methods / Dom Manipulation / append.md (top)

Is an interface for appendChild, the result being a way to add a Node to a parent Node.

When a Node is appended to an element in the DOM it emits a mount event.

var parent = el('div', { className : 'parent-1' });
var child = el('div', { className : 'child-1' });
parent.append([child]);

is the same as

var parent = el('div', { className : 'parent-1' }, [
  el('div', { className : 'child-1' })
]);
el('div', { className : 'parent-1' }).append([
  el('div', { className : 'child-1' })
]);
<div class="parent-1">
  <div class="child-1"></div>
  <div class="child-2"></div>
</div>

appendTo

El Methods / Dom Manipulation / appendTo.md (top)

Is an interface for appendChild, the result being a way to add a child Node to a parent Node.

When a Node is appended to an element in the DOM it emmits a mount event.

var parent = el('div', { className : 'parent-1' });
var child = el('div', { className : 'child-1' });
child.appendTo(parent);
<div class="parent-1">
  <div class="child-1"></div>
</div>

before

El Methods / Dom Manipulation / before.md (top)

Is an interface for insertBefore, the result being a way to add a Node before the reference Node.

When a Node is appended to an element in the DOM it emmits a mount event.

var parent = el('div', { className : 'parent-1' });
var reference = el('div', { className : 'reference-1' });
var before = el('div', { className : 'before-1' });

parent.append([ref]);
reference.before([before]);
<div class="parent-1">
  <div class="before-1"></div>
  <div class="reference-1"></div>
</div>

check

El Methods / Dom Manipulation / check.md (top)

Check a checkbox and radio

var a = el('input', { type : 'checkbox' });

a.check();
a.isChecked();
// -> true

clone

El Methods / Dom Manipulation / clone.md (top)

Clones an element, is an interface for Node.cloneNode(true)

var a = el('div', [
  el('div', { className : 'child-1' }),
  el('div', { className : 'child-2' }),
  el('div', { className : 'child-3' })
]);

var b = a.clone();
<!-- b -->
<div>
  <div class="child-1"></div>
  <div class="child-2"></div>
  <div class="child-3"></div>
</div>

disable

El Methods / Dom Manipulation / disable.md (top)

Disables an element by setting it's disabled attribute to disabled

var a = el('div').disable();

Result

<div disabled="disabled"></div>

enable

El Methods / Dom Manipulation / enable.md (top)

Enables an element by removing it's disabled attribute

<div id="disabled" disabled="disabled"></div>
var a = el(document.getElementById('disabled')).enable();
<div id="disabled"></div>

focus

El Methods / Dom Manipulation / focus.md (top)

Will focus an element. This will only work if the element is in the document.body and if it has an tabindex attribute.

var a = el('div');
a.appendTo(document.body).focus();

html top

Is an interface for innerHTML. When passed no arguments, it will return the value of innerHTML.

var a = el('div');
a.html('test');
// a.node.innerHTML -> 'test'
// a.html() -> 'test'

html

El Methods / Dom Manipulation / html.md (top)

Sets the innerHTML value of a node.

var target = el(document.querySelector('.target-node'));
target.html('<div class="my-div"></div>');

Passing it no arguments will return the value of innerHTML

var target = el(document.querySelector('.target-node'));
target.html();
// -> '<div class="my-div"></div>'

prepend

El Methods / Dom Manipulation / prepend.md (top)

Will append a child element in the first position of the parent node.

var parent = el('div', { className : 'parent' }, [
  el('div', { 'first-child' })
]);

var child = el('div', { className : 'second-child' });
<div class="parent">
  <div class="first-child"></div>
</div>
parent.prepend([child]);
<div class="parent">
  <div class="second-child"></div>
  <div class="first-child"></div>
</div>

prependTo

El Methods / Dom Manipulation / prependTo.md (top)

Will append a child element in the first position of the parent node.

var child = el('div', { className : 'second-child' });
var parent = el('div', { className : 'parent' }, [
  el('div', { 'first-child' })
]);
<div class="parent">
  <div class="first-child"></div>
</div>
child.prependTo(parent);
<div class="parent">
  <div class="second-child"></div>
  <div class="first-child"></div>
</div>

remove

El Methods / Dom Manipulation / remove.md (top)

Will remove a Node from it's parent.

var a = el('div', { className : 'parent' });
var b = el('div', { className : 'first-child' });

a.append(b);
<div class="parent">
  <div class="first-child"></div>
</div>
b.remove();
<div class="parent">
</div>

removeChild

El Methods / Dom Manipulation / removeChild.md (top)

Will remove a child Node.

var a = el('div', { className : 'parent' });
var b = el('div', { className : 'first-child' });

a.append(b);
<div class="parent">
  <div class="first-child"></div>
</div>
a.removeChild(b);
<div class="parent">
</div>

replaceWith

El Methods / Dom Manipulation / replaceWith.md (top)

Replaces a target node with a new node.

var targetNode = el(document.querySelector('.target-node'));
var newNode = el('div', { className : 'new-node' });
targetNode.replaceWith(newNode);

select

El Methods / Dom Manipulation / select.md (top)

Provides an interface to select text ranges and select the option node.

Query

var a = el(document.querySelector('.my-input'));
a.select();
// -> [0, 2]

Set

var a = el(document.querySelector('.my-input'));
a.select(0, 2);

By entering a single value, the cursor will be placed without selecting.

  • Negative values start from the end.
a.select(-1);

This example selects from the first letter to 3 letters from the end.

a.select(0, -3);

select

var a = el('select', [
  el('option'),
  el('option')
]);

a.select(0);

// -> will select the first option node

style

El Methods / Dom Manipulation / style.md (top)

An interface to edit the style of a node, it can be used in 2 different ways.

  • el.style([ String property ], [ String|Number value])
  • el.style([ Object property and values ])

The property must be the JavaScript named property. Vendor prefixes are not necessary.

Value and property

var a = el('div');

a.style('fontSize', 13);

Object

var a = el('div');

a.style({
  fontSize : 13,
  fontWeight : 'bold'
});

Get computed styles

div.style();
// -> [ Object ]
div.style('fontSize');
// -> 13px

text

El Methods / Dom Manipulation / text.md (top)

Sets the text value of a node, uses textContent as opposed to innerHTML, this distinction is important since any HTML passed as a string will be converted to text.

var target = el(document.querySelector('.target-node'));
target.text('my text');

Passing it no arguments will return the value of textContent

var target = el(document.querySelector('.target-node'));
target.text();
// -> 'my text'

uncheck

El Methods / Dom Manipulation / uncheck.md (top)

Uncheck a checkbox and radio

var a = el('input', { type : 'checkbox' });

a.check();
a.isChecked();
// -> true

a.uncheck();
a.isChecked();
// -> false

value

El Methods / Dom Manipulation / value.md (top)

Query

var a = el(document.querySelector('.my-input'));
a.value();
// -> 'My text'

Set

var a = el(document.querySelector('.my-input'));
a.value('New text');

Events

doubleclick

El Methods / Events / doubleclick.md (top)

A listener which is triggered when the user double clicks on an element.

  • on('doubleclick', [ Function ])

off

El Methods / Events / off.md (top)

This is an interface for removeEventListener, with the main difference being that you don't have to pass a function as a second argument. And when no second argument is passed, all functions associated with the event will be removed.

var element = el('div');

function logToConsole() {
  console.log('click');
}

element.on('click', logToConsole);

By clicking on element 'click' will be logged to the console.

element.off('click', logToConsole);

In this example, we are attaching 3 functions to element

element.on('click', click1);
element.on('click', click2);
element.on('click', click3);

We will now remove all event listeners attached to the click event by passing nothing as a second argument.

element.off('click');

on

El Methods / Events / on.md (top)

This is an interface for addEventListener, with the main difference being how functions are tracked internally.

var element = el('div');

element.on('click', function () {
  console.log('click');
});

div.appendTo(document.body);

Now when you click on the element, it will log click to the console.

once

El Methods / Events / once.md (top)

Will add an event listener which will execute once, then remove the listener.

var element = el('div');

element.once('click', function () {
  console.log('click');
});

div.appendTo(document.body);

Now when you click on the element, it will log click to the console. Any additional clicks will not trigger the event.

trigger

El Methods / Events / trigger.md (top)

This will trigger all listeners for matching event name.

var node = el('div');

el.on('click', function myClickHandler() {
  // Do something
});

el.on('click', function myClickSecondHandler() {
  // Do something
});

el.trigger('click');
// -> will execute 'myClickHandler' and 'myClickSecondHandler'

Input

El Methods / Events / Input.md (top)

Input has been unified across browsers, so that when you use on('input') you will have consistent performance on Internet Explorer, Chrome and Firefox.

In this example, we'll write a component to replace creating an input with el('input', { type : 'text' }) with a Component, so that the API becomes el(Editbox).

function Editbox() {
  var self = this;
  this.node = {
    document : el('input',
      {
        type : 'text',
        onInput : function (e) {
          self.trigger('input', e);
        }
      }
    )
  };
}

Editbox.prototype.value = function (value) {
  var f = this.node.document.value;
  if (!value) {
    return f();
  }
  f(value);
};

var a = el(Editbox, {
  onInput : function (e) {
    console.log(this.value());
  }
});

Drag And Drop

El Methods / Events / Drag And Drop.md (top)
  • on('dragstart', [ Function ])
  • on('dragmove', [ Function ])
  • on('dragend', [ Function ])

You must access the detail property to get pageX and pageY properties.

Additional properties:

  • startX
  • startY
  • distanceX
  • distanceY

startX and startY

The X and Y position of where drag started

distanceX and distanceY

The distance travelled in pixels between the start position and the current position.

Predicates

contains

El Methods / Predicates / contains.md (top)
var a;
var p = el('div', [
  a = el('div')
]);

p.contains(a);
// -> true

Can also accept multiple arguments

var a;
var b;

var p = el('div',
  a = el('div'),
  b = el('div')
);

p.contains(a, b);
// -> true

Can also accept an array

var a;
var b;
var c;

var p = el('div',
  a = el('div'),
  b = el('div'),
  c = el('div')
);

// This is valid
p.contains([a, b, c]);
// is is this
p.contains([a, b] c);

// They will both return 'true'

hasClass

El Methods / Predicates / hasClass.md (top)

Returns boolean value for whether a Node has a className.

var a = el('div', { className : 'test' });
a.hasClass('test')
// -> true

hasParent

El Methods / Predicates / hasParent.md (top)
var myParent = el('div', [
  var myChild = el('div')
]);

myChild.hasParent(myParent);
// -> true

isChecked

El Methods / Predicates / isChecked.md (top)

Returns a [ Boolean ] value of the checked state of a node.

var a = el('input', { type : 'checkbox' });
a.check();
a.isChecked();
// -> false

isFocused

El Methods / Predicates / isFocused.md (top)
var myFocus = el('label', { tabIndex : 0 });

myFocus.isFocused();
// -> false

myFocus.focus();

myFocus.isFocused();
// -> true

isVisible

El Methods / Predicates / isVisible.md (top)

This one requires a bit of explaining, it doesn't only check for 'visibility'.

  • Checks that the node isn't off screen.
  • Or that it's display property isn't set to none.
  • Or that overflow isn't set to hidden and ensures the height and width are larger than 0.
var myNode = el('div', {
  style : {
    position : 'absolute',
    left : 0,
    top : 0
  }
}).appendTo(document.body);

myFocus.isVisible(); [top](#methods)
// -> true

myFocus.style('left', -100000);

myFocus.isVisible();
// -> false

Or

var myNode = el('div').appendTo(document.body);

myFocus.isVisible();
// -> true

myFocus.style('display', 'none');

myFocus.isVisible();
// -> false

The idea here is that this check is smart, so it knows whether the node is visible or not in various contexts.

Query

children

El Methods / Query / children.md (top)

Returns an array of direct descendants wrapped in the el constructor. This is an interface for childNodes with a filter for a NodeType equal to 1 (HTMlElement)

var a = el('div', [
  el('div', { className : 'child-1' }),
  el('div', { className : 'child-2' }),
  el('div', { className : 'child-3' })
]);

a.childNodes;
<div class="child-1"></div>
<div class="child-2"></div>
<div class="child-3"></div>

You can also specify an index

a.children(0);
// -> <div class="child-1"></div>

You can also use negative numbers

a.children(-1);
// -> <div class="child-3"></div>

You can also slice the child array

a.children(1, -1);
// -> <div class="child-2"></div>
// -> <div class="child-3"></div>

closest

El Methods / Query / closest.md (top)

Returns the closest parent matching the query.

var farthest;
var parent = el('div', { className : 'closest' }, [
  farthest = el('div', { className : 'farthest' })
]);

farthest.closest('.closest');

// -> HTML Element : div.closest

find

El Methods / Query / find.md (top)

Returns an array of matches as a result of executing the query.

var parent = el('div', { className : 'closest' }, [
  el('div', { className : 'find' }),
  el('div', { className : 'find' })
]);

parent.find('.find');
// -> HTML NodeList : [ div.find, div.find ]

hasClass

El Methods / Query / hasClass.md (top)
var node = document.querySelector('.class-name');
el(node).hasClass('class-name');
// -> true

offset

El Methods / Query / offset.md (top)

Returns the top, left, width, height relative to the body's coordinates. It is an interface for this.node.getBoundingClientRect()

var parent = el('div');

parent.appendTo(document.body);

parent.offset();
/* -> {
        height : [Number],
        left : [Number],
        top : [Number],
        width : [Number]
      }
*/

parent

El Methods / Query / parent.md (top)

If the node has a parent, it will return it's parent. Otherwise, it will return false

var child = el('div');

child.parent();
// -> false

child.appendTo(document.body);
child.parent();
// -> HTML Element : document.body

parents

El Methods / Query / parents.md (top)

Returns an array of parents, from first to last.

var child;

el('div', { className : 'parent-1' }, [
  el('div', { className : 'parent-2' }, [
    child = el('div', { className : 'parent-3 '})
  ])
]);

child.parents();
// -> [Array]

parentsUntil

El Methods / Query / parentsUntil.md (top)

Takes a predicate as an argument and returns the first truthy match.

div.parentsUntil(function (p) { return p.tagName === 'h1' });

scrollWidth

El Methods / Query / scrollWidth.md (top)

Returns the scrollWidth property of a node.

node.scrollWidth();
// -> Number

siblings

El Methods / Query / siblings.md (top)

Returns a selected Node and it's siblings filtered to show only nodes of type 1, which are HTML element nodes, this excludes text nodes.

var selected;

el('div', { className : 'parent-1' }, [
  selected = el('div', { className : 'sibling-1' }),
  el('div', { className : 'sibling-2' }),
  el('div', { className : 'sibling-3' }),
  el('div', { className : 'sibling-4' })
]);

selected.siblings();
<div class="siblings-1"></div>
<div class="siblings-2"></div>
<div class="siblings-3"></div>
<div class="siblings-4"></div>

textNodes

El Methods / Query / textNodes.md (top)

Returns all the Text Nodes which are a child of a selected node.

var selected = el('div', { className : 'parent-1' }, ['text node']);
selected.textNodes();
// -> [Text Node]

Tests

    1. addClass............................................................ ✅
    2. after............................................................... ✅
    3. after_single_child.................................................. ✅
    4. append.............................................................. ✅
    5. appendTo............................................................ ✅
    6. appendTo_onMount.................................................... ✅
    7. append_component.................................................... ✅
    8. append_single_node.................................................. ✅
    9. append_undefined.................................................... ✅
   10. attr................................................................ ✅
   11. before.............................................................. ✅
   12. before_single_child................................................. ✅
   13. check............................................................... ✅
   14. children............................................................ ✅
   15. childrenFirst....................................................... ✅
   16. childrenReplace..................................................... ✅
   17. childrenSlice....................................................... ✅
   18. classList........................................................... ✅
   19. classList_svg....................................................... ✅
   20. clone............................................................... ✅
   21. closest............................................................. ✅
   22. component........................................................... ✅
   23. componentCheckChildren.............................................. ✅
   24. componentOnMount.................................................... ✅
   25. componentRefs....................................................... ✅
   26. componentWithClassAndChildren....................................... ✅
   27. componentWithNames.................................................. ✅
   28. componentWithRenderMethod........................................... ✅
   29. containsArray....................................................... ✅
   30. createElement_with_style............................................ ✅
   31. createSVGElement_with_style......................................... ✅
   32. disable............................................................. ✅
   33. emptyAttr........................................................... ✅
   34. find................................................................ ✅
   35. find_predicate...................................................... ✅
   36. find_tagName........................................................ ✅
   37. find_wildcard....................................................... ✅
   38. fn.................................................................. ✅
   39. focus............................................................... ✅
   40. hasClass............................................................ ✅
   41. hasClass_array...................................................... ✅
   42. is.................................................................. ✅
   43. isDisabled.......................................................... ✅
   44. isFocused........................................................... ✅
   45. isVisible........................................................... ✅
   46. is_wildcard......................................................... ✅
   47. mapChildren......................................................... ✅
   48. name................................................................ ✅
   49. off................................................................. ✅
   50. offset.............................................................. ✅
   51. on.................................................................. ✅
   52. onMount............................................................. ✅
   53. onMount_component................................................... ✅
   54. onUnmount........................................................... ✅
   55. once................................................................ ✅
   56. parent.............................................................. ✅
   57. parents............................................................. ✅
   58. prepend............................................................. ✅
   59. prependTo........................................................... ✅
   60. prepend_component................................................... ✅
   61. remove.............................................................. ✅
   62. removeChild......................................................... ✅
   63. removeClass......................................................... ✅
   64. removeClassArray.................................................... ✅
   65. removeClass_not_there............................................... ✅
   66. replaceWith......................................................... ✅
   67. scrollHeight........................................................ ✅
   68. scrollTop........................................................... ✅
   69. scrollWidth......................................................... ✅
   70. select.............................................................. ✅
   71. siblings............................................................ ✅
   72. style............................................................... ✅
   73. style_clear......................................................... ✅
   74. style_object........................................................ ✅
   75. style_translateY.................................................... ✅
   76. svg_addClass........................................................ ✅
   77. text................................................................ ✅
   78. textNodes........................................................... ✅
   79. toggleClass......................................................... ✅
   80. trigger............................................................. ✅
   81. uncheck............................................................. ✅
   82. value............................................................... ✅
   83. html_remove-children................................................ ✅
   84. hasClass_array_array-is-className................................... ✅