diff --git a/dev/viz/lis-histogram-element.html b/dev/viz/lis-histogram-element.html new file mode 100644 index 0000000..dd93a85 --- /dev/null +++ b/dev/viz/lis-histogram-element.html @@ -0,0 +1,63 @@ + + + + + + + LIS Web-Components - <lis-histogram-element> + + + + + + + + + + + +
+

<lis-histogram-element>

+

+ The <lis-histogram-element> provides a generic component for rendering a histogram using D3.js. +

+

+ In the example below, the 'Rating' and 'Cheese' columns from the <lis-simple-table-element> are used + to generate the histogram. +

+
+ + +
+ + + + + + diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js index 1331065..442f7a8 100644 --- a/docs/assets/navigation.js +++ b/docs/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE62W207cMBCGX6VKb1ct0O2BvUMcKiRW0ILEBUKVcQbWxbEjx5FAFe9eZXchcXyYcdrb3fn/z56ZeObmT2HhyRaLgmtljZYSTFPMiprZVbEoKl22EpqPgz8/rGwli1nxKFRZLPZmBV8JWRpQxeLmzexMNIdMcZAXRleigcM3fe/NJWuakXdc52J39769zIa0I111saDsmWYllBnAuBRh/mjBPF9aI9TDBTOsAgumyQAjeoR+KbXNgLnhvvftwJ1rA++4rmqtQNlgOxj41QdQW+JAgrHHEipQNnRg13QkQNJxok11qurWHj+xqpaQg4loCcRrw+oaTC7MlSGcriuFeshhuBLEf6lLJnPchwLE+4I9CMWs0CoH4KmwT0F0Vbtid3ll92Xpz6IST0IFvobN79SPYHs5KC+BGb7akk+VBXPPOPgn39rj0lSWDrVqrGm51YOnwj7Xvf8gYnSVnf2vu5/3Bmajc5zXXamaiG84OBPxE5pWWiJiG4whNsEnreLdiSLWbhBm6ddo2dn03vdbo0RV1woX9GXu9qEuQYb6cP07qQ/XD+tSl+JegFl2Ou/+GzM/EE3reqCd3/0GblPOXlzYeHjxtgGTnEtdwH+bSynT975qA5nv7s8/7cwzZxOGihsg1Nh8ogA9bYIVm1EYx9MlGOE5hRFGqoR/YlZhkJA0QUrNKwwV1CZY30GBMy78ATNGhVTYjiLUo27ju10A4UqwPaK9k4KvM5x/mZgYW++vzvJZYxHCuDJM2IOm0VxMvFzSgUKfiCRzulbqnpMjZlls2I4hIQ02d4aayEaSwhD3kv7D6EQUQB9N9349FN3/VZHByKhF3hbUKzabGJ2wice3rPXLQb3AKJzoTmwhN5roTUuLE5zlTD01cVH23k9KawZF2SRqjaPCbCKtNhEZRnubDpQMOsFkZ2rGPAGZQMvQKBxzH4+x3ImB6XP59DLFldOY1Lc/rf43NvHxI5lMPMnEuuf1dFhNa/CUlsTNbLHMvpqQxgm5y04YnqXbl9u/6SML5ZUYAAA=" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAA62Y204bMRCGX6Xa3kYt0PRA7hCHFokIWpB6gVBldofExWuvbC8Cqr472iRkDz7MeNvbMP//2eOxZ5brP5mFR5vNslxJq5UQoE02ySpml9ksK1VRCzDvO398t7SlyCbZPZdFNtubZPmSi0KDzGbXW7Mzbg6ZzEFcaFVyA4dbfeudC2bMwDus62N39778nXRpR6psYkHaM8UKKBKAYSnC/F6Dfrq0msvFBdOsBAvaJIARPUK/FMomwPrhrvdNxz1XGt7kqqyUBGm95aDhVxtALYkDAdoeCyhBWt+C+6YDAZKOE6XLU1nV9viRlZWAFExASyD+1KyqQKfC+jKE01Qll4sURl+C+M9VwUSKe1eAeF+wBZfMciVTAI4Kuwq8ObUrdpt27K4sfi1K/sil5zasf6degs3moLgEpvPlhnwqLeg7loO78o09Lo1l6VBJY3WdW9V5KuxT1fp3IgZb2dn/vPtxr2M2WMd51RyVCfj6gxMRP8DUwhIRm2AMsQ4+qWXerChg3Q/CLN0zmjc2rffdxihyqitFH/Rp2q9DVYDw1eHqd1Idrh7WuSr4HQc9b3TO/tdmbiCa1lVDO7/9DbmNOTtxfuPuxmsDOtqXmoD/1pdipm9d1Roy3d2fftiZJvYmDBU2QKih/kQBOtoIK9SjMI6jizD8fQojDFQR/0ivwiA+aYQU61cYyquNsL6ChF67cBvMEOVTYTMKl/eqDs92HkRfgs0R9a3g+SrD6ZsJibHx/uosnTUUIYwrzbg9MEblfOTmog4U+kgkmdOUUvOcHDHLQs12CPFpsL7T1QQmkhiGOJe0F6MRUQBtNN37dVF0/1dFAiPhLNKmoFaxnsTohHU8PmWtXg7qBgbhRHdiCfWjid60tPSCk5ypqyYOys77SSlNryiZRD3joDCZSDubgAyjbbsDJYO9YLIzNWOOgEygZWgQjrkP21hqx8D0qXz6MYWV45jUtz+u/jc28fEjmYxcychzT6tpv5pW4DEtiZtYYol1NSKNI3KXnDA8S90P/gf+HP3ef+DPIz73v3Fj1UKzMjj0Dnw9mtjEu41tDsv7L5CBvysIpebmBf1WtPWwGQAA" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js index 38a3891..7bf5f87 100644 --- a/docs/assets/search.js +++ b/docs/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/classes/controllers.LisCancelPromiseController.html b/docs/classes/controllers.LisCancelPromiseController.html index 53d3e82..1f0132c 100644 --- a/docs/classes/controllers.LisCancelPromiseController.html +++ b/docs/classes/controllers.LisCancelPromiseController.html @@ -2,18 +2,18 @@

Note that all Promises made cancellable with this controller are cancelled with the same AbortSignal. Multiple instances of the controller should be used if multiple signals are desired.

-

Implements

Constructors

Implements

  • ReactiveController

Constructors

Properties

Methods

Constructors

Properties

abortSignal: AbortSignal

The abort signal that will cause the wrapped promises to cancel. This +

Returns LisCancelPromiseController

Properties

abortSignal: AbortSignal

The abort signal that will cause the wrapped promises to cancel. This signal can be used externally.

-

Methods

Methods

Returns void

Generated using TypeDoc

\ No newline at end of file +

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/controllers.LisDomContentLoadedController.html b/docs/classes/controllers.LisDomContentLoadedController.html index 06f83d2..bcf3357 100644 --- a/docs/classes/controllers.LisDomContentLoadedController.html +++ b/docs/classes/controllers.LisDomContentLoadedController.html @@ -1,10 +1,10 @@ LisDomContentLoadedController | @legumeinfo/web-components

A controller that allows components to subsribe to the DOMContentLoaded event in a manner that triggers changes in the component's template when the event occurs.

-

Implements

  • ReactiveController

Constructors

Implements

  • ReactiveController

Constructors

Methods

Constructors

Methods

Returns LisDomContentLoadedController

Methods

Generated using TypeDoc

\ No newline at end of file +

Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/controllers.LisQueryStringParametersController.html b/docs/classes/controllers.LisQueryStringParametersController.html index f470d23..d9b1333 100644 --- a/docs/classes/controllers.LisQueryStringParametersController.html +++ b/docs/classes/controllers.LisQueryStringParametersController.html @@ -1,25 +1,25 @@ LisQueryStringParametersController | @legumeinfo/web-components

A controller that allows components to interact with URL query string parameters in a manner that triggers changes in the component's template when parameter values change.

-

Implements

  • ReactiveController

Constructors

Implements

  • ReactiveController

Constructors

Methods

  • Adds a listener to the 'popstate' event that will be executed +

Returns LisQueryStringParametersController

Methods

  • Adds a listener to the 'popstate' event that will be executed +

Returns void

Returns void

Generated using TypeDoc

\ No newline at end of file +

Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/controllers.LisSlotController.html b/docs/classes/controllers.LisSlotController.html index 9de4fc6..77d4c79 100644 --- a/docs/classes/controllers.LisSlotController.html +++ b/docs/classes/controllers.LisSlotController.html @@ -11,8 +11,8 @@

The above element can be used as follows:

<element-with-slots>
<template>
<span>This will be placed in the unnamed slot and replace its default content</span>
</template>
<span slot="named-slot">This will be placed in the named slot and replace its default content</span>
</element-with-slots>
-

Implements

Constructors

Implements

  • ReactiveController

Constructors

Properties

Constructors

Properties

_children: Element[] = []
_slotRefs: Ref<HTMLSlotElement>[]

Generated using TypeDoc

