add @documentation tag

pull/1128/head
Cory LaViska 2023-01-12 10:26:25 -05:00
rodzic 2e7ac38678
commit edc9e69f30
59 zmienionych plików z 117 dodań i 115 usunięć

Wyświetl plik

@ -45,7 +45,7 @@ export default {
case ts.SyntaxKind.ClassDeclaration: {
const className = node.name.getText();
const classDoc = moduleDoc?.declarations?.find(declaration => declaration.name === className);
const customTags = ['title', 'animation', 'dependency', 'since', 'status'];
const customTags = ['animation', 'dependency', 'documentation', 'since', 'status', 'title'];
let customComments = '/**';
node.jsDoc?.forEach(jsDoc => {
@ -81,6 +81,7 @@ export default {
break;
// Value-only metadata tags
case 'documentation':
case 'since':
case 'status':
case 'title':

Wyświetl plik

@ -2,8 +2,6 @@
[component-header:sl-qr-code]
Generates a [QR code](https://www.qrcode.com/) and renders it using the [Canvas API](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API).
QR codes are useful for providing small pieces of information to users who can quickly scan them with a smartphone. Most smartphones have built-in QR code scanners, so simply pointing the camera at a QR code will decode it and allow the user to visit a website, dial a phone number, read a message, etc.
```html preview

Wyświetl plik

@ -13,6 +13,7 @@ New versions of Shoelace are released as-needed and generally occur when a criti
- Added support for the `inert` attribute on `<sl-menu-item>` to allow hidden menu items to not accept focus [#1107](https://github.com/shoelace-style/shoelace/issues/1107)
- Added the `tag` part to `<sl-select>`
- Added `sl-hover` event to `<sl-rating>` [#1125](https://github.com/shoelace-style/shoelace/issues/1125)
- Added the `@documentation` tag with a link to the docs for each component
- Fixed a bug in `<sl-select>` that prevented placeholders from showing when `multiple` was used [#1109](https://github.com/shoelace-style/shoelace/issues/1109)
- Fixed a bug in `<sl-select>` that caused tags to not be rounded when using the `pill` attribute [#1117](https://github.com/shoelace-style/shoelace/issues/1117)
- Fixed a bug in `<sl-select>` where the `sl-change` and `sl-input` events didn't weren't emitted when removing tags [#1119](https://github.com/shoelace-style/shoelace/issues/1119)

Wyświetl plik

@ -8,9 +8,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Short summary of the component's intended use.
*
* @since 2.0
* @documentation https://shoelace.style/components/{{ tagWithoutPrefix tag }}
* @status experimental
* @since 2.0
*
* @dependency sl-example
*

Wyświetl plik

@ -16,9 +16,9 @@ const toastStack = Object.assign(document.createElement('div'), { className: 'sl
/**
* @summary Alerts are used to display important messages inline or as toast notifications.
*
* @since 2.0
* @documentation https://shoelace.style/components/alert
* @status stable
* @since 2.0
*
* @dependency sl-icon-button
*

Wyświetl plik

@ -8,9 +8,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary A component for displaying animated GIFs and WEBPs that play and pause on interaction.
*
* @since 2.0
* @documentation https://shoelace.style/components/animated-image
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -8,9 +8,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Animate elements declaratively with nearly 100 baked-in presets, or roll your own with custom keyframes. Powered by the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API).
*
* @since 2.0
* @documentation https://shoelace.style/components/animation
* @status stable
* @since 2.0
*
* @event sl-cancel - Emitted when the animation is canceled.
* @event sl-finish - Emitted when the animation finishes.

Wyświetl plik

@ -9,9 +9,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Avatars are used to represent a person or object.
*
* @since 2.0
* @documentation https://shoelace.style/components/avatar
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -7,9 +7,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Badges are used to draw attention and display statuses or counts.
*
* @since 2.0
* @documentation https://shoelace.style/components/badge
* @status stable
* @since 2.0
*
* @slot - The badge's content.
*

Wyświetl plik

@ -9,9 +9,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Breadcrumb Items are used inside [breadcrumbs](/components/breadcrumb) to represent different links.
*
* @since 2.0
* @documentation https://shoelace.style/components/breadcrumb-item
* @status stable
* @since 2.0
*
* @slot - The breadcrumb item's label.
* @slot prefix - An optional prefix, usually an icon or icon button.

Wyświetl plik

@ -9,9 +9,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.
*
* @since 2.0
* @documentation https://shoelace.style/components/breadcrumb
* @status stable
* @since 2.0
*
* @slot - One or more breadcrumb items to display.
* @slot separator - The separator to use between breadcrumb items. Works best with `<sl-icon>`.

Wyświetl plik

@ -6,9 +6,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Button groups can be used to group related buttons into sections.
*
* @since 2.0
* @documentation https://shoelace.style/components/button-group
* @status stable
* @since 2.0
*
* @slot - One or more `<sl-button>` elements to display in the button group.
*

Wyświetl plik

@ -15,9 +15,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Buttons represent actions that are available to the user.
*
* @since 2.0
* @documentation https://shoelace.style/components/button
* @status stable
* @since 2.0
*
* @dependency sl-icon
* @dependency sl-spinner

Wyświetl plik

@ -8,9 +8,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Cards can be used to group related subjects in a container.
*
* @since 2.0
* @documentation https://shoelace.style/components/card
* @status stable
* @since 2.0
*
* @slot - The card's main content.
* @slot header - An optional header for the card.

Wyświetl plik

@ -14,9 +14,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Checkboxes allow the user to toggle an option on or off.
*
* @since 2.0
* @documentation https://shoelace.style/components/checkbox
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -37,9 +37,9 @@ declare const EyeDropper: EyeDropperConstructor;
/**
* @summary Color pickers allow the user to select a color.
*
* @since 2.0
* @documentation https://shoelace.style/components/color-picker
* @status stable
* @since 2.0
*
* @dependency sl-button
* @dependency sl-button-group

Wyświetl plik

@ -13,9 +13,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Details show a brief summary and expand to show additional content.
*
* @since 2.0
* @documentation https://shoelace.style/components/details
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -17,9 +17,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Dialogs, sometimes called "modals", appear above the page and require the user's immediate attention.
*
* @since 2.0
* @documentation https://shoelace.style/components/dialog
* @status stable
* @since 2.0
*
* @dependency sl-icon-button
*

Wyświetl plik

@ -6,9 +6,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Dividers are used to visually separate or group elements.
*
* @since 2.0
* @documentation https://shoelace.style/components/divider
* @status stable
* @since 2.0
*
* @cssproperty --color - The color of the divider.
* @cssproperty --width - The width of the divider.

Wyświetl plik

@ -18,9 +18,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Drawers slide in from a container to expose additional options and information.
*
* @since 2.0
* @documentation https://shoelace.style/components/drawer
* @status stable
* @since 2.0
*
* @dependency sl-icon-button
*

Wyświetl plik

@ -20,9 +20,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Dropdowns expose additional content that "drops down" in a panel.
*
* @since 2.0
* @documentation https://shoelace.style/components/dropdown
* @status stable
* @since 2.0
*
* @dependency sl-popup
*

Wyświetl plik

@ -4,9 +4,9 @@ import { LocalizeController } from '../../utilities/localize';
/**
* @summary Formats a number as a human readable bytes value.
*
* @since 2.0
* @documentation https://shoelace.style/components/format-bytes
* @status stable
* @since 2.0
*/
@customElement('sl-format-bytes')
export default class SlFormatBytes extends ShoelaceElement {

Wyświetl plik

@ -5,9 +5,9 @@ import { LocalizeController } from '../../utilities/localize';
/**
* @summary Formats a date/time using the specified locale and options.
*
* @since 2.0
* @documentation https://shoelace.style/components/format-date
* @status stable
* @since 2.0
*/
@customElement('sl-format-date')
export default class SlFormatDate extends ShoelaceElement {

Wyświetl plik

@ -4,9 +4,9 @@ import { LocalizeController } from '../../utilities/localize';
/**
* @summary Formats a number using the specified locale and options.
*
* @since 2.0
* @documentation https://shoelace.style/components/format-number
* @status stable
* @since 2.0
*/
@customElement('sl-format-number')
export default class SlFormatNumber extends ShoelaceElement {

Wyświetl plik

@ -9,9 +9,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars.
*
* @since 2.0
* @documentation https://shoelace.style/components/icon-button
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -12,9 +12,9 @@ let parser: DOMParser;
/**
* @summary Icons are symbols that can be used to represent various options within an application.
*
* @since 2.0
* @documentation https://shoelace.style/components/icon
* @status stable
* @since 2.0
*
* @event sl-load - Emitted when the icon has loaded.
* @event sl-error - Emitted when the icon fails to load due to an error.

Wyświetl plik

@ -13,9 +13,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Compare visual differences between similar photos with a sliding panel.
*
* @since 2.0
* @documentation https://shoelace.style/components/image-comparer
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -8,9 +8,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Includes give you the power to embed external HTML files into the page.
*
* @since 2.0
* @documentation https://shoelace.style/components/include
* @status stable
* @since 2.0
*
* @event sl-load - Emitted when the included file is loaded.
* @event {{ status: number }} sl-error - Emitted when the included file fails to load due to an error.

Wyświetl plik

@ -28,9 +28,9 @@ const isFirefox = isChromium ? false : navigator.userAgent.includes('Firefox');
/**
* @summary Inputs collect data from the user.
*
* @since 2.0
* @documentation https://shoelace.style/components/input
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -10,9 +10,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Menu items provide options for the user to pick from in a menu.
*
* @since 2.0
* @documentation https://shoelace.style/components/menu-item
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -6,9 +6,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Menu labels are used to describe a group of menu items.
*
* @since 2.0
* @documentation https://shoelace.style/components/menu-label
* @status stable
* @since 2.0
*
* @slot - The menu label's content.
*

Wyświetl plik

@ -10,9 +10,9 @@ export interface MenuSelectEventDetail {
/**
* @summary Menus provide a list of options for the user to choose from.
*
* @since 2.0
* @documentation https://shoelace.style/components/menu
* @status stable
* @since 2.0
*
* @slot - The menu's content, including menu items, menu labels, and dividers.
*

Wyświetl plik

@ -7,9 +7,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary The Mutation Observer component offers a thin, declarative interface to the [`MutationObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).
*
* @since 2.0
* @documentation https://shoelace.style/components/mutation-observer
* @status stable
* @since 2.0
*
* @event {{ mutationList: MutationRecord[] }} sl-mutation - Emitted when a mutation occurs.
*

Wyświetl plik

@ -10,9 +10,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Options define the selectable items within various form controls such as [select](/components/select).
*
* @since 2.0
* @documentation https://shoelace.style/components/option
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -8,9 +8,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Popup is a utility that lets you declaratively anchor "popup" containers to another element.
*
* @since 2.0
* @documentation https://shoelace.style/components/popup
* @status stable
* @since 2.0
*
* @event sl-reposition - Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive
* operations in your listener or consider debouncing it.

Wyświetl plik

@ -10,9 +10,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Progress bars are used to show the status of an ongoing operation.
*
* @since 2.0
* @documentation https://shoelace.style/components/progress-bar
* @status stable
* @since 2.0
*
* @slot - A label to show inside the progress indicator.
*

Wyświetl plik

@ -7,9 +7,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Progress rings are used to show the progress of a determinate operation in a circular fashion.
*
* @since 2.0
* @documentation https://shoelace.style/components/progress-ring
* @status stable
* @since 2.0
*
* @slot - A label to show inside the ring.
*

Wyświetl plik

@ -8,8 +8,10 @@ import styles from './qr-code.styles';
import type { CSSResultGroup } from 'lit';
/**
* @since 2.0
* @summary Generates a [QR code](https://www.qrcode.com/) and renders it using the [Canvas API](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API).
* @documentation https://shoelace.style/components/qr-code
* @status stable
* @since 2.0
*
* @csspart base - The component's base wrapper.
*/

Wyświetl plik

@ -10,9 +10,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Radios buttons allow the user to select a single option from a group using a button-like control.
*
* @since 2.0
* @documentation https://shoelace.style/components/radio-button
* @status stable
* @since 2.0
*
* @slot - The radio button's label.
* @slot prefix - A presentational prefix icon or similar element.

Wyświetl plik

@ -14,9 +14,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.
*
* @since 2.0
* @documentation https://shoelace.style/components/radio-group
* @status stable
* @since 2.0
*
* @dependency sl-button-group
*

Wyświetl plik

@ -9,9 +9,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Radios allow the user to select a single option from a group.
*
* @since 2.0
* @documentation https://shoelace.style/components/radio
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -15,9 +15,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Ranges allow the user to select a single value within a given range using a slider.
*
* @since 2.0
* @documentation https://shoelace.style/components/range
* @status stable
* @since 2.0
*
* @slot label - The range's label. Alternatively, you can use the `label` attribute.
* @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.

Wyświetl plik

@ -13,9 +13,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Ratings give users a way to quickly view and provide feedback.
*
* @since 2.0
* @documentation https://shoelace.style/components/rating
* @status stable
* @since 2.0
*
* @dependency sl-icon
*

Wyświetl plik

@ -20,9 +20,9 @@ const availableUnits: UnitConfig[] = [
/**
* @summary Outputs a localized time phrase relative to the current date and time.
*
* @since 2.0
* @documentation https://shoelace.style/components/relative-time
* @status stable
* @since 2.0
*/
@customElement('sl-relative-time')
export default class SlRelativeTime extends ShoelaceElement {

Wyświetl plik

@ -7,9 +7,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).
*
* @since 2.0
* @documentation https://shoelace.style/components/resize-observer
* @status stable
* @since 2.0
*
* @slot - One or more elements to watch for resizing.
*

Wyświetl plik

@ -22,9 +22,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Selects allow you to choose items from a menu of predefined options.
*
* @since 2.0
* @documentation https://shoelace.style/components/select
* @status stable
* @since 2.0
*
* @dependency sl-icon
* @dependency sl-popup

Wyświetl plik

@ -6,10 +6,10 @@ import styles from './skeleton.styles';
import type { CSSResultGroup } from 'lit';
/**
* @summary Skeletons are used to show where content will eventually be drawn.
*
* @since 2.0
* @summary Skeletons are used to provide a visual representation of where content will eventually be drawn.
* @documentation https://shoelace.style/components/skeleton
* @status stable
* @since 2.0
*
* @csspart base - The component's base wrapper.
* @csspart indicator - The skeleton's indicator which is responsible for its color and animation.

Wyświetl plik

@ -7,9 +7,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Spinners are used to show the progress of an indeterminate operation.
*
* @since 2.0
* @documentation https://shoelace.style/components/spinner
* @status stable
* @since 2.0
*
* @csspart base - The component's base wrapper.
*

Wyświetl plik

@ -11,9 +11,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Split panels display two adjacent panels, allowing the user to reposition them.
*
* @since 2.0
* @documentation https://shoelace.style/components/split-panel
* @status stable
* @since 2.0
*
* @event sl-reposition - Emitted when the divider's position changes.
*

Wyświetl plik

@ -13,9 +13,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Switches allow the user to toggle an option on or off.
*
* @since 2.0
* @documentation https://shoelace.style/components/switch
* @status stable
* @since 2.0
*
* @slot - The switch's label.
*

Wyświetl plik

@ -13,9 +13,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Tab groups organize content into a container that shows one section at a time.
*
* @since 2.0
* @documentation https://shoelace.style/components/tab-group
* @status stable
* @since 2.0
*
* @dependency sl-icon-button
*

Wyświetl plik

@ -10,9 +10,9 @@ let id = 0;
/**
* @summary Tab panels are used inside [tab groups](/components/tab-group) to display tabbed content.
*
* @since 2.0
* @documentation https://shoelace.style/components/tab-panel
* @status stable
* @since 2.0
*
* @slot - The tab panel's content.
*

Wyświetl plik

@ -12,9 +12,9 @@ let id = 0;
/**
* @summary Tabs are used inside [tab groups](/components/tab-group) to represent and activate [tab panels](/components/tab-panel).
*
* @since 2.0
* @documentation https://shoelace.style/components/tab
* @status stable
* @since 2.0
*
* @dependency sl-icon-button
*

Wyświetl plik

@ -9,9 +9,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Tags are used as labels to organize things or to indicate a selection.
*
* @since 2.0
* @documentation https://shoelace.style/components/tag
* @status stable
* @since 2.0
*
* @dependency sl-icon-button
*

Wyświetl plik

@ -14,9 +14,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Textareas collect data from the user and allow multiple lines of text.
*
* @since 2.0
* @documentation https://shoelace.style/components/textarea
* @status stable
* @since 2.0
*
* @slot label - The textarea's label. Alternatively, you can use the `label` attribute.
* @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.

Wyświetl plik

@ -14,9 +14,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary Tooltips display additional information based on a specific action.
*
* @since 2.0
* @documentation https://shoelace.style/components/tooltip
* @status stable
* @since 2.0
*
* @dependency sl-popup
*

Wyświetl plik

@ -16,9 +16,9 @@ import type { CSSResultGroup, PropertyValueMap } from 'lit';
/**
* @summary A tree item serves as a hierarchical node that lives inside a [tree](/components/tree).
*
* @since 2.0
* @documentation https://shoelace.style/components/tree-item
* @status stable
* @since 2.0
*
* @dependency sl-checkbox
* @dependency sl-icon

Wyświetl plik

@ -50,9 +50,9 @@ function syncCheckboxes(changedTreeItem: SlTreeItem, initialSync = false) {
/**
* @summary Trees allow you to display a hierarchical list of selectable [tree items](/components/tree-item). Items with children can be expanded and collapsed as desired by the user.
*
* @since 2.0
* @documentation https://shoelace.style/components/tree
* @status stable
* @since 2.0
*
* @event {{ selection: TreeItem[] }} sl-selection-change - Emitted when a tree item is selected or deselected.
*

Wyświetl plik

@ -6,9 +6,9 @@ import type { CSSResultGroup } from 'lit';
/**
* @summary The visually hidden utility makes content accessible to assistive devices without displaying it on the screen.
*
* @since 2.0
* @documentation https://shoelace.style/components/visually-hidden
* @status stable
* @since 2.0
*
* @slot - The content to be visually hidden.
*/