Readonly
ATTRIBUTE_Readonly
CDATA_node is a CDATASection node.
Readonly
COMMENT_node is a Comment node.
Readonly
DOCUMENT_node is a DocumentFragment node.
Readonly
DOCUMENT_node is a document.
Readonly
DOCUMENT_Set when other is a descendant of node.
Readonly
DOCUMENT_Set when other is an ancestor of node.
Readonly
DOCUMENT_Set when node and other are not in the same tree.
Readonly
DOCUMENT_Set when other is following node.
Readonly
DOCUMENT_Readonly
DOCUMENT_Set when other is preceding node.
Readonly
DOCUMENT_node is a doctype.
Readonly
ELEMENT_node is an element.
Readonly
ENTITY_Readonly
ENTITY_Readonly
NOTATION_Readonly
PROCESSING_node is a ProcessingInstruction node.
Readonly
TEXT_node is a Text node.
Protected
_configProtected
Optional
_disableProtected
Optional
_feedbackProtected
Optional
_languageProtected
_statusReadonly
accessWhether the cell is currently up in the session queue.
Protected
activeReadonly
assignedReadonly
attributeReadonly
attributesReadonly
baseURIReturns node's node document's document base URL.
Readonly
childReadonly
childReturns the children.
Readonly
childrenReturns the child elements.
Readonly
classAllows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.
Returns the value of element's class content attribute. Can be set to change it.
Readonly
clientReadonly
clientReadonly
clientReadonly
clientProtected
connectReadonly
datasetProtected
editorProtected
eventsEvents emitted by the cell when the user performs an action.
Protected
feedbackReadonly
firstReturns the first child.
Readonly
firstReturns the first child that is an element, and null otherwise.
Returns the value of element's id content attribute. Can be set to change it.
Protected
interruptReadonly
isReturns true if node is connected and false otherwise.
Readonly
isRegistered hotkeys for the cell's user actions.
Readonly
lastReturns the last child.
Readonly
lastReturns the last child that is an element, and null otherwise.
Readonly
localReturns the local name.
Protected
logReadonly
namespaceURIReturns the namespace.
Readonly
nextReturns the first following sibling that is an element, and null otherwise.
Readonly
nextReturns the next sibling.
Readonly
nodeReturns a string appropriate for the type of node.
Readonly
nodeReturns the type of node.
Optional
nonceReadonly
offsetReadonly
offsetReadonly
offsetReadonly
offsetReadonly
offsetFires when the user aborts the download.
The event.
Fires when the object loses the input focus.
The focus event.
Occurs when playback is possible, but would require further buffering.
The event.
Fires when the contents of the object or selection have changed.
The event.
Fires when the user clicks the left mouse button on the object
The mouse event.
Fires when the user clicks the right mouse button in the client area, opening the context menu.
The mouse event.
Fires when the user double-clicks the object.
The mouse event.
Fires on the source object continuously during a drag operation.
The event.
Fires on the source object when the user releases the mouse at the close of a drag operation.
The event.
Fires on the target element when the user drags the object to a valid drop target.
The drag event.
Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation.
The drag event.
Fires on the target element continuously while the user drags the object over a valid drop target.
The event.
Fires on the source object when the user starts to drag a text selection or selected object.
The event.
Occurs when the duration attribute is updated.
The event.
Occurs when the media element is reset to its initial state.
The event.
Occurs when the end of playback is reached.
The event
Fires when an error occurs during object loading.
Fires when the object receives focus.
The event.
Fires when the user presses a key.
The keyboard event
Fires when the user presses an alphanumeric key.
The event.
Fires when the user releases a key.
The keyboard event
Fires immediately after the browser loads the object.
The event.
Occurs when media data is loaded at the current playback position.
The event.
Occurs when the duration and dimensions of the media have been determined.
The event.
Occurs when Internet Explorer begins looking for media data.
The event.
Fires when the user clicks the object with either mouse button.
The mouse event.
Fires when the user moves the mouse over the object.
The mouse event.
Fires when the user moves the mouse pointer outside the boundaries of the object.
The mouse event.
Fires when the user moves the mouse pointer into the object.
The mouse event.
Fires when the user releases a mouse button while the mouse is over the object.
The mouse event.
Occurs when playback is paused.
The event.
Occurs when the play method is requested.
The event.
Occurs when the audio or video has started playing.
The event.
Occurs to indicate progress while downloading media data.
The event.
Occurs when the playback rate is increased or decreased.
The event.
Fires when the user resets a form.
The event.
Fires when the user repositions the scroll box in the scroll bar on the object.
The event.
Occurs when the seek operation ends.
The event.
Occurs when the current playback position is moved.
The event.
Fires when the current selection changes.
The event.
Occurs when the download has stopped.
The event.
Occurs if the load operation has been intentionally halted.
The event.
Occurs to indicate the current playback position.
The event.
Optional
ontouchcancelOptional
ontouchendOptional
ontouchmoveOptional
ontouchstartOccurs when the volume is changed, or playback is muted or unmuted.
The event.
Occurs when playback stops because the next frame of a video resource is not available.
The event.
Protected
outputReadonly
ownerReadonly
parentReturns the parent element.
Readonly
parentReturns the parent.
Protected
parsedReadonly
partProtected
prefersReadonly
prefixReturns the namespace prefix.
Readonly
previousReturns the first preceding sibling that is an element, and null otherwise.
Readonly
previousReturns the previous sibling.
Protected
resetProtected
runReadonly
scrollReadonly
scrollOptional
sessionThe cell's session (shared across cells), if one has been configured.
Optional
sessionReadonly
shadowReturns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.
Returns the value of element's slot content attribute. Can be set to change it.
Protected
solutionProtected
specProtected
startedProtected
statusReadonly
styleProtected
submitReadonly
tagReturns the HTML-uppercased qualified name.
Static
[metadata]Static
_$litStatic
Optional
_initializersStatic
Protected
finalizedMarks class as having been finalized, which includes creating properties
from static properties
, but does not include all properties created
from decorators.
Static
tagStatic
Optional
disableDisable 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');
Static
Optional
enableEnable 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');
Static
Optional
enabledRead or set all the enabled warning categories for this class.
This property is only used in development builds.
Static
elementMemoized list of all element properties, including any superclass properties. Created lazily on user subclasses when finalizing the class.
Static
propertiesUser-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.
Readonly
renderReadonly
renderNode or ShadowRoot into which element DOM should be rendered. Defaults to an open shadowRoot.
Static
shadowOptions 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.
Static
elementMemoized list of all element styles. Created lazily on user subclasses when finalizing the class.
Static
Optional
stylesArray of styles to apply to the element. The styles should be defined using the css tag function, via constructible stylesheets, or imported from native CSS module scripts.
Note on Content Security Policy:
Element styles are implemented with <style>
tags when the browser doesn't
support adopted StyleSheets. To use such <style>
tags with the style-src
CSP directive, the style-src value must either include 'unsafe-inline' or
nonce-<base64-value>
with <base64-value>
replaced be a server-generated
nonce.
To provide a nonce to use on generated <style>
elements, set
window.litNonce
to a server-generated nonce in your page's HTML, before
loading application code:
<script>
// Generated and unique per request:
window.litNonce = 'a1b2c3d4';
</script>
Is set to true
after the first update. The element code cannot assume
that renderRoot
exists before the element hasUpdated
.
True if there is a pending update as a result of calling requestUpdate()
.
Should only be read.
The cell's configuration (may be partial, and partials are validated on demand).
This does not override any configurations that can be set via cell properties. For example,
if you set config.session.language
to "python"
here, but then specify a cell like
<ck-code-cell language="r">
, the cell will use R as the language.
The cell's configuration (may be partial, and partials are validated on demand).
This does not override any configurations that can be set via cell properties. For example,
if you set config.session.language
to "python"
here, but then specify a cell like
<ck-code-cell language="r">
, the cell will use R as the language.
The cell's feedback area (unavailable if the cell is not yet connected to the DOM).
The cell's output area (unavailable if the cell is not yet connected to the DOM).
Retrieve last run code.
Retrieve last rendered output.
Static
observedReturns a list of attributes corresponding to the registered properties.
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.
A promise of a boolean that resolves to true if the update completed without triggering another update.
Optional
options: boolean | AddEventListenerOptionsOptional
options: boolean | AddEventListenerOptionsProtected
changeReturns the first (starting at element) inclusive ancestor that matches selectors, and null otherwise.
Protected
connectProtected
connectProtected
connectProtected
createProtected
firstReturns 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.
Protected
handleHandle feedback from the session.
the feedback to handle
Protected
handleProtected
handleHandle output from the session.
the output to handle
Protected
handleProtected
isProtected
isWhether the cell is submittable.
This is only a function because accessors cannot be typeguards.
Returns the first element that is a descendant of node that matches selectors.
Returns all element descendants of node that match selectors.
Optional
options: boolean | EventListenerOptionsOptional
options: boolean | EventListenerOptionsProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderProtected
renderDisplays 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.
Optional
options: FullscreenOptionsProtected
storeStore the response from the session, if it isn't overly large.
the response to store
Protected
storedIf 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.
Optional
force: booleanStatic
addAdds 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.
Static
extractExtract code elements from the text of a code-cell specified via markdown.
the text to parse (see globalFromMarkdown
for specification)
Static
Protected
finalizeFinishes 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.
Static
globalSet a new default configuration for all cells on a page.
Applies the given configuration to every cell on the page by settings
config
. If the watch
parameter is true
, the configuration will also
be applied to any new cells that are created after the function is called.
the new default configuration (will be merged with defaults)
whether to watch for new cells and apply the configuration to them
whether to reload the cells from storage after applying the configuration
Static
globalConvert all matching source elements to CodeCell
s (see ()
).
To make code cells more readable in markdown files, you can specify them using fenced code
blocks. These render to HTML as <pre><code> CONTENT </code></pre>
where
the content can then be processed by this function. The content should have a separate header
for each kind of code you want to initialize the cell with (IExerciseSpec
). Here is an
example specification:
```{ #cell-id data-code-cell=true }
%%% setup
library(coursekata)
%%% prompt
# this gets shown when the cell is first loaded or when you press Reset
```
Note that the headers for setup and prompt are preceded by %%%
and that the top fence has
braces ({}
) to give the cell an ID and to indicate that it is a code cell. This code block
will be parsed to this by most markdown renderers (some might put the attributes on the code
tag instead of the pre tag, like markdown-it):
<pre id="cell-id" data-code-cell="true">
<code>
%%% setup
library(coursekata)
%%% prompt
# this gets shown when the cell is first loaded or when you press Reset
</code>
</pre>
Finally, this method will read that rendered markdown and replace it with the appropriate
<code-cell
>:
<code-cell id="cell-id">
<code data-type="setup">
library(coursekata)
</code>
<code data-type="prompt">
# this gets shown when the cell is first loaded or when you press Reset
</code>
</code-cell>
the CSS selector for the <pre>
tags to read from. The easiest way to
ensure that the CSS selector is unique to <code-cell>
specifications is to give them all a
data-
attribute like data-code-cell=true
.
Static
Private
loadSynchronizes 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
.
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.
Static
createCreates 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);
}
Optional
options: PropertyDeclaration<unknown, unknown>Static
Protected
getReturns 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
}
}
}
Static
getReturns 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
.
Static
Protected
finalizeTakes 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.
Optional
styles: CSSResultGroupProtected
enableProtected
getOverride 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;
}
}
A promise of a boolean that resolves to true if the update completed without triggering another update.
Protected
performPerforms 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.
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.
Optional
name: PropertyKeyname of requesting property
Optional
oldValue: unknownold value of requesting property
Optional
options: PropertyDeclaration<unknown, unknown>property options to use instead of the previously configured options
Protected
scheduleSchedules 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();
}
Protected
shouldControls 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.
Map of changed properties with old values
Protected
updateUpdates 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.
Map of changed properties with old values
Protected
updatedInvoked 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.
Map of changed properties with old values
Protected
willInvoked 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}`;
}
Generated using TypeDoc
An object that can request something of the session.