@pfern/elements 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/elements.js CHANGED
@@ -21,8 +21,6 @@ const svgNS = 'http://www.w3.org/2000/svg'
21
21
  /**
22
22
  * Maps vnode instances to their current root DOM element,
23
23
  * allowing accurate replacement when the same vnode is re-invoked.
24
- *
25
- * @type {WeakMap<any[], HTMLElement>}
26
24
  */
27
25
  const rootMap = new WeakMap()
28
26
 
@@ -262,8 +260,8 @@ const applyPatch = (parent, patch, index = 0) => {
262
260
  * Renders a new vnode into the DOM. If this vnode was rendered before,
263
261
  * reuses the previous root and applies a patch. Otherwise, performs initial mount.
264
262
  *
265
- * @param {HTMLElement} mount - The container to render into
266
- * @param {any[]} nextVNode - The declarative vnode array to render
263
+ * @param {any[]} vtree - The declarative vnode array to render
264
+ * @param {HTMLElement} container - The container to render into
267
265
  */
268
266
  export const render = (vtree, container = null) => {
269
267
  const target =
@@ -460,7 +458,6 @@ const htmlTagNames = [
460
458
 
461
459
  const svgTagNames = [
462
460
  // Animation elements
463
- 'a',
464
461
  'animate',
465
462
  'animateMotion',
466
463
  'animateTransform',
@@ -569,18 +566,19 @@ const isPropsObject = x =>
569
566
  *
570
567
  * The following helpers are included:
571
568
  * `div`, `span`, `button`, `svg`, `circle`, etc.
572
- *
573
- * @typedef {function([propsOrChild], ...children): Array} ElementHelper
574
- *
575
- * @type {Record<string, ElementHelper>}
576
569
  */
577
570
  export const elements = tagNames.reduce(
578
571
  (acc, tag) => ({
579
572
  ...acc,
580
- [tag]: (propsOrChild, ...children) => {
581
- const props = isPropsObject(propsOrChild) ? propsOrChild : {}
582
- const actualChildren =
583
- props === propsOrChild ? children : [propsOrChild, ...children]
573
+ [tag]: (...args) => {
574
+ const hasFirstArg = args.length > 0
575
+ const [propsOrChild, ...children] = args
576
+ const props = hasFirstArg && isPropsObject(propsOrChild) ? propsOrChild : {}
577
+ const actualChildren = !hasFirstArg
578
+ ? []
579
+ : props === propsOrChild
580
+ ? children
581
+ : [propsOrChild, ...children]
584
582
  return [tag, props, ...actualChildren]
585
583
  }
586
584
  }),
@@ -594,7 +592,6 @@ export const elements = tagNames.reduce(
594
592
  * Represents the root (top-level element) of an HTML document, so it is also referred to as the root element. All other elements must be descendants of this element.
595
593
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/html
596
594
  *
597
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLHtmlElement}
598
595
  */
599
596
  export const html = elements.html
600
597
 
@@ -603,7 +600,6 @@ export const html = elements.html
603
600
  * Specifies the base URL to use for all relative URLs in a document. There can be only one such element in a document.
604
601
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/base
605
602
  *
606
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLBaseElement}
607
603
  */
608
604
  export const base = elements.base
609
605
 
@@ -612,7 +608,6 @@ export const base = elements.base
612
608
  * Contains machine-readable information (metadata) about the document, like its title, scripts, and style sheets.
613
609
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/head
614
610
  *
615
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLHeadElement}
616
611
  */
617
612
  export const head = elements.head
618
613
 
@@ -621,7 +616,6 @@ export const head = elements.head
621
616
  * Specifies relationships between the current document and an external resource. This element is most commonly used to link to CSS but is also used to establish site icons (both "favicon" style icons and icons for the home screen and apps on mobile devices) among other things.
622
617
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/link
623
618
  *
624
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLLinkElement}
625
619
  */
626
620
  export const link = elements.link
627
621
 
@@ -630,7 +624,6 @@ export const link = elements.link
630
624
  * Represents metadata that cannot be represented by other HTML meta-related elements, like <base>, <link>, <script>, <style> and <title>.
631
625
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meta
632
626
  *
633
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLMetaElement}
634
627
  */
635
628
  export const meta = elements.meta
636
629
 
@@ -639,7 +632,6 @@ export const meta = elements.meta
639
632
  * Contains style information for a document or part of a document. It contains CSS, which is applied to the contents of the document containing this element.
640
633
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/style
641
634
  *
642
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLStyleElement}
643
635
  */
644
636
  export const style = elements.style
645
637
 
@@ -648,7 +640,6 @@ export const style = elements.style
648
640
  * Defines the document's title that is shown in a browser's title bar or a page's tab. It only contains text; HTML tags within the element, if any, are also treated as plain text.
649
641
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/title
650
642
  *
651
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTitleElement}
652
643
  */
653
644
  export const title = elements.title
654
645
 
@@ -657,7 +648,6 @@ export const title = elements.title
657
648
  * Represents the content of an HTML document. There can be only one such element in a document.
658
649
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/body
659
650
  *
660
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLBodyElement}
661
651
  */
662
652
  export const body = elements.body
663
653
 
@@ -666,7 +656,6 @@ export const body = elements.body
666
656
  * Indicates that the enclosed HTML provides contact information for a person or people, or for an organization.
667
657
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/address
668
658
  *
669
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLAddressElement}
670
659
  */
671
660
  export const address = elements.address
672
661
 
@@ -675,7 +664,6 @@ export const address = elements.address
675
664
  * Represents a self-contained composition in a document, page, application, or site, which is intended to be independently distributable or reusable (e.g., in syndication). Examples include a forum post, a magazine or newspaper article, a blog entry, a product card, a user-submitted comment, an interactive widget or gadget, or any other independent item of content.
676
665
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/article
677
666
  *
678
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLArticleElement}
679
667
  */
680
668
  export const article = elements.article
681
669
 
@@ -684,7 +672,6 @@ export const article = elements.article
684
672
  * Represents a portion of a document whose content is only indirectly related to the document's main content. Asides are frequently presented as sidebars or call-out boxes.
685
673
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/aside
686
674
  *
687
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLAsideElement}
688
675
  */
689
676
  export const aside = elements.aside
690
677
 
@@ -693,7 +680,6 @@ export const aside = elements.aside
693
680
  * Represents a footer for its nearest ancestor sectioning content or sectioning root element. A <footer> typically contains information about the author of the section, copyright data, or links to related documents.
694
681
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/footer
695
682
  *
696
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLFooterElement}
697
683
  */
698
684
  export const footer = elements.footer
699
685
 
@@ -702,7 +688,6 @@ export const footer = elements.footer
702
688
  * Represents introductory content, typically a group of introductory or navigational aids. It may contain some heading elements but also a logo, a search form, an author name, and other elements.
703
689
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/header
704
690
  *
705
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLHeaderElement}
706
691
  */
707
692
  export const header = elements.header
708
693
 
@@ -711,7 +696,6 @@ export const header = elements.header
711
696
  * There are six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
712
697
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/h1
713
698
  *
714
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLH6Element}
715
699
  */
716
700
  export const h1 = elements.h1
717
701
 
@@ -720,7 +704,6 @@ export const h1 = elements.h1
720
704
  * There are six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
721
705
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/h2
722
706
  *
723
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLH6Element}
724
707
  */
725
708
  export const h2 = elements.h2
726
709
 
@@ -729,7 +712,6 @@ export const h2 = elements.h2
729
712
  * There are six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
730
713
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/h3
731
714
  *
732
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLH6Element}
733
715
  */
734
716
  export const h3 = elements.h3
735
717
 
@@ -738,7 +720,6 @@ export const h3 = elements.h3
738
720
  * There are six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
739
721
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/h4
740
722
  *
741
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLH6Element}
742
723
  */
743
724
  export const h4 = elements.h4
744
725
 
@@ -747,7 +728,6 @@ export const h4 = elements.h4
747
728
  * There are six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
748
729
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/h5
749
730
  *
750
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLH6Element}
751
731
  */
752
732
  export const h5 = elements.h5
753
733
 
@@ -756,7 +736,6 @@ export const h5 = elements.h5
756
736
  * There are six levels of section headings. <h1> is the highest section level and <h6> is the lowest.
757
737
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/h6
758
738
  *
759
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLH6Element}
760
739
  */
761
740
  export const h6 = elements.h6
762
741
 
@@ -765,7 +744,6 @@ export const h6 = elements.h6
765
744
  * Represents a heading grouped with any secondary content, such as subheadings, an alternative title, or a tagline.
