diff --git a/components/alert/alert-toast.js b/components/alert/alert-toast.js index 6ee1301d6d3..55ff8f4fabf 100644 --- a/components/alert/alert-toast.js +++ b/components/alert/alert-toast.js @@ -36,6 +36,7 @@ let ALERT_HAS_HOVER = false; // if this alert or sibling alert is hovered on * @slot - Default content placed inside of the component * @fires d2l-alert-toast-button-press - Dispatched when the toast's action button is clicked * @fires d2l-alert-toast-close - Dispatched when the toast is closed + * @typedef {AlertToast} AlertToastExported */ class AlertToast extends LitElement { diff --git a/components/alert/alert.js b/components/alert/alert.js index 01577fb1cfc..81c4c80b76a 100644 --- a/components/alert/alert.js +++ b/components/alert/alert.js @@ -12,6 +12,7 @@ import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; * @slot - Default content placed inside of the component * @fires d2l-alert-close - Dispatched when the alert's close button is clicked * @fires d2l-alert-button-press - Dispatched when the alert's action button is clicked + * @typedef {Alert} AlertExported */ class Alert extends LocalizeCoreElement(RtlMixin(LitElement)) { diff --git a/components/backdrop/backdrop.js b/components/backdrop/backdrop.js index 826d68b0798..b0964d2f83d 100644 --- a/components/backdrop/backdrop.js +++ b/components/backdrop/backdrop.js @@ -13,6 +13,7 @@ let scrollOverflow = null; /** * A component for displaying a semi-transparent backdrop behind a specified sibling element. It also hides elements other than the target from assistive technologies by applying 'role="presentation"' and 'aria-hidden="true"'. + * @typedef {Backdrop} BackdropExported */ class Backdrop extends LitElement { diff --git a/components/breadcrumbs/breadcrumb-current-page.js b/components/breadcrumbs/breadcrumb-current-page.js index 3c861476065..b44cd03a921 100644 --- a/components/breadcrumbs/breadcrumb-current-page.js +++ b/components/breadcrumbs/breadcrumb-current-page.js @@ -2,6 +2,7 @@ import { css, html, LitElement } from 'lit'; /** * An entry within a parent representing the current page. + * @typedef {BreadcrumbCurrentPage} BreadcrumbCurrentPageExported */ class BreadcrumbCurrentPage extends LitElement { diff --git a/components/breadcrumbs/breadcrumb.js b/components/breadcrumbs/breadcrumb.js index 4b58f64bacf..1b24263028d 100644 --- a/components/breadcrumbs/breadcrumb.js +++ b/components/breadcrumbs/breadcrumb.js @@ -8,6 +8,7 @@ import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; /** * An entry within a parent. + * @typedef {Breadcrumb} BreadcrumbExported */ class Breadcrumb extends RtlMixin(FocusMixin(LitElement)) { diff --git a/components/breadcrumbs/breadcrumbs.js b/components/breadcrumbs/breadcrumbs.js index 53b9c36fd7a..c9e699f4923 100644 --- a/components/breadcrumbs/breadcrumbs.js +++ b/components/breadcrumbs/breadcrumbs.js @@ -6,6 +6,7 @@ import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; /** * Help users understand where they are within the application, and provide useful clues about how the space is organized. They also provide a convenient navigation mechanism. * @slot - Breadcrumb items + * @typedef {Breadcrumbs} BreadcrumbsExported */ class Breadcrumbs extends LocalizeCoreElement(RtlMixin(LitElement)) { static get properties() { diff --git a/components/button/button-add.js b/components/button/button-add.js index cf29558f22f..03e18cd22d3 100644 --- a/components/button/button-add.js +++ b/components/button/button-add.js @@ -18,6 +18,7 @@ const MODE = { /** * A component for quickly adding items to a specific locaiton. + * @typedef {ButtonAdd} ButtonAddExported */ class ButtonAdd extends RtlMixin(PropertyRequiredMixin(FocusMixin(LocalizeCoreElement(LitElement)))) { static get properties() { @@ -193,6 +194,7 @@ customElements.define('d2l-button-add', ButtonAdd); /** * @ignore + * @typedef {ButtonAddIconText} ButtonAddIconTextExported */ class ButtonAddIconText extends VisibleOnAncestorMixin(LitElement) { static get properties() { diff --git a/components/button/button-icon.js b/components/button/button-icon.js index cd7e7c5ae1d..48817405080 100644 --- a/components/button/button-icon.js +++ b/components/button/button-icon.js @@ -15,6 +15,7 @@ import { ThemeMixin } from '../../mixins/theme/theme-mixin.js'; /** * A button component that can be used just like the native button for instances where only an icon is displayed. * @slot icon - Optional slot for a custom icon + * @typedef {ButtonIcon} ButtonIconExported */ class ButtonIcon extends PropertyRequiredMixin(ThemeMixin(ButtonMixin(VisibleOnAncestorMixin(RtlMixin(LitElement))))) { diff --git a/components/button/button-move.js b/components/button/button-move.js index aca8b685909..9e5413b5bca 100644 --- a/components/button/button-move.js +++ b/components/button/button-move.js @@ -33,6 +33,7 @@ export const moveActions = Object.freeze({ /** * A button component that provides a move action via a single button. * @fires d2l-button-move-action - Dispatched when move action occurs + * @typedef {ButtonMove} ButtonMoveExported */ class ButtonMove extends ThemeMixin(FocusMixin(RtlMixin(LitElement))) { diff --git a/components/button/button-subtle.js b/components/button/button-subtle.js index 62cb16e0542..7fa39e25e72 100644 --- a/components/button/button-subtle.js +++ b/components/button/button-subtle.js @@ -12,6 +12,7 @@ import { labelStyles } from '../typography/styles.js'; * A button component that can be used just like the native button, but for advanced or de-emphasized actions. * @slot - Default content placed inside of the button * @slot icon - Optional slot for a custom icon + * @typedef {ButtonSubtle} ButtonSubtleExported */ class ButtonSubtle extends ButtonMixin(LitElement) { diff --git a/components/button/button-toggle.js b/components/button/button-toggle.js index be9f63fdc69..ee31f341f9c 100644 --- a/components/button/button-toggle.js +++ b/components/button/button-toggle.js @@ -3,6 +3,7 @@ import { css, html, LitElement } from 'lit'; /** * A button container component for button toggles. * @fires d2l-button-toggle-before-change - Dispatched before pressed state is updated. Can be canceled to allow the consumer to handle toggling pressed state. This is useful if something needs to happen prior to the pressed state being toggled. + * @typedef {ButtonToggle} ButtonToggleExported */ class ButtonToggle extends LitElement { diff --git a/components/button/button.js b/components/button/button.js index 7d23d5c1cf9..757544e6d92 100644 --- a/components/button/button.js +++ b/components/button/button.js @@ -10,6 +10,7 @@ import { labelStyles } from '../typography/styles.js'; /** * A button component that can be used just like the native button element. * @slot - Default content placed inside of the button + * @typedef {Button} ButtonExported */ class Button extends ButtonMixin(LitElement) { diff --git a/components/button/floating-buttons.js b/components/button/floating-buttons.js index 22201b28286..a83224df599 100644 --- a/components/button/floating-buttons.js +++ b/components/button/floating-buttons.js @@ -13,6 +13,7 @@ const MINIMUM_TARGET_SIZE = 24; /** * A wrapper component to display floating workflow buttons. When the normal position of the workflow buttons is below the bottom edge of the viewport, they will dock at the bottom edge. When the normal position becomes visible, they will undock. * @slot - Content to be displayed in the floating container + * @typedef {FloatingButtons} FloatingButtonsExported */ class FloatingButtons extends RtlMixin(LitElement) { diff --git a/components/calendar/calendar.js b/components/calendar/calendar.js index 884457a1b18..2249af662b7 100644 --- a/components/calendar/calendar.js +++ b/components/calendar/calendar.js @@ -146,6 +146,7 @@ export function getPrevMonth(month) { /** * A component can be used to display a responsively sized calendar that allows for date selection. * @slot - Content displayed under the calendar (e.g., buttons) + * @typedef {Calendar} CalendarExported */ class Calendar extends LocalizeCoreElement(RtlMixin(LitElement)) { diff --git a/components/card/card-content-meta.js b/components/card/card-content-meta.js index 28e8371038d..b7c06b66828 100644 --- a/components/card/card-content-meta.js +++ b/components/card/card-content-meta.js @@ -4,6 +4,7 @@ import { css, html, LitElement } from 'lit'; /** * A helper for providing layout/style for meta data within the `content` slot. * @slot - Slot for meta data text + * @typedef {CardContentMeta} CardContentMetaExported */ class CardContentMeta extends LitElement { diff --git a/components/card/card-content-title.js b/components/card/card-content-title.js index 84e37e067f6..d181daeeb5c 100644 --- a/components/card/card-content-title.js +++ b/components/card/card-content-title.js @@ -3,6 +3,7 @@ import { css, html, LitElement } from 'lit'; /** * A helper for providing layout/style for a title within the `content` slot. * @slot - Slot for title text + * @typedef {CardContentTitle} CardContentTitleExported */ class CardContentTitle extends LitElement { diff --git a/components/card/card-footer-link.js b/components/card/card-footer-link.js index c8919f8e3d5..f5846b10696 100644 --- a/components/card/card-footer-link.js +++ b/components/card/card-footer-link.js @@ -10,6 +10,7 @@ import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; /** * An icon link that can be placed in the `footer` slot. * @slot tooltip - slot for the link tooltip + * @typedef {CardFooterLink} CardFooterLinkExported */ class CardFooterLink extends FocusMixin(RtlMixin(LitElement)) { diff --git a/components/card/card-loading-shimmer.js b/components/card/card-loading-shimmer.js index ad51cc1cdb8..a08c35f4672 100644 --- a/components/card/card-loading-shimmer.js +++ b/components/card/card-loading-shimmer.js @@ -4,6 +4,7 @@ import { css, html, LitElement } from 'lit'; /** * A card layout component for when the card header is loading. * @slot - Slot for header content being loaded + * @typedef {CardLoadingShimmer} CardLoadingShimmerExported */ class CardLoadingShimmer extends LitElement { diff --git a/components/card/card.js b/components/card/card.js index d0f43efc4c0..105fa5ff860 100644 --- a/components/card/card.js +++ b/components/card/card.js @@ -15,6 +15,7 @@ import { styleMap } from 'lit/directives/style-map.js'; * @slot badge - Slot for badge content, such as a profile image or status indicator * @slot footer - Slot for footer content, such secondary actions * @slot header - Slot for header content, such as course image (no actionable elements) + * @typedef {Card} CardExported */ class Card extends FocusMixin(RtlMixin(LitElement)) { diff --git a/components/collapsible-panel/collapsible-panel-group.js b/components/collapsible-panel/collapsible-panel-group.js index 839694c6f50..ab5a932df43 100644 --- a/components/collapsible-panel/collapsible-panel-group.js +++ b/components/collapsible-panel/collapsible-panel-group.js @@ -5,6 +5,7 @@ import { SkeletonGroupMixin } from '../skeleton/skeleton-group-mixin.js'; /** * A component that renders a container and layout for collapsible panels * @slot default - Slot for panels. Only accepts `d2l-collapsible-panel` + * @typedef {CollapsiblePanelGroup} CollapsiblePanelGroupExported */ class CollapsiblePanelGroup extends SkeletonGroupMixin(LitElement) { diff --git a/components/collapsible-panel/collapsible-panel-summary-item.js b/components/collapsible-panel/collapsible-panel-summary-item.js index 29029d6d01e..dd9a44742db 100644 --- a/components/collapsible-panel/collapsible-panel-summary-item.js +++ b/components/collapsible-panel/collapsible-panel-summary-item.js @@ -7,6 +7,7 @@ import { styleMap } from 'lit/directives/style-map.js'; /** * A component for a "summary item" child component that describes the content in a collapsible panel. + * @typedef {CollapsiblePanelSummaryItem} CollapsiblePanelSummaryItemExported */ class CollapsiblePanelSummaryItem extends SkeletonMixin(LitElement) { diff --git a/components/collapsible-panel/collapsible-panel.js b/components/collapsible-panel/collapsible-panel.js index b5d0ecea74d..eaf86b039f2 100644 --- a/components/collapsible-panel/collapsible-panel.js +++ b/components/collapsible-panel/collapsible-panel.js @@ -34,6 +34,7 @@ const defaultHeading = 3; * @slot actions - Slot for buttons and dropdown openers to be placed in top right corner of header * @fires d2l-collapsible-panel-expand - Dispatched when the panel is expanded * @fires d2l-collapsible-panel-collapse - Dispatched when the panel is collapsed + * @typedef {CollapsiblePanel} CollapsiblePanelExported */ class CollapsiblePanel extends SkeletonMixin(FocusMixin(RtlMixin(LitElement))) { diff --git a/components/count-badge/count-badge-icon.js b/components/count-badge/count-badge-icon.js index 73f23aa51de..1dc1dbca2ce 100644 --- a/components/count-badge/count-badge-icon.js +++ b/components/count-badge/count-badge-icon.js @@ -7,6 +7,7 @@ import { getFocusPseudoClass } from '../../helpers/focus.js'; import { getUniqueId } from '../../helpers/uniqueId.js'; import { ifDefined } from 'lit/directives/if-defined.js'; +/** @typedef {CountBadgeIcon} CountBadgeIconExported */ class CountBadgeIcon extends FocusMixin(CountBadgeMixin(LitElement)) { static get properties() { diff --git a/components/count-badge/count-badge.js b/components/count-badge/count-badge.js index 18a78d45317..fc8d5944e06 100644 --- a/components/count-badge/count-badge.js +++ b/components/count-badge/count-badge.js @@ -6,6 +6,7 @@ import { getFocusPseudoClass } from '../../helpers/focus.js'; import { getUniqueId } from '../../helpers/uniqueId.js'; import { ifDefined } from 'lit/directives/if-defined.js'; +/** @typedef {CountBadge} CountBadgeExported */ class CountBadge extends FocusMixin(CountBadgeMixin(LitElement)) { static get styles() { diff --git a/components/demo/code-view.js b/components/demo/code-view.js index c7696fbb100..5beb9bd9365 100644 --- a/components/demo/code-view.js +++ b/components/demo/code-view.js @@ -4,6 +4,7 @@ import { styles } from './code-view-styles.js'; import { themeStyles } from './code-dark-plus-styles.js'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; +/** @typedef {CodeView} CodeViewExported */ class CodeView extends LitElement { static get properties() { diff --git a/components/demo/demo-page.js b/components/demo/demo-page.js index 269e4ef51d4..fc83a76291a 100644 --- a/components/demo/demo-page.js +++ b/components/demo/demo-page.js @@ -22,6 +22,7 @@ window.isD2LDemoPage = true; document.body.removeAttribute('unresolved'); })(); +/** @typedef {DemoPage} DemoPageExported */ class DemoPage extends LitElement { static get properties() { diff --git a/components/demo/demo-snippet.js b/components/demo/demo-snippet.js index 5c86d480bda..0c887170c30 100644 --- a/components/demo/demo-snippet.js +++ b/components/demo/demo-snippet.js @@ -5,6 +5,7 @@ import '../dropdown/dropdown.js'; import '../dropdown/dropdown-content.js'; import { css, html, LitElement } from 'lit'; +/** @typedef {DemoSnippet} DemoSnippetExported */ class DemoSnippet extends LitElement { static get properties() { diff --git a/components/description-list/description-list-wrapper.js b/components/description-list/description-list-wrapper.js index 0a4c2560ed9..c92ca23a340 100644 --- a/components/description-list/description-list-wrapper.js +++ b/components/description-list/description-list-wrapper.js @@ -32,6 +32,7 @@ export const descriptionListStyles = [ /** * Wraps a native
element, providing styling and resize behavior. * @slot - Content to wrap + * @typedef {DescriptionListWrapper} DescriptionListWrapperExported */ class DescriptionListWrapper extends LitElement { static get properties() { diff --git a/components/dialog/dialog-confirm.js b/components/dialog/dialog-confirm.js index 76893608755..67b3788c3e8 100644 --- a/components/dialog/dialog-confirm.js +++ b/components/dialog/dialog-confirm.js @@ -10,6 +10,7 @@ import { LocalizeCoreElement } from '../../helpers/localize-core-element.js'; * A simple confirmation dialog for prompting the user. Apply the "data-dialog-action" attribute to workflow buttons to automatically close the confirm dialog with the action value. * @fires d2l-dialog-before-close - Dispatched with the action value before the dialog is closed for any reason, providing an opportunity to prevent the dialog from closing * @slot footer - Slot for footer content such as workflow buttons + * @typedef {DialogConfirm} DialogConfirmExported */ class DialogConfirm extends LocalizeCoreElement(DialogMixin(LitElement)) { diff --git a/components/dialog/dialog-fullscreen.js b/components/dialog/dialog-fullscreen.js index d015bcf8880..ae06989335f 100644 --- a/components/dialog/dialog-fullscreen.js +++ b/components/dialog/dialog-fullscreen.js @@ -19,6 +19,7 @@ const mediaQueryList = window.matchMedia('(max-width: 615px), (max-height: 420px * @fires d2l-dialog-before-close - Dispatched with the action value before the dialog is closed for any reason, providing an opportunity to prevent the dialog from closing * @slot - Default slot for content inside dialog * @slot footer - Slot for footer content such as workflow buttons + * @typedef {DialogFullscreen} DialogFullscreenExported */ class DialogFullscreen extends PropertyRequiredMixin(LocalizeCoreElement(AsyncContainerMixin(DialogMixin(LitElement)))) { diff --git a/components/dialog/dialog.js b/components/dialog/dialog.js index dc6b12f460d..ae9914b7146 100644 --- a/components/dialog/dialog.js +++ b/components/dialog/dialog.js @@ -19,6 +19,7 @@ const mediaQueryList = window.matchMedia('(max-width: 615px), (max-height: 420px * @fires d2l-dialog-before-close - Dispatched with the action value before the dialog is closed for any reason, providing an opportunity to prevent the dialog from closing * @slot - Default slot for content inside dialog * @slot footer - Slot for footer content such as workflow buttons + * @typedef {Dialog} DialogExported */ class Dialog extends PropertyRequiredMixin(LocalizeCoreElement(AsyncContainerMixin(DialogMixin(LitElement)))) { diff --git a/components/dropdown/dropdown-button-subtle.js b/components/dropdown/dropdown-button-subtle.js index 1cabc0c9d27..aaa74e0fd07 100644 --- a/components/dropdown/dropdown-button-subtle.js +++ b/components/dropdown/dropdown-button-subtle.js @@ -7,6 +7,7 @@ import { ifDefined } from 'lit/directives/if-defined.js'; /** * A "d2l-button-subtle" opener for dropdown content. * @slot - Dropdown content (e.g., "d2l-dropdown-content", "d2l-dropdown-menu" or "d2l-dropdown-tabs") + * @typedef {DropdownButtonSubtle} DropdownButtonSubtleExported */ class DropdownButtonSubtle extends DropdownOpenerMixin(LitElement) { diff --git a/components/dropdown/dropdown-button.js b/components/dropdown/dropdown-button.js index 361ba82323f..65fe35db2e1 100644 --- a/components/dropdown/dropdown-button.js +++ b/components/dropdown/dropdown-button.js @@ -8,6 +8,7 @@ import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; /** * A "d2l-button" opener for dropdown content. * @slot - Dropdown content (e.g., "d2l-dropdown-content", "d2l-dropdown-menu" or "d2l-dropdown-tabs") + * @typedef {DropdownButton} DropdownButtonExported */ class DropdownButton extends DropdownOpenerMixin(RtlMixin(LitElement)) { diff --git a/components/dropdown/dropdown-content.js b/components/dropdown/dropdown-content.js index b4c413c4c47..3f51d172b6a 100644 --- a/components/dropdown/dropdown-content.js +++ b/components/dropdown/dropdown-content.js @@ -8,6 +8,7 @@ import { LitElement } from 'lit'; * @slot header - Sticky container at the top of the dropdown * @slot footer - Sticky container at the bottom of the dropdown * @fires d2l-dropdown-open - Dispatched when the dropdown is opened + * @typedef {DropdownContent} DropdownContentExported */ class DropdownContent extends DropdownContentMixin(LitElement) { diff --git a/components/dropdown/dropdown-context-menu.js b/components/dropdown/dropdown-context-menu.js index e848ce8362f..9c11d63500d 100644 --- a/components/dropdown/dropdown-context-menu.js +++ b/components/dropdown/dropdown-context-menu.js @@ -7,6 +7,7 @@ import { dropdownOpenerStyles } from './dropdown-opener-styles.js'; /** * A simple/minimal opener for dropdown content. * @slot - Dropdown content (e.g., "d2l-dropdown-content", "d2l-dropdown-menu" or "d2l-dropdown-tabs") + * @typedef {DropdownContextMenu} DropdownContextMenuExported */ class DropdownContextMenu extends DropdownOpenerMixin(VisibleOnAncestorMixin(LitElement)) { diff --git a/components/dropdown/dropdown-menu.js b/components/dropdown/dropdown-menu.js index 66aaa8a96cd..3683200bee4 100644 --- a/components/dropdown/dropdown-menu.js +++ b/components/dropdown/dropdown-menu.js @@ -11,6 +11,7 @@ const dropdownDelay = 300; * @slot header - Sticky container at the top of the dropdown * @slot footer - Sticky container at the bottom of the dropdown * @fires d2l-dropdown-open - Dispatched when the dropdown is opened + * @typedef {DropdownMenu} DropdownMenuExported */ class DropdownMenu extends ThemeMixin(DropdownContentMixin(LitElement)) { diff --git a/components/dropdown/dropdown-more.js b/components/dropdown/dropdown-more.js index 4223763c8c2..2370152802a 100644 --- a/components/dropdown/dropdown-more.js +++ b/components/dropdown/dropdown-more.js @@ -7,6 +7,7 @@ import { dropdownOpenerStyles } from './dropdown-opener-styles.js'; /** * A simple/minimal opener for dropdown content. * @slot - Dropdown content (e.g., "d2l-dropdown-content", "d2l-dropdown-menu" or "d2l-dropdown-tabs") + * @typedef {DropdownMore} DropdownMoreExported */ class DropdownMore extends DropdownOpenerMixin(VisibleOnAncestorMixin(LitElement)) { diff --git a/components/dropdown/dropdown-tabs.js b/components/dropdown/dropdown-tabs.js index ed5d6176430..2284fa42c52 100644 --- a/components/dropdown/dropdown-tabs.js +++ b/components/dropdown/dropdown-tabs.js @@ -8,6 +8,7 @@ import { dropdownContentStyles } from './dropdown-content-styles.js'; * @slot header - Sticky container at the top of the dropdown * @slot footer - Sticky container at the bottom of the dropdown * @fires d2l-dropdown-open - Dispatched when the dropdown is opened + * @typedef {DropdownTabs} DropdownTabsExported */ class DropdownTabs extends DropdownContentMixin(LitElement) { diff --git a/components/dropdown/dropdown.js b/components/dropdown/dropdown.js index 444dec6f01c..61e10d425d3 100644 --- a/components/dropdown/dropdown.js +++ b/components/dropdown/dropdown.js @@ -5,6 +5,7 @@ import { dropdownOpenerStyles } from './dropdown-opener-styles.js'; /** * A generic opener for dropdown content, enabling alternate opener implementation using existing elements/components. Provide and indicate your own opener element with the class attribute value "d2l-dropdown-opener". Wire-up is automatic. * @slot - Dropdown content (e.g., "d2l-dropdown-content", "d2l-dropdown-menu" or "d2l-dropdown-tabs") + * @typedef {Dropdown} DropdownExported */ class Dropdown extends DropdownOpenerMixin(LitElement) { diff --git a/components/empty-state/empty-state-action-button.js b/components/empty-state/empty-state-action-button.js index 624756542a2..0ec6213b1bd 100644 --- a/components/empty-state/empty-state-action-button.js +++ b/components/empty-state/empty-state-action-button.js @@ -8,6 +8,7 @@ import { PropertyRequiredMixin } from '../../mixins/property-required/property-r * `d2l-empty-state-action-button` is an empty state action component that can be placed inside of the default slot of `empty-state-simple` or `empty-state-illustrated` to add a button action to the component. * @fires d2l-empty-state-action - Dispatched when the action button is clicked * @fires d2l-empty-state-illustrated-check - Internal event + * @typedef {EmptyStateActionButton} EmptyStateActionButtonExported */ class EmptyStateActionButton extends PropertyRequiredMixin(LitElement) { diff --git a/components/empty-state/empty-state-action-link.js b/components/empty-state/empty-state-action-link.js index c2471843b16..34080143c0d 100644 --- a/components/empty-state/empty-state-action-link.js +++ b/components/empty-state/empty-state-action-link.js @@ -5,6 +5,7 @@ import { PropertyRequiredMixin } from '../../mixins/property-required/property-r /** * `d2l-empty-state-action-link` is an empty state action component that can be placed inside of the default slot of `empty-state-simple` or `empty-state-illustrated` to add a link action to the component. + * @typedef {EmptyStateActionLink} EmptyStateActionLinkExported */ class EmptyStateActionLink extends PropertyRequiredMixin(LitElement) { diff --git a/components/empty-state/empty-state-illustrated.js b/components/empty-state/empty-state-illustrated.js index 93109078d72..f299fb8c770 100644 --- a/components/empty-state/empty-state-illustrated.js +++ b/components/empty-state/empty-state-illustrated.js @@ -15,6 +15,7 @@ const illustrationAspectRatio = 500 / 330; * The `d2l-empty-state-illustrated` component is an empty state component that displays a title and description with an illustration. An empty state action component can be placed inside of the default slot to add an optional action. * @slot - Slot for empty state actions * @slot illustration - Slot for custom SVG content if `illustration-name` property is not set + * @typedef {EmptyStateIllustrated} EmptyStateIllustratedExported */ class EmptyStateIllustrated extends PropertyRequiredMixin(LitElement) { diff --git a/components/empty-state/empty-state-simple.js b/components/empty-state/empty-state-simple.js index 14ab2db0f86..274cc0d030f 100644 --- a/components/empty-state/empty-state-simple.js +++ b/components/empty-state/empty-state-simple.js @@ -8,6 +8,7 @@ import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; /** * The `d2l-empty-state-simple` component is an empty state component that displays a description. An empty state action component can be placed inside of the default slot to add an optional action. * @slot - Slot for empty state actions + * @typedef {EmptyStateSimple} EmptyStateSimpleExported */ class EmptyStateSimple extends PropertyRequiredMixin(RtlMixin(LitElement)) { diff --git a/components/expand-collapse/expand-collapse-content.js b/components/expand-collapse/expand-collapse-content.js index 7bae4af17dd..6153b26a4db 100644 --- a/components/expand-collapse/expand-collapse-content.js +++ b/components/expand-collapse/expand-collapse-content.js @@ -17,6 +17,7 @@ const states = { * @slot - Default content placed inside of the component * @fires d2l-expand-collapse-content-expand - Dispatched when the content starts to expand. The `detail` contains an `expandComplete` promise that can be waited on to determine when the content has finished expanding. * @fires d2l-expand-collapse-content-collapse - Dispatched when the content starts to collapse. The `detail` contains a `collapseComplete` promise that can be waited on to determine when the content has finished collapsing. + * @typedef {ExpandCollapseContent} ExpandCollapseContentExported */ class ExpandCollapseContent extends LitElement { diff --git a/components/filter/filter-dimension-set-date-text-value.js b/components/filter/filter-dimension-set-date-text-value.js index 7edfbf8b916..b39c132d6de 100644 --- a/components/filter/filter-dimension-set-date-text-value.js +++ b/components/filter/filter-dimension-set-date-text-value.js @@ -6,6 +6,7 @@ import { LocalizeCoreElement } from '../../helpers/localize-core-element.js'; * A component to represent a possible date value that can be selected for a dimension set (the main filter dimension type) for predefined date ranges. * A range property is used to define the preset text shown, as well as the start and end date values formatted as UTC strings. * This component does not render anything, but instead gathers data needed for the d2l-filter. + * @typedef {FilterDimensionSetDateTextValue} FilterDimensionSetDateTextValueExported */ class FilterDimensionSetDateTextValue extends LocalizeCoreElement(LitElement) { diff --git a/components/filter/filter-dimension-set-date-time-range-value.js b/components/filter/filter-dimension-set-date-time-range-value.js index 5852cca1a5d..1275825e366 100644 --- a/components/filter/filter-dimension-set-date-time-range-value.js +++ b/components/filter/filter-dimension-set-date-time-range-value.js @@ -10,6 +10,7 @@ import { LocalizeCoreElement } from '../../helpers/localize-core-element.js'; * A component to represent a possible custom date range or date-time range value that can be selected for a dimension set (the main filter dimension type). * The start-value and end-value will be included in the d2l-filter-change event and formatted as an ISO string in UTC time. * This component does not render anything, but instead gathers data needed for the d2l-filter. + * @typedef {FilterDimensionSetDateTimeRangeValue} FilterDimensionSetDateTimeRangeValueExported */ class FilterDimensionSetDateTimeRangeValue extends LocalizeCoreElement(LitElement) { diff --git a/components/filter/filter-dimension-set-empty-state.js b/components/filter/filter-dimension-set-empty-state.js index 9f36809dcad..787204e0fac 100644 --- a/components/filter/filter-dimension-set-empty-state.js +++ b/components/filter/filter-dimension-set-empty-state.js @@ -3,6 +3,7 @@ import { LitElement } from 'lit'; /** * A component to customize the empty state parameters for a particular filter-dimension-set. * This component does not render anything, but instead gathers data needed for the d2l-filter. + * @typedef {FilterDimensionSetEmptyState} FilterDimensionSetEmptyStateExported */ class FilterDimensionSetEmptyState extends LitElement { diff --git a/components/filter/filter-dimension-set-value.js b/components/filter/filter-dimension-set-value.js index 6a498e67bd3..5a82ce0c795 100644 --- a/components/filter/filter-dimension-set-value.js +++ b/components/filter/filter-dimension-set-value.js @@ -3,6 +3,7 @@ import { LitElement } from 'lit'; /** * A component to represent a possible value that can be selected for a dimension set (the main filter dimension type). * This component does not render anything, but instead gathers data needed for the d2l-filter. + * @typedef {FilterDimensionSetValue} FilterDimensionSetValueExported */ class FilterDimensionSetValue extends LitElement { diff --git a/components/filter/filter-dimension-set.js b/components/filter/filter-dimension-set.js index af9c56219ca..306253d1b16 100644 --- a/components/filter/filter-dimension-set.js +++ b/components/filter/filter-dimension-set.js @@ -6,6 +6,7 @@ import { html, LitElement } from 'lit'; * @slot - For d2l-filter-dimension-set-value components * @slot search-empty-state - The empty state that is displayed when the search returns no results * @slot set-empty-state - The empty state that is displayed when the dimension-set has no values + * @typedef {FilterDimensionSet} FilterDimensionSetExported */ class FilterDimensionSet extends LitElement { diff --git a/components/filter/filter-overflow-group.js b/components/filter/filter-overflow-group.js index 9c623ad32da..456656b7f9f 100644 --- a/components/filter/filter-overflow-group.js +++ b/components/filter/filter-overflow-group.js @@ -14,6 +14,7 @@ function createFilterItem(node) { /** * A component that can be used to display a group of filters that will be put into an overflow filter when they no longer fit on the first line of their container * @slot - d2l-filters to be added to the container + * @typedef {FilterOverflowGroup} FilterOverflowGroupExported */ class FilterOverflowGroup extends OverflowGroupMixin(RtlMixin(LitElement)) { diff --git a/components/filter/filter-tags.js b/components/filter/filter-tags.js index f5c00292efd..c3d04e9288f 100644 --- a/components/filter/filter-tags.js +++ b/components/filter/filter-tags.js @@ -6,6 +6,7 @@ import { LocalizeCoreElement } from '../../helpers/localize-core-element.js'; /** * A tag-list allowing the user to see (and remove) the currently applied filters. + * @typedef {FilterTags} FilterTagsExported */ const CLEAR_TIMEOUT = 310; /** Corresponds to timeout in _dispatchChangeEvent in filter + 10 ms */ diff --git a/components/filter/filter.js b/components/filter/filter.js index 91ad2e8a84f..f6b087cff93 100644 --- a/components/filter/filter.js +++ b/components/filter/filter.js @@ -67,6 +67,7 @@ function addSpaceListener() { * @fires d2l-filter-dimension-first-open - Dispatched when a dimension is opened for the first time * @fires d2l-filter-dimension-search - Dispatched when a dimension that supports searching and has the "manual" search-type is searched * @fires d2l-filter-dimension-load-more - Dispatched when a dimension load more pager clicked + * @typedef {Filter} FilterExported */ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) { diff --git a/components/focus-trap/focus-trap.js b/components/focus-trap/focus-trap.js index f1eb3852429..b03b3e1a7d8 100644 --- a/components/focus-trap/focus-trap.js +++ b/components/focus-trap/focus-trap.js @@ -9,6 +9,7 @@ const traps = []; /** * A generic container component to trap user focus. * @fires d2l-focus-trap-enter - Dispatched when focus enters the trap. May be used to override initial focus placement when focus enters the trap. + * @typedef {FocusTrap} FocusTrapExported */ class FocusTrap extends FocusMixin(LitElement) { diff --git a/components/form/form-errory-summary.js b/components/form/form-errory-summary.js index dd8fb8bcc2a..700d9d926b9 100644 --- a/components/form/form-errory-summary.js +++ b/components/form/form-errory-summary.js @@ -5,6 +5,7 @@ import { linkStyles } from '../link/link.js'; import { LocalizeCoreElement } from '../../helpers/localize-core-element.js'; import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; +/** @typedef {FormErrorSummary} FormErrorSummaryExported */ class FormErrorSummary extends LocalizeCoreElement(RtlMixin(LitElement)) { static get properties() { diff --git a/components/form/form-native.js b/components/form/form-native.js index 98b05432d5e..1c3ba0dd28c 100644 --- a/components/form/form-native.js +++ b/components/form/form-native.js @@ -8,6 +8,7 @@ import { getUniqueId } from '../../helpers/uniqueId.js'; * These interactive controls are submitted using a native HTML form submission. * @slot - The native and custom form elements that participate in validation and submission * @fires submit - Dispatched when the form is submitted. Cancelling this event will prevent form submission. + * @typedef {FormNative} FormNativeExported */ class FormNative extends FormMixin(LitElement) { diff --git a/components/form/form.js b/components/form/form.js index 14a39957813..3bb8404223e 100644 --- a/components/form/form.js +++ b/components/form/form.js @@ -8,6 +8,7 @@ import { FormMixin } from './form-mixin.js'; * Values of these interactive controls are aggregated but the user is responsible for handling submission via the @d2l-form-submit event. * @slot - The native and custom form elements that participate in validation and submission * @fires d2l-form-connect - Internal event + * @typedef {Form} FormExported */ class Form extends FormMixin(LitElement) { diff --git a/components/hierarchical-view/hierarchical-view.js b/components/hierarchical-view/hierarchical-view.js index 17ea031cc82..2c4a81fb4b5 100644 --- a/components/hierarchical-view/hierarchical-view.js +++ b/components/hierarchical-view/hierarchical-view.js @@ -7,6 +7,7 @@ import { HierarchicalViewMixin } from '../hierarchical-view/hierarchical-view-mi * @fires d2l-hierarchical-view-hide-start - Dispatched when child view will be hidden (before animation begins) * @fires d2l-hierarchical-view-hide-complete - Dispatched when child view is hidden (when animation ends) * @fires d2l-hierarchical-view-resize - Dispatched when child view is resized + * @typedef {HierarchicalView} HierarchicalViewExported */ class HierarchicalView extends HierarchicalViewMixin(LitElement) { diff --git a/components/html-block/html-block.js b/components/html-block/html-block.js index e0784ba3854..36d866364e5 100644 --- a/components/html-block/html-block.js +++ b/components/html-block/html-block.js @@ -141,6 +141,7 @@ const getRenderers = async() => { /** * A component for displaying user-authored HTML. + * @typedef {HtmlBlock} HtmlBlockExported */ class HtmlBlock extends LoadingCompleteMixin(LitElement) { diff --git a/components/icons/icon-custom.js b/components/icons/icon-custom.js index e8b4afac580..80a500afc50 100644 --- a/components/icons/icon-custom.js +++ b/components/icons/icon-custom.js @@ -3,6 +3,7 @@ import { fixSvg } from './fix-svg.js'; import { iconStyles } from './icon-styles.js'; import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; +/** @typedef {IconCustom} IconCustomExported */ class IconCustom extends RtlMixin(LitElement) { static get properties() { diff --git a/components/icons/icon.js b/components/icons/icon.js index c7e0877724f..178bfef6d61 100644 --- a/components/icons/icon.js +++ b/components/icons/icon.js @@ -8,6 +8,7 @@ import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; import { unsafeSVG } from 'lit/directives/unsafe-svg.js'; import { until } from 'lit/directives/until.js'; +/** @typedef {Icon} IconExported */ class Icon extends RtlMixin(LitElement) { static get properties() { diff --git a/components/inputs/input-checkbox-spacer.js b/components/inputs/input-checkbox-spacer.js index 5ce291c45ef..3c21711515e 100644 --- a/components/inputs/input-checkbox-spacer.js +++ b/components/inputs/input-checkbox-spacer.js @@ -4,6 +4,7 @@ import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; /** * Used to align related content below checkboxes * @slot - Additional related content + * @typedef {InputCheckboxSpacer} InputCheckboxSpacerExported */ class InputCheckboxSpacer extends RtlMixin(LitElement) { diff --git a/components/inputs/input-checkbox.js b/components/inputs/input-checkbox.js index b56024c59d9..e70340ef337 100644 --- a/components/inputs/input-checkbox.js +++ b/components/inputs/input-checkbox.js @@ -63,6 +63,7 @@ export const checkboxStyles = css` * @slot - Checkbox information (e.g., text) * @slot inline-help - Help text that will appear below the input. Use this only when other helpful cues are not sufficient, such as a carefully-worded label. * @fires change - Dispatched when the checkbox's state changes + * @typedef {InputCheckbox} InputCheckboxExported */ class InputCheckbox extends InputInlineHelpMixin(FocusMixin(SkeletonMixin(RtlMixin(LitElement)))) { diff --git a/components/inputs/input-color.js b/components/inputs/input-color.js index 9bd09930bf0..33672e81cb3 100644 --- a/components/inputs/input-color.js +++ b/components/inputs/input-color.js @@ -83,6 +83,7 @@ const SWATCH_TRANSPARENT = `" and a "" component. The time input only appears once a date is selected. This component displays the "value" if one is specified, and reflects the selected value when one is selected or entered. * @slot inline-help - Help text that will appear below the input. Use this only when other helpful cues are not sufficient, such as a carefully-worded label. * @fires change - Dispatched when there is a change to selected date or selected time. `value` corresponds to the selected value and is formatted in ISO 8601 combined date and time format (`YYYY-MM-DDTHH:mm:ss.sssZ`). + * @typedef {InputDateTime} InputDateTimeExported */ class InputDateTime extends FocusMixin(LabelledMixin(SkeletonMixin(FormElementMixin(LocalizeCoreElement(RtlMixin(LitElement)))))) { diff --git a/components/inputs/input-date.js b/components/inputs/input-date.js index 05e83c10d4f..072dd4e472f 100644 --- a/components/inputs/input-date.js +++ b/components/inputs/input-date.js @@ -28,6 +28,7 @@ export function formatISODateInUserCalDescriptor(val) { * A component that consists of a text input field for typing a date and an attached calendar (d2l-calendar) dropdown. It displays the "value" if one is specified, or a placeholder if not, and reflects the selected value when one is selected in the calendar or entered in the text input. * @slot inline-help - Help text that will appear below the input. Use this only when other helpful cues are not sufficient, such as a carefully-worded label. * @fires change - Dispatched when there is a change to selected date. `value` corresponds to the selected value and is formatted in ISO 8601 calendar date format (`YYYY-MM-DD`). + * @typedef {InputDate} InputDateExported */ class InputDate extends FocusMixin(LabelledMixin(SkeletonMixin(FormElementMixin(LocalizeCoreElement(LitElement))))) { diff --git a/components/inputs/input-fieldset.js b/components/inputs/input-fieldset.js index 768fdbbbbd4..efc5c23ca44 100644 --- a/components/inputs/input-fieldset.js +++ b/components/inputs/input-fieldset.js @@ -11,6 +11,7 @@ import { SkeletonMixin } from '../skeleton/skeleton-mixin.js'; /** * A component wrapper to be used when a page contains multiple inputs which are related (for example to form an address) to wrap those related inputs. * @slot - Related input components + * @typedef {InputFieldset} InputFieldsetExported */ class InputFieldset extends InputInlineHelpMixin(SkeletonMixin(RtlMixin(LitElement))) { diff --git a/components/inputs/input-number.js b/components/inputs/input-number.js index 822c538fb8f..27f35bb25b8 100644 --- a/components/inputs/input-number.js +++ b/components/inputs/input-number.js @@ -76,6 +76,7 @@ function roundPrecisely(val, maxFractionDigits) { * @slot right - Slot within the input on the right side. Useful for an "icon" or "button-icon". * @slot inline-help - Help text that will appear below the input. Use this only when other helpful cues are not sufficient, such as a carefully-worded label. * @fires change - Dispatched when an alteration to the value is committed (typically after focus is lost) by the user. The `value` attribute reflects a JavaScript Number which is parsed from the formatted input value. + * @typedef {InputNumber} InputNumberExported */ class InputNumber extends FocusMixin(LabelledMixin(SkeletonMixin(FormElementMixin(LocalizeCoreElement(LitElement))))) { diff --git a/components/inputs/input-percent.js b/components/inputs/input-percent.js index 3a5ee4a4e86..4907682d9a9 100644 --- a/components/inputs/input-percent.js +++ b/components/inputs/input-percent.js @@ -13,6 +13,7 @@ import { SkeletonMixin } from '../skeleton/skeleton-mixin.js'; * @slot after - Slot beside the input on the right side. Useful for an "icon" or "button-icon". * @slot inline-help - Help text that will appear below the input. Use this only when other helpful cues are not sufficient, such as a carefully-worded label. * @fires change - Dispatched when an alteration to the value is committed (typically after focus is lost) by the user. The `value` attribute reflects a JavaScript Number which is parsed from the formatted input value. + * @typedef {InputPercent} InputPercentExported */ class InputPercent extends FocusMixin(LabelledMixin(SkeletonMixin(FormElementMixin(LocalizeCoreElement(RtlMixin(LitElement)))))) { diff --git a/components/inputs/input-radio-spacer.js b/components/inputs/input-radio-spacer.js index 6bcb53fd631..8171b37c52c 100644 --- a/components/inputs/input-radio-spacer.js +++ b/components/inputs/input-radio-spacer.js @@ -4,6 +4,7 @@ import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js'; /** * Used to align related content below radio buttons * @slot - Additional related content + * @typedef {InputRadioSpacer} InputRadioSpacerExported */ class InputRadioSpacer extends RtlMixin(LitElement) { diff --git a/components/inputs/input-search.js b/components/inputs/input-search.js index 60b92f57958..ed36d2138ed 100644 --- a/components/inputs/input-search.js +++ b/components/inputs/input-search.js @@ -15,6 +15,7 @@ export const SUPPRESS_ENTER_TIMEOUT_MS = 1000; * This component wraps the native "