@synergy-design-system/components
Version:
This package provides the base of the Synergy Design System as native web components. It uses [lit](https://www.lit.dev) and parts of [shoelace](https://shoelace.style/). Synergy officially supports the latest two versions of all major browsers (as define
752 lines • 148 kB
JSON
{
"$schema": "https://raw.githubusercontent.com/microsoft/vscode-html-languageservice/main/docs/customData.schema.json",
"version": 1.1,
"tags": [
{
"name": "syn-accordion",
"description": "Accordions provide the ability to group a list of `<syn-details>`.\n---\n\n\n### **Slots:**\n - _default_ - The accordion's main content. Must be `<syn-details />` elements.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
"attributes": [
{
"name": "close-others",
"description": "Indicates whether or not multiple `<syn-detail>` elements can be open at the same time.",
"values": []
},
{
"name": "contained",
"description": "Draws the accordion and the slotted `<syn-details>` as contained elements.",
"values": []
},
{
"name": "size",
"description": "The size that should be applied to all slotted `<syn-details>` elements",
"values": [{ "name": "medium" }, { "name": "large" }]
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-accordion--docs"
}
]
},
{
"name": "syn-alert",
"description": "Alerts are used to display important messages inline or as toast notifications.\n---\n\n\n### **Events:**\n - **syn-show** - Emitted when the alert opens.\n- **syn-after-show** - Emitted after the alert opens and all animations are complete.\n- **syn-hide** - Emitted when the alert closes.\n- **syn-after-hide** - Emitted after the alert closes and all animations are complete.\n\n### **Methods:**\n - **show()** - Shows the alert.\n- **hide()** - Hides the alert\n- **toast()** - Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when\ndismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by\ncalling this method again. The returned promise will resolve after the alert is hidden.\n\n### **Slots:**\n - _default_ - The alert's main content.\n- **icon** - An icon to show in the alert. Works best with `<syn-icon>`.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **icon** - The container that wraps the optional icon.\n- **message** - The container that wraps the alert's main content.\n- **close-button** - The close button, an `<syn-icon-button>`.\n- **close-button__base** - The close button's exported `base` part.",
"attributes": [
{
"name": "open",
"description": "Indicates whether or not the alert is open. You can toggle this attribute to show and hide the alert, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the alert's open state.",
"values": []
},
{
"name": "closable",
"description": "Enables a close button that allows the user to dismiss the alert.",
"values": []
},
{
"name": "variant",
"description": "The alert's theme variant.",
"values": [
{ "name": "primary" },
{ "name": "success" },
{ "name": "neutral" },
{ "name": "warning" },
{ "name": "danger" }
]
},
{
"name": "duration",
"description": "The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with\nthe alert before it closes (e.g. moves the mouse over it), the timer will restart. Defaults to `Infinity`, meaning\nthe alert will not close on its own.",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-alert--docs"
}
]
},
{
"name": "syn-breadcrumb",
"description": "Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.\n---\n\n\n### **Slots:**\n - _default_ - One or more breadcrumb items to display.\n- **separator** - The separator to use between breadcrumb items. Works best with `<syn-icon>`.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
"attributes": [
{
"name": "label",
"description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb--docs"
}
]
},
{
"name": "syn-badge",
"description": "Badges are used to draw attention and display statuses or counts.\n---\n\n\n### **Slots:**\n - _default_ - The badge's content.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
"attributes": [
{
"name": "variant",
"description": "The badge's theme variant.",
"values": [
{ "name": "primary" },
{ "name": "success" },
{ "name": "neutral" },
{ "name": "warning" },
{ "name": "danger" }
]
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-badge--docs"
}
]
},
{
"name": "syn-button",
"description": "Buttons represent actions that are available to the user.\n---\n\n\n### **Events:**\n - **syn-blur** - Emitted when the button loses focus.\n- **syn-focus** - Emitted when the button gains focus.\n- **syn-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **click()** - Simulates a click on the button.\n- **focus(options: _FocusOptions_)** - Sets focus on the button.\n- **blur()** - Removes focus from the button.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - _default_ - The button's label.\n- **prefix** - A presentational prefix icon or similar element.\n- **suffix** - A presentational suffix icon or similar element.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **prefix** - The container that wraps the prefix.\n- **label** - The button's label.\n- **suffix** - The container that wraps the suffix.\n- **caret** - The button's caret icon, an `<syn-icon>` element.\n- **spinner** - The spinner that shows when the button is in the loading state.",
"attributes": [
{ "name": "title", "values": [] },
{
"name": "variant",
"description": "The button's theme variant.",
"values": [
{ "name": "filled" },
{ "name": "outline" },
{ "name": "text" }
]
},
{
"name": "size",
"description": "The button's size.",
"values": [
{ "name": "small" },
{ "name": "medium" },
{ "name": "large" }
]
},
{
"name": "caret",
"description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
"values": []
},
{
"name": "disabled",
"description": "Disables the button.",
"values": []
},
{
"name": "loading",
"description": "Draws the button in a loading state.",
"values": []
},
{
"name": "type",
"description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
"values": [
{ "name": "button" },
{ "name": "submit" },
{ "name": "reset" }
]
},
{
"name": "name",
"description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
"values": []
},
{
"name": "value",
"description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
"values": []
},
{
"name": "href",
"description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
"values": []
},
{
"name": "target",
"description": "Tells the browser where to open the link. Only used when `href` is present.",
"values": [
{ "name": "_blank" },
{ "name": "_parent" },
{ "name": "_self" },
{ "name": "_top" }
]
},
{
"name": "rel",
"description": "When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\ndefault is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\nspecific tab/window, this will prevent that from working correctly. You can remove or change the default value by\nsetting the attribute to an empty string or a value of your choice, respectively.",
"values": []
},
{
"name": "download",
"description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
"values": []
},
{
"name": "form",
"description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
"values": []
},
{
"name": "formaction",
"description": "Used to override the form owner's `action` attribute.",
"values": []
},
{
"name": "formenctype",
"description": "Used to override the form owner's `enctype` attribute.",
"values": [
{ "name": "application/x-www-form-urlencoded" },
{ "name": "multipart/form-data" },
{ "name": "text/plain" }
]
},
{
"name": "formmethod",
"description": "Used to override the form owner's `method` attribute.",
"values": [{ "name": "post" }, { "name": "get" }]
},
{
"name": "formnovalidate",
"description": "Used to override the form owner's `novalidate` attribute.",
"values": []
},
{
"name": "formtarget",
"description": "Used to override the form owner's `target` attribute.",
"values": [
{ "name": "_self" },
{ "name": "_blank" },
{ "name": "_parent" },
{ "name": "_top" }
]
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-button--docs"
}
]
},
{
"name": "syn-card",
"description": "Cards can be used to group related subjects in a container.\n---\n\n\n### **Slots:**\n - _default_ - The card's main content.\n- **header** - An optional header for the card.\n- **footer** - An optional footer for the card.\n- **image** - An optional image to render at the start of the card.\n\n### **CSS Properties:**\n - **--border-color** - The card's border color, including borders that occur inside the card. _(default: undefined)_\n- **--border-radius** - The border radius for the card's edges. _(default: undefined)_\n- **--border-width** - The width of the card's borders. _(default: undefined)_\n- **--padding** - The padding to use for the card's sections. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **image** - The container that wraps the card's image.\n- **header** - The container that wraps the card's header.\n- **body** - The container that wraps the card's main content.\n- **footer** - The container that wraps the card's footer.",
"attributes": [
{
"name": "sharp",
"description": "Draws the card with sharp edges. Can be used e.g. when nesting multiple syn-cards to create hierarchy.",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-card--docs"
}
]
},
{
"name": "syn-button-group",
"description": "Button groups can be used to group related buttons into sections.\n---\n\n\n### **Slots:**\n - _default_ - One or more `<syn-button>` elements to display in the button group.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
"attributes": [
{
"name": "label",
"description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-button-group--docs"
}
]
},
{
"name": "syn-breadcrumb-item",
"description": "Breadcrumb Items are used inside [breadcrumbs](/components/breadcrumb) to represent different links.\n---\n\n\n### **Slots:**\n - _default_ - The breadcrumb item's label.\n- **prefix** - An optional prefix, usually an icon or icon button.\n- **suffix** - An optional suffix, usually an icon or icon button.\n- **separator** - The separator to use for the breadcrumb item. This will only change the separator for this item. If you want to change it for all items in the group, set the separator on `<syn-breadcrumb>` instead.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **label** - The breadcrumb item's label.\n- **prefix** - The container that wraps the prefix.\n- **suffix** - The container that wraps the suffix.\n- **separator** - The container that wraps the separator.",
"attributes": [
{
"name": "href",
"description": "Optional URL to direct the user to when the breadcrumb item is activated. When set, a link will be rendered\ninternally. When unset, a button will be rendered instead.",
"values": []
},
{
"name": "target",
"description": "Tells the browser where to open the link. Only used when `href` is set.",
"values": [
{ "name": "_blank" },
{ "name": "_parent" },
{ "name": "_self" },
{ "name": "_top" }
]
},
{
"name": "rel",
"description": "The `rel` attribute to use on the link. Only used when `href` is set.",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-breadcrumb-item--docs"
}
]
},
{
"name": "syn-checkbox",
"description": "Checkboxes allow the user to toggle an option on or off.\n---\n\n\n### **Events:**\n - **syn-blur** - Emitted when the checkbox loses focus.\n- **syn-change** - Emitted when the checked state changes.\n- **syn-focus** - Emitted when the checkbox gains focus.\n- **syn-input** - Emitted when the checkbox receives input.\n- **syn-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **click()** - Simulates a click on the checkbox.\n- **focus(options: _FocusOptions_)** - Sets focus on the checkbox.\n- **blur()** - Removes focus from the checkbox.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. The value provided will be shown to the user when the form is submitted. To clear\nthe custom validation message, call this method with an empty string.\n\n### **Slots:**\n - _default_ - The checkbox's label.\n- **help-text** - Text that describes how to use the checkbox. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **control** - The square container that wraps the checkbox's checked state.\n- **control--checked** - Matches the control part when the checkbox is checked.\n- **control--indeterminate** - Matches the control part when the checkbox is indeterminate.\n- **checked-icon** - The checked icon, an `<syn-icon>` element.\n- **indeterminate-icon** - The indeterminate icon, an `<syn-icon>` element.\n- **label** - The container that wraps the checkbox's label.\n- **form-control-help-text** - The help text's wrapper.",
"attributes": [
{ "name": "title", "values": [] },
{
"name": "name",
"description": "The name of the checkbox, submitted as a name/value pair with form data.",
"values": []
},
{
"name": "value",
"description": "The current value of the checkbox, submitted as a name/value pair with form data.",
"values": []
},
{
"name": "size",
"description": "The checkbox's size.",
"values": [
{ "name": "small" },
{ "name": "medium" },
{ "name": "large" }
]
},
{
"name": "disabled",
"description": "Disables the checkbox.",
"values": []
},
{
"name": "checked",
"description": "Draws the checkbox in a checked state.",
"values": []
},
{
"name": "indeterminate",
"description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
"values": []
},
{
"name": "form",
"description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
"values": []
},
{
"name": "required",
"description": "Makes the checkbox a required field.",
"values": []
},
{
"name": "help-text",
"description": "The checkbox's help text. If you need to display HTML, use the `help-text` slot instead.",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-checkbox--docs"
}
]
},
{
"name": "syn-details",
"description": "Details show a brief summary and expand to show additional content.\n---\n\n\n### **Events:**\n - **syn-show** - Emitted when the details opens.\n- **syn-after-show** - Emitted after the details opens and all animations are complete.\n- **syn-hide** - Emitted when the details closes.\n- **syn-after-hide** - Emitted after the details closes and all animations are complete.\n\n### **Methods:**\n - **show()** - Shows the details.\n- **hide()** - Hides the details\n\n### **Slots:**\n - _default_ - The details' main content.\n- **summary** - The details' summary. Alternatively, you can use the `summary` attribute.\n- **expand-icon** - Optional expand icon to use instead of the default. Works best with `<syn-icon>`.\n- **collapse-icon** - Optional collapse icon to use instead of the default. Works best with `<syn-icon>`.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **header** - The header that wraps both the summary and the expand/collapse icon.\n- **summary** - The container that wraps the summary.\n- **summary-icon** - The container that wraps the expand/collapse icons.\n- **content** - The details content.\n- **body** - The container that wraps the details content.",
"attributes": [
{
"name": "open",
"description": "Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the details' open state.",
"values": []
},
{
"name": "summary",
"description": "The summary to show in the header. If you need to display HTML, use the `summary` slot instead.",
"values": []
},
{
"name": "disabled",
"description": "Disables the details so it can't be toggled.",
"values": []
},
{
"name": "contained",
"description": "Draws the details as contained element.",
"values": []
},
{
"name": "size",
"description": "The details's size.",
"values": [{ "name": "medium" }, { "name": "large" }]
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-details--docs"
}
]
},
{
"name": "syn-combobox",
"description": "Comboboxes allow you to choose items from a menu of predefined options.\n---\n\n\n### **Events:**\n - **syn-change** - Emitted when the control's value changes.\n- **syn-clear** - Emitted when the control's value is cleared.\n- **syn-input** - Emitted when the control receives input.\n- **syn-focus** - Emitted when the control gains focus.\n- **syn-blur** - Emitted when the control loses focus.\n- **syn-show** - Emitted when the combobox's menu opens.\n- **syn-after-show** - Emitted after the combobox's menu opens and all animations are complete.\n- **syn-hide** - Emitted when the combobox's menu closes.\n- **syn-after-hide** - Emitted after the combobox's menu closes and all animations are complete.\n- **syn-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n- **syn-error** - Emitted when the combobox menu fails to open.\n\n### **Methods:**\n - **show()** - Shows the listbox. If it is not possible to open the listbox, because there are no\nappropriate filtered options, a syn-error is emitted and the listbox stays closed.\n- **hide()** - Hides the listbox.\n- **checkValidity()** - Checks for validity but does not show a validation message.\nReturns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **focus(options: _FocusOptions_)** - Sets focus on the control.\n- **blur()** - Removes focus from the control.\n\n### **Slots:**\n - _default_ - The listbox options. Must be `<syn-option>` elements. You can use `<syn-optgroup>`'s to group items visually.\n- **label** - The combobox's label. Alternatively, you can use the `label` attribute.\n- **prefix** - Used to prepend a presentational icon or similar element to the combobox.\n- **suffix** - Used to append a presentational icon or similar element to the combobox.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **expand-icon** - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n- **help-text** - Text that describes how to use the combobox. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, combobox, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The combobox's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **combobox** - The container the wraps the prefix, combobox, clear icon, and expand button.\n- **prefix** - The container that wraps the prefix slot.\n- **suffix** - The container that wraps the suffix slot.\n- **display-input** - The element that displays the selected option's label, an `<input>` element.\n- **listbox** - The listbox container where the options are slotted and the filtered options list exists.\n- **filtered-listbox** - The container that wraps the filtered options.\n- **clear-button** - The clear button.\n- **expand-icon** - The container that wraps the expand icon.\n- **popup** - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n- **no-results** - The container that wraps the \"no results\" message.",
"attributes": [
{
"name": "name",
"description": "The name of the combobox, submitted as a name/value pair with form data.",
"values": []
},
{
"name": "value",
"description": "The current value of the combobox, submitted as a name/value pair with form data.",
"values": []
},
{
"name": "size",
"description": "The combobox's size.",
"values": [
{ "name": "small" },
{ "name": "medium" },
{ "name": "large" }
]
},
{
"name": "placeholder",
"description": "Placeholder text to show as a hint when the combobox is empty.",
"values": []
},
{
"name": "disabled",
"description": "Disables the combobox control.",
"values": []
},
{
"name": "clearable",
"description": "Adds a clear button when the combobox is not empty.",
"values": []
},
{
"name": "open",
"description": "Indicates whether or not the combobox is open.\nYou can toggle this attribute to show and hide the listbox, or you can use the `show()`\nand `hide()` methods and this attribute will reflect the combobox's open state.",
"values": []
},
{
"name": "hoist",
"description": "Enable this option to prevent the listbox from being clipped,\nwhen the component is placed inside a container with `overflow: auto|scroll`.\nHoisting uses a fixed positioning strategy that works in many, but not all, scenarios.",
"values": []
},
{
"name": "label",
"description": "The combobox's label. If you need to display HTML, use the `label` slot instead.",
"values": []
},
{
"name": "placement",
"description": "The preferred placement of the combobox's menu.\nNote that the actual placement may vary as needed to keep the listbox inside of the viewport.",
"values": [{ "name": "top" }, { "name": "bottom" }]
},
{
"name": "help-text",
"description": "The combobox's help text. If you need to display HTML, use the `help-text` slot instead.",
"values": []
},
{
"name": "form",
"description": "By default, form controls are associated with the nearest containing `<form>` element.\nThis attribute allows you to place the form control outside of a form and associate it\nwith the form that has this `id`.\nThe form must be in the same document or shadow root for this to work.",
"values": []
},
{
"name": "required",
"description": "The combobox's required attribute.",
"values": []
},
{
"name": "restricted",
"description": "When set to `true`, restricts the combobox to only allow selection from the available options.\nUsers will not be able to enter custom values that are not present in the list.",
"values": []
},
{
"name": "getOption",
"description": "A function that customizes the rendered option. The first argument is the option, the second\nis the query string, which is typed into the combobox.\nThe function should return either a Lit TemplateResult or a string containing trusted HTML\nto render in the shown list of filtered options.\nIf the query string should be highlighted use the `highlightOptionRenderer` function.",
"values": [{ "name": "OptionRenderer" }]
},
{
"name": "filter",
"description": "A function used to filter options in the combobox component.\nThe default filter method is a case- and diacritic-insensitive string comparison.",
"values": [
{ "name": "(option: SynOption" },
{ "name": "queryString: string) => boolean" }
]
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-combobox--docs"
}
]
},
{
"name": "syn-dialog",
"description": "Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.\n---\n\n\n### **Events:**\n - **syn-show** - Emitted when the dialog opens.\n- **syn-after-show** - Emitted after the dialog opens and all animations are complete.\n- **syn-hide** - Emitted when the dialog closes.\n- **syn-after-hide** - Emitted after the dialog closes and all animations are complete.\n- **syn-initial-focus** - Emitted when the dialog opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n- **syn-request-close** - Emitted when the user attempts to close the dialog by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the dialog open. Avoid using this unless closing the dialog will result in destructive behavior such as data loss.\n\n### **Methods:**\n - **show()** - Shows the dialog.\n- **hide()** - Hides the dialog\n\n### **Slots:**\n - _default_ - The dialog's main content.\n- **label** - The dialog's label. Alternatively, you can use the `label` attribute.\n- **header-actions** - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n- **footer** - The dialog's footer, usually one or more buttons representing various options.\n\n### **CSS Properties:**\n - **--width** - The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens. _(default: undefined)_\n- **--header-spacing** - The amount of padding to use for the header. _(default: undefined)_\n- **--body-spacing** - The amount of padding to use for the body. _(default: undefined)_\n- **--footer-spacing** - The amount of padding to use for the footer. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **overlay** - The overlay that covers the screen behind the dialog.\n- **panel** - The dialog's panel (where the dialog and its content are rendered).\n- **header** - The dialog's header. This element wraps the title and header actions.\n- **header-actions** - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n- **title** - The dialog's title.\n- **close-button** - The close button, an `<syn-icon-button>`.\n- **close-button__base** - The close button's exported `base` part.\n- **body** - The dialog's body.\n- **footer** - The dialog's footer.",
"attributes": [
{
"name": "open",
"description": "Indicates whether or not the dialog is open. You can toggle this attribute to show and hide the dialog, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the dialog's open state.",
"values": []
},
{
"name": "label",
"description": "The dialog's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
"values": []
},
{
"name": "no-header",
"description": "Disables the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the dialog.",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-dialog--docs"
}
]
},
{
"name": "syn-divider",
"description": "Dividers are used to visually separate or group elements.\n---\n\n\n### **CSS Properties:**\n - **--color** - The color of the divider. _(default: undefined)_\n- **--width** - The width of the divider. _(default: undefined)_\n- **--spacing** - The spacing of the divider. _(default: undefined)_",
"attributes": [
{
"name": "vertical",
"description": "Draws the divider in a vertical orientation.",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-divider--docs"
}
]
},
{
"name": "syn-drawer",
"description": "Drawers slide in from a container to expose additional options and information.\n---\n\n\n### **Events:**\n - **syn-show** - Emitted when the drawer opens.\n- **syn-after-show** - Emitted after the drawer opens and all animations are complete.\n- **syn-hide** - Emitted when the drawer closes.\n- **syn-after-hide** - Emitted after the drawer closes and all animations are complete.\n- **syn-initial-focus** - Emitted when the drawer opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n- **syn-request-close** - Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in destructive behavior such as data loss.\n\n### **Methods:**\n - **show()** - Shows the drawer.\n- **hide()** - Hides the drawer\n\n### **Slots:**\n - _default_ - The drawer's main content.\n- **label** - The drawer's label. Alternatively, you can use the `label` attribute.\n- **header-actions** - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n- **footer** - The drawer's footer, usually one or more buttons representing various options.\n\n### **CSS Properties:**\n - **--size** - The preferred size of the drawer. This will be applied to the drawer's width or height depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens. _(default: undefined)_\n- **--header-spacing** - The amount of padding to use for the header. _(default: undefined)_\n- **--body-spacing** - The amount of padding to use for the body. _(default: undefined)_\n- **--footer-spacing** - The amount of padding to use for the footer. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **overlay** - The overlay that covers the screen behind the drawer.\n- **panel** - The drawer's panel (where the drawer and its content are rendered).\n- **header** - The drawer's header. This element wraps the title and header actions.\n- **header-actions** - Optional actions to add to the header. Works best with `<syn-icon-button>`.\n- **title** - The drawer's title.\n- **close-button** - The close button, an `<syn-icon-button>`.\n- **close-button__base** - The close button's exported `base` part.\n- **body** - The drawer's body.\n- **footer** - The drawer's footer.",
"attributes": [
{
"name": "open",
"description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
"values": []
},
{
"name": "label",
"description": "The drawer's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
"values": []
},
{
"name": "placement",
"description": "The direction from which the drawer will open.",
"values": [
{ "name": "top" },
{ "name": "end" },
{ "name": "bottom" },
{ "name": "start" }
]
},
{
"name": "contained",
"description": "By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\nits parent element, set this attribute and add `position: relative` to the parent.",
"values": []
},
{
"name": "no-header",
"description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the drawer.",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-drawer--docs"
}
]
},
{
"name": "syn-dropdown",
"description": "Dropdowns expose additional content that \"drops down\" in a panel.\n---\n\n\n### **Events:**\n - **syn-show** - Emitted when the dropdown opens.\n- **syn-after-show** - Emitted after the dropdown opens and all animations are complete.\n- **syn-hide** - Emitted when the dropdown closes.\n- **syn-after-hide** - Emitted after the dropdown closes and all animations are complete.\n\n### **Methods:**\n - **show()** - Shows the dropdown panel.\n- **hide()** - Hides the dropdown panel\n- **reposition()** - Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\nis activated.\n\n### **Slots:**\n - _default_ - The dropdown's main content.\n- **trigger** - The dropdown's trigger, usually a `<syn-button>` element.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper, an `<syn-popup>` element.\n- **base__popup** - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n- **trigger** - The container that wraps the trigger.\n- **panel** - The panel that gets shown when the dropdown is open.",
"attributes": [
{
"name": "open",
"description": "Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.",
"values": []
},
{
"name": "placement",
"description": "The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport.",
"values": [
{ "name": "" },
{ "name": "top" },
{ "name": "top-start" },
{ "name": "top-end" },
{ "name": "bottom" },
{ "name": "bottom-start" },
{ "name": "bottom-end" },
{ "name": "right" },
{ "name": "right-start" },
{ "name": "right-end" },
{ "name": "left" },
{ "name": "left-start" },
{ "name": "left-end" }
]
},
{
"name": "disabled",
"description": "Disables the dropdown so the panel will not open.",
"values": []
},
{
"name": "stay-open-on-select",
"description": "By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\ndropdowns that allow for multiple interactions.",
"values": []
},
{
"name": "distance",
"description": "The distance in pixels from which to offset the panel away from its trigger.",
"values": []
},
{
"name": "skidding",
"description": "The distance in pixels from which to offset the panel along its trigger.",
"values": []
},
{
"name": "hoist",
"description": "Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.",
"values": []
},
{
"name": "sync",
"description": "Syncs the popup width or height to that of the trigger element.",
"values": [
{ "name": "width" },
{ "name": "height" },
{ "name": "both" }
]
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-dropdown--docs"
}
]
},
{
"name": "syn-file",
"description": "File controls allow selecting an arbitrary number of files for uploading.\n---\n\n\n### **Events:**\n - **syn-blur** - Emitted when the control loses focus.\n- **syn-change** - Emitted when an alteration to the control's value is committed by the user.\n- **syn-error** - Emitted when multiple files are selected via drag and drop, without the `multiple` property being set.\n- **syn-focus** - Emitted when the control gains focus.\n- **syn-input** - Emitted when the control receives input.\n\n### **Methods:**\n - **checkValidity()** - Checks for validity but does not show a validation message.\nReturns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **focus(options: _FocusOptions_)** - Sets focus on the button or droparea.\n- **blur()** - Removes focus from the button or droparea.\n\n### **Slots:**\n - **label** - The file control's label. Alternatively, you can use the `label` attribute.\n- **help-text** - Text that describes how to use the file control. Alternatively, you can use the `help-text` attribute.\n- **droparea-icon** - Optional droparea icon to use instead of the default. Works best with `<syn-icon>`.\n- **trigger** - Optional content to be used as trigger instead of the default content. Opening the file dialog on click and as well as drag and drop will work for this content. Following attributes will no longer work: *label*, *droparea*, *help-text*, *size*, *hide-value*. Also if using the disabled attribute, the disabled styling will not be applied and must be taken care of yourself.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **button-wrapper** - The wrapper around the button and text value.\n- **button** - The syn-button acting as a file input.\n- **button__base** - The syn-button's exported `base` part.\n- **value** - The chosen files or placeholder text for the file input.\n- **droparea** - The element wrapping the drop zone.\n- **droparea-background** - The background of the drop zone.\n- **droparea-icon** - The container that wraps the icon for the drop zone.\n- **droparea-value** - The text for the drop zone.\n- **trigger** - The container that wraps the trigger.",
"attributes": [
{
"name": "files",
"description": "The selected files as a FileList object containing a list of File objects.\nThe FileList behaves like an array, so you can get the number of selected files\nvia its length property.\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#getting_information_on_selected_files)",
"values": []
},
{
"name": "name",
"description": "The name of the file control, submitted as a name/value pair with form data.",
"values": []
},
{
"name": "value",
"description": "The value of the file control contains a string that represents the path of the selected file.\nIf multiple files are selected, the value represents the first file in the list.\nIf no file is selected, the value is an empty string.\nBeware that the only valid value when setting a file control is an empty string!\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#value)",
"values": []
},
{
"name": "size",
"description": "The file control's size.",
"values": [
{ "name": "small" },
{ "name": "medium" },
{ "name": "large" }
]
},
{
"name": "label",
"description": "The file control's label. If you need to display HTML, use the `label` slot instead.",
"values": []
},
{
"name": "help-text",
"description": "The file control's help text.\nIf you need to display HTML, use the `help-text` slot instead.",
"values": []
},
{
"name": "disabled",
"description": "Disables the file control.",
"values": []
},
{
"name": "droparea",
"description": "Draw the file control as a drop area",
"values": []
},
{
"name": "accept",
"description": "Comma separated list of supported file types\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept)",
"values": []
},
{
"name": "capture",
"description": "Specifies the types of files that the server accepts.\nCan be set either to user or environment.\nWorks only when not using a droparea!\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/capture)",
"values": [{ "name": "user" }, { "name": "environment" }]
},
{
"name": "multiple",
"description": "Indicates whether the user can select more than one file.\nHas no effect if webkitdirectory is set.\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#multiple)",
"values": []
},
{
"name": "webkitdirectory",
"description": "Indicates that the file control should let the user select directories instead of files.\nWhen a directory is selected, the directory and its entire hierarchy of contents are included\nin the set of selected items.\nNote: This is a non-standard attribute but is supported in the major browsers.\n[see MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory)",
"values": []
},
{
"name": "form",
"description": "By default, form controls are associated with the nearest containing `<form>` element.\nThis attribute allows you to place the form control outside of a form and associate it\nwith the form that has this `id`. The form must be in the same document\nor shadow root for this to work.",
"values": []
},
{
"name": "required",
"description": "Makes the input a required field.",
"values": []
},
{
"name": "hide-value",
"description": "Suppress the value from being displayed in the file control",
"values": []
}
],
"references": [
{
"name": "Documentation",
"url": "https://synergy-design-system.github.io/?path=/docs/components-syn-file--docs"
}
]
},
{
"name": "syn-header",
"description": "The <syn-header /> element provides a generic application header\nthat can be used to add a