766
745
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/hgroup
767
746
  *
768
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLHgroupElement}
769
747
  */
770
748
  export const hgroup = elements.hgroup
771
749
 
@@ -774,7 +752,6 @@ export const hgroup = elements.hgroup
774
752
  * Represents the dominant content of the body of a document. The main content area consists of content that is directly related to or expands upon the central topic of a document, or the central functionality of an application.
775
753
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/main
776
754
  *
777
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLMainElement}
778
755
  */
779
756
  export const main = elements.main
780
757
 
@@ -783,7 +760,6 @@ export const main = elements.main
783
760
  * Represents a section of a page whose purpose is to provide navigation links, either within the current document or to other documents. Common examples of navigation sections are menus, tables of contents, and indexes.
784
761
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/nav
785
762
  *
786
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLNavElement}
787
763
  */
788
764
  export const nav = elements.nav
789
765
 
@@ -792,7 +768,6 @@ export const nav = elements.nav
792
768
  * Represents a generic standalone section of a document, which doesn't have a more specific semantic element to represent it. Sections should always have a heading, with very few exceptions.
793
769
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/section
794
770
  *
795
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSectionElement}
796
771
  */
797
772
  export const section = elements.section
798
773
 
@@ -801,7 +776,6 @@ export const section = elements.section
801
776
  * Represents a part that contains a set of form controls or other content related to performing a search or filtering operation.
802
777
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/search
803
778
  *
804
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSearchElement}
805
779
  */
806
780
  export const search = elements.search
807
781
 
@@ -810,7 +784,6 @@ export const search = elements.search
810
784
  * Indicates that the enclosed text is an extended quotation. Usually, this is rendered visually by indentation. A URL for the source of the quotation may be given using the cite attribute, while a text representation of the source can be given using the <cite> element.
811
785
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/blockquote
812
786
  *
813
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLBlockquoteElement}
814
787
  */
815
788
  export const blockquote = elements.blockquote
816
789
 
@@ -819,7 +792,6 @@ export const blockquote = elements.blockquote
819
792
  * Provides the description, definition, or value for the preceding term (<dt>) in a description list (<dl>).
820
793
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dd
821
794
  *
822
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDdElement}
823
795
  */
824
796
  export const dd = elements.dd
825
797
 
@@ -828,7 +800,6 @@ export const dd = elements.dd
828
800
  * The generic container for flow content. It has no effect on the content or layout until styled in some way using CSS (e.g., styling is directly applied to it, or some kind of layout model like flexbox is applied to its parent element).
829
801
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/div
830
802
  *
831
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDivElement}
832
803
  */
833
804
  export const div = elements.div
834
805
 
@@ -837,7 +808,6 @@ export const div = elements.div
837
808
  * Represents a description list. The element encloses a list of groups of terms (specified using the <dt> element) and descriptions (provided by <dd> elements). Common uses for this element are to implement a glossary or to display metadata (a list of key-value pairs).
838
809
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dl
839
810
  *
840
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDlElement}
841
811
  */
842
812
  export const dl = elements.dl
843
813
 
@@ -846,7 +816,6 @@ export const dl = elements.dl
846
816
  * Specifies a term in a description or definition list, and as such must be used inside a <dl> element. It is usually followed by a <dd> element; however, multiple <dt> elements in a row indicate several terms that are all defined by the immediate next <dd> element.
847
817
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dt
848
818
  *
849
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDtElement}
850
819
  */
851
820
  export const dt = elements.dt
852
821
 
@@ -855,7 +824,6 @@ export const dt = elements.dt
855
824
  * Represents a caption or legend describing the rest of the contents of its parent <figure> element.
856
825
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/figcaption
857
826
  *
858
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLFigcaptionElement}
859
827
  */
860
828
  export const figcaption = elements.figcaption
861
829
 
@@ -864,7 +832,6 @@ export const figcaption = elements.figcaption
864
832
  * Represents self-contained content, potentially with an optional caption, which is specified using the <figcaption> element. The figure, its caption, and its contents are referenced as a single unit.
865
833
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/figure
866
834
  *
867
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLFigureElement}
868
835
  */
869
836
  export const figure = elements.figure
870
837
 
@@ -873,7 +840,6 @@ export const figure = elements.figure
873
840
  * Represents a thematic break between paragraph-level elements: for example, a change of scene in a story, or a shift of topic within a section.
874
841
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/hr
875
842
  *
876
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLHrElement}
877
843
  */
878
844
  export const hr = elements.hr
879
845
 
@@ -882,7 +848,6 @@ export const hr = elements.hr
882
848
  * Represents an item in a list. It must be contained in a parent element: an ordered list (<ol>), an unordered list (<ul>), or a menu (<menu>). In menus and unordered lists, list items are usually displayed using bullet points. In ordered lists, they are usually displayed with an ascending counter on the left, such as a number or letter.
883
849
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/li
884
850
  *
885
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLLiElement}
886
851
  */
887
852
  export const li = elements.li
888
853
 
@@ -891,7 +856,6 @@ export const li = elements.li
891
856
  * A semantic alternative to <ul>, but treated by browsers (and exposed through the accessibility tree) as no different than <ul>. It represents an unordered list of items (which are represented by <li> elements).
892
857
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/menu
893
858
  *
894
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLMenuElement}
895
859
  */
896
860
  export const menu = elements.menu
897
861
 
@@ -900,7 +864,6 @@ export const menu = elements.menu
900
864
  * Represents an ordered list of items — typically rendered as a numbered list.
901
865
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ol
902
866
  *
903
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLOlElement}
904
867
  */
905
868
  export const ol = elements.ol
906
869
 
@@ -909,7 +872,6 @@ export const ol = elements.ol
909
872
  * Represents a paragraph. Paragraphs are usually represented in visual media as blocks of text separated from adjacent blocks by blank lines and/or first-line indentation, but HTML paragraphs can be any structural grouping of related content, such as images or form fields.
910
873
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/p
911
874
  *
912
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLPElement}
913
875
  */
914
876
  export const p = elements.p
915
877
 
@@ -918,7 +880,6 @@ export const p = elements.p
918
880
  * Represents preformatted text which is to be presented exactly as written in the HTML file. The text is typically rendered using a non-proportional, or monospaced, font. Whitespace inside this element is displayed as written.
919
881
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/pre
920
882
  *
921
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLPreElement}
922
883
  */
923
884
  export const pre = elements.pre
924
885
 
@@ -927,7 +888,6 @@ export const pre = elements.pre
927
888
  * Represents an unordered list of items, typically rendered as a bulleted list.
928
889
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ul
929
890
  *
930
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLUlElement}
931
891
  */
932
892
  export const ul = elements.ul
933
893
 
@@ -936,7 +896,6 @@ export const ul = elements.ul
936
896
  * Together with its href attribute, creates a hyperlink to web pages, files, email addresses, locations within the current page, or anything else a URL can address.
937
897
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/a
938
898
  *
939
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLAElement}
940
899
  */
941
900
  export const a = elements.a
942
901
 
@@ -945,7 +904,6 @@ export const a = elements.a
945
904
  * Represents an abbreviation or acronym.
946
905
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/abbr
947
906
  *
948
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLAbbrElement}
949
907
  */
950
908
  export const abbr = elements.abbr
951
909
 
@@ -954,7 +912,6 @@ export const abbr = elements.abbr
954
912
  * Used to draw the reader's attention to the element's contents, which are not otherwise granted special importance. This was formerly known as the Boldface element, and most browsers still draw the text in boldface. However, you should not use <b> for styling text or granting importance. If you wish to create boldface text, you should use the CSS font-weight property. If you wish to indicate an element is of special importance, you should use the <strong> element.
955
913
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/b
956
914
  *
957
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLBElement}
958
915
  */
959
916
  export const b = elements.b
960
917
 
@@ -963,7 +920,6 @@ export const b = elements.b
963
920
  * Tells the browser's bidirectional algorithm to treat the text it contains in isolation from its surrounding text. It's particularly useful when a website dynamically inserts some text and doesn't know the directionality of the text being inserted.
964
921
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/bdi
965
922
  *
966
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLBdiElement}
967
923
  */
968
924
  export const bdi = elements.bdi
969
925
 
@@ -972,7 +928,6 @@ export const bdi = elements.bdi
972
928
  * Overrides the current directionality of text, so that the text within is rendered in a different direction.
973
929
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/bdo
974
930
  *
975
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLBdoElement}
976
931
  */
977
932
  export const bdo = elements.bdo
978
933
 