\ No newline at end of file +
  • Rest ...slotRefs: Ref<HTMLSlotElement>[]
  • Returns LisSlotController

    Properties

    _children: Element[] = []
    _slotRefs: Ref<HTMLSlotElement>[]

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/core_components.LisAlertElement.html b/docs/classes/core_components.LisAlertElement.html index 8487b7f..00bce25 100644 --- a/docs/classes/core_components.LisAlertElement.html +++ b/docs/classes/core_components.LisAlertElement.html @@ -17,7 +17,7 @@

    Example

    Alternatively, an alert's contents can be written in HTML For example:

    <!-- set the type attributes/property via HTML and the content via slot -->
    <!-- NOTE: this is the alert produced by the previous examples -->
    <lis-alert-element type="success">
    <p>My important message</p>
    </lis-alert-element>
    -

    Hierarchy

    Other

    Hierarchy

    • LitElement
      • LisAlertElement

    Other

    constructor ATTRIBUTE_NODE CDATA_SECTION_NODE COMMENT_NODE @@ -368,7 +368,7 @@

    Example

    Alternatively, an alert's contents can be written in HTML update updated willUpdate -

    Other

    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    +

    Other

    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    COMMENT_NODE: 8

    node is a Comment node.

    DOCUMENT_FRAGMENT_NODE: 11

    node is a DocumentFragment node.

    DOCUMENT_NODE: 9

    node is a document.

    @@ -437,11 +437,11 @@

    Example

    Alternatively, an alert's contents can be written in HTML

    clientTop: number
    clientWidth: number
    closeable: boolean = false

    Whether or not to show a close button.

    -
    content: string = ''

    The content of the alert element. This will be overridden content in the +

    content: string = ''

    The content of the alert element. This will be overridden content in the component's slot.

    -
    contentEditable: string
    contentEditable: string
    dataset: DOMStringMap
    defaultSlotRef: Ref<HTMLSlotElement> = ...
    dir: string
    defaultSlotRef: Ref<HTMLSlotElement> = ...
    dir: string
    draggable: boolean
    enterKeyHint: string
    firstChild: null | ChildNode

    Returns the first child.

    @@ -695,7 +695,7 @@

    Deprecated

    MDN Reference

    slot: string

    Returns the value of element's slot content attribute. Can be set to change it.

    MDN Reference

    -
    slotController: LisSlotController
    spellcheck: boolean
    slotController: LisSlotController
    spellcheck: boolean
    style: CSSStyleDeclaration
    tabIndex: number
    tagName: string

    Returns the HTML-uppercased qualified name.

    @@ -703,10 +703,10 @@

    Deprecated

    textContent: null | string
    title: string
    translate: boolean
    type: "" | AlertModifierModel = ''

    The style of the alert element.

    -
    [metadata]: object & Record<PropertyKey, unknown>
    _$litElement$: boolean
    _initializers?: Initializer[]
    finalized: undefined | true

    Marks class as having been finalized, which includes creating properties +

    [metadata]: object & Record<PropertyKey, unknown>
    _$litElement$: boolean
    _initializers?: Initializer[]
    finalized: undefined | true

    Marks class as having been finalized, which includes creating properties from static properties, but does not include all properties created from decorators.

    -

    Nocollapse

    Parameters

    Returns T

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/core_components.LisFormInputExampleElement.html b/docs/classes/core_components.LisFormInputExampleElement.html index 0003f92..3dc7518 100644 --- a/docs/classes/core_components.LisFormInputExampleElement.html +++ b/docs/classes/core_components.LisFormInputExampleElement.html @@ -5,7 +5,7 @@

    For example:

    <!-- set the text via HTML -->
    <lis-from-input-example-element text="This is the example text"></lis-from-input-example-element>

    <!-- set the text via JavaScript -->
    <lis-from-input-example-element id="example"></lis-from-input-example-element>

    <script type="text/javascript">
    // get the example element.
    const exampleElement = document.getElementById('example');
    // set the element's example property
    exampleElement.text = 'This is also example text';
    </script>
    -

    Hierarchy

    Other

    Hierarchy

    • LitElement
      • LisFormInputExampleElement

    Other

    tagName: string

    Returns the HTML-uppercased qualified name.

    MDN Reference

    text?: string

    The text to show in the example element.

    -
    textContent: null | string
    textContent: null | string
    title: string
    translate: boolean
    [metadata]: object & Record<PropertyKey, unknown>
    _$litElement$: boolean
    _initializers?: Initializer[]
    finalized: undefined | true

    Returns void

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    • _changedProperties: Map<PropertyKey, unknown> | PropertyValueMap<any>

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/core_components.LisFormWrapperElement.html b/docs/classes/core_components.LisFormWrapperElement.html index 7552450..c1a6b5a 100644 --- a/docs/classes/core_components.LisFormWrapperElement.html +++ b/docs/classes/core_components.LisFormWrapperElement.html @@ -4,7 +4,7 @@

    Example

    As the name suggests, the component should enclose a form. For example:

    <!-- add the Web Component to your HTML -->
    <lis-form-wrapper-element>
    <fieldset class="uk-fieldset">
    <legend class="uk-legend">Legend</legend>
    <div class="uk-margin">
    <input class="uk-input" type="text" placeholder="Input" aria-label="Input">
    </div>
    <div class="uk-margin">
    <select class="uk-select" aria-label="Select">
    <option>Option 01</option>
    <option>Option 02</option>
    </select>
    </div>
    <div class="uk-margin">
    <textarea class="uk-textarea" rows="5" placeholder="Textarea" aria-label="Textarea"></textarea>
    </div>
    <div class="uk-margin uk-grid-small uk-child-width-auto uk-grid">
    <label><input class="uk-radio" type="radio" name="radio2" checked> A</label>
    <label><input class="uk-radio" type="radio" name="radio2"> B</label>
    </div>
    <div class="uk-margin uk-grid-small uk-child-width-auto uk-grid">
    <label><input class="uk-checkbox" type="checkbox" checked> A</label>
    <label><input class="uk-checkbox" type="checkbox"> B</label>
    </div>
    <div class="uk-margin">
    <input class="uk-range" type="range" value="2" min="0" max="10" step="0.1" aria-label="Range">
    </div>
    </fieldset>
    <div class="uk-margin">
    <button type="submit" class="uk-button uk-button-primary">Search</button>
    </div>
    </lis-form-wrapper-element>
    -

    Hierarchy

    Other

    Hierarchy

    • LitElement
      • LisFormWrapperElement

    Other

    constructor ATTRIBUTE_NODE CDATA_SECTION_NODE COMMENT_NODE @@ -683,7 +683,7 @@

    Deprecated

    CustomEvent containing a !FormData | FormData instance with the values of the elements in the wrapped form.

    -

    Type declaration

    • data: FormData
    • Type Parameters

      • K extends keyof HTMLElementEventMap

      Parameters

      • type: K
      • listener: ((this, ev) => any)
          • (this, ev): any
          • Parameters

            Returns any

      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Type Parameters

      • K extends keyof HTMLElementEventMap

      Parameters

      • type: K
      • listener: ((this, ev) => any)
          • (this, ev): any
          • Parameters

            Returns any

      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      MDN Reference

      Parameters

      • Rest ...nodes: (string | Node)[]

      Returns void

    • Parameters

      • pointerId: number

      Returns void

    • Returns void

    • If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.

      +

      Returns void

    • If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.

      Returns true if qualifiedName is now present, and false otherwise.

      MDN Reference

      Parameters

      • qualifiedName: string
      • Optional force: boolean

      Returns boolean

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    • _changedProperties: Map<PropertyKey, unknown> | PropertyValueMap<any>

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/core_components.LisLoadingElement.html b/docs/classes/core_components.LisLoadingElement.html index b072d65..abe93ff 100644 --- a/docs/classes/core_components.LisLoadingElement.html +++ b/docs/classes/core_components.LisLoadingElement.html @@ -17,7 +17,7 @@

    Example

    Depending on the type of parent element, the spinner overlay to cover the loading element's parent:

    <!-- force the loading overlay to cover its parent element -->
    <div class="uk-inline">
    <lis-loading-element></lis-loading-element>
    </div>
    -

    Hierarchy

    Other

    Hierarchy

    • LitElement
      • LisLoadingElement

    Other

    constructor ATTRIBUTE_NODE CDATA_SECTION_NODE COMMENT_NODE @@ -375,7 +375,7 @@

    Example

    Depending on the type of parent element, the spinner overlay

    ELEMENT_NODE: 1

    node is an element.

    ENTITY_NODE: 6
    ENTITY_REFERENCE_NODE: 5
    NOTATION_NODE: 12
    PROCESSING_INSTRUCTION_NODE: 7

    node is a ProcessingInstruction node.

    TEXT_NODE: 3

    node is a Text node.

    -
    _alertRef: Ref<LisAlertElement> = ...
    accessKey: string
    _alertRef: Ref<LisAlertElement> = ...
    accessKey: string
    accessKeyLabel: string
    ariaAtomic: null | string
    ariaAutoComplete: null | string

    MDN Reference

    @@ -432,7 +432,7 @@

    Example

    Depending on the type of parent element, the spinner overlay

    clientWidth: number
    contentEditable: string
    dataType: string = 'data'

    The type of data being loaded.

    -
    dataset: DOMStringMap
    dataset: DOMStringMap
    dir: string
    draggable: boolean
    enterKeyHint: string

    MDN Reference

    @@ -688,7 +688,7 @@

    Deprecated

    slot: string

    Returns the value of element's slot content attribute. Can be set to change it.

    MDN Reference

    spellcheck: boolean
    state: "message" | "loaded" | "loading" = 'loaded'
    style: CSSStyleDeclaration
    state: "message" | "loaded" | "loading" = 'loaded'
    style: CSSStyleDeclaration
    tabIndex: number
    tagName: string

    Returns the HTML-uppercased qualified name.

    MDN Reference

    @@ -724,7 +724,7 @@

    Deprecated

    MDN Reference

    Parameters

    • other: null | Node

    Returns boolean

    • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

      MDN Reference

      -

      Parameters

      Returns boolean

    • Parameters

      Returns boolean

    • Parameters

      • Optional options: FocusOptions

      Returns void

    • Parameters

      • Optional options: GetAnimationsOptions

      Returns Animation[]

    • Returns whether node and otherNode have the same properties.

      MDN Reference

      Parameters

      • otherNode: null | Node

      Returns boolean

    • Parameters

      • otherNode: null | Node

      Returns boolean

    • Parameters

      • otherNode: null | Node

      Returns boolean

    • Parameters

      • prefix: null | string

      Returns null | string

    • Parameters

      • namespace: null | string

      Returns null | string

    • Returns true if matching selectors against element's root yields element, and false otherwise.

      MDN Reference

      -

      Parameters

      • selectors: string

      Returns boolean

    • Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.

      +

      Parameters

      • selectors: string

      Returns boolean

    • Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.

      MDN Reference

      Returns void

    • Parameters

      • attr: Attr

      Returns null | Attr

    • Parameters

      • pointerId: number

      Returns void

    • Returns void

    • If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.

      +

      Returns void

    • If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.

      Returns true if qualifiedName is now present, and false otherwise.

      MDN Reference

      Parameters

      • qualifiedName: string
      • Optional force: boolean

      Returns boolean

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    • _changedProperties: Map<PropertyKey, unknown> | PropertyValueMap<any>

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/core_components.LisModalElement.html b/docs/classes/core_components.LisModalElement.html index 716d316..e0f877b 100644 --- a/docs/classes/core_components.LisModalElement.html +++ b/docs/classes/core_components.LisModalElement.html @@ -20,7 +20,7 @@

    Example

    In the example below, the lis-simple-table-element web compon for more information.

    <lis-modal-element
    modalId="modal-test"
    heading="Cheesy Table Modal">
    <lis-simple-table-element
    id="table">
    </lis-simple-table-element>
    </lis-modal-element>

    <script type="text/javascript">
    // get the simple table element after page loads.
    window.onload = (event) => {

    const tableElement = document.getElementById('table');
    // set the element's properties
    tableElement.caption = 'My cheesy table';
    tableElement.dataAttributes = ['cheese', 'region'];
    tableElement.header = {cheese: 'Cheese', region: 'Region'};
    tableElement.data = [
    {cheese: 'Brie', region: 'France'},
    {cheese: 'Burrata', region: 'Italy'},
    {cheese: 'Feta', region: 'Greece'},
    {cheese: 'Gouda', region: 'Netherlands'},
    ];
    }
    </script>
    -

    Hierarchy

    Other

    Hierarchy

    • LitElement
      • LisModalElement

    Other

    constructor ATTRIBUTE_NODE CDATA_SECTION_NODE COMMENT_NODE @@ -362,7 +362,7 @@

    Example

    In the example below, the lis-simple-table-element web compon update updated willUpdate -

    Other

    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    +

    Other

    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    COMMENT_NODE: 8

    node is a Comment node.

    DOCUMENT_FRAGMENT_NODE: 11

    node is a DocumentFragment node.

    DOCUMENT_NODE: 9

    node is a document.

    @@ -432,7 +432,7 @@

    Example

    In the example below, the lis-simple-table-element web compon

    clientWidth: number
    contentEditable: string
    dataset: DOMStringMap
    defaultSlotRef: Ref<HTMLSlotElement> = ...
    dir: string
    defaultSlotRef: Ref<HTMLSlotElement> = ...
    dir: string
    draggable: boolean
    enterKeyHint: string
    firstChild: null | ChildNode

    Returns the first child.

    @@ -440,7 +440,7 @@

    Example

    In the example below, the lis-simple-table-element web compon

    firstElementChild: null | Element

    Returns the first child that is an element, and null otherwise.

    MDN Reference

    heading: string = ''

    The text or HTML to populate uk-modal-header

    -
    hidden: boolean
    hidden: boolean
    id: string

    Returns the value of element's id content attribute. Can be set to change it.

    MDN Reference

    inert: boolean

    MDN Reference

    @@ -459,7 +459,7 @@

    Example

    In the example below, the lis-simple-table-element web compon

    MDN Reference

    modalId: string = 'lis-modal'

    The text to use as the Id for the uk-modal. This is used to bind buttons to show/hide.

    -
    namespaceURI: null | string

    Returns the namespace.

    +
    namespaceURI: null | string

    Returns the namespace.

    MDN Reference

    nextElementSibling: null | Element

    Returns the first following sibling that is an element, and null otherwise.

    MDN Reference

    @@ -689,7 +689,7 @@

    Deprecated

    MDN Reference

    slot: string

    Returns the value of element's slot content attribute. Can be set to change it.

    MDN Reference

    -
    slotController: LisSlotController
    spellcheck: boolean
    slotController: LisSlotController
    spellcheck: boolean
    style: CSSStyleDeclaration
    tabIndex: number
    tagName: string

    Returns void

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/core_components.LisPaginationElement.html b/docs/classes/core_components.LisPaginationElement.html index 7c8bb38..45c108b 100644 --- a/docs/classes/core_components.LisPaginationElement.html +++ b/docs/classes/core_components.LisPaginationElement.html @@ -22,7 +22,7 @@

    Example

    An optional <!-- an element to use as a scroll target -->
    <p id="paragraph">Some import text</p>

    <!-- add the Web Component to your HTML -->
    <lis-pagination-element id="pagination"></lis-pagination-element>

    <!-- set the scroll target via JavaScript -->
    <script type="text/javascript">
    // get the paragraph element
    const paragraphElement = document.getElementById('paragraph');
    // get the pagination element
    const paginationElement = document.getElementById('pagination');
    // set the scrollTarget property
    paginationElement.scrollTarget = paragraphElement;
    </script> -

    Hierarchy

    Other

    Hierarchy

    • LitElement
      • LisPaginationElement

    Other

    hasNext: boolean = false

    Whether or not the next button should be enabled. Note that this will be overridden if a value is provided for numPages.

    -
    hidden: boolean
    hidden: boolean
    id: string

    Returns the value of element's id content attribute. Can be set to change it.

    MDN Reference

    inert: boolean

    MDN Reference

    @@ -477,7 +477,7 @@

    Example

    An optional

    nodeValue: null | string
    nonce?: string
    numPages?: number

    The total number of pages.

    -
    offsetHeight: number
    offsetHeight: number
    offsetLeft: number
    offsetParent: null | Element
    offsetTop: number
    outerHTML: string
    outerText: string
    ownerDocument: Document
    page: number = 1

    What page the element is currently on.

    -
    parentElement: null | HTMLElement

    Returns the parent element.

    +
    parentElement: null | HTMLElement

    Returns the parent element.

    MDN Reference

    parentNode: null | ParentNode

    Returns the parent.

    MDN Reference

    @@ -691,7 +691,7 @@

    Deprecated

    role: null | string
    scrollHeight: number
    scrollLeft: number
    scrollTarget: null | HTMLElement = null

    The element to scroll to when the page changes.

    -
    scrollTop: number
    scrollTop: number
    scrollWidth: number
    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    MDN Reference

    @@ -710,7 +710,7 @@

    Deprecated

    Nocollapse

    pageChange: CustomEvent<{
        page: number;
    }>

    Fired when the page changes. Dispatches a CustomEvent containing the new value of the page property.

    -

    Type declaration

    • page: number
    • Type Parameters

      • K extends keyof HTMLElementEventMap

      Parameters

      • type: K
      • listener: ((this, ev) => any)
          • (this, ev): any
          • Parameters

            Returns any

      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.

      +

      Type declaration

      • page: number
    • Type Parameters

      • K extends keyof HTMLElementEventMap

      Parameters

      • type: K
      • listener: ((this, ev) => any)
          • (this, ev): any
          • Parameters

            Returns any

      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      MDN Reference

      Parameters

      • Rest ...nodes: (string | Node)[]

      Returns void

    • Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.

      +

    Returns void

    • Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.

      MDN Reference

      Returns void

    • Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      @@ -790,7 +790,7 @@

      Deprecated

      Parameters

      Returns void

    • Returns the first element that is a descendant of node that matches selectors.

      +

    Returns void

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/core_components.LisSimpleTableElement.html b/docs/classes/core_components.LisSimpleTableElement.html index 4d3ff3c..1fa47ed 100644 --- a/docs/classes/core_components.LisSimpleTableElement.html +++ b/docs/classes/core_components.LisSimpleTableElement.html @@ -20,7 +20,7 @@

    Example

    Alternatively, a simple table's contents can be written i Note that this will override any content assigned via JavaScript:

    <!-- set the caption, dataAttributes, and header attributes/properties via HTML -->
    <!-- NOTE: this is the table produced by the previous example -->
    <lis-simple-table-element>
    <template>
    <caption>My cheesy table</caption>
    <thead>
    <tr>
    <th>Cheese</th>
    <th>Region</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td>Brie</td>
    <td>France</td>
    </tr>
    <tr>
    <td>Burrata</td>
    <td>Italy</td>
    </tr>
    <tr>
    <td>Feta</td>
    <td>Greece</td>
    </tr>
    <tr>
    <td>Gouda</td>
    <td>Netherlands</td>
    </tr>
    </tbody>
    </template>
    </lis-simple-table-element>
    -

    Hierarchy

    Other

    Hierarchy

    • LitElement
      • LisSimpleTableElement

    Other

    constructor ATTRIBUTE_NODE CDATA_SECTION_NODE COMMENT_NODE @@ -365,7 +365,7 @@

    Example

    Alternatively, a simple table's contents can be written i update updated willUpdate -

    Other

    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    +

    Other

    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    COMMENT_NODE: 8

    node is a Comment node.

    DOCUMENT_FRAGMENT_NODE: 11

    node is a DocumentFragment node.

    DOCUMENT_NODE: 9

    node is a document.

    @@ -421,7 +421,7 @@

    Example

    Alternatively, a simple table's contents can be written i

    autocapitalize: string
    autofocus: boolean
    baseURI: string

    Returns node's node document's document base URL.

    MDN Reference

    caption: string = ''

    The caption shown above the table.

    -
    childElementCount: number
    childElementCount: number
    childNodes: NodeListOf<ChildNode>

    Returns the children.

    MDN Reference

    children: HTMLCollection

    Returns the child elements.

    @@ -436,14 +436,14 @@

    Example

    Alternatively, a simple table's contents can be written i

    clientWidth: number
    columnClasses: StringObjectModel = {}

    A single object mapping attributes to table column classes. Assumed to be invariant if assigned as an attribute.

    -
    contentEditable: string
    contentEditable: string
    data: StringObjectModel[] = []

    The data to display in the table. Only attributes defined in the dataAttributes property will be parsed from the objects.

    -
    dataAttributes: string[] = []

    An ordered list of attributes in the input data objects used to populate +

    dataAttributes: string[] = []

    An ordered list of attributes in the input data objects used to populate table rows. Assumed to be invariant if assigned as an attribute.

    -
    dataset: DOMStringMap
    defaultSlotRef: Ref<HTMLSlotElement> = ...
    dir: string
    dataset: DOMStringMap
    defaultSlotRef: Ref<HTMLSlotElement> = ...
    dir: string
    draggable: boolean
    enterKeyHint: string
    firstChild: null | ChildNode

    Returns the first child.

    @@ -452,7 +452,7 @@

    Example

    Alternatively, a simple table's contents can be written i

    MDN Reference

    header: StringObjectModel = {}

    A single object mapping attributes to header labels. Assumed to be invariant if assigned as an attribute.

    -
    hidden: boolean
    hidden: boolean
    id: string

    Returns the value of element's id content attribute. Can be set to change it.

    MDN Reference

    inert: boolean

    MDN Reference

    @@ -699,7 +699,7 @@

    Deprecated

    MDN Reference

    slot: string

    Returns the value of element's slot content attribute. Can be set to change it.

    MDN Reference

    -
    slotController: LisSlotController
    spellcheck: boolean
    slotController: LisSlotController
    spellcheck: boolean
    style: CSSStyleDeclaration
    tabIndex: number
    tagName: string

    Returns void

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/mixins.LisPaginatedSearchElementInterface.html b/docs/classes/mixins.LisPaginatedSearchElementInterface.html index a69a3f2..5c13e60 100644 --- a/docs/classes/mixins.LisPaginatedSearchElementInterface.html +++ b/docs/classes/mixins.LisPaginatedSearchElementInterface.html @@ -6,7 +6,7 @@ array of the PaginatedSearchResults instance resolved by the Promise returned by the searchFunction.

    -

    Constructors

    Constructors

    Properties

    cancelPromiseController domContentLoadedController queryStringController @@ -31,7 +31,7 @@ available for more low-level access. This is the value of the abortSignal attribute of the PaginatedSearchOptions object passed to the component's SearchFunction.

    -
    domContentLoadedController: LisDomContentLoadedController

    Components that use the +

    domContentLoadedController: LisDomContentLoadedController

    Components that use the LisPaginatedSearchMixin mixin can use this controller to subscribe to the DOMContentLoaded event. The advantage to @@ -39,39 +39,39 @@ the controller triggers a redraw of the component's template, meaning if a listener updates a property that should change the template, triggering a redraw of the template will be handled by the controller.

    -
    queryStringController: LisQueryStringParametersController

    Components that use the +

    queryStringController: LisQueryStringParametersController

    Components that use the LisPaginatedSearchMixin mixin can use this controller to interact with URL query string parameters. For example, it can be used to set values of form elements reactively, i.e. if the query string parameter a form element gets its value changes, then the element's value will be updated in the component's template.

    -
    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will +

    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will automatically perform a search when loaded if certain parameters are present in the URL query string. Components that use the mixin can specify what parameters are necessary by setting this property in their constructor. Specifically, this property represents groups of parameters that will trigger a search if all parameters within a group are present.

    -
    resultAttributes: string[]

    Components that use the +

    resultAttributes: string[]

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. These attributes can be specified by setting this property in a component's constructor. Additionally, this property may be used by the end user at run-time to override the default result attributes defined by the component.

    -

    Components that use the +

    Components that use the LisPaginatedSearchMixin mixin will inherit this property. It stores an external function that must be provided by users of the component that performs a search using the data from the component's submitted search form.

    -
    searchResults: SearchResult[]

    The results returned by the searchFunction.

    -
    tableColumnClasses: StringObjectModel

    Components that use the +

    searchResults: SearchResult[]

    The results returned by the searchFunction.

    +
    tableColumnClasses: StringObjectModel

    Components that use the LisPaginatedSearchMixin mixin can optionally define CSS classes for the columns of the table results are displayed in a table. The classes are set from an object that has attributes matching the resultAttributes. The object can be specified by setting this property in a component's constructor. Additionally, this property may be used by the end used at run-time to override the default table column classes defined by the component.

    -
    tableHeader: StringObjectModel

    Components that use the +

    tableHeader: StringObjectModel

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. The header of the @@ -79,7 +79,7 @@ be specified by setting this property in a component's constructor. Additionally, this property may be used by the end used at run-time to override the default table headers defined by the component.

    -

    Methods

    Methods

    • When the form of a component that use the LisPaginatedSearchMixin mixin is submitted, the mixin parses the form contents into a !FormData | FormData instance. This instance is converted into @@ -92,7 +92,7 @@ into an object.

    Returns SearchData

    The object generated from the given !FormData | FormData instance.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/user_components.LisGeneSearchElement.html b/docs/classes/user_components.LisGeneSearchElement.html index acfd4b2..dc7f50f 100644 --- a/docs/classes/user_components.LisGeneSearchElement.html +++ b/docs/classes/user_components.LisGeneSearchElement.html @@ -43,7 +43,7 @@

    Example

    The <!-- set the example text via HTML -->
    <lis-gene-search-element identifierExample="Glyma.13G357700" descriptionExample="protein disulfide isomerase-like protein" familyExample="L_HZ6G4Z"></lis-gene-search-element>

    <!-- set the example text via JavaScript -->
    <lis-gene-search-element id="gene-search"></lis-gene-search-element>

    <script type="text/javascript">
    // get the gene search element
    const searchElement = document.getElementById('gene-search');
    // set the element's example text properties
    searchElement.identifierExample = 'Glyma.13G357700';
    searchElement.descriptionExample = 'protein disulfide isomerase-like protein';
    searchElement.familyExample = 'L_HZ6G4Z';
    </script> -

    Hierarchy

    Other

    Hierarchy

    Other

    constructor ATTRIBUTE_NODE CDATA_SECTION_NODE COMMENT_NODE @@ -422,7 +422,7 @@

    Example

    The

    Other

    ATTRIBUTE_NODE: 2
    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    @@ -489,7 +489,7 @@

    Example

    The

    _formLoadingRef: Ref<LisLoadingElement> = ...
    accessKey: string

    MDN Reference

    +>().TEXT_NODE

    • Defined in node_modules/typescript/lib/lib.dom.d.ts:16207
    _formLoadingRef: Ref<LisLoadingElement> = ...
    accessKey: string
    childElementCount: number

    MDN Reference

    +>().cancelPromiseController

    childElementCount: number
    dir: string
    dir: string
    draggable: boolean

    MDN Reference

    +>().domContentLoadedController

    draggable: boolean
    firstChild: null | ChildNode

    Returns the first child.

    +
    firstChild: null | ChildNode

    Returns the first child.

    MDN Reference

    formDataCancelPromiseController: LisCancelPromiseController = ...
    formDataFunction: GeneFormDataFunction = ...

    An optional property that can be used to load the form data via an external function. +

    formDataCancelPromiseController: LisCancelPromiseController = ...
    formDataFunction: GeneFormDataFunction = ...

    An optional property that can be used to load the form data via an external function. If used, the formData attribute/property will be updated using the result.

    -
    genus?: string

    An optional property that limits searches to a specific genus. Setting the property to the +

    genus?: string

    An optional property that limits searches to a specific genus. Setting the property to the empty string "" will cause the genus form field to be set to the default "any" value.

    -
    hidden: boolean
    hidden: boolean
    inert: boolean
    inert: boolean
    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will +>().queryStringController

    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will automatically perform a search when loaded if certain parameters are present in the URL query string. Components that use the mixin can specify what parameters are necessary by setting this property in their @@ -1417,7 +1417,7 @@

    Deprecated

    resultAttributes: string[]

    Components that use the +>().requiredQueryStringParams

    resultAttributes: string[]

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. These attributes @@ -1427,7 +1427,7 @@

    Deprecated

    role: null | string
    role: null | string
    scrollHeight: number

    MDN Reference

    @@ -1454,11 +1454,11 @@

    Deprecated

    searchResults: GeneSearchResult[]

    The results returned by the searchFunction.

    +>().searchFunction

    searchResults: GeneSearchResult[]

    The results returned by the searchFunction.

    selectedGenus: number = 0
    selectedSpecies: number = 0
    selectedStrain: number = 0
    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    +>().searchResults

    selectedGenus: number = 0
    selectedSpecies: number = 0
    selectedStrain: number = 0
    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    MDN Reference

    spellcheck: boolean
    spellcheck: boolean
    tableHeader: StringObjectModel

    Components that use the +>().tableColumnClasses

    tableHeader: StringObjectModel

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. The header of the @@ -1504,7 +1504,7 @@

    Deprecated

    tagName: string

    Returns the HTML-uppercased qualified name.

    +>().tableHeader

    tagName: string

    Returns the HTML-uppercased qualified name.

    MDN Reference

    Generated using TypeDoc

    \ No newline at end of file +>().willUpdate

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/user_components.LisLinkoutElement.html b/docs/classes/user_components.LisLinkoutElement.html index fe8ac0b..1c8c410 100644 --- a/docs/classes/user_components.LisLinkoutElement.html +++ b/docs/classes/user_components.LisLinkoutElement.html @@ -8,7 +8,7 @@ LisLinkoutElement class. For example:

       <lis-linkout-element id="linkouts"></lis-linkout-element>

    <!-- configure the Web Component via JavaScript -->
    <script type="text/javascript">
    // a site-specific function that sends a request to a linkout API
    function getGeneLinkouts(genes) {
    // returns a Promise that resolves to a linkout results object
    }
    // get the linkout element
    const linkoutElement = document.getElementById('linkouts');
    // set the element's linkoutFunction property
    linkoutElement.linkoutFunction = getGeneLinkouts;
    // get linkouts when the page is finished loading
    window.onload = (event) => {
    linkoutElement.getLinkouts(['cicar.CDCFrontier.gnm3.ann1.Ca1g000600']);
    }
    </script>
    -

    Hierarchy

    Other

    Hierarchy

    • LitElement
      • LisLinkoutElement

    Other

    ELEMENT_NODE: 1

    node is an element.

    ENTITY_NODE: 6
    ENTITY_REFERENCE_NODE: 5
    NOTATION_NODE: 12
    PROCESSING_INSTRUCTION_NODE: 7

    node is a ProcessingInstruction node.

    TEXT_NODE: 3

    node is a Text node.

    -
    _loadingRef: Ref<LisLoadingElement> = ...
    accessKey: string
    _loadingRef: Ref<LisLoadingElement> = ...
    accessKey: string
    accessKeyLabel: string
    ariaAtomic: null | string
    ariaAutoComplete: null | string

    MDN Reference

    @@ -406,7 +406,7 @@
    attributeStyleMap: StylePropertyMap
    attributes: NamedNodeMap
    autocapitalize: string
    autofocus: boolean
    baseURI: string

    Returns node's node document's document base URL.

    MDN Reference

    -
    cancelPromiseController: LisCancelPromiseController = ...
    childElementCount: number
    cancelPromiseController: LisCancelPromiseController = ...
    childElementCount: number
    childNodes: NodeListOf<ChildNode>

    Returns the children.

    MDN Reference

    children: HTMLCollection

    Returns the child elements.

    @@ -443,7 +443,7 @@

    MDN Reference

    lastElementChild: null | Element

    Returns the last child that is an element, and null otherwise.

    MDN Reference

    -
    linkoutFunction: LinkoutFunction<unknown> = ...
    localName: string

    Returns the local name.

    +
    linkoutFunction: LinkoutFunction<unknown> = ...
    localName: string

    Returns the local name.

    MDN Reference

    namespaceURI: null | string

    Returns the namespace.

    MDN Reference

    @@ -732,7 +732,7 @@

    Deprecated

    Type Parameters

    • LinkoutData

      Should match the type of the linkout function linkoutData parameter.

    Parameters

    Returns void

    • Returns node's root.

      +

    Returns void

    Generated using TypeDoc

    \ No newline at end of file +

    Parameters

    Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/user_components.LisPublicationSearchElement.html b/docs/classes/user_components.LisPublicationSearchElement.html index 64debfe..ba69a4f 100644 --- a/docs/classes/user_components.LisPublicationSearchElement.html +++ b/docs/classes/user_components.LisPublicationSearchElement.html @@ -30,7 +30,7 @@

    Example

    The <!-- set the example text via HTML -->
    <lis-publication-search-element titleExample="expression"></lis-publication-search-element>

    <!-- set the example text via JavaScript -->
    <lis-publication-search-element id="publication-search"></lis-publication-search-element>

    <script type="text/javascript">
    // get the publication search element
    const searchElement = document.getElementById('publication-search');
    // set the element's titleExample property
    searchElement.titleExample = 'expression';
    </script> -

    Hierarchy

    Other

    Hierarchy

    Other

    ATTRIBUTE_NODE: 2
    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    childElementCount: number

    MDN Reference

    +)<PublicationSearchData, PublicationSearchResult>().cancelPromiseController

    childElementCount: number
    childNodes: NodeListOf<ChildNode>

    Returns the children.

    @@ -629,7 +629,7 @@

    Example

    The

    draggable: boolean

    MDN Reference

    +)<PublicationSearchData, PublicationSearchResult>().domContentLoadedController

    draggable: boolean
    enterKeyHint: string

    MDN Reference

    @@ -1152,7 +1152,7 @@

    Deprecated

    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will +)<PublicationSearchData, PublicationSearchResult>().queryStringController

    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will automatically perform a search when loaded if certain parameters are present in the URL query string. Components that use the mixin can specify what parameters are necessary by setting this property in their @@ -1160,7 +1160,7 @@

    Deprecated

    resultAttributes: string[]

    Components that use the +)<PublicationSearchData, PublicationSearchResult>().requiredQueryStringParams

    resultAttributes: string[]

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. These attributes @@ -1169,7 +1169,7 @@

    Deprecated

    role: null | string
    role: null | string
    scrollHeight: number
    searchResults: PublicationSearchResult[]

    The results returned by the searchFunction.

    +)<PublicationSearchData, PublicationSearchResult>().searchFunction

    searchResults: PublicationSearchResult[]

    The results returned by the searchFunction.

    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    +)<PublicationSearchData, PublicationSearchResult>().searchResults

    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    MDN Reference

    tableHeader: StringObjectModel

    Components that use the +)<PublicationSearchData, PublicationSearchResult>().tableColumnClasses

    tableHeader: StringObjectModel

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. The header of the @@ -1229,7 +1229,7 @@

    Deprecated

    tagName: string

    Returns the HTML-uppercased qualified name.

    +)<PublicationSearchData, PublicationSearchResult>().tableHeader

    tagName: string

    Returns the HTML-uppercased qualified name.

    MDN Reference

    titleExample?: string

    An optional property to set the example text for the search field.

    -
    translate: boolean
    translate: boolean
    [metadata]: object & Record<PropertyKey, unknown>

    Returns string

    The first value that was defined.

    Generated using TypeDoc

    \ No newline at end of file +)<PublicationSearchData, PublicationSearchResult>().willUpdate

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/user_components.LisQTLSearchElement.html b/docs/classes/user_components.LisQTLSearchElement.html index cf7dc07..0c9293a 100644 --- a/docs/classes/user_components.LisQTLSearchElement.html +++ b/docs/classes/user_components.LisQTLSearchElement.html @@ -30,7 +30,7 @@

    Example

    The <!-- set the example text via HTML -->
    <lis-qtl-search-element traitExample="flower"></lis-qtl-search-element>

    <!-- set the example text via JavaScript -->
    <lis-qtl-search-element id="qtl-search"></lis-qtl-search-element>

    <script type="text/javascript">
    // get the qtl search element
    const searchElement = document.getElementById('qtl-search');
    // set the element's traitExample property
    searchElement.traitExample = 'flower';
    </script> -

    Hierarchy

    Other

    Hierarchy

    Other

    constructor ATTRIBUTE_NODE CDATA_SECTION_NODE COMMENT_NODE @@ -388,7 +388,7 @@

    Example

    The

    Other

    ATTRIBUTE_NODE: 2
    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    @@ -644,7 +644,7 @@

    Example

    The

    childElementCount: number

    MDN Reference

    +>().cancelPromiseController

    childElementCount: number
    draggable: boolean

    MDN Reference

    +>().domContentLoadedController

    draggable: boolean
    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will +>().queryStringController

    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will automatically perform a search when loaded if certain parameters are present in the URL query string. Components that use the mixin can specify what parameters are necessary by setting this property in their @@ -1375,7 +1375,7 @@

    Deprecated

    resultAttributes: string[]

    Components that use the +>().requiredQueryStringParams

    resultAttributes: string[]

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. These attributes @@ -1385,7 +1385,7 @@

    Deprecated

    role: null | string
    role: null | string
    scrollHeight: number

    MDN Reference

    @@ -1412,11 +1412,11 @@

    Deprecated

    searchResults: QTLSearchResult[]

    The results returned by the searchFunction.

    +>().searchFunction

    searchResults: QTLSearchResult[]

    The results returned by the searchFunction.

    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    +>().searchResults

    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    MDN Reference

    tableHeader: StringObjectModel

    Components that use the +>().tableColumnClasses

    tableHeader: StringObjectModel

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. The header of the @@ -1459,7 +1459,7 @@

    Deprecated

    tagName: string

    Returns the HTML-uppercased qualified name.

    +>().tableHeader

    tagName: string

    Returns the HTML-uppercased qualified name.

    MDN Reference

    translate: boolean
    translate: boolean
    [metadata]: object & Record<PropertyKey, unknown>

    Generated using TypeDoc

    \ No newline at end of file +>().willUpdate

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/user_components.LisTraitAssociationSearchElement.html b/docs/classes/user_components.LisTraitAssociationSearchElement.html index 6fe524d..0b1a03d 100644 --- a/docs/classes/user_components.LisTraitAssociationSearchElement.html +++ b/docs/classes/user_components.LisTraitAssociationSearchElement.html @@ -42,7 +42,7 @@

    Example

    The <!-- set the example text via HTML -->
    <lis-trait-association-search-element traitsExample="R8 full maturity" publicationExample="10.2135/cropsci2005.05-0168" authorExample="Specht"></lis-trait-association-search-element>

    <!-- set the example text via JavaScript -->
    <lis-trait-association-search-element id="trait-association-search"></lis-trait-association-search-element>

    <script type="text/javascript">
    // get the trait association search element
    const searchElement = document.getElementById('trait-association-search');
    // set the element's example text properties
    searchElement.traitsExample = 'R8 full maturity';
    searchElement.publicationExample = '10.2135/cropsci2005.05-0168';
    searchElement.authorExample = 'Specht';
    </script> -

    Hierarchy

    Other

    Hierarchy

    Other

    ATTRIBUTE_NODE: 2
    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    _formLoadingRef: Ref<LisLoadingElement> = ...
    _studyTypes: string[] = ...
    accessKey: string

    MDN Reference

    +)<TraitAssociationSearchData, TraitAssociationSearchResult>().TEXT_NODE

    • Defined in node_modules/typescript/lib/lib.dom.d.ts:16207
    _formLoadingRef: Ref<LisLoadingElement> = ...
    _studyTypes: string[] = ...
    accessKey: string
    accessKeyLabel: string

    MDN Reference

    @@ -595,7 +595,7 @@

    Example

    The

    authorExample?: string

    An optional property to set the example text for the author input field.

    -
    autocapitalize: string
    autocapitalize: string
    autofocus: boolean
    childElementCount: number

    MDN Reference

    +)<TraitAssociationSearchData, TraitAssociationSearchResult>().cancelPromiseController

    childElementCount: number
    childNodes: NodeListOf<ChildNode>

    Returns the children.

    @@ -664,7 +664,7 @@

    Example

    The

    draggable: boolean

    MDN Reference

    +)<TraitAssociationSearchData, TraitAssociationSearchResult>().domContentLoadedController

    draggable: boolean
    enterKeyHint: string

    MDN Reference

    @@ -679,11 +679,11 @@

    Example

    The

    The data used to construct the search form in the template.

    -
    formDataCancelPromiseController: LisCancelPromiseController = ...
    formDataFunction: TraitAssociationFormDataFunction = ...

    An optional property that can be used to load the form data via an external function. +

    formDataCancelPromiseController: LisCancelPromiseController = ...
    formDataFunction: TraitAssociationFormDataFunction = ...

    An optional property that can be used to load the form data via an external function. If used, the formData attribute/property will be updated using the result.

    -
    genus?: string

    An optional property that limits searches to a specific genus. Setting the property to the +

    genus?: string

    An optional property that limits searches to a specific genus. Setting the property to the empty string "" will cause the genus form field to be set to the default "any" value.

    -
    hidden: boolean
    hidden: boolean
    id: string

    Returns the value of element's id content attribute. Can be set to change it.

    @@ -1185,7 +1185,7 @@

    Deprecated

    publicationExample?: string

    An optional property to set the example text for the Publication ID input field.

    -
    queryStringController: LisQueryStringParametersController

    Components that use the +

    queryStringController: LisQueryStringParametersController

    Components that use the LisPaginatedSearchMixin mixin can use this controller to interact with URL query string parameters. For example, it can be used to set values of form elements reactively, i.e. if the @@ -1193,7 +1193,7 @@

    Deprecated

    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will +)<TraitAssociationSearchData, TraitAssociationSearchResult>().queryStringController

    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will automatically perform a search when loaded if certain parameters are present in the URL query string. Components that use the mixin can specify what parameters are necessary by setting this property in their @@ -1201,7 +1201,7 @@

    Deprecated

    resultAttributes: string[]

    Components that use the +)<TraitAssociationSearchData, TraitAssociationSearchResult>().requiredQueryStringParams

    resultAttributes: string[]

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. These attributes @@ -1210,7 +1210,7 @@

    Deprecated

    role: null | string
    role: null | string
    scrollHeight: number

    The results returned by the searchFunction.

    +)<TraitAssociationSearchData, TraitAssociationSearchResult>().searchFunction

    The results returned by the searchFunction.

    selectedGenus: number = 0
    selectedSpecies: number = 0
    selectedType: number = 0
    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    +)<TraitAssociationSearchData, TraitAssociationSearchResult>().searchResults

    selectedGenus: number = 0
    selectedSpecies: number = 0
    selectedType: number = 0
    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    MDN Reference

    spellcheck: boolean
    spellcheck: boolean
    style: CSSStyleDeclaration

    MDN Reference

    @@ -1263,7 +1263,7 @@

    Deprecated

    tableHeader: StringObjectModel

    Components that use the +)<TraitAssociationSearchData, TraitAssociationSearchResult>().tableColumnClasses

    tableHeader: StringObjectModel

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. The header of the @@ -1273,7 +1273,7 @@

    Deprecated

    tagName: string

    Returns the HTML-uppercased qualified name.

    +)<TraitAssociationSearchData, TraitAssociationSearchResult>().tableHeader

    tagName: string

    Returns the HTML-uppercased qualified name.

    MDN Reference

    traitsExample?: string

    An optional property to set the example text for the Traits input field.

    -
    translate: boolean
    translate: boolean
    [metadata]: object & Record<PropertyKey, unknown>

    Generated using TypeDoc

    \ No newline at end of file +)<TraitAssociationSearchData, TraitAssociationSearchResult>().willUpdate

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/user_components.LisTraitSearchElement.html b/docs/classes/user_components.LisTraitSearchElement.html index ad3048d..e80cebf 100644 --- a/docs/classes/user_components.LisTraitSearchElement.html +++ b/docs/classes/user_components.LisTraitSearchElement.html @@ -30,7 +30,7 @@

    Example

    The <!-- set the example text via HTML -->
    <lis-trait-search-element traitExample="flower"></lis-trait-search-element>

    <!-- set the example text via JavaScript -->
    <lis-trait-search-element id="trait-search"></lis-trait-search-element>

    <script type="text/javascript">
    // get the trait search element
    const searchElement = document.getElementById('trait-search');
    // set the element's traitExample property
    searchElement.traitExample = 'flower';
    </script> -

    Hierarchy

    Other

    Hierarchy

    Other

    constructor ATTRIBUTE_NODE CDATA_SECTION_NODE COMMENT_NODE @@ -388,7 +388,7 @@

    Example

    The

    Other

    ATTRIBUTE_NODE: 2
    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    @@ -644,7 +644,7 @@

    Example

    The

    childElementCount: number

    MDN Reference

    +>().cancelPromiseController

    childElementCount: number
    draggable: boolean

    MDN Reference

    +>().domContentLoadedController

    draggable: boolean
    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will +>().queryStringController

    requiredQueryStringParams: string[][]

    The LisPaginatedSearchMixin mixin will automatically perform a search when loaded if certain parameters are present in the URL query string. Components that use the mixin can specify what parameters are necessary by setting this property in their @@ -1375,7 +1375,7 @@

    Deprecated

    resultAttributes: string[]

    Components that use the +>().requiredQueryStringParams

    resultAttributes: string[]

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. These attributes @@ -1385,7 +1385,7 @@

    Deprecated

    role: null | string
    role: null | string
    scrollHeight: number

    MDN Reference

    @@ -1412,11 +1412,11 @@

    Deprecated

    searchResults: TraitSearchResult[]

    The results returned by the searchFunction.

    +>().searchFunction

    searchResults: TraitSearchResult[]

    The results returned by the searchFunction.

    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    +>().searchResults

    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    MDN Reference

    tableHeader: StringObjectModel

    Components that use the +>().tableColumnClasses

    tableHeader: StringObjectModel

    Components that use the LisPaginatedSearchMixin mixin must define what attributes their search results will have so the mixin can correctly parse and display the results in a table. The header of the @@ -1459,7 +1459,7 @@

    Deprecated

    tagName: string

    Returns the HTML-uppercased qualified name.

    +>().tableHeader

    tagName: string

    Returns the HTML-uppercased qualified name.

    MDN Reference

    translate: boolean
    translate: boolean
    [metadata]: object & Record<PropertyKey, unknown>

    Generated using TypeDoc

    \ No newline at end of file +>().willUpdate

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/classes/viz_components.LisHistogramElement.html b/docs/classes/viz_components.LisHistogramElement.html new file mode 100644 index 0000000..ff966d2 --- /dev/null +++ b/docs/classes/viz_components.LisHistogramElement.html @@ -0,0 +1,1031 @@ +LisHistogramElement | @legumeinfo/web-components

    <lis-histogram-element>

    +

    A custom web component for creating histograms using D3.js.

    +

    The following attributes/properties can be set using HTML or JavaScript:

    + +

    Example

    Example using only HTML:

    +
    <lis-histogram-element
    data='[{"name": "A", "count": 10}, {"name": "B", "count": 20}]'
    nameLabel="Name"
    countLabel="Count"
    width='500'
    height='500'>
    </lis-histogram-element> +
    +

    Example

    Example using JavaScript and HTML that sets data using values from a <lis-simple-table-element>:

    +
    <lis-simple-table-element id="table"></lis-simple-table-element>
    <lis-histogram-element id="histogram"></lis-histogram-element>

    <script type="text/javascript">
    window.onload = (event) => {
    // get the simple table element
    const tableElement = document.getElementById('table');
    // set the element's properties
    tableElement.caption = 'My cheesy table';
    tableElement.dataAttributes = ['cheese', 'region', 'rating'];
    tableElement.header = {cheese: 'Cheese', region: 'Region', rating: 'Rating'};
    tableElement.data = [
    {cheese: 'Brie', region: 'France', rating: 7},
    {cheese: 'Burrata', region: 'Italy', rating: 8},
    {cheese: 'Feta', region: 'Greece', rating: 7},
    {cheese: 'Gouda', region: 'Netherlands', rating: 9},
    {cheese: 'Cheddar', region: 'America', rating: 6},
    {cheese: 'Goat', region: 'America', rating: 2}
    ];

    const histogramData = tableElement.data.map((d) => ({"name": d.cheese, "count": d.rating}));
    const histogramElement = document.getElementById('histogram');
    histogramElement.width = 500;
    histogramElement.height = 500;
    histogramElement.nameLabel = 'Cheese';
    histogramElement.countLabel = 'Rating';
    histogramElement.orientation = 'vertical';
    histogramElement.data = histogramData;
    }
    </script> +
    +

    Hierarchy

    • LitElement
      • LisHistogramElement

    Other

    constructor +ATTRIBUTE_NODE +CDATA_SECTION_NODE +COMMENT_NODE +DOCUMENT_FRAGMENT_NODE +DOCUMENT_NODE +DOCUMENT_POSITION_CONTAINED_BY +DOCUMENT_POSITION_CONTAINS +DOCUMENT_POSITION_DISCONNECTED +DOCUMENT_POSITION_FOLLOWING +DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC +DOCUMENT_POSITION_PRECEDING +DOCUMENT_TYPE_NODE +ELEMENT_NODE +ENTITY_NODE +ENTITY_REFERENCE_NODE +NOTATION_NODE +PROCESSING_INSTRUCTION_NODE +TEXT_NODE +_histogramContainerRef +accessKey +accessKeyLabel +ariaAtomic +ariaAutoComplete +ariaBusy +ariaChecked +ariaColCount +ariaColIndex +ariaColSpan +ariaCurrent +ariaDisabled +ariaExpanded +ariaHasPopup +ariaHidden +ariaInvalid +ariaKeyShortcuts +ariaLabel +ariaLevel +ariaLive +ariaModal +ariaMultiLine +ariaMultiSelectable +ariaOrientation +ariaPlaceholder +ariaPosInSet +ariaPressed +ariaReadOnly +ariaRequired +ariaRoleDescription +ariaRowCount +ariaRowIndex +ariaRowSpan +ariaSelected +ariaSetSize +ariaSort +ariaValueMax +ariaValueMin +ariaValueNow +ariaValueText +assignedSlot +attributeStyleMap +attributes +autocapitalize +autofocus +baseURI +childElementCount +childNodes +children +classList +className +clientHeight +clientLeft +clientTop +clientWidth +contentEditable +countLabel +data +dataset +dir +draggable +enterKeyHint +firstChild +firstElementChild +height +hidden +id +inert +innerHTML +innerText +inputMode +isConnected +isContentEditable +lang +lastChild +lastElementChild +localName +nameLabel +namespaceURI +nextElementSibling +nextSibling +nodeName +nodeType +nodeValue +nonce? +offsetHeight +offsetLeft +offsetParent +offsetTop +offsetWidth +onabort +onanimationcancel +onanimationend +onanimationiteration +onanimationstart +onauxclick +onbeforeinput +onblur +oncancel +oncanplay +oncanplaythrough +onchange +onclick +onclose +oncontextmenu +oncopy +oncuechange +oncut +ondblclick +ondrag +ondragend +ondragenter +ondragleave +ondragover +ondragstart +ondrop +ondurationchange +onemptied +onended +onerror +onfocus +onformdata +onfullscreenchange +onfullscreenerror +ongotpointercapture +oninput +oninvalid +onkeydown +onkeypress +onkeyup +onload +onloadeddata +onloadedmetadata +onloadstart +onlostpointercapture +onmousedown +onmouseenter +onmouseleave +onmousemove +onmouseout +onmouseover +onmouseup +onpaste +onpause +onplay +onplaying +onpointercancel +onpointerdown +onpointerenter +onpointerleave +onpointermove +onpointerout +onpointerover +onpointerup +onprogress +onratechange +onreset +onresize +onscroll +onscrollend +onsecuritypolicyviolation +onseeked +onseeking +onselect +onselectionchange +onselectstart +onslotchange +onstalled +onsubmit +onsuspend +ontimeupdate +ontoggle +ontouchcancel? +ontouchend? +ontouchmove? +ontouchstart? +ontransitioncancel +ontransitionend +ontransitionrun +ontransitionstart +onvolumechange +onwaiting +onwebkitanimationend +onwebkitanimationiteration +onwebkitanimationstart +onwebkittransitionend +onwheel +orientation +outerHTML +outerText +ownerDocument +parentElement +parentNode +part +popover +prefix +previousElementSibling +previousSibling +role +scrollHeight +scrollLeft +scrollTop +scrollWidth +shadowRoot +slot +spellcheck +style +tabIndex +tagName +textContent +title +translate +width +[metadata] +_$litElement$ +_initializers? +finalized +addEventListener +after +animate +append +appendChild +attachInternals +attachShadow +before +blur +checkVisibility +click +cloneNode +closest +compareDocumentPosition +computedStyleMap +contains +dispatchEvent +focus +getAnimations +getAttribute +getAttributeNS +getAttributeNames +getAttributeNode +getAttributeNodeNS +getBoundingClientRect +getClientRects +getElementsByClassName +getElementsByTagName +getElementsByTagNameNS +getRootNode +hasAttribute +hasAttributeNS +hasAttributes +hasChildNodes +hasPointerCapture +hidePopover +insertAdjacentElement +insertAdjacentHTML +insertAdjacentText +insertBefore +isDefaultNamespace +isEqualNode +isSameNode +lookupNamespaceURI +lookupPrefix +matches +normalize +prepend +querySelector +querySelectorAll +releasePointerCapture +remove +removeAttribute +removeAttributeNS +removeAttributeNode +removeChild +removeEventListener +renderHistogram +replaceChild +replaceChildren +replaceWith +requestFullscreen +requestPointerLock +scroll +scrollBy +scrollIntoView +scrollTo +setAttribute +setAttributeNS +setAttributeNode +setAttributeNodeNS +setPointerCapture +showPopover +toggleAttribute +togglePopover +webkitMatchesSelector +addInitializer +finalize +

    attributes

    controllers

    dev-mode

    lifecycle

    properties

    rendering

    styles

    updates

    Other

    ATTRIBUTE_NODE: 2
    CDATA_SECTION_NODE: 4

    node is a CDATASection node.

    +
    COMMENT_NODE: 8

    node is a Comment node.

    +
    DOCUMENT_FRAGMENT_NODE: 11

    node is a DocumentFragment node.

    +
    DOCUMENT_NODE: 9

    node is a document.

    +
    DOCUMENT_POSITION_CONTAINED_BY: 16

    Set when other is a descendant of node.

    +
    DOCUMENT_POSITION_CONTAINS: 8

    Set when other is an ancestor of node.

    +
    DOCUMENT_POSITION_DISCONNECTED: 1

    Set when node and other are not in the same tree.

    +
    DOCUMENT_POSITION_FOLLOWING: 4

    Set when other is following node.

    +
    DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32
    DOCUMENT_POSITION_PRECEDING: 2

    Set when other is preceding node.

    +
    DOCUMENT_TYPE_NODE: 10

    node is a doctype.

    +
    ELEMENT_NODE: 1

    node is an element.

    +
    ENTITY_NODE: 6
    ENTITY_REFERENCE_NODE: 5
    NOTATION_NODE: 12
    PROCESSING_INSTRUCTION_NODE: 7

    node is a ProcessingInstruction node.

    +
    TEXT_NODE: 3

    node is a Text node.

    +
    _histogramContainerRef: Ref<HTMLDivElement> = ...
    accessKey: string
    accessKeyLabel: string
    ariaAtomic: null | string
    ariaAutoComplete: null | string
    ariaBusy: null | string
    ariaChecked: null | string
    ariaColCount: null | string
    ariaColIndex: null | string
    ariaColSpan: null | string
    ariaCurrent: null | string
    ariaDisabled: null | string
    ariaExpanded: null | string
    ariaHasPopup: null | string
    ariaHidden: null | string
    ariaInvalid: null | string
    ariaKeyShortcuts: null | string
    ariaLabel: null | string
    ariaLevel: null | string
    ariaLive: null | string
    ariaModal: null | string
    ariaMultiLine: null | string
    ariaMultiSelectable: null | string
    ariaOrientation: null | string
    ariaPlaceholder: null | string
    ariaPosInSet: null | string
    ariaPressed: null | string
    ariaReadOnly: null | string
    ariaRequired: null | string
    ariaRoleDescription: null | string
    ariaRowCount: null | string
    ariaRowIndex: null | string
    ariaRowSpan: null | string
    ariaSelected: null | string
    ariaSetSize: null | string
    ariaSort: null | string
    ariaValueMax: null | string
    ariaValueMin: null | string
    ariaValueNow: null | string
    ariaValueText: null | string
    assignedSlot: null | HTMLSlotElement
    attributeStyleMap: StylePropertyMap
    attributes: NamedNodeMap
    autocapitalize: string
    autofocus: boolean
    baseURI: string

    Returns node's node document's document base URL.

    +

    MDN Reference

    +
    childElementCount: number
    childNodes: NodeListOf<ChildNode>

    Returns the children.

    +

    MDN Reference

    +
    children: HTMLCollection

    Returns the child elements.

    +

    MDN Reference

    +
    classList: DOMTokenList

    Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.

    +

    MDN Reference

    +
    className: string

    Returns the value of element's class content attribute. Can be set to change it.

    +

    MDN Reference

    +
    clientHeight: number
    clientLeft: number
    clientTop: number
    clientWidth: number
    contentEditable: string
    countLabel: string = 'Count'

    The label for the y-axis.

    +
    data: HistogramDataModel[] = []

    The data to display in the histogram.

    +
    dataset: DOMStringMap
    dir: string
    draggable: boolean
    enterKeyHint: string
    firstChild: null | ChildNode

    Returns the first child.

    +

    MDN Reference

    +
    firstElementChild: null | Element

    Returns the first child that is an element, and null otherwise.

    +

    MDN Reference

    +
    height: number = 500

    The height of the histogram in pixels.

    +
    hidden: boolean
    id: string

    Returns the value of element's id content attribute. Can be set to change it.

    +

    MDN Reference

    +
    inert: boolean
    innerHTML: string
    innerText: string
    inputMode: string
    isConnected: boolean

    Returns true if node is connected and false otherwise.

    +

    MDN Reference

    +
    isContentEditable: boolean
    lang: string
    lastChild: null | ChildNode

    Returns the last child.

    +

    MDN Reference

    +
    lastElementChild: null | Element

    Returns the last child that is an element, and null otherwise.

    +

    MDN Reference

    +
    localName: string

    Returns the local name.

    +

    MDN Reference

    +
    nameLabel: string = 'Name'

    The label for the x-axis.

    +
    namespaceURI: null | string

    Returns the namespace.

    +

    MDN Reference

    +
    nextElementSibling: null | Element

    Returns the first following sibling that is an element, and null otherwise.

    +

    MDN Reference

    +
    nextSibling: null | ChildNode

    Returns the next sibling.

    +

    MDN Reference

    +
    nodeName: string

    Returns a string appropriate for the type of node.

    +

    MDN Reference

    +
    nodeType: number

    Returns the type of node.

    +

    MDN Reference

    +
    nodeValue: null | string
    nonce?: string
    offsetHeight: number
    offsetLeft: number
    offsetParent: null | Element
    offsetTop: number
    offsetWidth: number
    onabort: null | ((this, ev) => any)

    Fires when the user aborts the download.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: UIEvent

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onanimationcancel: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: AnimationEvent

        Returns any

    onanimationend: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: AnimationEvent

        Returns any

    onanimationiteration: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: AnimationEvent

        Returns any

    onanimationstart: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: AnimationEvent

        Returns any

    onauxclick: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    onbeforeinput: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: InputEvent

        Returns any

    onblur: null | ((this, ev) => any)

    Fires when the object loses the input focus.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: FocusEvent

        Returns any

    Param: ev

    The focus event.

    +

    MDN Reference

    +
    oncancel: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    oncanplay: null | ((this, ev) => any)

    Occurs when playback is possible, but would require further buffering.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    oncanplaythrough: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    onchange: null | ((this, ev) => any)

    Fires when the contents of the object or selection have changed.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onclick: null | ((this, ev) => any)

    Fires when the user clicks the left mouse button on the object

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    Param: ev

    The mouse event.

    +

    MDN Reference

    +
    onclose: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    oncontextmenu: null | ((this, ev) => any)

    Fires when the user clicks the right mouse button in the client area, opening the context menu.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    Param: ev

    The mouse event.

    +

    MDN Reference

    +
    oncopy: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: ClipboardEvent

        Returns any

    oncuechange: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    oncut: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: ClipboardEvent

        Returns any

    ondblclick: null | ((this, ev) => any)

    Fires when the user double-clicks the object.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    Param: ev

    The mouse event.

    +

    MDN Reference

    +
    ondrag: null | ((this, ev) => any)

    Fires on the source object continuously during a drag operation.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: DragEvent

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    ondragend: null | ((this, ev) => any)

    Fires on the source object when the user releases the mouse at the close of a drag operation.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: DragEvent

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    ondragenter: null | ((this, ev) => any)

    Fires on the target element when the user drags the object to a valid drop target.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: DragEvent

        Returns any

    Param: ev

    The drag event.

    +

    MDN Reference

    +
    ondragleave: null | ((this, ev) => any)

    Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: DragEvent

        Returns any

    Param: ev

    The drag event.

    +

    MDN Reference

    +
    ondragover: null | ((this, ev) => any)

    Fires on the target element continuously while the user drags the object over a valid drop target.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: DragEvent

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    ondragstart: null | ((this, ev) => any)

    Fires on the source object when the user starts to drag a text selection or selected object.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: DragEvent

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    ondrop: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: DragEvent

        Returns any

    ondurationchange: null | ((this, ev) => any)

    Occurs when the duration attribute is updated.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onemptied: null | ((this, ev) => any)

    Occurs when the media element is reset to its initial state.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onended: null | ((this, ev) => any)

    Occurs when the end of playback is reached.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event

    +

    MDN Reference

    +
    onerror: OnErrorEventHandler

    Fires when an error occurs during object loading.

    +

    Param: ev

    The event.

    +

    MDN Reference

    +
    onfocus: null | ((this, ev) => any)

    Fires when the object receives focus.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: FocusEvent

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onformdata: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: FormDataEvent

        Returns any

    onfullscreenchange: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        Returns any

    onfullscreenerror: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        Returns any

    ongotpointercapture: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    oninput: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    oninvalid: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    onkeydown: null | ((this, ev) => any)

    Fires when the user presses a key.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: KeyboardEvent

        Returns any

    Param: ev

    The keyboard event

    +

    MDN Reference

    +
    onkeypress: null | ((this, ev) => any)

    Fires when the user presses an alphanumeric key.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: KeyboardEvent

        Returns any

    Param: ev

    The event.

    +

    Deprecated

    MDN Reference

    +
    onkeyup: null | ((this, ev) => any)

    Fires when the user releases a key.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: KeyboardEvent

        Returns any

    Param: ev

    The keyboard event

    +

    MDN Reference

    +
    onload: null | ((this, ev) => any)

    Fires immediately after the browser loads the object.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onloadeddata: null | ((this, ev) => any)

    Occurs when media data is loaded at the current playback position.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onloadedmetadata: null | ((this, ev) => any)

    Occurs when the duration and dimensions of the media have been determined.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onloadstart: null | ((this, ev) => any)

    Occurs when Internet Explorer begins looking for media data.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onlostpointercapture: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    onmousedown: null | ((this, ev) => any)

    Fires when the user clicks the object with either mouse button.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    Param: ev

    The mouse event.

    +

    MDN Reference

    +
    onmouseenter: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    onmouseleave: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    onmousemove: null | ((this, ev) => any)

    Fires when the user moves the mouse over the object.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    Param: ev

    The mouse event.

    +

    MDN Reference

    +
    onmouseout: null | ((this, ev) => any)

    Fires when the user moves the mouse pointer outside the boundaries of the object.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    Param: ev

    The mouse event.

    +

    MDN Reference

    +
    onmouseover: null | ((this, ev) => any)

    Fires when the user moves the mouse pointer into the object.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    Param: ev

    The mouse event.

    +

    MDN Reference

    +
    onmouseup: null | ((this, ev) => any)

    Fires when the user releases a mouse button while the mouse is over the object.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: MouseEvent

        Returns any

    Param: ev

    The mouse event.

    +

    MDN Reference

    +
    onpaste: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: ClipboardEvent

        Returns any

    onpause: null | ((this, ev) => any)

    Occurs when playback is paused.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onplay: null | ((this, ev) => any)

    Occurs when the play method is requested.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onplaying: null | ((this, ev) => any)

    Occurs when the audio or video has started playing.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onpointercancel: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    onpointerdown: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    onpointerenter: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    onpointerleave: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    onpointermove: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    onpointerout: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    onpointerover: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    onpointerup: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: PointerEvent

        Returns any

    onprogress: null | ((this, ev) => any)

    Occurs to indicate progress while downloading media data.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: ProgressEvent<EventTarget>

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onratechange: null | ((this, ev) => any)

    Occurs when the playback rate is increased or decreased.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onreset: null | ((this, ev) => any)

    Fires when the user resets a form.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onresize: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: UIEvent

        Returns any

    onscroll: null | ((this, ev) => any)

    Fires when the user repositions the scroll box in the scroll bar on the object.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onscrollend: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    onsecuritypolicyviolation: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: SecurityPolicyViolationEvent

        Returns any

    onseeked: null | ((this, ev) => any)

    Occurs when the seek operation ends.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onseeking: null | ((this, ev) => any)

    Occurs when the current playback position is moved.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onselect: null | ((this, ev) => any)

    Fires when the current selection changes.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onselectionchange: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    onselectstart: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    onslotchange: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    onstalled: null | ((this, ev) => any)

    Occurs when the download has stopped.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onsubmit: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: SubmitEvent

        Returns any

    onsuspend: null | ((this, ev) => any)

    Occurs if the load operation has been intentionally halted.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    ontimeupdate: null | ((this, ev) => any)

    Occurs to indicate the current playback position.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    ontoggle: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    ontouchcancel?: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: TouchEvent

        Returns any

    ontouchend?: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: TouchEvent

        Returns any

    ontouchmove?: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: TouchEvent

        Returns any

    ontouchstart?: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: TouchEvent

        Returns any

    ontransitioncancel: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: TransitionEvent

        Returns any

    ontransitionend: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: TransitionEvent

        Returns any

    ontransitionrun: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: TransitionEvent

        Returns any

    ontransitionstart: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: TransitionEvent

        Returns any

    onvolumechange: null | ((this, ev) => any)

    Occurs when the volume is changed, or playback is muted or unmuted.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onwaiting: null | ((this, ev) => any)

    Occurs when playback stops because the next frame of a video resource is not available.

    +

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Param: ev

    The event.

    +

    MDN Reference

    +
    onwebkitanimationend: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Deprecated

    This is a legacy alias of onanimationend.

    +

    MDN Reference

    +
    onwebkitanimationiteration: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Deprecated

    This is a legacy alias of onanimationiteration.

    +

    MDN Reference

    +
    onwebkitanimationstart: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Deprecated

    This is a legacy alias of onanimationstart.

    +

    MDN Reference

    +
    onwebkittransitionend: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: Event

        Returns any

    Deprecated

    This is a legacy alias of ontransitionend.

    +

    MDN Reference

    +
    onwheel: null | ((this, ev) => any)

    Type declaration

      • (this, ev): any
      • Parameters

        • this: GlobalEventHandlers
        • ev: WheelEvent

        Returns any

    orientation: "horizontal" | "vertical" = 'horizontal'

    The orientation of the histogram. Can be either 'horizontal' or 'vertical'.

    +
    outerHTML: string
    outerText: string
    ownerDocument: Document
    parentElement: null | HTMLElement

    Returns the parent element.

    +

    MDN Reference

    +
    parentNode: null | ParentNode

    Returns the parent.

    +

    MDN Reference

    +
    part: DOMTokenList
    popover: null | string
    prefix: null | string

    Returns the namespace prefix.

    +

    MDN Reference

    +
    previousElementSibling: null | Element

    Returns the first preceding sibling that is an element, and null otherwise.

    +

    MDN Reference

    +
    previousSibling: null | ChildNode

    Returns the previous sibling.

    +

    MDN Reference

    +
    role: null | string
    scrollHeight: number
    scrollLeft: number
    scrollTop: number
    scrollWidth: number
    shadowRoot: null | ShadowRoot

    Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.

    +

    MDN Reference

    +
    slot: string

    Returns the value of element's slot content attribute. Can be set to change it.

    +

    MDN Reference

    +
    spellcheck: boolean
    style: CSSStyleDeclaration
    tabIndex: number
    tagName: string

    Returns the HTML-uppercased qualified name.

    +

    MDN Reference

    +
    textContent: null | string
    title: string
    translate: boolean
    width: number = 500

    The width of the histogram in pixels.

    +
    [metadata]: object & Record<PropertyKey, unknown>
    _$litElement$: boolean
    _initializers?: Initializer[]
    finalized: undefined | true

    Marks class as having been finalized, which includes creating properties +from static properties, but does not include all properties created +from decorators.

    +

    Nocollapse

    • Type Parameters

      • K extends keyof HTMLElementEventMap

      Parameters

      • type: K
      • listener: ((this, ev) => any)
          • (this, ev): any
          • Parameters

            Returns any

      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optional options: boolean | AddEventListenerOptions

      Returns void

    • Inserts nodes just after node, while replacing strings in nodes with equivalent Text nodes.

      +

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      +

      MDN Reference

      +

      Parameters

      • Rest ...nodes: (string | Node)[]

      Returns void

    • Parameters

      • keyframes: null | PropertyIndexedKeyframes | Keyframe[]
      • Optional options: number | KeyframeAnimationOptions

      Returns Animation

    • Inserts nodes after the last child of node, while replacing strings in nodes with equivalent Text nodes.

      +

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      +

      MDN Reference

      +

      Parameters

      • Rest ...nodes: (string | Node)[]

      Returns void

    • Type Parameters

      • T extends Node

      Parameters

      • node: T

      Returns T

    • Returns ElementInternals

    • Creates a shadow root for element and returns it.

      +

      MDN Reference

      +

      Parameters

      • init: ShadowRootInit

      Returns ShadowRoot

    • Inserts nodes just before node, while replacing strings in nodes with equivalent Text nodes.

      +

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      +

      MDN Reference

      +

      Parameters

      • Rest ...nodes: (string | Node)[]

      Returns void

    • Returns void

    • Parameters

      • Optional options: CheckVisibilityOptions

      Returns boolean

    • Returns void

    • Returns a copy of node. If deep is true, the copy also includes the node's descendants.

      +

      MDN Reference

      +

      Parameters

      • Optional deep: boolean

      Returns Node

    • Returns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise.

      +

      MDN Reference

      +

      Type Parameters

      • K extends keyof HTMLElementTagNameMap

      Parameters

      • selector: K

      Returns null | HTMLElementTagNameMap[K]

    • Type Parameters

      • K extends keyof SVGElementTagNameMap

      Parameters

      • selector: K

      Returns null | SVGElementTagNameMap[K]

    • Type Parameters

      • K extends keyof MathMLElementTagNameMap

      Parameters

      • selector: K

      Returns null | MathMLElementTagNameMap[K]

    • Type Parameters

      • E extends Element = Element

      Parameters

      • selectors: string

      Returns null | E

    • Returns a bitmask indicating the position of other relative to node.

      +

      MDN Reference

      +

      Parameters

      • other: Node

      Returns number

    • Returns StylePropertyMapReadOnly

    • Returns true if other is an inclusive descendant of node, and false otherwise.

      +

      MDN Reference

      +

      Parameters

      • other: null | Node

      Returns boolean

    • Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

      +

      MDN Reference

      +

      Parameters

      Returns boolean

    • Parameters

      • Optional options: FocusOptions

      Returns void

    • Parameters

      • Optional options: GetAnimationsOptions

      Returns Animation[]

    • Returns element's first attribute whose qualified name is qualifiedName, and null if there is no such attribute otherwise.

      +

      MDN Reference

      +

      Parameters

      • qualifiedName: string

      Returns null | string

    • Returns element's attribute whose namespace is namespace and local name is localName, and null if there is no such attribute otherwise.

      +

      MDN Reference

      +

      Parameters

      • namespace: null | string
      • localName: string

      Returns null | string

    • Returns the qualified names of all element's attributes. Can contain duplicates.

      +

      MDN Reference

      +

      Returns string[]

    • Parameters

      • qualifiedName: string

      Returns null | Attr

    • Parameters

      • namespace: null | string
      • localName: string

      Returns null | Attr

    • Returns DOMRect

    • Returns DOMRectList

    • Returns a HTMLCollection of the elements in the object on which the method was invoked (a document or an element) that have all the classes given by classNames. The classNames argument is interpreted as a space-separated list of classes.

      +

      MDN Reference

      +

      Parameters

      • classNames: string

      Returns HTMLCollectionOf<Element>

    • Type Parameters

      • K extends keyof HTMLElementTagNameMap

      Parameters

      • qualifiedName: K

      Returns HTMLCollectionOf<HTMLElementTagNameMap[K]>

    • Type Parameters

      • K extends keyof SVGElementTagNameMap

      Parameters

      • qualifiedName: K

      Returns HTMLCollectionOf<SVGElementTagNameMap[K]>

    • Type Parameters

      • K extends keyof MathMLElementTagNameMap

      Parameters

      • qualifiedName: K

      Returns HTMLCollectionOf<MathMLElementTagNameMap[K]>

    • Type Parameters

      • K extends keyof HTMLElementDeprecatedTagNameMap

      Parameters

      • qualifiedName: K

      Returns HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>

      Deprecated

    • Parameters

      • qualifiedName: string

      Returns HTMLCollectionOf<Element>

    • Parameters

      • namespaceURI: "http://www.w3.org/1999/xhtml"
      • localName: string

      Returns HTMLCollectionOf<HTMLElement>

    • Parameters

      • namespaceURI: "http://www.w3.org/2000/svg"
      • localName: string

      Returns HTMLCollectionOf<SVGElement>

    • Parameters

      • namespaceURI: "http://www.w3.org/1998/Math/MathML"
      • localName: string

      Returns HTMLCollectionOf<MathMLElement>

    • Parameters

      • namespace: null | string
      • localName: string

      Returns HTMLCollectionOf<Element>

    • Returns node's root.

      +

      MDN Reference

      +

      Parameters

      • Optional options: GetRootNodeOptions

      Returns Node

    • Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise.

      +

      MDN Reference

      +

      Parameters

      • qualifiedName: string

      Returns boolean

    • Returns true if element has an attribute whose namespace is namespace and local name is localName.

      +

      MDN Reference

      +

      Parameters

      • namespace: null | string
      • localName: string

      Returns boolean

    • Returns true if element has attributes, and false otherwise.

      +

      MDN Reference

      +

      Returns boolean

    • Returns whether node has children.

      +

      MDN Reference

      +

      Returns boolean

    • Parameters

      • pointerId: number

      Returns boolean

    • Returns void

    • Parameters

      • where: InsertPosition
      • element: Element

      Returns null | Element

    • Parameters

      • position: InsertPosition
      • text: string

      Returns void

    • Parameters

      • where: InsertPosition
      • data: string

      Returns void

    • Type Parameters

      • T extends Node

      Parameters

      • node: T
      • child: null | Node

      Returns T

    • Parameters

      • namespace: null | string

      Returns boolean

    • Returns whether node and otherNode have the same properties.

      +

      MDN Reference

      +

      Parameters

      • otherNode: null | Node

      Returns boolean

    • Parameters

      • otherNode: null | Node

      Returns boolean

    • Parameters

      • prefix: null | string

      Returns null | string

    • Parameters

      • namespace: null | string

      Returns null | string

    • Returns true if matching selectors against element's root yields element, and false otherwise.

      +

      MDN Reference

      +

      Parameters

      • selectors: string

      Returns boolean

    • Removes empty exclusive Text nodes and concatenates the data of remaining contiguous exclusive Text nodes into the first of their nodes.

      +

      MDN Reference

      +

      Returns void

    • Inserts nodes before the first child of node, while replacing strings in nodes with equivalent Text nodes.

      +

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      +

      MDN Reference

      +

      Parameters

      • Rest ...nodes: (string | Node)[]

      Returns void

    • Returns the first element that is a descendant of node that matches selectors.

      +

      MDN Reference

      +

      Type Parameters

      • K extends keyof HTMLElementTagNameMap

      Parameters

      • selectors: K

      Returns null | HTMLElementTagNameMap[K]

    • Type Parameters

      • K extends keyof SVGElementTagNameMap

      Parameters

      • selectors: K

      Returns null | SVGElementTagNameMap[K]

    • Type Parameters

      • K extends keyof MathMLElementTagNameMap

      Parameters

      • selectors: K

      Returns null | MathMLElementTagNameMap[K]

    • Type Parameters

      • K extends keyof HTMLElementDeprecatedTagNameMap

      Parameters

      • selectors: K

      Returns null | HTMLElementDeprecatedTagNameMap[K]

      Deprecated

    • Type Parameters

      • E extends Element = Element

      Parameters

      • selectors: string

      Returns null | E

    • Returns all element descendants of node that match selectors.

      +

      MDN Reference

      +

      Type Parameters

      • K extends keyof HTMLElementTagNameMap

      Parameters

      • selectors: K

      Returns NodeListOf<HTMLElementTagNameMap[K]>

    • Type Parameters

      • K extends keyof SVGElementTagNameMap

      Parameters

      • selectors: K

      Returns NodeListOf<SVGElementTagNameMap[K]>

    • Type Parameters

      • K extends keyof MathMLElementTagNameMap

      Parameters

      • selectors: K

      Returns NodeListOf<MathMLElementTagNameMap[K]>

    • Type Parameters

      • K extends keyof HTMLElementDeprecatedTagNameMap

      Parameters

      • selectors: K

      Returns NodeListOf<HTMLElementDeprecatedTagNameMap[K]>

      Deprecated

    • Type Parameters

      • E extends Element = Element

      Parameters

      • selectors: string

      Returns NodeListOf<E>

    • Parameters

      • pointerId: number

      Returns void

    • Removes node.

      +

      MDN Reference

      +

      Returns void

    • Removes element's first attribute whose qualified name is qualifiedName.

      +

      MDN Reference

      +

      Parameters

      • qualifiedName: string

      Returns void

    • Removes element's attribute whose namespace is namespace and local name is localName.

      +

      MDN Reference

      +

      Parameters

      • namespace: null | string
      • localName: string

      Returns void

    • Parameters

      • attr: Attr

      Returns Attr

    • Type Parameters

      • T extends Node

      Parameters

      • child: T

      Returns T

    • Type Parameters

      • K extends keyof HTMLElementEventMap

      Parameters

      • type: K
      • listener: ((this, ev) => any)
          • (this, ev): any
          • Parameters

            Returns any

      • Optional options: boolean | EventListenerOptions

      Returns void

    • Parameters

      • type: string
      • listener: EventListenerOrEventListenerObject
      • Optional options: boolean | EventListenerOptions

      Returns void

    • Type Parameters

      • T extends Node

      Parameters

      • node: Node
      • child: T

      Returns T

    • Replace all children of node with nodes, while replacing strings in nodes with equivalent Text nodes.

      +

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      +

      MDN Reference

      +

      Parameters

      • Rest ...nodes: (string | Node)[]

      Returns void

    • Replaces node with nodes, while replacing strings in nodes with equivalent Text nodes.

      +

      Throws a "HierarchyRequestError" DOMException if the constraints of the node tree are violated.

      +

      MDN Reference

      +

      Parameters

      • Rest ...nodes: (string | Node)[]

      Returns void

    • Displays element fullscreen and resolves promise when done.

      +

      When supplied, options's navigationUI member indicates whether showing navigation UI while in fullscreen is preferred or not. If set to "show", navigation simplicity is preferred over screen space, and if set to "hide", more screen space is preferred. User agents are always free to honor user preference over the application's. The default value "auto" indicates no application preference.

      +

      MDN Reference

      +

      Parameters

      • Optional options: FullscreenOptions

      Returns Promise<void>

    • Returns void

    • Parameters

      • Optional options: ScrollToOptions

      Returns void

    • Parameters

      • x: number
      • y: number

      Returns void

    • Parameters

      • Optional options: ScrollToOptions

      Returns void

    • Parameters

      • x: number
      • y: number

      Returns void

    • Parameters

      • Optional arg: boolean | ScrollIntoViewOptions

      Returns void

    • Parameters

      • Optional options: ScrollToOptions

      Returns void

    • Parameters

      • x: number
      • y: number

      Returns void

    • Sets the value of element's first attribute whose qualified name is qualifiedName to value.

      +

      MDN Reference

      +

      Parameters

      • qualifiedName: string
      • value: string

      Returns void

    • Sets the value of element's attribute whose namespace is namespace and local name is localName to value.

      +

      MDN Reference

      +

      Parameters

      • namespace: null | string
      • qualifiedName: string
      • value: string

      Returns void

    • Parameters

      • attr: Attr

      Returns null | Attr

    • Parameters

      • attr: Attr

      Returns null | Attr

    • Parameters

      • pointerId: number

      Returns void

    • Returns void

    • If force is not given, "toggles" qualifiedName, removing it if it is present and adding it if it is not present. If force is true, adds qualifiedName. If force is false, removes qualifiedName.

      +

      Returns true if qualifiedName is now present, and false otherwise.

      +

      MDN Reference

      +

      Parameters

      • qualifiedName: string
      • Optional force: boolean

      Returns boolean

    • Parameters

      • Optional force: boolean

      Returns void

    • Parameters

      • selectors: string

      Returns boolean

      Deprecated

      This is a legacy alias of matches.

      +

      MDN Reference

      +
    • Adds an initializer function to the class that is called during instance +construction.

      +

      This is useful for code that runs against a ReactiveElement +subclass, such as a decorator, that needs to do work for each +instance, such as setting up a ReactiveController.

      +
      const myDecorator = (target: typeof ReactiveElement, key: string) => {
      target.addInitializer((instance: ReactiveElement) => {
      // This is run during construction of the element
      new MyController(instance);
      });
      } +
      +

      Decorating a field will then cause each instance to run an initializer +that adds a controller:

      +
      class MyElement extends LitElement {
      @myDecorator foo;
      } +
      +

      Initializers are stored per-constructor. Adding an initializer to a +subclass does not add it to a superclass. Since initializers are run in +constructors, initializers will run in order of the class hierarchy, +starting with superclasses and progressing to the instance's class.

      +

      Parameters

      • initializer: Initializer

      Returns void

      Nocollapse

    • Finishes setting up the class so that it's ready to be registered +as a custom element and instantiated.

      +

      This method is called by the ReactiveElement.observedAttributes getter. +If you override the observedAttributes getter, you must either call +super.observedAttributes to trigger finalization, or call finalize() +yourself.

      +

      Returns void

      Nocollapse

    attributes

    • get observedAttributes(): string[]
    • Returns a list of attributes corresponding to the registered properties.

      +

      Returns string[]

      Nocollapse

    • Synchronizes property values when attributes change.

      +

      Specifically, when an attribute is set, the corresponding property is set. +You should rarely need to implement this callback. If this method is +overridden, super.attributeChangedCallback(name, _old, value) must be +called.

      +

      See using the lifecycle callbacks +on MDN for more information about the attributeChangedCallback.

      +

      Parameters

      • name: string
      • _old: null | string
      • value: null | string

      Returns void

    controllers

    • Registers a ReactiveController to participate in the element's reactive +update cycle. The element automatically calls into any registered +controllers during its lifecycle callbacks.

      +

      If the element is connected when addController() is called, the +controller's hostConnected() callback will be immediately called.

      +

      Parameters

      • controller: ReactiveController

      Returns void

    • Removes a ReactiveController from the element.

      +

      Parameters

      • controller: ReactiveController

      Returns void

    dev-mode

    disableWarning?: ((warningKind) => void)

    Disable the given warning category for this class.

    +

    This method only exists in development builds, so it should be accessed +with a guard like:

    +
    // Disable for all ReactiveElement subclasses
    ReactiveElement.disableWarning?.('migration');

    // Disable for only MyElement and subclasses
    MyElement.disableWarning?.('migration'); +
    +

    Type declaration

      • (warningKind): void
      • Disable the given warning category for this class.

        +

        This method only exists in development builds, so it should be accessed +with a guard like:

        +
        // Disable for all ReactiveElement subclasses
        ReactiveElement.disableWarning?.('migration');

        // Disable for only MyElement and subclasses
        MyElement.disableWarning?.('migration'); +
        +

        Parameters

        • warningKind: WarningKind

        Returns void

        Nocollapse

    Nocollapse

    enableWarning?: ((warningKind) => void)

    Enable the given warning category for this class.

    +

    This method only exists in development builds, so it should be accessed +with a guard like:

    +
    // Enable for all ReactiveElement subclasses
    ReactiveElement.enableWarning?.('migration');

    // Enable for only MyElement and subclasses
    MyElement.enableWarning?.('migration'); +
    +

    Type declaration

      • (warningKind): void
      • Enable the given warning category for this class.

        +

        This method only exists in development builds, so it should be accessed +with a guard like:

        +
        // Enable for all ReactiveElement subclasses
        ReactiveElement.enableWarning?.('migration');

        // Enable for only MyElement and subclasses
        MyElement.enableWarning?.('migration'); +
        +

        Parameters

        • warningKind: WarningKind

        Returns void

        Nocollapse

    Nocollapse

    enabledWarnings?: WarningKind[]

    Read or set all the enabled warning categories for this class.

    +

    This property is only used in development builds.

    +

    Nocollapse

    lifecycle

    • Invoked when the component is added to the document's DOM.

      +

      In connectedCallback() you should setup tasks that should only occur when +the element is connected to the document. The most common of these is +adding event listeners to nodes external to the element, like a keydown +event handler added to the window.

      +
      connectedCallback() {
      super.connectedCallback();
      addEventListener('keydown', this._handleKeydown);
      } +
      +

      Typically, anything done in connectedCallback() should be undone when the +element is disconnected, in disconnectedCallback().

      +

      Returns void

    • Invoked when the component is removed from the document's DOM.

      +

      This callback is the main signal to the element that it may no longer be +used. disconnectedCallback() should ensure that nothing is holding a +reference to the element (such as event listeners added to nodes external +to the element), so that it is free to be garbage collected.

      +
      disconnectedCallback() {
      super.disconnectedCallback();
      window.removeEventListener('keydown', this._handleKeydown);
      } +
      +

      An element may be re-connected after being disconnected.

      +

      Returns void

    properties

    elementProperties: PropertyDeclarationMap

    Memoized list of all element properties, including any superclass +properties. Created lazily on user subclasses when finalizing the class.

    +

    Nocollapse

    properties: PropertyDeclarations

    User-supplied object that maps property names to PropertyDeclaration +objects containing options for configuring reactive properties. When +a reactive property is set the element will update and render.

    +

    By default properties are public fields, and as such, they should be +considered as primarily settable by element users, either via attribute or +the property itself.

    +

    Generally, properties that are changed by the element should be private or +protected fields and should use the state: true option. Properties +marked as state do not reflect from the corresponding attribute

    +

    However, sometimes element code does need to set a public property. This +should typically only be done in response to user interaction, and an event +should be fired informing the user; for example, a checkbox sets its +checked property when clicked and fires a changed event. Mutating +public properties should typically not be done for non-primitive (object or +array) properties. In other cases when an element needs to manage state, a +private property set with the state: true option should be used. When +needed, state properties can be initialized via public properties to +facilitate complex interactions.

    +

    Nocollapse

    • Creates a property accessor on the element prototype if one does not exist +and stores a PropertyDeclaration for the property with the +given options. The property setter calls the property's hasChanged +property option or uses a strict identity check to determine whether or not +to request an update.

      +

      This method may be overridden to customize properties; however, +when doing so, it's important to call super.createProperty to ensure +the property is setup correctly. This method calls +getPropertyDescriptor internally to get a descriptor to install. +To customize what properties do when they are get or set, override +getPropertyDescriptor. To customize the options for a property, +implement createProperty like this:

      +
      static createProperty(name, options) {
      options = Object.assign(options, {myOption: true});
      super.createProperty(name, options);
      } +
      +

      Parameters

      • name: PropertyKey
      • Optional options: PropertyDeclaration<unknown, unknown>

      Returns void

      Nocollapse

    • Returns a property descriptor to be defined on the given named property. +If no descriptor is returned, the property will not become an accessor. +For example,

      +
      class MyElement extends LitElement {
      static getPropertyDescriptor(name, key, options) {
      const defaultDescriptor =
      super.getPropertyDescriptor(name, key, options);
      const setter = defaultDescriptor.set;
      return {
      get: defaultDescriptor.get,
      set(value) {
      setter.call(this, value);
      // custom action.
      },
      configurable: true,
      enumerable: true
      }
      }
      } +
      +

      Parameters

      • name: PropertyKey
      • key: string | symbol
      • options: PropertyDeclaration<unknown, unknown>

      Returns undefined | PropertyDescriptor

      Nocollapse

    • Returns the property options associated with the given property. +These options are defined with a PropertyDeclaration via the properties +object or the @property decorator and are registered in +createProperty(...).

      +

      Note, this method should be considered "final" and not overridden. To +customize the options for a given property, override +createProperty.

      +

      Parameters

      • name: PropertyKey

      Returns PropertyDeclaration<unknown, unknown>

      Nocollapse

      Final

    rendering

    renderOptions: RenderOptions
    renderRoot: HTMLElement | DocumentFragment

    Node or ShadowRoot into which element DOM should be rendered. Defaults +to an open shadowRoot.

    +
    shadowRootOptions: ShadowRootInit

    Options used when calling attachShadow. Set this property to customize +the options for the shadowRoot; for example, to create a closed +shadowRoot: {mode: 'closed'}.

    +

    Note, these options are used in createRenderRoot. If this method +is customized, options should be respected if possible.

    +

    Nocollapse

    styles

    elementStyles: CSSResultOrNative[]

    Memoized list of all element styles. +Created lazily on user subclasses when finalizing the class.

    +

    Nocollapse

    • Takes the styles the user supplied via the static styles property and +returns the array of styles to apply to the element. +Override this method to integrate into a style management system.

      +

      Styles are deduplicated preserving the last instance in the list. This +is a performance optimization to avoid duplicated styles that can occur +especially when composing via subclassing. The last item is kept to try +to preserve the cascade order with the assumption that it's most important +that last added styles override previous styles.

      +

      Parameters

      • Optional styles: CSSResultGroup

      Returns CSSResultOrNative[]

      Nocollapse

    updates

    hasUpdated: boolean

    Is set to true after the first update. The element code cannot assume +that renderRoot exists before the element hasUpdated.

    +
    isUpdatePending: boolean

    True if there is a pending update as a result of calling requestUpdate(). +Should only be read.

    +
    • get updateComplete(): Promise<boolean>
    • Returns a Promise that resolves when the element has completed updating. +The Promise value is a boolean that is true if the element completed the +update without triggering another update. The Promise result is false if +a property was set inside updated(). If the Promise is rejected, an +exception was thrown during the update.

      +

      To await additional asynchronous work, override the getUpdateComplete +method. For example, it is sometimes useful to await a rendered element +before fulfilling this Promise. To do this, first await +super.getUpdateComplete(), then any subsequent state.

      +

      Returns Promise<boolean>

      A promise of a boolean that resolves to true if the update completed + without triggering another update.

      +
    • Note, this method should be considered final and not overridden. It is +overridden on the element instance with a function that triggers the first +update.

      +

      Parameters

      • _requestedUpdate: boolean

      Returns void

    • Invoked when the element is first updated. Implement to perform one time +work on the element after update.

      +
      firstUpdated() {
      this.renderRoot.getElementById('my-text-area').focus();
      } +
      +

      Setting properties inside this method will trigger the element to update +again after this update cycle completes.

      +

      Parameters

      • _changedProperties: Map<PropertyKey, unknown> | PropertyValueMap<any>

        Map of changed properties with old values

        +

      Returns void

    • Override point for the updateComplete promise.

      +

      It is not safe to override the updateComplete getter directly due to a +limitation in TypeScript which means it is not possible to call a +superclass getter (e.g. super.updateComplete.then(...)) when the target +language is ES5 (https://github.com/microsoft/TypeScript/issues/338). +This method should be overridden instead. For example:

      +
      class MyElement extends LitElement {
      override async getUpdateComplete() {
      const result = await super.getUpdateComplete();
      await this._myChild.updateComplete;
      return result;
      }
      } +
      +

      Returns Promise<boolean>

      A promise of a boolean that resolves to true if the update completed + without triggering another update.

      +
    • Performs an element update. Note, if an exception is thrown during the +update, firstUpdated and updated will not be called.

      +

      Call performUpdate() to immediately process a pending update. This should +generally not be needed, but it can be done in rare cases when you need to +update synchronously.

      +

      Returns void

    • Requests an update which is processed asynchronously. This should be called +when an element should update based on some state not triggered by setting +a reactive property. In this case, pass no arguments. It should also be +called when manually implementing a property setter. In this case, pass the +property name and oldValue to ensure that any configured property +options are honored.

      +

      Parameters

      • Optional name: PropertyKey

        name of requesting property

        +
      • Optional oldValue: unknown

        old value of requesting property

        +
      • Optional options: PropertyDeclaration<unknown, unknown>

        property options to use instead of the previously + configured options

        +

      Returns void

    • Schedules an element update. You can override this method to change the +timing of updates by returning a Promise. The update will await the +returned Promise, and you should resolve the Promise to allow the update +to proceed. If this method is overridden, super.scheduleUpdate() +must be called.

      +

      For instance, to schedule updates to occur just before the next frame:

      +
      override protected async scheduleUpdate(): Promise<unknown> {
      await new Promise((resolve) => requestAnimationFrame(() => resolve()));
      super.scheduleUpdate();
      } +
      +

      Returns void | Promise<unknown>

    • Controls whether or not update() should be called when the element requests +an update. By default, this method always returns true, but this can be +customized to control when to update.

      +

      Parameters

      • _changedProperties: Map<PropertyKey, unknown> | PropertyValueMap<any>

        Map of changed properties with old values

        +

      Returns boolean

    • Updates the element. This method reflects property values to attributes +and calls render to render DOM via lit-html. Setting properties inside +this method will not trigger another update.

      +

      Parameters

      • changedProperties: Map<PropertyKey, unknown> | PropertyValueMap<any>

        Map of changed properties with old values

        +

      Returns void

    • Invoked whenever the element is updated. Implement to perform +post-updating tasks via DOM APIs, for example, focusing an element.

      +

      Setting properties inside this method will trigger the element to update +again after this update cycle completes.

      +

      Parameters

      • _changedProperties: Map<PropertyKey, unknown> | PropertyValueMap<any>

        Map of changed properties with old values

        +

      Returns void

    • Invoked before update() to compute values needed during the update.

      +

      Implement willUpdate to compute property values that depend on other +properties and are used in the rest of the update process.

      +
      willUpdate(changedProperties) {
      // only need to check changed properties for an expensive computation.
      if (changedProperties.has('firstName') || changedProperties.has('lastName')) {
      this.sha = computeSHA(`${this.firstName} ${this.lastName}`);
      }
      }

      render() {
      return html`SHA: ${this.sha}`;
      } +
      +

      Parameters

      • _changedProperties: Map<PropertyKey, unknown> | PropertyValueMap<any>

      Returns void

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/functions/mixins.LisPaginatedSearchMixin.html b/docs/functions/mixins.LisPaginatedSearchMixin.html index cfcef95..adfba42 100644 --- a/docs/functions/mixins.LisPaginatedSearchMixin.html +++ b/docs/functions/mixins.LisPaginatedSearchMixin.html @@ -34,4 +34,4 @@

    Example

    By default, the

    @customElement('lis-gene-search-element')
    export class LisGeneSearchElement extends
    LisPaginatedSearchMixin(LitElement)<GeneSearchData, GeneSearchResult>() // <-- curried function call
    {

    // set properties in the constructor
    constructor() {
    super();
    // configure query string parameters
    this.requiredQueryStringParams = [['query']];
    // no need to configure the results table since we're going to override it
    }

    // define the form part of the template
    override renderForm() {
    ...
    }

    // define the results part of the template
    override renderResults() {
    // this is actually the default implementation provided by the mixin
    return html`
    <lis-simple-table-element
    caption="Search Results"
    .dataAttributes=${this.resultAttributes}
    .header=${this.tableHeader}
    .data=${this.searchResults}>
    </lis-simple-table-element>
    `;
    }

    }
    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 02ebab3..49af987 100644 --- a/docs/index.html +++ b/docs/index.html @@ -14,4 +14,4 @@

    The library can be used in your JavaScript/TypeScrip library as follows:

    import { LisGeneSearchElement } from '@legumeinfo/web-components';

    class MySearchElement extends LisGeneSearchElement { }
    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/controllers.html b/docs/modules/controllers.html index 8362d7a..e1460ab 100644 --- a/docs/modules/controllers.html +++ b/docs/modules/controllers.html @@ -2,8 +2,8 @@ by multilpe components. Specifically, components have a "has-a" releationship with controllres, which gives them access to a controller's functionality. The controllers in this module are not intended for users of this library.

    -

    Index

    Classes

    Index

    Classes

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/core_components.html b/docs/modules/core_components.html index 2a6c901..0fb32a6 100644 --- a/docs/modules/core_components.html +++ b/docs/modules/core_components.html @@ -2,11 +2,11 @@ blocks that can be composed to build higher-order components. The components in this module are quite generic and are not intended for users of this library.

    -

    Index

    Classes

    Index

    Classes

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/mixins.html b/docs/modules/mixins.html index 90f798b..9ffd244 100644 --- a/docs/modules/mixins.html +++ b/docs/modules/mixins.html @@ -3,10 +3,10 @@ mixins, which gives them access to a mixin's functionality through inheritance. The mixins in this module are not intended for users of this library.

    -

    Index

    Classes

    Index

    Classes

    Type Aliases

    Functions

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/models.html b/docs/modules/models.html index 05ba311..64a2f9c 100644 --- a/docs/modules/models.html +++ b/docs/modules/models.html @@ -1,5 +1,5 @@ models | @legumeinfo/web-components

    This module contains models that define various types. These models are for internal use only and should not by used by users of the library.

    -

    Index

    Type Aliases

    Index

    Type Aliases

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/user_components.html b/docs/modules/user_components.html index e3378d5..7c7e679 100644 --- a/docs/modules/user_components.html +++ b/docs/modules/user_components.html @@ -2,7 +2,7 @@ functionality for end users of this library. This module re-exports components from the core module for functionality reasons; the components from the core module are not intended for users of this library.

    -

    References

    References

    Re-exports LisAlertElement
    Re-exports LisFormInputExampleElement
    Re-exports LisFormWrapperElement
    Re-exports LisLoadingElement
    Re-exports LisModalElement
    Re-exports LisPaginationElement
    Re-exports LisSimpleTableElement

    Generated using TypeDoc

    \ No newline at end of file +

    References

    Re-exports LisAlertElement
    Re-exports LisFormInputExampleElement
    Re-exports LisFormWrapperElement
    Re-exports LisLoadingElement
    Re-exports LisModalElement
    Re-exports LisPaginationElement
    Re-exports LisSimpleTableElement

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/modules/viz_components.html b/docs/modules/viz_components.html new file mode 100644 index 0000000..7d1e455 --- /dev/null +++ b/docs/modules/viz_components.html @@ -0,0 +1,6 @@ +viz components | @legumeinfo/web-components

    This module contains Web Components that are considered primitive building +blocks that can be composed to build higher-order components. The components +in this module are quite generic and are meant to be consumed.

    +

    Index

    Classes

    Type Aliases

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/mixins.Constructor.html b/docs/types/mixins.Constructor.html index eeee21e..a19c6ef 100644 --- a/docs/types/mixins.Constructor.html +++ b/docs/types/mixins.Constructor.html @@ -4,4 +4,4 @@
  • Params extends any[] = any[]

    The type of the parameters argument for T.

  • Type declaration

    Generated using TypeDoc

    \ No newline at end of file +

    Returns T

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/mixins.PaginatedSearchOptions.html b/docs/types/mixins.PaginatedSearchOptions.html index 56408a2..d926125 100644 --- a/docs/types/mixins.PaginatedSearchOptions.html +++ b/docs/types/mixins.PaginatedSearchOptions.html @@ -3,4 +3,4 @@ mixin. The AbortSignal instance will emit if a search is performed before the current search completes. This signal should be used to cancel in-flight requests if the search API supports it.

    -

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/mixins.PaginatedSearchResults.html b/docs/types/mixins.PaginatedSearchResults.html index 983be57..325bc88 100644 --- a/docs/types/mixins.PaginatedSearchResults.html +++ b/docs/types/mixins.PaginatedSearchResults.html @@ -3,4 +3,4 @@ back when it performs a search.

    Type Parameters

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/mixins.SearchFunction.html b/docs/types/mixins.SearchFunction.html index 8f6047c..41ca1b6 100644 --- a/docs/types/mixins.SearchFunction.html +++ b/docs/types/mixins.SearchFunction.html @@ -10,4 +10,4 @@
  • page: number

    What page of the paginated results should be returned.

  • options: PaginatedSearchOptions

    Optional parameters that aren't required to perform a search but may be useful.

    -
  • Returns Promise<PaginatedSearchResults<SearchResult>>

    Generated using TypeDoc

    \ No newline at end of file +

    Returns Promise<PaginatedSearchResults<SearchResult>>

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/models.AlertModifierModel.html b/docs/types/models.AlertModifierModel.html index 2639264..ca54a1c 100644 --- a/docs/types/models.AlertModifierModel.html +++ b/docs/types/models.AlertModifierModel.html @@ -1,2 +1,2 @@ AlertModifierModel | @legumeinfo/web-components
    AlertModifierModel: "primary" | "success" | "warning" | "danger"

    UIkit alert class modifiers.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/models.StringObjectModel.html b/docs/types/models.StringObjectModel.html index 6f4a2e7..86b7d1d 100644 --- a/docs/types/models.StringObjectModel.html +++ b/docs/types/models.StringObjectModel.html @@ -1,2 +1,2 @@ StringObjectModel | @legumeinfo/web-components
    StringObjectModel: {
        [key: string]: string;
    }

    An object whose keys and values properties must be strings.

    -

    Type declaration

    • [key: string]: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.GeneFormDataFunction.html b/docs/types/user_components.GeneFormDataFunction.html index 4b022b0..28f269d 100644 --- a/docs/types/user_components.GeneFormDataFunction.html +++ b/docs/types/user_components.GeneFormDataFunction.html @@ -1,3 +1,3 @@ GeneFormDataFunction | @legumeinfo/web-components
    GeneFormDataFunction: ((options) => Promise<GeneSearchFormData>)

    The type signature of a function that may be used to load the data used to construct the search form in the LisGeneSearchElement template.

    -

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.GeneFormDataOptions.html b/docs/types/user_components.GeneFormDataOptions.html index f7e4643..f2f8e13 100644 --- a/docs/types/user_components.GeneFormDataOptions.html +++ b/docs/types/user_components.GeneFormDataOptions.html @@ -2,4 +2,4 @@ AbortSignal instance will emit if a new function is provided before the current function completes. This signal should be used to cancel in-flight requests if the external API supports it.

    -

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.GeneSearchData.html b/docs/types/user_components.GeneSearchData.html index dd2b163..de19702 100644 --- a/docs/types/user_components.GeneSearchData.html +++ b/docs/types/user_components.GeneSearchData.html @@ -1,4 +1,4 @@ GeneSearchData | @legumeinfo/web-components
    GeneSearchData: {
        description: string;
        genus: string;
        identifier: string;
        name: string;
        species: string;
        strain: string;
    }

    The data that will be passed to the search function by the LisGeneSearchElement class when a search is performed.

    -

    Type declaration

    • description: string
    • genus: string
    • identifier: string
    • name: string
    • species: string
    • strain: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.GeneSearchFormData.html b/docs/types/user_components.GeneSearchFormData.html index be52141..0341c67 100644 --- a/docs/types/user_components.GeneSearchFormData.html +++ b/docs/types/user_components.GeneSearchFormData.html @@ -1,3 +1,3 @@ GeneSearchFormData | @legumeinfo/web-components
    GeneSearchFormData: {
        genuses: {
            genus: string;
            species: {
                species: string;
                strains: {
                    strain: string;
                }[];
            }[];
        }[];
    }

    The data used to construct the search form in the LisGeneSearchElement template.

    -

    Type declaration

    • genuses: {
          genus: string;
          species: {
              species: string;
              strains: {
                  strain: string;
              }[];
          }[];
      }[]

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.GeneSearchFunction.html b/docs/types/user_components.GeneSearchFunction.html index 4c1b740..f1d4de3 100644 --- a/docs/types/user_components.GeneSearchFunction.html +++ b/docs/types/user_components.GeneSearchFunction.html @@ -9,4 +9,4 @@

    Returns Promise<GeneSearchResult[]>

    Returns

    A Promise that resolves to an Array of GeneSearchResult objects.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.GeneSearchResult.html b/docs/types/user_components.GeneSearchResult.html index 7d6ee2d..e42d246 100644 --- a/docs/types/user_components.GeneSearchResult.html +++ b/docs/types/user_components.GeneSearchResult.html @@ -1,3 +1,3 @@ GeneSearchResult | @legumeinfo/web-components
    GeneSearchResult: {
        description: string;
        geneFamilyAssignments: string[];
        genus: string;
        identifier: string;
        locations: string[];
        name: string;
        panGeneSets: string[];
        species: string;
        strain: string;
    }

    A single result of a gene search performed by the LisGeneSearchElement class.

    -

    Type declaration

    • description: string
    • geneFamilyAssignments: string[]
    • genus: string
    • identifier: string
    • locations: string[]
    • name: string
    • panGeneSets: string[]
    • species: string
    • strain: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.LinkoutFunction.html b/docs/types/user_components.LinkoutFunction.html index 3a9cc00..7546e37 100644 --- a/docs/types/user_components.LinkoutFunction.html +++ b/docs/types/user_components.LinkoutFunction.html @@ -7,4 +7,4 @@ be useful.

    Returns Promise<LinkoutResults>

    Returns

    A Promise that resolves to a LinkoutResults object.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.LinkoutOptions.html b/docs/types/user_components.LinkoutOptions.html index 71f0b94..05a48eb 100644 --- a/docs/types/user_components.LinkoutOptions.html +++ b/docs/types/user_components.LinkoutOptions.html @@ -2,4 +2,4 @@ AbortSignal instance will emit if a linkout is performed before the current linkout completes. This signal should be used to cancel in-flight requests if the linkout API supports it.

    -

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.LinkoutResult.html b/docs/types/user_components.LinkoutResult.html index d935881..d399298 100644 --- a/docs/types/user_components.LinkoutResult.html +++ b/docs/types/user_components.LinkoutResult.html @@ -1,3 +1,3 @@ LinkoutResult | @legumeinfo/web-components
    LinkoutResult: {
        href: string;
        text: string;
    }

    A single result of a linkout performed by the LisLinkoutElement class.

    -

    Type declaration

    • href: string
    • text: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.LinkoutResults.html b/docs/types/user_components.LinkoutResults.html index a494609..e6d9c4b 100644 --- a/docs/types/user_components.LinkoutResults.html +++ b/docs/types/user_components.LinkoutResults.html @@ -1,3 +1,3 @@ LinkoutResults | @legumeinfo/web-components
    LinkoutResults: {
        results: LinkoutResult[];
    }

    The type of object the LisLinkoutElement expects back from the linkout function.

    -

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.PublicationSearchData.html b/docs/types/user_components.PublicationSearchData.html index 6bb9530..d474e7a 100644 --- a/docs/types/user_components.PublicationSearchData.html +++ b/docs/types/user_components.PublicationSearchData.html @@ -1,4 +1,4 @@ PublicationSearchData | @legumeinfo/web-components
    PublicationSearchData: {
        query: string;
    }

    The data that will be passed to the search function by the LisPublicationSearchElement class when a search is performed.

    -

    Type declaration

    • query: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.PublicationSearchFunction.html b/docs/types/user_components.PublicationSearchFunction.html index e5ed9e3..7d3e7c7 100644 --- a/docs/types/user_components.PublicationSearchFunction.html +++ b/docs/types/user_components.PublicationSearchFunction.html @@ -10,4 +10,4 @@

    Returns Promise<PublicationSearchResult[]>

    Returns

    A Promise that resolves to an Array of PublicationSearchResult objects.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.PublicationSearchResult.html b/docs/types/user_components.PublicationSearchResult.html index 718f10e..3946d5b 100644 --- a/docs/types/user_components.PublicationSearchResult.html +++ b/docs/types/user_components.PublicationSearchResult.html @@ -1,3 +1,3 @@ PublicationSearchResult | @legumeinfo/web-components
    PublicationSearchResult: {
        doi: string;
        firstAuthor: string;
        journal: string;
        pubMedId: string;
        title: string;
        year: number;
    }

    A single result of a Publication search performed by the LisPublicationSearchElement class.

    -

    Type declaration

    • doi: string
    • firstAuthor: string
    • journal: string
    • pubMedId: string
    • title: string
    • year: number

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.QTLSearchData.html b/docs/types/user_components.QTLSearchData.html index b782003..f445770 100644 --- a/docs/types/user_components.QTLSearchData.html +++ b/docs/types/user_components.QTLSearchData.html @@ -1,4 +1,4 @@ QTLSearchData | @legumeinfo/web-components
    QTLSearchData: {
        query: string;
    }

    The data that will be passed to the search function by the LisQTLSearchElement class when a search is performed.

    -

    Type declaration

    • query: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.QTLSearchFunction.html b/docs/types/user_components.QTLSearchFunction.html index bbf75c6..bebf4b2 100644 --- a/docs/types/user_components.QTLSearchFunction.html +++ b/docs/types/user_components.QTLSearchFunction.html @@ -10,4 +10,4 @@

    Returns Promise<QTLSearchResult[]>

    Returns

    A Promise that resolves to an Array of QTLSearchResult objects.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.QTLSearchResult.html b/docs/types/user_components.QTLSearchResult.html index 2821a2c..1fbd3e2 100644 --- a/docs/types/user_components.QTLSearchResult.html +++ b/docs/types/user_components.QTLSearchResult.html @@ -1,3 +1,3 @@ QTLSearchResult | @legumeinfo/web-components
    QTLSearchResult: {
        end: number;
        identifier: string;
        linkageGroup_geneticMap_identifier: string;
        linkageGroup_identifier: string;
        markerNames: string;
        start: number;
        trait_name: string;
    }

    A single result of a QTL search performed by the LisQTLSearchElement class.

    -

    Type declaration

    • end: number
    • identifier: string
    • linkageGroup_geneticMap_identifier: string
    • linkageGroup_identifier: string
    • markerNames: string
    • start: number
    • trait_name: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.TraitAssociationFormDataFunction.html b/docs/types/user_components.TraitAssociationFormDataFunction.html index 44a96c9..8e90c7a 100644 --- a/docs/types/user_components.TraitAssociationFormDataFunction.html +++ b/docs/types/user_components.TraitAssociationFormDataFunction.html @@ -1,4 +1,4 @@ TraitAssociationFormDataFunction | @legumeinfo/web-components
    TraitAssociationFormDataFunction: ((options) => Promise<TraitAssociationSearchFormData>)

    The type signature of a function that may be used to load the data used to construct the search form in the LisTraitAssociationSearchElement template.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.TraitAssociationSearchData.html b/docs/types/user_components.TraitAssociationSearchData.html index 12e8310..e10ca91 100644 --- a/docs/types/user_components.TraitAssociationSearchData.html +++ b/docs/types/user_components.TraitAssociationSearchData.html @@ -1,4 +1,4 @@ TraitAssociationSearchData | @legumeinfo/web-components
    TraitAssociationSearchData: {
        author: string;
        genus: string;
        pubId: string;
        species: string;
        traits: string;
        type: string;
    }

    The data that will be passed to the search function by the LisTraitAssociationSearchElement class when a search is performed.

    -

    Type declaration

    • author: string
    • genus: string
    • pubId: string
    • species: string
    • traits: string
    • type: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.TraitAssociationSearchFormData.html b/docs/types/user_components.TraitAssociationSearchFormData.html index f2325f3..d4cd578 100644 --- a/docs/types/user_components.TraitAssociationSearchFormData.html +++ b/docs/types/user_components.TraitAssociationSearchFormData.html @@ -1,3 +1,3 @@ TraitAssociationSearchFormData | @legumeinfo/web-components
    TraitAssociationSearchFormData: {
        genuses: {
            genus: string;
            species: {
                species: string;
            }[];
        }[];
    }

    The data used to construct the search form in the LisTraitAssociationSearchElement template.

    -

    Type declaration

    • genuses: {
          genus: string;
          species: {
              species: string;
          }[];
      }[]

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.TraitAssociationSearchFormDataOptions.html b/docs/types/user_components.TraitAssociationSearchFormDataOptions.html index 763ce7d..3744243 100644 --- a/docs/types/user_components.TraitAssociationSearchFormDataOptions.html +++ b/docs/types/user_components.TraitAssociationSearchFormDataOptions.html @@ -2,4 +2,4 @@ AbortSignal instance will emit if a new function is provided before the current function completes. This signal should be used to cancel in-flight requests if the external API supports it.

    -

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.TraitAssociationSearchFunction.html b/docs/types/user_components.TraitAssociationSearchFunction.html index 77ffd84..9269e5c 100644 --- a/docs/types/user_components.TraitAssociationSearchFunction.html +++ b/docs/types/user_components.TraitAssociationSearchFunction.html @@ -8,4 +8,4 @@

    Returns Promise<TraitAssociationSearchResult[]>

    Returns

    A Promise that resolves to an Array of TraitAssociationSearchResult objects.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.TraitAssociationSearchResult.html b/docs/types/user_components.TraitAssociationSearchResult.html index 3eb49cb..1adbde5 100644 --- a/docs/types/user_components.TraitAssociationSearchResult.html +++ b/docs/types/user_components.TraitAssociationSearchResult.html @@ -1,4 +1,4 @@ TraitAssociationSearchResult | @legumeinfo/web-components
    TraitAssociationSearchResult: {
        description: string;
        genotypes: string;
        identifier: string;
        name: string;
        synopsis: string;
        type: string;
    }

    A single result of a trait association search performed by the LisTraitAssociationSearchElement class. Contains the name of the trait and either a GWAS or QTL study object.

    -

    Type declaration

    • description: string
    • genotypes: string
    • identifier: string
    • name: string
    • synopsis: string
    • type: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.TraitSearchData.html b/docs/types/user_components.TraitSearchData.html index 1eb4993..cb0d58a 100644 --- a/docs/types/user_components.TraitSearchData.html +++ b/docs/types/user_components.TraitSearchData.html @@ -1,4 +1,4 @@ TraitSearchData | @legumeinfo/web-components
    TraitSearchData: {
        query: string;
    }

    The data that will be passed to the search function by the LisTraitSearchElement class when a search is performed.

    -

    Type declaration

    • query: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.TraitSearchFunction.html b/docs/types/user_components.TraitSearchFunction.html index aa3bbd8..a8676f9 100644 --- a/docs/types/user_components.TraitSearchFunction.html +++ b/docs/types/user_components.TraitSearchFunction.html @@ -10,4 +10,4 @@

    Returns Promise<TraitSearchResult[]>

    Returns

    A Promise that resolves to an Array of TraitSearchResult objects.

    -

    Generated using TypeDoc

    \ No newline at end of file +

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/user_components.TraitSearchResult.html b/docs/types/user_components.TraitSearchResult.html index 8340951..a7e590c 100644 --- a/docs/types/user_components.TraitSearchResult.html +++ b/docs/types/user_components.TraitSearchResult.html @@ -1,3 +1,3 @@ TraitSearchResult | @legumeinfo/web-components
    TraitSearchResult: {
        description: string;
        identifier: string;
        name: string;
    }

    A single result of a trait search performed by the LisTraitSearchElement class.

    -

    Type declaration

    • description: string
    • identifier: string
    • name: string

    Generated using TypeDoc

    \ No newline at end of file +

    Type declaration

    Generated using TypeDoc

    \ No newline at end of file diff --git a/docs/types/viz_components.HistogramDataModel.html b/docs/types/viz_components.HistogramDataModel.html new file mode 100644 index 0000000..b650f08 --- /dev/null +++ b/docs/types/viz_components.HistogramDataModel.html @@ -0,0 +1 @@ +HistogramDataModel | @legumeinfo/web-components
    HistogramDataModel: {
        count: number;
        name: string;
    }

    Type declaration

    • count: number
    • name: string

    Generated using TypeDoc

    \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a57eb4c..2cdc035 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,8 @@ "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { + "@types/d3": "^7.4.3", + "d3": "^7.9.0", "lit": "^3.1.1" }, "devDependencies": { @@ -2624,6 +2626,228 @@ "@types/node": "*" } }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", + "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.9.tgz", + "integrity": "sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz", + "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.10.tgz", + "integrity": "sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.8.tgz", + "integrity": "sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, "node_modules/@types/debounce": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.4.tgz", @@ -2659,6 +2883,11 @@ "@types/range-parser": "*" } }, + "node_modules/@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, "node_modules/@types/http-assert": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz", @@ -4445,6 +4674,395 @@ "node": ">= 8" } }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-dsv/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/data-uri-to-buffer": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", @@ -4535,6 +5153,14 @@ "node": ">= 14" } }, + "node_modules/delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, "node_modules/delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -5890,6 +6516,14 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, "node_modules/intersection-observer": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz", @@ -7908,6 +8542,11 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" + }, "node_modules/rollup": { "version": "4.9.6", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", @@ -7963,6 +8602,11 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -7986,8 +8630,7 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { "version": "7.5.4", @@ -10981,6 +11624,228 @@ "@types/node": "*" } }, + "@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "requires": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" + }, + "@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "requires": { + "@types/d3-selection": "*" + } + }, + "@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "requires": { + "@types/d3-selection": "*" + } + }, + "@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==" + }, + "@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" + }, + "@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "requires": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==" + }, + "@types/d3-dispatch": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", + "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==" + }, + "@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "requires": { + "@types/d3-selection": "*" + } + }, + "@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==" + }, + "@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" + }, + "@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "requires": { + "@types/d3-dsv": "*" + } + }, + "@types/d3-force": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.9.tgz", + "integrity": "sha512-IKtvyFdb4Q0LWna6ymywQsEYjK/94SGhPrMfEr1TIc5OBeziTi+1jcCvttts8e0UWZIxpasjnQk9MNk/3iS+kA==" + }, + "@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==" + }, + "@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "requires": { + "@types/geojson": "*" + } + }, + "@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==" + }, + "@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "requires": { + "@types/d3-color": "*" + } + }, + "@types/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" + }, + "@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==" + }, + "@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==" + }, + "@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==" + }, + "@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "requires": { + "@types/d3-time": "*" + } + }, + "@types/d3-scale-chromatic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz", + "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==" + }, + "@types/d3-selection": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.10.tgz", + "integrity": "sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==" + }, + "@types/d3-shape": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "requires": { + "@types/d3-path": "*" + } + }, + "@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" + }, + "@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==" + }, + "@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" + }, + "@types/d3-transition": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.8.tgz", + "integrity": "sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==", + "requires": { + "@types/d3-selection": "*" + } + }, + "@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "requires": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, "@types/debounce": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.4.tgz", @@ -11016,6 +11881,11 @@ "@types/range-parser": "*" } }, + "@types/geojson": { + "version": "7946.0.14", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", + "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==" + }, "@types/http-assert": { "version": "1.5.3", "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz", @@ -12347,6 +13217,284 @@ "which": "^2.0.1" } }, + "d3": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "requires": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + } + }, + "d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "requires": { + "internmap": "1 - 2" + } + }, + "d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==" + }, + "d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + } + }, + "d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "requires": { + "d3-path": "1 - 3" + } + }, + "d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==" + }, + "d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "requires": { + "d3-array": "^3.2.0" + } + }, + "d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "requires": { + "delaunator": "5" + } + }, + "d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==" + }, + "d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + } + }, + "d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "requires": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==" + }, + "d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "requires": { + "d3-dsv": "1 - 3" + } + }, + "d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + } + }, + "d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==" + }, + "d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "requires": { + "d3-array": "2.5.0 - 3" + } + }, + "d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==" + }, + "d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "requires": { + "d3-color": "1 - 3" + } + }, + "d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==" + }, + "d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==" + }, + "d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==" + }, + "d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==" + }, + "d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "requires": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + } + }, + "d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "requires": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + } + }, + "d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==" + }, + "d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "requires": { + "d3-path": "^3.1.0" + } + }, + "d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "requires": { + "d3-array": "2 - 3" + } + }, + "d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "requires": { + "d3-time": "1 - 3" + } + }, + "d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==" + }, + "d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "requires": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + } + }, + "d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "requires": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + } + }, "data-uri-to-buffer": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.1.tgz", @@ -12414,6 +13562,14 @@ "esprima": "^4.0.1" } }, + "delaunator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", + "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", + "requires": { + "robust-predicates": "^3.0.2" + } + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -13390,6 +14546,11 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==" + }, "intersection-observer": { "version": "0.12.2", "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.12.2.tgz", @@ -14882,6 +16043,11 @@ "glob": "^10.3.7" } }, + "robust-predicates": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", + "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" + }, "rollup": { "version": "4.9.6", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", @@ -14914,6 +16080,11 @@ "queue-microtask": "^1.2.2" } }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -14923,8 +16094,7 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "semver": { "version": "7.5.4", diff --git a/package.json b/package.json index a086c18..550080f 100644 --- a/package.json +++ b/package.json @@ -71,6 +71,7 @@ "@web/test-runner": "^0.18.0", "@web/test-runner-playwright": "^0.11.0", "@webcomponents/webcomponentsjs": "^2.8.0", + "@types/d3": "^7.4.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "husky": "^8.0.0", @@ -84,6 +85,9 @@ "typescript": "^5.3.3", "uikit": "^3.17.11" }, + "peerDependencies": { + "d3": "^7.9.0" + }, "dependencies": { "lit": "^3.1.1" } diff --git a/src/viz/index.ts b/src/viz/index.ts new file mode 100644 index 0000000..1178450 --- /dev/null +++ b/src/viz/index.ts @@ -0,0 +1,8 @@ +/** + * This module contains Web Components that are considered primitive building + * blocks that can be composed to build higher-order components. The components + * in this module are quite generic and are meant to be consumed. + * + * @module viz components + */ +export * from './lis-histogram-element'; diff --git a/src/viz/lis-histogram-element.ts b/src/viz/lis-histogram-element.ts new file mode 100644 index 0000000..8f6d03a --- /dev/null +++ b/src/viz/lis-histogram-element.ts @@ -0,0 +1,253 @@ +import {LitElement, html, css} from 'lit'; +import {customElement, property} from 'lit/decorators.js'; +import {Ref, createRef, ref} from 'lit/directives/ref.js'; +import * as d3 from 'd3'; + +export type HistogramDataModel = { + name: string; + count: number; +}; + +/** + * @htmlElement `` + * + * A custom web component for creating histograms using D3.js. + * + * The following attributes/properties can be set using HTML or JavaScript: + * - {@link data | `data`} + * - {@link nameLabel | `nameLabel`} + * - {@link countLabel | `countLabel`} + * - {@link width | `width`} + * - {@link height | `height`} + * - {@link orientation | `orientation`} + * + * @example + * Example using only HTML: + * + * ```html + * + * + * ``` + * + * @example + * Example using JavaScript and HTML that sets data using values from a ``: + * + * ```html + * + * + * + * + * ``` + * + */ +@customElement('lis-histogram-element') +export class LisHistogramElement extends LitElement { + /** @ignore */ + // used by Lit to style the Shadow DOM + // not necessary but exclusion breaks TypeDoc + static override styles = css``; + + /** @ignore */ + // disable Shadow DOM to inherit global styles + override createRenderRoot() { + return this; + } + + private _histogramContainerRef: Ref = createRef(); + + /** + * The data to display in the histogram. + * + * @attribute + */ + @property() + data: HistogramDataModel[] = []; + + /** + * The label for the x-axis. + * + * @attribute + */ + @property({type: String}) + nameLabel: string = 'Name'; + + /** + * The label for the y-axis. + * + * @attribute + */ + @property({type: String}) + countLabel: string = 'Count'; + + /** + * The width of the histogram in pixels. + * + * @attribute + */ + @property({type: Number}) + width: number = 500; + + /** + * The height of the histogram in pixels. + * + * @attribute + */ + @property({type: Number}) + height: number = 500; + + /** + * The orientation of the histogram. Can be either 'horizontal' or 'vertical'. + * + * @attribute + */ + @property({type: String}) + orientation: 'horizontal' | 'vertical' = 'horizontal'; + + /** @ignore */ + // used by Lit to draw the template + override render() { + this.renderHistogram(this.data); + return html`
    `; + } + + renderHistogram(theHistogram: HistogramDataModel[]) { + if (!this._histogramContainerRef.value) return; + this._histogramContainerRef.value.innerHTML = ''; + const maxLabelLength = d3.max(theHistogram, (d) => d.name.length) as number; + if (!maxLabelLength) return; + const padding = 9 * maxLabelLength; // padding around the SVG + const width = this.width - 2 * padding; // adjust width + const height = this.height - 2 * padding; // adjust height + + const svgContainer = d3 + .select(this._histogramContainerRef.value) + .append('svg') + .attr('width', width + 2 * padding) + .attr('height', height + 2 * padding) + .append('g') + .attr('transform', `translate(${padding}, ${padding})`); + + const x = d3 + .scaleBand() + .domain(theHistogram.map((d) => d.name)) + .range([0, width]) + .padding(0.1); + + const y = d3 + .scaleLinear() + .domain([0, d3.max(theHistogram, (d) => d.count) as number]) + .range(this.orientation === 'vertical' ? [0, height] : [height, 0]); + + // Create the bars + svgContainer + .selectAll('rect') + .data(theHistogram) + .enter() + .append('rect') + .attr('x', (d) => + this.orientation === 'vertical' ? 0 : (x(d.name) as number), + ) + .attr('y', (d) => + this.orientation === 'vertical' ? (x(d.name) as number) : y(d.count), + ) + .attr('width', (d) => + this.orientation === 'vertical' ? y(d.count) : x.bandwidth(), + ) + .attr('height', (d) => + this.orientation === 'vertical' ? x.bandwidth() : height - y(d.count), + ) + .attr('fill', 'steelblue') + .append('title') // append a title element to each rectangle + .text( + (d) => `${this.nameLabel}: ${d.name}, ${this.countLabel}: ${d.count}`, + ); // set the text of the title + + // Add the x-axis label + svgContainer + .append('text') + .attr( + 'transform', + 'translate(' + width / 2 + ' ,' + (height + padding - 5) + ')', + ) + .style('text-anchor', 'middle') + .style('fill', 'black') + .text(this.orientation === 'vertical' ? this.countLabel : this.nameLabel); + + // Calculate dynamic padding based on the length of the y-axis label + const dynamicPadding = Math.max(this.countLabel.length * 6, padding); // assuming 6px per character + + // Add the y-axis label + svgContainer + .append('text') + .attr('transform', 'rotate(-90)') + .attr('y', 0 - dynamicPadding - 5) + .attr('x', 0 - height / 2) + .attr('dy', '1em') + .style('text-anchor', 'middle') + .style('fill', 'black') + .text(this.orientation === 'vertical' ? this.nameLabel : this.countLabel); + + // Add the x-axis + svgContainer + .append('g') + .attr( + 'transform', + this.orientation === 'vertical' + ? 'translate(0,0)' + : `translate(0,${height})`, + ) + .call( + this.orientation === 'vertical' ? d3.axisLeft(x) : d3.axisBottom(x), + ); + + // Add the y-axis + svgContainer + .append('g') + .attr( + 'transform', + this.orientation === 'vertical' + ? `translate(0,${height})` + : 'translate(0,0)', + ) + .call( + this.orientation === 'vertical' ? d3.axisBottom(y) : d3.axisLeft(y), + ); + } +} + +declare global { + interface HTMLElementTagNameMap { + 'lis-histogram-element': LisHistogramElement; + } +} diff --git a/typedoc.json b/typedoc.json index 71d92df..7ceda43 100644 --- a/typedoc.json +++ b/typedoc.json @@ -2,6 +2,7 @@ "$schema": "https://typedoc.org/schema.json", "entryPoints": [ "./src/core/index.ts", + "./src/viz/index.ts", "./src/index.ts", "./src/controllers/index.ts", "./src/mixins/index.ts",