@@ -981,7 +936,6 @@ export const bdo = elements.bdo
981
936
  * Produces a line break in text (carriage-return). It is useful for writing a poem or an address, where the division of lines is significant.
982
937
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/br
983
938
  *
984
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLBrElement}
985
939
  */
986
940
  export const br = elements.br
987
941
 
@@ -990,7 +944,6 @@ export const br = elements.br
990
944
  * Used to mark up the title of a creative work. The reference may be in an abbreviated form according to context-appropriate conventions related to citation metadata.
991
945
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/cite
992
946
  *
993
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLCiteElement}
994
947
  */
995
948
  export const cite = elements.cite
996
949
 
@@ -999,7 +952,6 @@ export const cite = elements.cite
999
952
  * Displays its contents styled in a fashion intended to indicate that the text is a short fragment of computer code. By default, the content text is displayed using the user agent's default monospace font.
1000
953
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/code
1001
954
  *
1002
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLCodeElement}
1003
955
  */
1004
956
  export const code = elements.code
1005
957
 
@@ -1008,7 +960,6 @@ export const code = elements.code
1008
960
  * Links a given piece of content with a machine-readable translation. If the content is time- or date-related, the <time> element must be used.
1009
961
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/data
1010
962
  *
1011
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDataElement}
1012
963
  */
1013
964
  export const data = elements.data
1014
965
 
@@ -1017,7 +968,6 @@ export const data = elements.data
1017
968
  * Used to indicate the term being defined within the context of a definition phrase or sentence. The ancestor <p> element, the <dt>/<dd> pairing, or the nearest section ancestor of the <dfn> element, is considered to be the definition of the term.
1018
969
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dfn
1019
970
  *
1020
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDfnElement}
1021
971
  */
1022
972
  export const dfn = elements.dfn
1023
973
 
@@ -1026,7 +976,6 @@ export const dfn = elements.dfn
1026
976
  * Marks text that has stress emphasis. The <em> element can be nested, with each nesting level indicating a greater degree of emphasis.
1027
977
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/em
1028
978
  *
1029
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLEmElement}
1030
979
  */
1031
980
  export const em = elements.em
1032
981
 
@@ -1035,7 +984,6 @@ export const em = elements.em
1035
984
  * Represents a range of text that is set off from the normal text for some reason, such as idiomatic text, technical terms, and taxonomical designations, among others. Historically, these have been presented using italicized type, which is the original source of the <i> naming of this element.
1036
985
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/i
1037
986
  *
1038
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLIElement}
1039
987
  */
1040
988
  export const i = elements.i
1041
989
 
@@ -1044,7 +992,6 @@ export const i = elements.i
1044
992
  * Represents a span of inline text denoting textual user input from a keyboard, voice input, or any other text entry device. By convention, the user agent defaults to rendering the contents of a <kbd> element using its default monospace font, although this is not mandated by the HTML standard.
1045
993
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/kbd
1046
994
  *
1047
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLKbdElement}
1048
995
  */
1049
996
  export const kbd = elements.kbd
1050
997
 
@@ -1053,7 +1000,6 @@ export const kbd = elements.kbd
1053
1000
  * Represents text which is marked or highlighted for reference or notation purposes due to the marked passage's relevance in the enclosing context.
1054
1001
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/mark
1055
1002
  *
1056
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLMarkElement}
1057
1003
  */
1058
1004
  export const mark = elements.mark
1059
1005
 
@@ -1062,7 +1008,6 @@ export const mark = elements.mark
1062
1008
  * Indicates that the enclosed text is a short inline quotation. Most modern browsers implement this by surrounding the text in quotation marks. This element is intended for short quotations that don't require paragraph breaks; for long quotations use the <blockquote> element.
1063
1009
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/q>
1064
1010
  *
1065
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLQElement}
1066
1011
  */
1067
1012
  export const q = elements.q
1068
1013
 
@@ -1071,7 +1016,6 @@ export const q = elements.q
1071
1016
  * Used to provide fall-back parentheses for browsers that do not support the display of ruby annotations using the <ruby> element. One <rp> element should enclose each of the opening and closing parentheses that wrap the <rt> element that contains the annotation's text.
1072
1017
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/rp
1073
1018
  *
1074
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLRpElement}
1075
1019
  */
1076
1020
  export const rp = elements.rp
1077
1021
 
@@ -1080,7 +1024,6 @@ export const rp = elements.rp
1080
1024
  * Specifies the ruby text component of a ruby annotation, which is used to provide pronunciation, translation, or transliteration information for East Asian typography. The <rt> element must always be contained within a <ruby> element.
1081
1025
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/rt
1082
1026
  *
1083
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLRtElement}
1084
1027
  */
1085
1028
  export const rt = elements.rt
1086
1029
 
@@ -1089,7 +1032,6 @@ export const rt = elements.rt
1089
1032
  * Represents small annotations that are rendered above, below, or next to base text, usually used for showing the pronunciation of East Asian characters. It can also be used for annotating other kinds of text, but this usage is less common.
1090
1033
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ruby
1091
1034
  *
1092
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLRubyElement}
1093
1035
  */
1094
1036
  export const ruby = elements.ruby
1095
1037
 
@@ -1098,7 +1040,6 @@ export const ruby = elements.ruby
1098
1040
  * Renders text with a strikethrough, or a line through it. Use the <s> element to represent things that are no longer relevant or no longer accurate. However, <s> is not appropriate when indicating document edits; for that, use the <del> and <ins> elements, as appropriate.
1099
1041
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/s
1100
1042
  *
1101
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSElement}
1102
1043
  */
1103
1044
  export const s = elements.s
1104
1045
 
@@ -1107,7 +1048,6 @@ export const s = elements.s
1107
1048
  * Used to enclose inline text which represents sample (or quoted) output from a computer program. Its contents are typically rendered using the browser's default monospaced font (such as Courier or Lucida Console).
1108
1049
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/samp
1109
1050
  *
1110
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSampElement}
1111
1051
  */
1112
1052
  export const samp = elements.samp
1113
1053
 
@@ -1116,7 +1056,6 @@ export const samp = elements.samp
1116
1056
  * Represents side-comments and small print, like copyright and legal text, independent of its styled presentation. By default, it renders text within it one font size smaller, such as from small to x-small.
1117
1057
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/small
1118
1058
  *
1119
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSmallElement}
1120
1059
  */
1121
1060
  export const small = elements.small
1122
1061
 
@@ -1125,7 +1064,6 @@ export const small = elements.small
1125
1064
  * A generic inline container for phrasing content, which does not inherently represent anything. It can be used to group elements for styling purposes (using the class or id attributes), or because they share attribute values, such as lang. It should be used only when no other semantic element is appropriate. <span> is very much like a div element, but div is a block-level element whereas a <span> is an inline-level element.
1126
1065
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/span
1127
1066
  *
1128
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSpanElement}
1129
1067
  */
1130
1068
  export const span = elements.span
1131
1069
 
@@ -1134,7 +1072,6 @@ export const span = elements.span
1134
1072
  * Indicates that its contents have strong importance, seriousness, or urgency. Browsers typically render the contents in bold type.
1135
1073
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/strong
1136
1074
  *
1137
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLStrongElement}
1138
1075
  */
1139
1076
  export const strong = elements.strong
1140
1077
 
@@ -1143,7 +1080,6 @@ export const strong = elements.strong
1143
1080
  * Specifies inline text which should be displayed as subscript for solely typographical reasons. Subscripts are typically rendered with a lowered baseline using smaller text.
1144
1081
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/sub
1145
1082
  *
1146
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSubElement}
1147
1083
  */
1148
1084
  export const sub = elements.sub
1149
1085
 
@@ -1152,7 +1088,6 @@ export const sub = elements.sub
1152
1088
  * Specifies inline text which is to be displayed as superscript for solely typographical reasons. Superscripts are usually rendered with a raised baseline using smaller text.
1153
1089
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/sup
1154
1090
  *
1155
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSupElement}
1156
1091
  */
1157
1092
  export const sup = elements.sup
1158
1093
 
@@ -1161,7 +1096,6 @@ export const sup = elements.sup
1161
1096
  * Represents a specific period in time. It may include the datetime attribute to translate dates into machine-readable format, allowing for better search engine results or custom features such as reminders.
1162
1097
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/time
1163
1098
  *
1164
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTimeElement}
1165
1099
  */
1166
1100
  export const time = elements.time
1167
1101
 
@@ -1170,7 +1104,6 @@ export const time = elements.time
1170
1104
  * Represents a span of inline text which should be rendered in a way that indicates that it has a non-textual annotation. This is rendered by default as a single solid underline but may be altered using CSS.
1171
1105
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/u
1172
1106
  *
1173
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLUElement}
1174
1107
  */
1175
1108
  export const u = elements.u
1176
1109
 
@@ -1179,7 +1112,6 @@ export const u = elements.u
1179
1112
  * Represents the name of a variable in a mathematical expression or a programming context. It's typically presented using an italicized version of the current typeface, although that behavior is browser-dependent.
1180
1113
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/var
1181
1114
  *
1182
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLVarElement}
1183
1115
  */
1184
1116
  export const htmlvar = elements.var
1185
1117
 
@@ -1188,7 +1120,6 @@ export const htmlvar = elements.var
1188
1120
  * Represents a word break opportunity—a position within text where the browser may optionally break a line, though its line-breaking rules would not otherwise create a break at that location.
1189
1121
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/wbr
1190
1122
  *
1191
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLWbrElement}
1192
1123
  */
1193
1124
  export const wbr = elements.wbr
1194
1125
 
@@ -1197,7 +1128,6 @@ export const wbr = elements.wbr
1197
1128
  * Defines an area inside an image map that has predefined clickable areas. An image map allows geometric areas on an image to be associated with hyperlink.
1198
1129
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/area
1199
1130
  *
1200
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLAreaElement}
1201
1131
  */
1202
1132
  export const area = elements.area
1203
1133
 
@@ -1206,7 +1136,6 @@ export const area = elements.area
1206
1136
  * Used to embed sound content in documents. It may contain one or more audio sources, represented using the src attribute or the source element: the browser will choose the most suitable one. It can also be the destination for streamed media, using a MediaStream.
1207
1137
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/audio
1208
1138
  *
1209
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLAudioElement}
1210
1139
  */
1211
1140
  export const audio = elements.audio
1212
1141
 
@@ -1215,7 +1144,6 @@ export const audio = elements.audio
1215
1144
  * Embeds an image into the document.
1216
1145
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/img
1217
1146
  *
1218
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLImgElement}
1219
1147
  */
1220
1148
  export const img = elements.img
1221
1149
 
@@ -1224,7 +1152,6 @@ export const img = elements.img
1224
1152
  * Used with <area> elements to define an image map (a clickable link area).
1225
1153
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/map
1226
1154
  *
1227
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLMapElement}
1228
1155
  */
1229
1156
  export const map = elements.map
1230
1157
 
@@ -1233,7 +1160,6 @@ export const map = elements.map
1233
1160
  * Used as a child of the media elements, audio and video. It lets you specify timed text tracks (or time-based data), for example to automatically handle subtitles. The tracks are formatted in WebVTT format (.vtt files)—Web Video Text Tracks.
1234
1161
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/track
1235
1162
  *
1236
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTrackElement}
1237
1163
  */
1238
1164
  export const track = elements.track
1239
1165
 
@@ -1242,7 +1168,6 @@ export const track = elements.track
1242
1168
  * Embeds a media player which supports video playback into the document. You can also use <video> for audio content, but the audio element may provide a more appropriate user experience.
1243
1169
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/video
1244
1170
  *
1245
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLVideoElement}
1246
1171
  */
1247
1172
  export const video = elements.video
1248
1173
 
@@ -1251,7 +1176,6 @@ export const video = elements.video
1251
1176
  * Embeds external content at the specified point in the document. This content is provided by an external application or other source of interactive content such as a browser plug-in.
1252
1177
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/embed
1253
1178
  *
1254
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLEmbedElement}
1255
1179
  */
1256
1180
  export const embed = elements.embed
1257
1181
 
@@ -1260,7 +1184,6 @@ export const embed = elements.embed
1260
1184
  * Represents a nested browsing context, embedding another HTML page into the current one.
1261
1185
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe
1262
1186
  *
1263
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLIframeElement}
1264
1187
  */
1265
1188
  export const iframe = elements.iframe
1266
1189
 
@@ -1269,7 +1192,6 @@ export const iframe = elements.iframe
1269
1192
  * Represents an external resource, which can be treated as an image, a nested browsing context, or a resource to be handled by a plugin.
1270
1193
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/object
1271
1194
  *
1272
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLObjectElement}
1273
1195
  */
1274
1196
  export const object = elements.object
1275
1197
 
@@ -1278,7 +1200,6 @@ export const object = elements.object
1278
1200
  * Contains zero or more <source> elements and one <img> element to offer alternative versions of an image for different display/device scenarios.
1279
1201
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/picture
1280
1202
  *
1281
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLPictureElement}
1282
1203
  */
1283
1204
  export const picture = elements.picture
1284
1205
 
@@ -1287,7 +1208,6 @@ export const picture = elements.picture
1287
1208
  * Specifies multiple media resources for the picture, the audio element, or the video element. It is a void element, meaning that it has no content and does not have a closing tag. It is commonly used to offer the same media content in multiple file formats in order to provide compatibility with a broad range of browsers given their differing support for image file formats and media file formats.
1288
1209
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/source
1289
1210
  *
1290
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSourceElement}
1291
1211
  */
1292
1212
  export const source = elements.source
1293
1213
 
@@ -1296,7 +1216,6 @@ export const source = elements.source
1296
1216
  * Container element to use with either the canvas scripting API or the WebGL API to draw graphics and animations.
1297
1217
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/canvas
1298
1218
  *
1299
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLCanvasElement}
1300
1219
  */
1301
1220
  export const canvas = elements.canvas
1302
1221
 
@@ -1305,7 +1224,6 @@ export const canvas = elements.canvas
1305
1224
  * Defines a section of HTML to be inserted if a script type on the page is unsupported or if scripting is currently turned off in the browser.
1306
1225
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/noscript
1307
1226
  *
1308
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLNoscriptElement}
1309
1227
  */
1310
1228
  export const noscript = elements.noscript
1311
1229
 
@@ -1314,7 +1232,6 @@ export const noscript = elements.noscript
1314
1232
  * Used to embed executable code or data; this is typically used to embed or refer to JavaScript code. The <script> element can also be used with other languages, such as WebGL's GLSL shader programming language and JSON.
1315
1233
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script
1316
1234
  *
1317
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLScriptElement}
1318
1235
  */
1319
1236
  export const script = elements.script
1320
1237
 
@@ -1323,7 +1240,6 @@ export const script = elements.script
1323
1240
  * Represents a range of text that has been deleted from a document. This can be used when rendering "track changes" or source code diff information, for example. The <ins> element can be used for the opposite purpose: to indicate text that has been added to the document.
1324
1241
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/del
1325
1242
  *
1326
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDelElement}
1327
1243
  */
1328
1244
  export const del = elements.del
1329
1245
 
@@ -1332,7 +1248,6 @@ export const del = elements.del
1332
1248
  * Represents a range of text that has been added to a document. You can use the <del> element to similarly represent a range of text that has been deleted from the document.
1333
1249
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/ins
1334
1250
  *
1335
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLInsElement}
1336
1251
  */
1337
1252
  export const ins = elements.ins
1338
1253
 
@@ -1341,7 +1256,6 @@ export const ins = elements.ins
1341
1256
  * Specifies the caption (or title) of a table.
1342
1257
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/caption
1343
1258
  *
1344
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLCaptionElement}
1345
1259
  */
1346
1260
  export const caption = elements.caption
1347
1261
 
@@ -1350,7 +1264,6 @@ export const caption = elements.caption
1350
1264
  * Defines one or more columns in a column group represented by its implicit or explicit parent <colgroup> element. The <col> element is only valid as a child of a <colgroup> element that has no span attribute defined.
1351
1265
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/col
1352
1266
  *
1353
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLColElement}
1354
1267
  */
1355
1268
  export const col = elements.col
1356
1269
 
@@ -1359,7 +1272,6 @@ export const col = elements.col
1359
1272
  * Defines a group of columns within a table.
1360
1273
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/colgroup
1361
1274
  *
1362
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLColgroupElement}
1363
1275
  */
1364
1276
  export const colgroup = elements.colgroup
1365
1277
 
@@ -1368,7 +1280,6 @@ export const colgroup = elements.colgroup
1368
1280
  * Represents tabular data—that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.
1369
1281
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/table
1370
1282
  *
1371
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTableElement}
1372
1283
  */
1373
1284
  export const table = elements.table
1374
1285
 
@@ -1377,7 +1288,6 @@ export const table = elements.table
1377
1288
  * Encapsulates a set of table rows (<tr> elements), indicating that they comprise the body of a table's (main) data.
1378
1289
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/tbody
1379
1290
  *
1380
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTbodyElement}
1381
1291
  */
1382
1292
  export const tbody = elements.tbody
1383
1293
 
@@ -1386,7 +1296,6 @@ export const tbody = elements.tbody
1386
1296
  * A child of the <tr> element, it defines a cell of a table that contains data.
1387
1297
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/td
1388
1298
  *
1389
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTdElement}
1390
1299
  */
1391
1300
  export const td = elements.td
1392
1301
 
@@ -1395,7 +1304,6 @@ export const td = elements.td
1395
1304
  * Encapsulates a set of table rows (<tr> elements), indicating that they comprise the foot of a table with information about the table's columns. This is usually a summary of the columns, e.g., a sum of the given numbers in a column.
1396
1305
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/tfoot
1397
1306
  *
1398
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTfootElement}
1399
1307
  */
1400
1308
  export const tfoot = elements.tfoot
1401
1309
 
@@ -1404,7 +1312,6 @@ export const tfoot = elements.tfoot
1404
1312
  * A child of the <tr> element, it defines a cell as the header of a group of table cells. The nature of this group can be explicitly defined by the scope and headers attributes.
1405
1313
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/th
1406
1314
  *
1407
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLThElement}
1408
1315
  */
1409
1316
  export const th = elements.th
1410
1317
 
@@ -1413,7 +1320,6 @@ export const th = elements.th
1413
1320
  * Encapsulates a set of table rows (<tr> elements), indicating that they comprise the head of a table with information about the table's columns. This is usually in the form of column headers (<th> elements).
1414
1321
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/thead
1415
1322
  *
1416
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTheadElement}
1417
1323
  */
1418
1324
  export const thead = elements.thead
1419
1325
 
@@ -1422,7 +1328,6 @@ export const thead = elements.thead
1422
1328
  * Defines a row of cells in a table. The row's cells can then be established using a mix of <td> (data cell) and <th> (header cell) elements.
1423
1329
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/tr
1424
1330
  *
1425
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTrElement}
1426
1331
  */
1427
1332
  export const tr = elements.tr
1428
1333
 
@@ -1431,7 +1336,6 @@ export const tr = elements.tr
1431
1336
  * An interactive element activated by a user with a mouse, keyboard, finger, voice command, or other assistive technology. Once activated, it performs an action, such as submitting a form or opening a dialog.
1432
1337
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button
1433
1338
  *
1434
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLButtonElement}
1435
1339
  */
1436
1340
  export const button = elements.button
1437
1341
 
@@ -1440,7 +1344,6 @@ export const button = elements.button
1440
1344
  * Contains a set of <option> elements that represent the permissible or recommended options available to choose from within other controls.
1441
1345
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/datalist
1442
1346
  *
1443
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDatalistElement}
1444
1347
  */
1445
1348
  export const datalist = elements.datalist
1446
1349
 
@@ -1449,7 +1352,6 @@ export const datalist = elements.datalist
1449
1352
  * Used to group several controls as well as labels (<label>) within a web form.
1450
1353
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/fieldset
1451
1354
  *
1452
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLFieldsetElement}
1453
1355
  */
1454
1356
  export const fieldset = elements.fieldset
1455
1357
 
@@ -1458,7 +1360,6 @@ export const fieldset = elements.fieldset
1458
1360
  * Represents a document section containing interactive controls for submitting information.
1459
1361
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/form
1460
1362
  *
1461
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLFormElement}
1462
1363
  */
1463
1364
  export const form = elements.form
1464
1365
 
@@ -1467,7 +1368,6 @@ export const form = elements.form
1467
1368
  * Used to create interactive controls for web-based forms to accept data from the user; a wide variety of types of input data and control widgets are available, depending on the device and user agent. The <input> element is one of the most powerful and complex in all of HTML due to the sheer number of combinations of input types and attributes.
1468
1369
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input
1469
1370
  *
1470
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLInputElement}
1471
1371
  */
1472
1372
  export const input = elements.input
1473
1373
 
@@ -1476,7 +1376,6 @@ export const input = elements.input
1476
1376
  * Represents a caption for an item in a user interface.
1477
1377
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/label
1478
1378
  *
1479
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLLabelElement}
1480
1379
  */
1481
1380
  export const label = elements.label
1482
1381
 
@@ -1485,7 +1384,6 @@ export const label = elements.label
1485
1384
  * Represents a caption for the content of its parent <fieldset>.
1486
1385
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/legend
1487
1386
  *
1488
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLLegendElement}
1489
1387
  */
1490
1388
  export const legend = elements.legend
1491
1389
 
@@ -1494,7 +1392,6 @@ export const legend = elements.legend
1494
1392
  * Represents either a scalar value within a known range or a fractional value.
1495
1393
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/meter
1496
1394
  *
1497
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLMeterElement}
1498
1395
  */
1499
1396
  export const meter = elements.meter
1500
1397
 
@@ -1503,7 +1400,6 @@ export const meter = elements.meter
1503
1400
  * Creates a grouping of options within a <select> element.
1504
1401
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/optgroup
1505
1402
  *
1506
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLOptgroupElement}
1507
1403
  */
1508
1404
  export const optgroup = elements.optgroup
1509
1405
 
@@ -1512,7 +1408,6 @@ export const optgroup = elements.optgroup
1512
1408
  * Used to define an item contained in a select, an <optgroup>, or a <datalist> element. As such, <option> can represent menu items in popups and other lists of items in an HTML document.
1513
1409
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/option
1514
1410
  *
1515
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLOptionElement}
1516
1411
  */
1517
1412
  export const option = elements.option
1518
1413
 
@@ -1521,7 +1416,6 @@ export const option = elements.option
1521
1416
  * Container element into which a site or app can inject the results of a calculation or the outcome of a user action.
1522
1417
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/output
1523
1418
  *
1524
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLOutputElement}
1525
1419
  */
1526
1420
  export const output = elements.output
1527
1421
 
@@ -1530,7 +1424,6 @@ export const output = elements.output
1530
1424
  * Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.
1531
1425
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/progress
1532
1426
  *
1533
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLProgressElement}
1534
1427
  */
1535
1428
  export const progress = elements.progress
1536
1429
 
@@ -1539,7 +1432,6 @@ export const progress = elements.progress
1539
1432
  * Represents a control that provides a menu of options.
1540
1433
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/select
1541
1434
  *
1542
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSelectElement}
1543
1435
  */
1544
1436
  export const select = elements.select
1545
1437
 
@@ -1548,7 +1440,6 @@ export const select = elements.select
1548
1440
  * Represents a multi-line plain-text editing control, useful when you want to allow users to enter a sizeable amount of free-form text, for example, a comment on a review or feedback form.
1549
1441
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/textarea
1550
1442
  *
1551
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTextareaElement}
1552
1443
  */
1553
1444
  export const textarea = elements.textarea
1554
1445
 
@@ -1557,7 +1448,6 @@ export const textarea = elements.textarea
1557
1448
  * Creates a disclosure widget in which information is visible only when the widget is toggled into an "open" state. A summary or label must be provided using the <summary> element.
1558
1449
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/details
1559
1450
  *
1560
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDetailsElement}
1561
1451
  */
1562
1452
  export const details = elements.details
1563
1453
 
@@ -1566,7 +1456,6 @@ export const details = elements.details
1566
1456
  * Represents a dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.
1567
1457
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/dialog
1568
1458
  *
1569
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLDialogElement}
1570
1459
  */
1571
1460
  export const dialog = elements.dialog
1572
1461
 
@@ -1575,7 +1464,6 @@ export const dialog = elements.dialog
1575
1464
  * Specifies a summary, caption, or legend for a details element's disclosure box. Clicking the <summary> element toggles the state of the parent <details> element open and closed.
1576
1465
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/summary
1577
1466
  *
1578
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSummaryElement}
1579
1467
  */
1580
1468
  export const summary = elements.summary
1581
1469
 
@@ -1584,7 +1472,6 @@ export const summary = elements.summary
1584
1472
  * Part of the Web Components technology suite, this element is a placeholder inside a web component that you can fill with your own markup, which lets you create separate DOM trees and present them together.
1585
1473
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/slot
1586
1474
  *
1587
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLSlotElement}
1588
1475
  */
1589
1476
  export const slot = elements.slot
1590
1477
 
@@ -1593,7 +1480,6 @@ export const slot = elements.slot
1593
1480
  * A mechanism for holding HTML that is not to be rendered immediately when a page is loaded but may be instantiated subsequently during runtime using JavaScript.
1594
1481
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/template
1595
1482
  *
1596
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLTemplateElement}
1597
1483
  */
1598
1484
  export const template = elements.template
1599
1485
 
@@ -1602,7 +1488,6 @@ export const template = elements.template
1602
1488
  * An ancient and poorly supported precursor to the <img> element. It should not be used.
1603
1489
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/image
1604
1490
  *
1605
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLImageElement}
1606
1491
  */
1607
1492
  export const image = elements.image
1608
1493
 
@@ -1611,7 +1496,6 @@ export const image = elements.image
1611
1496
  * Used to delimit the base text component of a ruby annotation, i.e., the text that is being annotated. One <rb> element should wrap each separate atomic segment of the base text.
1612
1497
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/rb
1613
1498
  *
1614
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLRbElement}
1615
1499
  */
1616
1500
  export const rb = elements.rb
1617
1501
 
@@ -1620,7 +1504,6 @@ export const rb = elements.rb
1620
1504
  * Embraces semantic annotations of characters presented in a ruby of <rb> elements used inside of <ruby> element. <rb> elements can have both pronunciation (<rt>) and semantic (<rtc>) annotations.
1621
1505
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/rtc
1622
1506
  *
1623
- * @type {(props?: object, ...children: (string | number | Node)[]) => HTMLRtcElement}
1624
1507
  */
1625
1508
  export const rtc = elements.rtc
1626
1509
 
@@ -1628,7 +1511,6 @@ export const rtc = elements.rtc
1628
1511
  * The <animate> SVG element provides a way to animate an attribute of an element over time.
1629
1512
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/animate
1630
1513
  *
1631
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGAnimateElement }
1632
1514
  */
1633
1515
  export const animate = elements.animate
1634
1516
 
@@ -1636,7 +1518,6 @@ export const animate = elements.animate
1636
1518
  * The <animateMotion> SVG element provides a way to define how an element moves along a motion path.
1637
1519
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/animateMotion
1638
1520
  *
1639
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGAnimateMotionElement }
1640
1521
  */
1641
1522
  export const animateMotion = elements.animateMotion
1642
1523
 
@@ -1644,7 +1525,6 @@ export const animateMotion = elements.animateMotion
1644
1525
  * The <animateTransform> SVG element animates a transformation attribute on its target element, thereby allowing animations to control translation, scaling, rotation, and/or skewing.
1645
1526
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/animateTransform
1646
1527
  *
1647
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGAnimateTransformElement }
1648
1528
  */
1649
1529
  export const animateTransform = elements.animateTransform
1650
1530
 
@@ -1652,7 +1532,6 @@ export const animateTransform = elements.animateTransform
1652
1532
  * The <mpath> SVG sub-element for the <animateMotion> element provides the ability to reference an external <path> element as the definition of a motion path.
1653
1533
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/mpath
1654
1534
  *
1655
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGMpathElement }
1656
1535
  */
1657
1536
  export const mpath = elements.mpath
1658
1537
 
@@ -1660,7 +1539,6 @@ export const mpath = elements.mpath
1660
1539
  * The <set> SVG element provides a method of setting the value of an attribute for a specified duration.
1661
1540
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/set
1662
1541
  *
1663
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGSetElement }
1664
1542
  */
1665
1543
  export const set = elements.set
1666
1544
 
@@ -1668,7 +1546,6 @@ export const set = elements.set
1668
1546
  * The <circle> SVG element is an SVG basic shape, used to draw circles based on a center point and a radius.
1669
1547
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/circle
1670
1548
  *
1671
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGCircleElement }
1672
1549
  */
1673
1550
  export const circle = elements.circle
1674
1551
 
@@ -1676,7 +1553,6 @@ export const circle = elements.circle
1676
1553
  * The <ellipse> SVG element is an SVG basic shape, used to create ellipses based on a center coordinate, and both their x and y radius.
1677
1554
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/ellipse
1678
1555
  *
1679
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGEllipseElement }
1680
1556
  */
1681
1557
  export const ellipse = elements.ellipse
1682
1558
 
@@ -1684,7 +1560,6 @@ export const ellipse = elements.ellipse
1684
1560
  * The <line> SVG element is an SVG basic shape used to create a line connecting two points.
1685
1561
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/line
1686
1562
  *
1687
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGLineElement }
1688
1563
  */
1689
1564
  export const line = elements.line
1690
1565
 
@@ -1692,7 +1567,6 @@ export const line = elements.line
1692
1567
  * The <path> SVG element is the generic element to define a shape. All the basic shapes can be created with a path element.
1693
1568
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/path
1694
1569
  *
1695
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGPathElement }
1696
1570
  */
1697
1571
  export const path = elements.path
1698
1572
 
@@ -1700,7 +1574,6 @@ export const path = elements.path
1700
1574
  * The <polygon> SVG element defines a closed shape consisting of a set of connected straight line segments. The last point is connected to the first point.
1701
1575
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/polygon
1702
1576
  *
1703
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGPolygonElement }
1704
1577
  */
1705
1578
  export const polygon = elements.polygon
1706
1579
 
@@ -1708,7 +1581,6 @@ export const polygon = elements.polygon
1708
1581
  * The <polyline> SVG element is an SVG basic shape that creates straight lines connecting several points. Typically a polyline is used to create open shapes as the last point doesn't have to be connected to the first point. For closed shapes see the <polygon> element.
1709
1582
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/polyline
1710
1583
  *
1711
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGPolylineElement }
1712
1584
  */
1713
1585
  export const polyline = elements.polyline
1714
1586
 
@@ -1716,7 +1588,6 @@ export const polyline = elements.polyline
1716
1588
  * The <rect> SVG element is a basic SVG shape that draws rectangles, defined by their position, width, and height. The rectangles may have their corners rounded.
1717
1589
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/rect
1718
1590
  *
1719
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGRectElement }
1720
1591
  */
1721
1592
  export const rect = elements.rect
1722
1593
 
@@ -1724,7 +1595,6 @@ export const rect = elements.rect
1724
1595
  * The <defs> SVG element is used to store graphical objects that will be used at a later time. Objects created inside a <defs> element are not rendered directly. To display them you have to reference them (with a <use> element for example).
1725
1596
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/defs
1726
1597
  *
1727
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGDefsElement }
1728
1598
  */
1729
1599
  export const defs = elements.defs
1730
1600
 
@@ -1732,7 +1602,6 @@ export const defs = elements.defs
1732
1602
  * The <g> SVG element is a container used to group other SVG elements.
1733
1603
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/g
1734
1604
  *
1735
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGGElement }
1736
1605
  */
1737
1606
  export const g = elements.g
1738
1607
 
@@ -1740,7 +1609,6 @@ export const g = elements.g
1740
1609
  * The <marker> SVG element defines a graphic used for drawing arrowheads or polymarkers on a given <path>, <line>, <polyline> or <polygon> element.
1741
1610
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/marker
1742
1611
  *
1743
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGMarkerElement }
1744
1612
  */
1745
1613
  export const marker = elements.marker
1746
1614
 
@@ -1748,7 +1616,6 @@ export const marker = elements.marker
1748
1616
  * The <mask> SVG element defines a mask for compositing the current object into the background. A mask is used/referenced using the mask property and CSS mask-image property.
1749
1617
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/mask
1750
1618
  *
1751
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGMaskElement }
1752
1619
  */
1753
1620
  export const mask = elements.mask
1754
1621
 
@@ -1756,7 +1623,6 @@ export const mask = elements.mask
1756
1623
  * The <pattern> SVG element defines a graphics object which can be redrawn at repeated x- and y-coordinate intervals ("tiled") to cover an area.
1757
1624
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/pattern
1758
1625
  *
1759
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGPatternElement }
1760
1626
  */
1761
1627
  export const pattern = elements.pattern
1762
1628
 
@@ -1764,7 +1630,6 @@ export const pattern = elements.pattern
1764
1630
  * The <svg> SVG element is a container that defines a new coordinate system and viewport. It is used as the outermost element of SVG documents, but it can also be used to embed an SVG fragment inside an SVG or HTML document.
1765
1631
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/svg
1766
1632
  *
1767
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGSvgElement }
1768
1633
  */
1769
1634
  export const svg = elements.svg
1770
1635
 
@@ -1772,7 +1637,6 @@ export const svg = elements.svg
1772
1637
  * The <switch> SVG element evaluates any requiredFeatures, requiredExtensions and systemLanguage attributes on its direct child elements in order, and then renders the first child where these attributes evaluate to true.
1773
1638
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/switch
1774
1639
  *
1775
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGSwitchElement }
1776
1640
  */
1777
1641
  export const svgswitch = elements.switch
1778
1642
 
@@ -1780,7 +1644,6 @@ export const svgswitch = elements.switch
1780
1644
  * The <symbol> SVG element is used to define graphical template objects which can be instantiated by a <use> element.
1781
1645
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/symbol
1782
1646
  *
1783
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGSymbolElement }
1784
1647
  */
1785
1648
  export const symbol = elements.symbol
1786
1649
 
@@ -1788,7 +1651,6 @@ export const symbol = elements.symbol
1788
1651
  * The <use> element takes nodes from within an SVG document, and duplicates them somewhere else. The effect is the same as if the nodes were deeply cloned into a non-exposed DOM, then pasted where the <use> element is, much like cloned <template> elements.
1789
1652
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/use
1790
1653
  *
1791
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGUseElement }
1792
1654
  */
1793
1655
  export const use = elements.use
1794
1656
 
@@ -1796,7 +1658,6 @@ export const use = elements.use
1796
1658
  * The <desc> SVG element provides an accessible, long-text description of any SVG container element or graphics element.
1797
1659
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/desc
1798
1660
  *
1799
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGDescElement }
1800
1661
  */
1801
1662
  export const desc = elements.desc
1802
1663
 
@@ -1804,7 +1665,6 @@ export const desc = elements.desc
1804
1665
  * The <metadata> SVG element adds metadata to SVG content. Metadata is structured information about data. The contents of <metadata> should be elements from other XML namespaces such as RDF, FOAF, etc.
1805
1666
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/metadata
1806
1667
  *
1807
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGMetadataElement }
1808
1668
  */
1809
1669
  export const metadata = elements.metadata
1810
1670
 
@@ -1812,7 +1672,6 @@ export const metadata = elements.metadata
1812
1672
  * The <filter> SVG element defines a custom filter effect by grouping atomic filter primitives. It is never rendered itself, but must be used by the filter attribute on SVG elements, or the filter CSS property for SVG/HTML elements.
1813
1673
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/filter
1814
1674
  *
1815
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFilterElement }
1816
1675
  */
1817
1676
  export const filter = elements.filter
1818
1677
 
@@ -1820,7 +1679,6 @@ export const filter = elements.filter
1820
1679
  * The <feBlend> SVG filter primitive composes two objects together ruled by a certain blending mode. This is similar to what is known from image editing software when blending two layers. The mode is defined by the mode attribute.
1821
1680
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feBlend
1822
1681
  *
1823
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeBlendElement }
1824
1682
  */
1825
1683
  export const feBlend = elements.feBlend
1826
1684
 
@@ -1828,7 +1686,6 @@ export const feBlend = elements.feBlend
1828
1686
  * The <feColorMatrix> SVG filter element changes colors based on a transformation matrix. Every pixel's color value [R,G,B,A] is matrix multiplied by a 5 by 5 color matrix to create new color [R',G',B',A'].
1829
1687
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feColorMatrix
1830
1688
  *
1831
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeColorMatrixElement }
1832
1689
  */
1833
1690
  export const feColorMatrix = elements.feColorMatrix
1834
1691
 
@@ -1836,7 +1693,6 @@ export const feColorMatrix = elements.feColorMatrix
1836
1693
  * The <feComponentTransfer> SVG filter primitive performs color-component-wise remapping of data for each pixel. It allows operations like brightness adjustment, contrast adjustment, color balance or thresholding.
1837
1694
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feComponentTransfer
1838
1695
  *
1839
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeComponentTransferElement }
1840
1696
  */
1841
1697
  export const feComponentTransfer = elements.feComponentTransfer
1842
1698
 
@@ -1844,7 +1700,6 @@ export const feComponentTransfer = elements.feComponentTransfer
1844
1700
  * The <feComposite> SVG filter primitive performs the combination of two input images pixel-wise in image space using one of the Porter-Duff compositing operations: over, in, atop, out, xor, lighter, or arithmetic.
1845
1701
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feComposite
1846
1702
  *
1847
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeCompositeElement }
1848
1703
  */
1849
1704
  export const feComposite = elements.feComposite
1850
1705
 
@@ -1852,7 +1707,6 @@ export const feComposite = elements.feComposite
1852
1707
  * The <feConvolveMatrix> SVG filter primitive applies a matrix convolution filter effect. A convolution combines pixels in the input image with neighboring pixels to produce a resulting image. A wide variety of imaging operations can be achieved through convolutions, including blurring, edge detection, sharpening, embossing and beveling.
1853
1708
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feConvolveMatrix
1854
1709
  *
1855
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeConvolveMatrixElement }
1856
1710
  */
1857
1711
  export const feConvolveMatrix = elements.feConvolveMatrix
1858
1712
 
@@ -1860,7 +1714,6 @@ export const feConvolveMatrix = elements.feConvolveMatrix
1860
1714
  * The <feDiffuseLighting> SVG filter primitive lights an image using the alpha channel as a bump map. The resulting image, which is an RGBA opaque image, depends on the light color, light position and surface geometry of the input bump map.
1861
1715
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feDiffuseLighting
1862
1716
  *
1863
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeDiffuseLightingElement }
1864
1717
  */
1865
1718
  export const feDiffuseLighting = elements.feDiffuseLighting
1866
1719
 
@@ -1868,7 +1721,6 @@ export const feDiffuseLighting = elements.feDiffuseLighting
1868
1721
  * The <feDisplacementMap> SVG filter primitive uses the pixel values from the image from in2 to spatially displace the image from in.
1869
1722
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feDisplacementMap
1870
1723
  *
1871
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeDisplacementMapElement }
1872
1724
  */
1873
1725
  export const feDisplacementMap = elements.feDisplacementMap
1874
1726
 
@@ -1876,7 +1728,6 @@ export const feDisplacementMap = elements.feDisplacementMap
1876
1728
  * The <feDistantLight> SVG filter primitive defines a distant light source that can be used within a lighting filter primitive: <feDiffuseLighting> or <feSpecularLighting>.
1877
1729
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feDistantLight
1878
1730
  *
1879
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeDistantLightElement }
1880
1731
  */
1881
1732
  export const feDistantLight = elements.feDistantLight
1882
1733
 
@@ -1884,7 +1735,6 @@ export const feDistantLight = elements.feDistantLight
1884
1735
  * The <feDropShadow> SVG filter primitive creates a drop shadow of the input image. It can only be used inside a <filter> element.
1885
1736
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feDropShadow
1886
1737
  *
1887
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeDropShadowElement }
1888
1738
  */
1889
1739
  export const feDropShadow = elements.feDropShadow
1890
1740
 
@@ -1892,7 +1742,6 @@ export const feDropShadow = elements.feDropShadow
1892
1742
  * The <feFlood> SVG filter primitive fills the filter subregion with the color and opacity defined by flood-color and flood-opacity.
1893
1743
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feFlood
1894
1744
  *
1895
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeFloodElement }
1896
1745
  */
1897
1746
  export const feFlood = elements.feFlood
1898
1747
 
@@ -1900,7 +1749,6 @@ export const feFlood = elements.feFlood
1900
1749
  * The <feFuncA> SVG filter primitive defines the transfer function for the alpha component of the input graphic of its parent <feComponentTransfer> element.
1901
1750
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feFuncA
1902
1751
  *
1903
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeFuncAElement }
1904
1752
  */
1905
1753
  export const feFuncA = elements.feFuncA
1906
1754
 
@@ -1908,7 +1756,6 @@ export const feFuncA = elements.feFuncA
1908
1756
  * The <feFuncB> SVG filter primitive defines the transfer function for the blue component of the input graphic of its parent <feComponentTransfer> element.
1909
1757
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feFuncB
1910
1758
  *
1911
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeFuncBElement }
1912
1759
  */
1913
1760
  export const feFuncB = elements.feFuncB
1914
1761
 
@@ -1916,7 +1763,6 @@ export const feFuncB = elements.feFuncB
1916
1763
  * The <feFuncG> SVG filter primitive defines the transfer function for the green component of the input graphic of its parent <feComponentTransfer> element.
1917
1764
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feFuncG
1918
1765
  *
1919
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeFuncGElement }
1920
1766
  */
1921
1767
  export const feFuncG = elements.feFuncG
1922
1768
 
@@ -1924,7 +1770,6 @@ export const feFuncG = elements.feFuncG
1924
1770
  * The <feFuncR> SVG filter primitive defines the transfer function for the red component of the input graphic of its parent <feComponentTransfer> element.
1925
1771
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feFuncR
1926
1772
  *
1927
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeFuncRElement }
1928
1773
  */
1929
1774
  export const feFuncR = elements.feFuncR
1930
1775
 
@@ -1932,7 +1777,6 @@ export const feFuncR = elements.feFuncR
1932
1777
  * The <feGaussianBlur> SVG filter primitive blurs the input image by the amount specified in stdDeviation, which defines the bell-curve.
1933
1778
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feGaussianBlur
1934
1779
  *
1935
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeGaussianBlurElement }
1936
1780
  */
1937
1781
  export const feGaussianBlur = elements.feGaussianBlur
1938
1782
 
@@ -1940,7 +1784,6 @@ export const feGaussianBlur = elements.feGaussianBlur
1940
1784
  * The <feImage> SVG filter primitive fetches image data from an external source and provides the pixel data as output (meaning if the external source is an SVG image, it is rasterized.)
1941
1785
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feImage
1942
1786
  *
1943
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeImageElement }
1944
1787
  */
1945
1788
  export const feImage = elements.feImage
1946
1789
 
@@ -1948,7 +1791,6 @@ export const feImage = elements.feImage
1948
1791
  * The <feMerge> SVG element allows filter effects to be applied concurrently instead of sequentially. This is achieved by other filters storing their output via the result attribute and then accessing it in a <feMergeNode> child.
1949
1792
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feMerge
1950
1793
  *
1951
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeMergeElement }
1952
1794
  */
1953
1795
  export const feMerge = elements.feMerge
1954
1796
 
@@ -1956,7 +1798,6 @@ export const feMerge = elements.feMerge
1956
1798
  * The <feMergeNode> SVG takes the result of another filter to be processed by its parent <feMerge>.
1957
1799
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feMergeNode
1958
1800
  *
1959
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeMergeNodeElement }
1960
1801
  */
1961
1802
  export const feMergeNode = elements.feMergeNode
1962
1803
 
@@ -1964,7 +1805,6 @@ export const feMergeNode = elements.feMergeNode
1964
1805
  * The <feMorphology> SVG filter primitive is used to erode or dilate the input image. Its usefulness lies especially in fattening or thinning effects.
1965
1806
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feMorphology
1966
1807
  *
1967
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeMorphologyElement }
1968
1808
  */
1969
1809
  export const feMorphology = elements.feMorphology
1970
1810
 
@@ -1972,7 +1812,6 @@ export const feMorphology = elements.feMorphology
1972
1812
  * The <feOffset> SVG filter primitive enables offsetting an input image relative to its current position. The input image as a whole is offset by the values specified in the dx and dy attributes.
1973
1813
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feOffset
1974
1814
  *
1975
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeOffsetElement }
1976
1815
  */
1977
1816
  export const feOffset = elements.feOffset
1978
1817
 
@@ -1980,7 +1819,6 @@ export const feOffset = elements.feOffset
1980
1819
  * The <fePointLight> SVG filter primitive defines a light source which allows to create a point light effect. It that can be used within a lighting filter primitive: <feDiffuseLighting> or <feSpecularLighting>.
1981
1820
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/fePointLight
1982
1821
  *
1983
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFePointLightElement }
1984
1822
  */
1985
1823
  export const fePointLight = elements.fePointLight
1986
1824
 
@@ -1988,7 +1826,6 @@ export const fePointLight = elements.fePointLight
1988
1826
  * The <feSpecularLighting> SVG filter primitive lights a source graphic using the alpha channel as a bump map. The resulting image is an RGBA image based on the light color. The lighting calculation follows the standard specular component of the Phong lighting model. The resulting image depends on the light color, light position and surface geometry of the input bump map. The result of the lighting calculation is added. The filter primitive assumes that the viewer is at infinity in the z direction.
1989
1827
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feSpecularLighting
1990
1828
  *
1991
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeSpecularLightingElement }
1992
1829
  */
1993
1830
  export const feSpecularLighting = elements.feSpecularLighting
1994
1831
 
@@ -1996,7 +1833,6 @@ export const feSpecularLighting = elements.feSpecularLighting
1996
1833
  * The <feSpotLight> SVG filter primitive defines a light source that can be used to create a spotlight effect. It is used within a lighting filter primitive: <feDiffuseLighting> or <feSpecularLighting>.
1997
1834
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feSpotLight
1998
1835
  *
1999
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeSpotLightElement }
2000
1836
  */
2001
1837
  export const feSpotLight = elements.feSpotLight
2002
1838
 
@@ -2004,7 +1840,6 @@ export const feSpotLight = elements.feSpotLight
2004
1840
  * The <feTile> SVG filter primitive allows to fill a target rectangle with a repeated, tiled pattern of an input image. The effect is similar to the one of a <pattern>.
2005
1841
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feTile
2006
1842
  *
2007
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeTileElement }
2008
1843
  */
2009
1844
  export const feTile = elements.feTile
2010
1845
 
@@ -2012,7 +1847,6 @@ export const feTile = elements.feTile
2012
1847
  * The <feTurbulence> SVG filter primitive creates an image using the Perlin turbulence function. It allows the synthesis of artificial textures like clouds or marble. The resulting image will fill the entire filter primitive subregion.
2013
1848
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/feTurbulence
2014
1849
  *
2015
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGFeTurbulenceElement }
2016
1850
  */
2017
1851
  export const feTurbulence = elements.feTurbulence
2018
1852
 
@@ -2020,7 +1854,6 @@ export const feTurbulence = elements.feTurbulence
2020
1854
  * The <linearGradient> SVG element lets authors define linear gradients to apply to other SVG elements.
2021
1855
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/linearGradient
2022
1856
  *
2023
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGLinearGradientElement }
2024
1857
  */
2025
1858
  export const linearGradient = elements.linearGradient
2026
1859
 
@@ -2028,7 +1861,6 @@ export const linearGradient = elements.linearGradient
2028
1861
  * The <radialGradient> SVG element lets authors define radial gradients that can be applied to fill or stroke of graphical elements.
2029
1862
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/radialGradient
2030
1863
  *
2031
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGRadialGradientElement }
2032
1864
  */
2033
1865
  export const radialGradient = elements.radialGradient
2034
1866
 
@@ -2036,7 +1868,6 @@ export const radialGradient = elements.radialGradient
2036
1868
  * The <stop> SVG element defines a color and its position to use on a gradient. This element is always a child of a <linearGradient> or <radialGradient> element.
2037
1869
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/stop
2038
1870
  *
2039
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGStopElement }
2040
1871
  */
2041
1872
  export const stop = elements.stop
2042
1873
 
@@ -2044,7 +1875,6 @@ export const stop = elements.stop
2044
1875
  * The <foreignObject> SVG element includes elements from a different XML namespace. In the context of a browser, it is most likely (X)HTML.
2045
1876
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/foreignObject
2046
1877
  *
2047
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGForeignObjectElement }
2048
1878
  */
2049
1879
  export const foreignObject = elements.foreignObject
2050
1880
 
@@ -2052,7 +1882,6 @@ export const foreignObject = elements.foreignObject
2052
1882
  * The <text> SVG element draws a graphics element consisting of text. It's possible to apply a gradient, pattern, clipping path, mask, or filter to <text>, like any other SVG graphics element.
2053
1883
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/text
2054
1884
  *
2055
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGTextElement }
2056
1885
  */
2057
1886
  export const text = elements.text
2058
1887
 
@@ -2060,7 +1889,6 @@ export const text = elements.text
2060
1889
  * The <textPath> SVG element is used to render text along the shape of a <path> element. The text must be enclosed in the <textPath> element and its href attribute is used to reference the desired <path>.
2061
1890
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/textPath
2062
1891
  *
2063
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGTextPathElement }
2064
1892
  */
2065
1893
  export const textPath = elements.textPath
2066
1894
 
@@ -2068,7 +1896,6 @@ export const textPath = elements.textPath
2068
1896
  * The <tspan> SVG element defines a subtext within a <text> element or another <tspan> element. It allows for adjustment of the style and/or position of that subtext as needed.
2069
1897
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/tspan
2070
1898
  *
2071
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGTspanElement }
2072
1899
  */
2073
1900
  export const tspan = elements.tspan
2074
1901
 
@@ -2076,7 +1903,6 @@ export const tspan = elements.tspan
2076
1903
  * The <view> SVG element defines a particular view of an SVG document. A specific view can be displayed by referencing the <view> element's id as the target fragment of a URL.
2077
1904
  * https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/view
2078
1905
  *
2079
- * @type {(props?: object, ...children: (string | number | Node)[]) => SVGViewElement }
2080
1906
  */
2081
1907
  export const view = elements.view
2082
1908