UNPKG

110 kBTypeScriptView Raw
1/* eslint-disable */
2/* tslint:disable */
3/**
4 * This is an autogenerated file created by the Stencil compiler.
5 * It contains typing information for all components that exist in this project.
6 */
7import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8import { IconLibraryMutator, IconLibraryResolver } from "./components/icon-library/icon-library-registry";
9export namespace Components {
10 interface SlAlert {
11 /**
12 * Set to true to make the alert closable.
13 */
14 "closable": boolean;
15 /**
16 * The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with the alert before it closes (e.g. moves the mouse over it), the timer will restart.
17 */
18 "duration": number;
19 /**
20 * Hides the alert
21 */
22 "hide": () => Promise<void>;
23 /**
24 * Indicates whether or not the alert is open. You can use this in lieu of the show/hide methods.
25 */
26 "open": boolean;
27 /**
28 * Shows the alert.
29 */
30 "show": () => Promise<void>;
31 /**
32 * Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when dismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by calling this method again. The returned promise will resolve after the alert is hidden.
33 */
34 "toast": () => Promise<void>;
35 /**
36 * The type of alert.
37 */
38 "type": 'primary' | 'success' | 'info' | 'warning' | 'danger';
39 }
40 interface SlAnimation {
41 /**
42 * Clears all KeyframeEffects caused by this animation and aborts its playback.
43 */
44 "cancel": () => Promise<void>;
45 /**
46 * The number of milliseconds to delay the start of the animation.
47 */
48 "delay": number;
49 /**
50 * Determines the direction of playback as well as the behavior when reaching the end of an iteration.
51 */
52 "direction": PlaybackDirection;
53 /**
54 * The number of milliseconds each iteration of the animation takes to complete.
55 */
56 "duration": number;
57 /**
58 * The easing function to use for the animation. This can be a Shoelace easing function or a custom easing function such as `cubic-bezier(0, 1, .76, 1.14)`.
59 */
60 "easing": string;
61 /**
62 * The number of milliseconds to delay after the active period of an animation sequence.
63 */
64 "endDelay": number;
65 /**
66 * Sets how the animation applies styles to its target before and after its execution.
67 */
68 "fill": FillMode;
69 /**
70 * Sets the playback time to the end of the animation corresponding to the current playback direction.
71 */
72 "finish": () => Promise<void>;
73 /**
74 * Gets a list of all supported animation names.
75 */
76 "getAnimationNames": () => Promise<string[]>;
77 /**
78 * Gets the current time of the animation in milliseconds.
79 */
80 "getCurrentTime": () => Promise<number>;
81 /**
82 * Gets a list of all supported easing function names.
83 */
84 "getEasingNames": () => Promise<string[]>;
85 /**
86 * The offset at which to start the animation, usually between 0 (start) and 1 (end).
87 */
88 "iterationStart": number;
89 /**
90 * The number of iterations to run before the animation completes. Defaults to `Infinity`, which loops.
91 */
92 "iterations": number;
93 /**
94 * The keyframes to use for the animation. If this is set, `name` will be ignored.
95 */
96 "keyframes": Keyframe[];
97 /**
98 * The name of the built-in animation to use. For custom animations, use the `keyframes` prop.
99 */
100 "name": string;
101 /**
102 * Pauses the animation. The animation will resume when this prop is removed.
103 */
104 "pause": boolean;
105 /**
106 * Sets the animation's playback rate. The default is `1`, which plays the animation at a normal speed. Setting this to `2`, for example, will double the animation's speed. A negative value can be used to reverse the animation. This value can be changed without causing the animation to restart.
107 */
108 "playbackRate": number;
109 /**
110 * Sets the current time of the animation in milliseconds.
111 */
112 "setCurrentTime": (time: number) => Promise<void>;
113 }
114 interface SlAvatar {
115 /**
116 * Alternative text for the image.
117 */
118 "alt": string;
119 /**
120 * The image source to use for the avatar.
121 */
122 "image": string;
123 /**
124 * Initials to use as a fallback when no image is available (1-2 characters max recommended).
125 */
126 "initials": string;
127 /**
128 * The shape of the avatar.
129 */
130 "shape": 'circle' | 'square' | 'rounded';
131 }
132 interface SlBadge {
133 /**
134 * Set to true to draw a pill-style badge with rounded edges.
135 */
136 "pill": boolean;
137 /**
138 * Set to true to make the badge pulsate to draw attention.
139 */
140 "pulse": boolean;
141 /**
142 * The badge's type.
143 */
144 "type": 'primary' | 'success' | 'info' | 'warning' | 'danger';
145 }
146 interface SlButton {
147 /**
148 * Set to true to draw the button with a caret for use with dropdowns, popovers, etc.
149 */
150 "caret": boolean;
151 /**
152 * Set to true to draw a circle button.
153 */
154 "circle": boolean;
155 /**
156 * Set to true to disable the button.
157 */
158 "disabled": boolean;
159 /**
160 * Tells the browser to download the linked file as this filename. Only used when `href` is set.
161 */
162 "download": string;
163 /**
164 * When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.
165 */
166 "href": string;
167 /**
168 * Set to true to draw the button in a loading state.
169 */
170 "loading": boolean;
171 /**
172 * An optional name for the button. Ignored when `href` is set.
173 */
174 "name": string;
175 /**
176 * Set to true to draw a pill-style button with rounded edges.
177 */
178 "pill": boolean;
179 /**
180 * Removes focus from the button.
181 */
182 "removeFocus": () => Promise<void>;
183 /**
184 * Sets focus on the button.
185 */
186 "setFocus": (options?: FocusOptions) => Promise<void>;
187 /**
188 * The button's size.
189 */
190 "size": 'small' | 'medium' | 'large';
191 /**
192 * Indicates if activating the button should submit the form. Ignored when `href` is set.
193 */
194 "submit": boolean;
195 /**
196 * Tells the browser where to open the link. Only used when `href` is set.
197 */
198 "target": '_blank' | '_parent' | '_self' | '_top';
199 /**
200 * The button's type.
201 */
202 "type": 'default' | 'primary' | 'success' | 'info' | 'warning' | 'danger' | 'text';
203 /**
204 * An optional value for the button. Ignored when `href` is set.
205 */
206 "value": string;
207 }
208 interface SlButtonGroup {
209 /**
210 * A label to use for the button group's `aria-label` attribute.
211 */
212 "label": string;
213 }
214 interface SlCard {
215 }
216 interface SlCheckbox {
217 /**
218 * Set to true to draw the checkbox in a checked state.
219 */
220 "checked": boolean;
221 /**
222 * Set to true to disable the checkbox.
223 */
224 "disabled": boolean;
225 /**
226 * Set to true to draw the checkbox in an indeterminate state.
227 */
228 "indeterminate": boolean;
229 /**
230 * This will be true when the control is in an invalid state. Validity is determined by the `required` prop.
231 */
232 "invalid": boolean;
233 /**
234 * The checkbox's name attribute.
235 */
236 "name": string;
237 /**
238 * Removes focus from the checkbox.
239 */
240 "removeFocus": () => Promise<void>;
241 /**
242 * Checks for validity and shows the browser's validation message if the control is invalid.
243 */
244 "reportValidity": () => Promise<boolean>;
245 /**
246 * Set to true to make the checkbox a required field.
247 */
248 "required": boolean;
249 /**
250 * Sets a custom validation message. If `message` is not empty, the field will be considered invalid.
251 */
252 "setCustomValidity": (message: string) => Promise<void>;
253 /**
254 * Sets focus on the checkbox.
255 */
256 "setFocus": (options?: FocusOptions) => Promise<void>;
257 /**
258 * The checkbox's value attribute.
259 */
260 "value": string;
261 }
262 interface SlColorPicker {
263 /**
264 * Set to true to disable the color picker.
265 */
266 "disabled": boolean;
267 /**
268 * The format to use for the display value. If opacity is enabled, these will translate to HEXA, RGBA, and HSLA respectively. The color picker will always accept user input in any format (including CSS color names) and convert it to the desired format.
269 */
270 "format": 'hex' | 'rgb' | 'hsl';
271 /**
272 * Returns the current value as a string in the specified format.
273 */
274 "getFormattedValue": (format?: 'hex' | 'hexa' | 'rgb' | 'rgba' | 'hsl' | 'hsla') => Promise<string>;
275 /**
276 * Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto|scroll`.
277 */
278 "hoist": boolean;
279 /**
280 * Set to true to render the color picker inline rather than inside a dropdown.
281 */
282 "inline": boolean;
283 /**
284 * This will be true when the control is in an invalid state. Validity is determined by the `setCustomValidity()` method using the browser's constraint validation API.
285 */
286 "invalid": boolean;
287 /**
288 * The input's name attribute.
289 */
290 "name": string;
291 /**
292 * Removes the format toggle.
293 */
294 "noFormatToggle": boolean;
295 /**
296 * Whether to show the opacity slider.
297 */
298 "opacity": boolean;
299 /**
300 * Checks for validity and shows the browser's validation message if the control is invalid.
301 */
302 "reportValidity": () => Promise<boolean | void>;
303 /**
304 * Sets a custom validation message. If `message` is not empty, the field will be considered invalid.
305 */
306 "setCustomValidity": (message: string) => Promise<void>;
307 /**
308 * Determines the size of the color picker's trigger. This has no effect on inline color pickers.
309 */
310 "size": 'small' | 'medium' | 'large';
311 /**
312 * An array of predefined color swatches to display. Can include any format the color picker can parse, including HEX(A), RGB(A), HSL(A), and CSS color names.
313 */
314 "swatches": string[];
315 /**
316 * By default, the value will be set in lowercase. Set this to true to set it in uppercase instead.
317 */
318 "uppercase": boolean;
319 /**
320 * The current color.
321 */
322 "value": string;
323 }
324 interface SlDetails {
325 /**
326 * Set to true to prevent the user from toggling the details.
327 */
328 "disabled": boolean;
329 /**
330 * Hides the alert
331 */
332 "hide": () => Promise<void>;
333 /**
334 * Indicates whether or not the details is open. You can use this in lieu of the show/hide methods.
335 */
336 "open": boolean;
337 /**
338 * Shows the alert.
339 */
340 "show": () => Promise<void>;
341 /**
342 * The summary to show in the details header. If you need to display HTML, use the `summary` slot instead.
343 */
344 "summary": string;
345 }
346 interface SlDialog {
347 /**
348 * Hides the dialog
349 */
350 "hide": () => Promise<void>;
351 /**
352 * The dialog's label as displayed in the header. You should always include a relevant label even when using `no-header`, as it is required for proper accessibility.
353 */
354 "label": string;
355 /**
356 * Set to true to disable the header. This will also remove the default close button, so please ensure you provide an easy, accessible way for users to dismiss the dialog.
357 */
358 "noHeader": boolean;
359 /**
360 * Indicates whether or not the dialog is open. You can use this in lieu of the show/hide methods.
361 */
362 "open": boolean;
363 /**
364 * Shows the dialog
365 */
366 "show": () => Promise<void>;
367 }
368 interface SlDrawer {
369 /**
370 * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of its parent element, set this prop and add `position: relative` to the parent.
371 */
372 "contained": boolean;
373 /**
374 * Hides the drawer
375 */
376 "hide": () => Promise<void>;
377 /**
378 * The drawer's label as displayed in the header. You should always include a relevant label even when using `no-header`, as it is required for proper accessibility.
379 */
380 "label": string;
381 /**
382 * Removes the header. This will also remove the default close button, so please ensure you provide an easy, accessible way for users to dismiss the drawer.
383 */
384 "noHeader": boolean;
385 /**
386 * Indicates whether or not the drawer is open. You can use this in lieu of the show/hide methods.
387 */
388 "open": boolean;
389 /**
390 * The direction from which the drawer will open.
391 */
392 "placement": 'top' | 'right' | 'bottom' | 'left';
393 /**
394 * Shows the drawer
395 */
396 "show": () => Promise<void>;
397 }
398 interface SlDropdown {
399 /**
400 * Determines whether the dropdown should hide when a menu item is selected.
401 */
402 "closeOnSelect": boolean;
403 /**
404 * The dropdown will close when the user interacts outside of this element (e.g. clicking).
405 */
406 "containingElement": HTMLElement;
407 /**
408 * The distance in pixels from which to offset the panel away from its trigger.
409 */
410 "distance": number;
411 /**
412 * Hides the dropdown panel
413 */
414 "hide": () => Promise<void>;
415 /**
416 * Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto|scroll`.
417 */
418 "hoist": boolean;
419 /**
420 * Indicates whether or not the dropdown is open. You can use this in lieu of the show/hide methods.
421 */
422 "open": boolean;
423 /**
424 * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel inside of the viewport.
425 */
426 "placement": | 'top'
427 | 'top-start'
428 | 'top-end'
429 | 'bottom'
430 | 'bottom-start'
431 | 'bottom-end'
432 | 'right'
433 | 'right-start'
434 | 'right-end'
435 | 'left'
436 | 'left-start'
437 | 'left-end';
438 /**
439 * Shows the dropdown panel
440 */
441 "show": () => Promise<void>;
442 /**
443 * The distance in pixels from which to offset the panel along its trigger.
444 */
445 "skidding": number;
446 }
447 interface SlForm {
448 /**
449 * Gets all form control elements (native and custom).
450 */
451 "getFormControls": () => Promise<HTMLElement[]>;
452 /**
453 * Serializes all form controls elements and returns a `FormData` object.
454 */
455 "getFormData": () => Promise<FormData>;
456 /**
457 * Prevent the form from validating inputs before submitting.
458 */
459 "novalidate": boolean;
460 /**
461 * Submits the form. If all controls are valid, the `sl-submit` event will be emitted and the promise will resolve with `true`. If any form control is invalid, the promise will resolve with `false` and no event will be emitted.
462 */
463 "submit": () => Promise<boolean>;
464 }
465 interface SlFormatBytes {
466 /**
467 * The locale to use when formatting the number.
468 */
469 "locale": string;
470 /**
471 * The unit to display.
472 */
473 "unit": 'bytes' | 'bits';
474 /**
475 * The number to format in bytes.
476 */
477 "value": number;
478 }
479 interface SlFormatDate {
480 /**
481 * The date/time to format. If not set, the current date and time will be used.
482 */
483 "date": Date | string;
484 /**
485 * The format for displaying the day.
486 */
487 "day": 'numeric' | '2-digit';
488 /**
489 * The format for displaying the era.
490 */
491 "era": 'narrow' | 'short' | 'long';
492 /**
493 * The format for displaying the hour.
494 */
495 "hour": 'numeric' | '2-digit';
496 /**
497 * When set, 24 hour time will always be used.
498 */
499 "hourFormat": 'auto' | '12' | '24';
500 /**
501 * The locale to use when formatting the date/time.
502 */
503 "locale": string;
504 /**
505 * The format for displaying the minute.
506 */
507 "minute": 'numeric' | '2-digit';
508 /**
509 * The format for displaying the month.
510 */
511 "month": 'numeric' | '2-digit' | 'narrow' | 'short' | 'long';
512 /**
513 * The format for displaying the second.
514 */
515 "second": 'numeric' | '2-digit';
516 /**
517 * The time zone to express the time in.
518 */
519 "timeZone": string;
520 /**
521 * The format for displaying the time.
522 */
523 "timeZoneName": 'short' | 'long';
524 /**
525 * The format for displaying the weekday.
526 */
527 "weekday": 'narrow' | 'short' | 'long';
528 /**
529 * The format for displaying the year.
530 */
531 "year": 'numeric' | '2-digit';
532 }
533 interface SlFormatNumber {
534 /**
535 * The currency to use when formatting. Must be an ISO 4217 currency code such as `USD` or `EUR`.
536 */
537 "currency": string;
538 /**
539 * How to display the currency.
540 */
541 "currencyDisplay": 'symbol' | 'narrowSymbol' | 'code' | 'name';
542 /**
543 * The locale to use when formatting the number.
544 */
545 "locale": string;
546 /**
547 * The maximum number of fraction digits to use. Possible values are 0 - 20.
548 */
549 "maximumFractionDigits": number;
550 /**
551 * The maximum number of significant digits to use,. Possible values are 1 - 21.
552 */
553 "maximumSignificantDigits": number;
554 /**
555 * The minimum number of fraction digits to use. Possible values are 0 - 20.
556 */
557 "minimumFractionDigits": number;
558 /**
559 * The minimum number of integer digits to use. Possible values are 1 - 21.
560 */
561 "minimumIntegerDigits": number;
562 /**
563 * The minimum number of significant digits to use. Possible values are 1 - 21.
564 */
565 "minimumSignificantDigits": number;
566 /**
567 * Turns off grouping separators.
568 */
569 "noGrouping": boolean;
570 /**
571 * The formatting style to use.
572 */
573 "type": 'currency' | 'decimal' | 'percent';
574 /**
575 * The number to format.
576 */
577 "value": number;
578 }
579 interface SlIcon {
580 /**
581 * An alternative description to use for accessibility. If omitted, the name or src will be used to generate it.
582 */
583 "label": string;
584 /**
585 * The name of a registered custom icon library.
586 */
587 "library": string;
588 /**
589 * The name of the icon to draw.
590 */
591 "name": string;
592 "redraw": () => Promise<void>;
593 /**
594 * An external URL of an SVG file.
595 */
596 "src": string;
597 }
598 interface SlIconButton {
599 /**
600 * Set to true to disable the button.
601 */
602 "disabled": boolean;
603 /**
604 * A description that gets read by screen readers and other assistive devices. For optimal accessibility, you should always include a label that describes what the icon button does.
605 */
606 "label": string;
607 /**
608 * The name of a registered custom icon library.
609 */
610 "library": string;
611 /**
612 * The name of the icon to draw.
613 */
614 "name": string;
615 /**
616 * An external URL of an SVG file.
617 */
618 "src": string;
619 }
620 interface SlIconLibrary {
621 /**
622 * A function that mutates the SVG element before it renders.
623 */
624 "mutator": IconLibraryMutator;
625 /**
626 * The name of the icon library.
627 */
628 "name": string;
629 /**
630 * A function that translates an icon name to a URL where the corresponding SVG file exists The URL can be local or a CORS-enabled endpoint.
631 */
632 "resolver": IconLibraryResolver;
633 }
634 interface SlImageComparer {
635 /**
636 * The position of the divider as a percentage.
637 */
638 "position": number;
639 }
640 interface SlInclude {
641 /**
642 * Allows included scripts to be executed. You must ensure the content you're including is trusted, otherwise this option can lead to XSS vulnerabilities in your app!
643 */
644 "allowScripts": boolean;
645 /**
646 * The fetch mode to use.
647 */
648 "mode": 'cors' | 'no-cors' | 'same-origin';
649 /**
650 * The location of the HTML file to include.
651 */
652 "src": string;
653 }
654 interface SlInput {
655 /**
656 * The input's autocaptialize attribute.
657 */
658 "autocapitalize": string;
659 /**
660 * The input's autocomplete attribute.
661 */
662 "autocomplete": string;
663 /**
664 * The input's autocorrect attribute.
665 */
666 "autocorrect": string;
667 /**
668 * The input's autofocus attribute.
669 */
670 "autofocus": boolean;
671 /**
672 * Set to true to add a clear button when the input is populated.
673 */
674 "clearable": boolean;
675 /**
676 * Set to true to disable the input.
677 */
678 "disabled": boolean;
679 /**
680 * The input's help text. Alternatively, you can use the help-text slot.
681 */
682 "helpText": string;
683 /**
684 * The input's inputmode attribute.
685 */
686 "inputmode": 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
687 /**
688 * This will be true when the control is in an invalid state. Validity is determined by props such as `type`, `required`, `minlength`, `maxlength`, and `pattern` using the browser's constraint validation API.
689 */
690 "invalid": boolean;
691 /**
692 * The input's label. Alternatively, you can use the label slot.
693 */
694 "label": string;
695 /**
696 * The input's maximum value.
697 */
698 "max": number;
699 /**
700 * The maximum length of input that will be considered valid.
701 */
702 "maxlength": number;
703 /**
704 * The input's minimum value.
705 */
706 "min": number;
707 /**
708 * The minimum length of input that will be considered valid.
709 */
710 "minlength": number;
711 /**
712 * The input's name attribute.
713 */
714 "name": string;
715 /**
716 * A pattern to validate input against.
717 */
718 "pattern": string;
719 /**
720 * Set to true to draw a pill-style input with rounded edges.
721 */
722 "pill": boolean;
723 /**
724 * The input's placeholder text.
725 */
726 "placeholder": string;
727 /**
728 * Set to true to make the input readonly.
729 */
730 "readonly": boolean;
731 /**
732 * Removes focus from the input.
733 */
734 "removeFocus": () => Promise<void>;
735 /**
736 * Checks for validity and shows the browser's validation message if the control is invalid.
737 */
738 "reportValidity": () => Promise<boolean>;
739 /**
740 * Set to true to make the input a required field.
741 */
742 "required": boolean;
743 /**
744 * Selects all the text in the input.
745 */
746 "select": () => Promise<void>;
747 /**
748 * Sets a custom validation message. If `message` is not empty, the field will be considered invalid.
749 */
750 "setCustomValidity": (message: string) => Promise<void>;
751 /**
752 * Sets focus on the input.
753 */
754 "setFocus": (options?: FocusOptions) => Promise<void>;
755 /**
756 * Replaces a range of text with a new string.
757 */
758 "setRangeText": (replacement: string, start: number, end: number, selectMode?: 'select' | 'start' | 'end' | 'preserve') => Promise<void>;
759 /**
760 * Sets the start and end positions of the text selection (0-based).
761 */
762 "setSelectionRange": (selectionStart: number, selectionEnd: number, selectionDirection?: 'forward' | 'backward' | 'none') => Promise<void>;
763 /**
764 * The input's size.
765 */
766 "size": 'small' | 'medium' | 'large';
767 /**
768 * Enables spell checking on the input.
769 */
770 "spellcheck": boolean;
771 /**
772 * The input's step attribute.
773 */
774 "step": number;
775 /**
776 * Set to true to add a password toggle button for password inputs.
777 */
778 "togglePassword": boolean;
779 /**
780 * The input's type.
781 */
782 "type": 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url';
783 /**
784 * The input's value attribute.
785 */
786 "value": string;
787 }
788 interface SlMenu {
789 /**
790 * Initiates type-to-select logic, which automatically selects an option based on what the user is currently typing. The key passed will be appended to the internal query and the selection will be updated. After a brief period, the internal query is cleared automatically. This method is intended to be used with the keydown event. Useful for enabling type-to-select when the menu doesn't have focus.
791 */
792 "typeToSelect": (key: string) => Promise<void>;
793 }
794 interface SlMenuDivider {
795 }
796 interface SlMenuItem {
797 /**
798 * Set to true to draw the item in a checked state.
799 */
800 "checked": boolean;
801 /**
802 * Set to true to draw the menu item in a disabled state.
803 */
804 "disabled": boolean;
805 /**
806 * Removes focus from the button.
807 */
808 "removeFocus": () => Promise<void>;
809 /**
810 * Sets focus on the button.
811 */
812 "setFocus": (options?: FocusOptions) => Promise<void>;
813 /**
814 * A unique value to store in the menu item. This can be used as a way to identify menu items when selected.
815 */
816 "value": string;
817 }
818 interface SlMenuLabel {
819 }
820 interface SlProgressBar {
821 /**
822 * When true, percentage is ignored, the label is hidden, and the progress bar is drawn in an indeterminate state.
823 */
824 "indeterminate": boolean;
825 /**
826 * The progress bar's percentage, 0 to 100.
827 */
828 "percentage": number;
829 }
830 interface SlProgressRing {
831 /**
832 * The current progress percentage, 0 - 100.
833 */
834 "percentage": number;
835 /**
836 * The size of the progress ring in pixels.
837 */
838 "size": number;
839 /**
840 * The stroke width of the progress ring in pixels.
841 */
842 "strokeWidth": number;
843 }
844 interface SlRadio {
845 /**
846 * Set to true to draw the radio in a checked state.
847 */
848 "checked": boolean;
849 /**
850 * Set to true to disable the radio.
851 */
852 "disabled": boolean;
853 /**
854 * This will be true when the control is in an invalid state. Validity in range inputs is determined by the message provided by the `setCustomValidity` method.
855 */
856 "invalid": boolean;
857 /**
858 * The radio's name attribute.
859 */
860 "name": string;
861 /**
862 * Removes focus from the radio.
863 */
864 "removeFocus": () => Promise<void>;
865 /**
866 * Checks for validity and shows the browser's validation message if the control is invalid.
867 */
868 "reportValidity": () => Promise<boolean>;
869 /**
870 * Sets a custom validation message. If `message` is not empty, the field will be considered invalid.
871 */
872 "setCustomValidity": (message: string) => Promise<void>;
873 /**
874 * Sets focus on the radio.
875 */
876 "setFocus": (options?: FocusOptions) => Promise<void>;
877 /**
878 * The radio's value attribute.
879 */
880 "value": string;
881 }
882 interface SlRange {
883 /**
884 * Set to true to disable the input.
885 */
886 "disabled": boolean;
887 /**
888 * The range's help text. Alternatively, you can use the help-text slot.
889 */
890 "helpText": string;
891 /**
892 * This will be true when the control is in an invalid state. Validity in range inputs is determined by the message provided by the `setCustomValidity` method.
893 */
894 "invalid": boolean;
895 /**
896 * The range's label. Alternatively, you can use the label slot.
897 */
898 "label": string;
899 /**
900 * The input's max attribute.
901 */
902 "max": number;
903 /**
904 * The input's min attribute.
905 */
906 "min": number;
907 /**
908 * The input's name attribute.
909 */
910 "name": string;
911 /**
912 * Removes focus from the input.
913 */
914 "removeFocus": () => Promise<void>;
915 /**
916 * Sets a custom validation message. If `message` is not empty, the field will be considered invalid.
917 */
918 "setCustomValidity": (message: string) => Promise<void>;
919 /**
920 * Sets focus on the input.
921 */
922 "setFocus": (options?: FocusOptions) => Promise<void>;
923 /**
924 * The input's step attribute.
925 */
926 "step": number;
927 /**
928 * The preferred placedment of the tooltip.
929 */
930 "tooltip": 'top' | 'bottom' | 'none';
931 /**
932 * A function used to format the tooltip's value.
933 */
934 "tooltipFormatter": (value: number) => string;
935 /**
936 * The input's value attribute.
937 */
938 "value": number;
939 }
940 interface SlRating {
941 /**
942 * Disables the rating.
943 */
944 "disabled": boolean;
945 /**
946 * A function that returns the symbols to display. Accepts an option `value` parameter you can use to map a specific symbol to a value.
947 */
948 "getSymbol": (value?: number) => string;
949 /**
950 * The highest rating to show.
951 */
952 "max": number;
953 /**
954 * The minimum increment value allowed by the control.
955 */
956 "precision": number;
957 /**
958 * Makes the rating readonly.
959 */
960 "readonly": boolean;
961 /**
962 * Removes focus from the rating.
963 */
964 "removeFocus": () => Promise<void>;
965 /**
966 * Sets focus on the rating.
967 */
968 "setFocus": (options?: FocusOptions) => Promise<void>;
969 /**
970 * The current rating.
971 */
972 "value": number;
973 }
974 interface SlRelativeTime {
975 /**
976 * The date from which to calculate time from.
977 */
978 "date": Date | string;
979 /**
980 * The formatting style to use.
981 */
982 "format": 'long' | 'short' | 'narrow';
983 /**
984 * The locale to use when formatting the number.
985 */
986 "locale": string;
987 /**
988 * When `auto`, values such as "yesterday" and "tomorrow" will be shown when possible. When `always`, values such as "1 day ago" and "in 1 day" will be shown.
989 */
990 "numeric": 'always' | 'auto';
991 /**
992 * Keep the displayed value up to date as time passes.
993 */
994 "sync": boolean;
995 }
996 interface SlResizeObserver {
997 }
998 interface SlResponsiveEmbed {
999 /**
1000 * The aspect ratio of the embedded media in the format of `width:height`, e.g. `16:9`, `4:3`, or `1:1`. Ratios not in this format will be ignored.
1001 */
1002 "aspectRatio": string;
1003 }
1004 interface SlSelect {
1005 /**
1006 * Set to true to add a clear button when the select is populated.
1007 */
1008 "clearable": boolean;
1009 /**
1010 * Set to true to disable the select control.
1011 */
1012 "disabled": boolean;
1013 /**
1014 * The select's help text. Alternatively, you can use the help-text slot.
1015 */
1016 "helpText": string;
1017 /**
1018 * Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto|scroll`.
1019 */
1020 "hoist": boolean;
1021 /**
1022 * This will be true when the control is in an invalid state. Validity is determined by the `required` prop.
1023 */
1024 "invalid": boolean;
1025 /**
1026 * The select's label. Alternatively, you can use the label slot.
1027 */
1028 "label": string;
1029 /**
1030 * The maximum number of tags to show when `multiple` is true. After the maximum, "+n" will be shown to indicate the number of additional items that are selected. Set to -1 to remove the limit.
1031 */
1032 "maxTagsVisible": number;
1033 /**
1034 * Set to true to enable multiselect.
1035 */
1036 "multiple": boolean;
1037 /**
1038 * The select's name.
1039 */
1040 "name": string;
1041 /**
1042 * Set to true to draw a pill-style select with rounded edges.
1043 */
1044 "pill": boolean;
1045 /**
1046 * The select's placeholder text.
1047 */
1048 "placeholder": string;
1049 /**
1050 * Checks for validity and shows the browser's validation message if the control is invalid.
1051 */
1052 "reportValidity": () => Promise<boolean>;
1053 /**
1054 * The select's required attribute.
1055 */
1056 "required": boolean;
1057 /**
1058 * Sets a custom validation message. If `message` is not empty, the field will be considered invalid.
1059 */
1060 "setCustomValidity": (message: string) => Promise<void>;
1061 /**
1062 * The select's size.
1063 */
1064 "size": 'small' | 'medium' | 'large';
1065 /**
1066 * The value of the control. This will be a string or an array depending on `multiple`.
1067 */
1068 "value": string | Array<string>;
1069 }
1070 interface SlSkeleton {
1071 /**
1072 * Determines which effect the skeleton will use.
1073 */
1074 "effect": 'pulse' | 'sheen' | 'none';
1075 }
1076 interface SlSpinner {
1077 }
1078 interface SlSwitch {
1079 /**
1080 * Set to true to draw the switch in a checked state.
1081 */
1082 "checked": boolean;
1083 /**
1084 * Set to true to disable the switch.
1085 */
1086 "disabled": boolean;
1087 /**
1088 * This will be true when the control is in an invalid state. Validity is determined by the `required` prop.
1089 */
1090 "invalid": boolean;
1091 /**
1092 * The switch's name attribute.
1093 */
1094 "name": string;
1095 /**
1096 * Removes focus from the switch.
1097 */
1098 "removeFocus": () => Promise<void>;
1099 /**
1100 * Checks for validity and shows the browser's validation message if the control is invalid.
1101 */
1102 "reportValidity": () => Promise<boolean>;
1103 /**
1104 * Set to true to make the switch a required field.
1105 */
1106 "required": boolean;
1107 /**
1108 * Sets a custom validation message. If `message` is not empty, the field will be considered invalid.
1109 */
1110 "setCustomValidity": (message: string) => Promise<void>;
1111 /**
1112 * Sets focus on the switch.
1113 */
1114 "setFocus": (options?: FocusOptions) => Promise<void>;
1115 /**
1116 * The switch's value attribute.
1117 */
1118 "value": string;
1119 }
1120 interface SlTab {
1121 /**
1122 * Set to true to draw the tab in an active state.
1123 */
1124 "active": boolean;
1125 /**
1126 * When true, the tab will be rendered with a close icon.
1127 */
1128 "closable": boolean;
1129 /**
1130 * Set to true to draw the tab in a disabled state.
1131 */
1132 "disabled": boolean;
1133 /**
1134 * The name of the tab panel the tab will control. The panel must be located in the same tab group.
1135 */
1136 "panel": string;
1137 /**
1138 * Removes focus from the tab.
1139 */
1140 "removeFocus": () => Promise<void>;
1141 /**
1142 * Sets focus to the tab.
1143 */
1144 "setFocus": (options?: FocusOptions) => Promise<void>;
1145 }
1146 interface SlTabGroup {
1147 /**
1148 * Disables the scroll arrows that appear when tabs overflow.
1149 */
1150 "noScrollControls": boolean;
1151 /**
1152 * The placement of the tabs.
1153 */
1154 "placement": 'top' | 'bottom' | 'left' | 'right';
1155 /**
1156 * Shows the specified tab panel.
1157 */
1158 "show": (panel: string) => Promise<void>;
1159 }
1160 interface SlTabPanel {
1161 /**
1162 * When true, the tab panel will be shown.
1163 */
1164 "active": boolean;
1165 /**
1166 * The tab panel's name.
1167 */
1168 "name": string;
1169 }
1170 interface SlTag {
1171 /**
1172 * Set to true to make the tag clearable.
1173 */
1174 "clearable": boolean;
1175 /**
1176 * Set to true to draw a pill-style tag with rounded edges.
1177 */
1178 "pill": boolean;
1179 /**
1180 * The tag's size.
1181 */
1182 "size": 'small' | 'medium' | 'large';
1183 /**
1184 * The tag's type.
1185 */
1186 "type": 'primary' | 'success' | 'info' | 'warning' | 'danger' | 'text';
1187 }
1188 interface SlTextarea {
1189 /**
1190 * The textarea's autocaptialize attribute.
1191 */
1192 "autocapitalize": string;
1193 /**
1194 * The textarea's autocomplete attribute.
1195 */
1196 "autocomplete": string;
1197 /**
1198 * The textarea's autocorrect attribute.
1199 */
1200 "autocorrect": string;
1201 /**
1202 * The textarea's autofocus attribute.
1203 */
1204 "autofocus": boolean;
1205 /**
1206 * Set to true to disable the textarea.
1207 */
1208 "disabled": boolean;
1209 /**
1210 * The textarea's help text. Alternatively, you can use the help-text slot.
1211 */
1212 "helpText": string;
1213 /**
1214 * The textarea's inputmode attribute.
1215 */
1216 "inputmode": 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
1217 /**
1218 * This will be true when the control is in an invalid state. Validity is determined by props such as `required`, `minlength`, and `maxlength` using the browser's constraint validation API.
1219 */
1220 "invalid": boolean;
1221 /**
1222 * The textarea's label. Alternatively, you can use the label slot.
1223 */
1224 "label": string;
1225 /**
1226 * The maximum length of input that will be considered valid.
1227 */
1228 "maxlength": number;
1229 /**
1230 * The minimum length of input that will be considered valid.
1231 */
1232 "minlength": number;
1233 /**
1234 * The textarea's name attribute.
1235 */
1236 "name": string;
1237 /**
1238 * The textarea's placeholder text.
1239 */
1240 "placeholder": string;
1241 /**
1242 * Set to true for a readonly textarea.
1243 */
1244 "readonly": boolean;
1245 /**
1246 * Removes focus fromt the textarea.
1247 */
1248 "removeFocus": () => Promise<void>;
1249 /**
1250 * Checks for validity and shows the browser's validation message if the control is invalid.
1251 */
1252 "reportValidity": () => Promise<boolean>;
1253 /**
1254 * The textarea's required attribute.
1255 */
1256 "required": boolean;
1257 /**
1258 * Controls how the textarea can be resized.
1259 */
1260 "resize": 'none' | 'vertical' | 'auto';
1261 /**
1262 * The number of rows to display by default.
1263 */
1264 "rows": number;
1265 /**
1266 * Selects all the text in the input.
1267 */
1268 "select": () => Promise<void>;
1269 /**
1270 * Sets a custom validation message. If `message` is not empty, the field will be considered invalid.
1271 */
1272 "setCustomValidity": (message: string) => Promise<void>;
1273 /**
1274 * Sets focus on the textarea.
1275 */
1276 "setFocus": (options?: FocusOptions) => Promise<void>;
1277 /**
1278 * Replaces a range of text with a new string.
1279 */
1280 "setRangeText": (replacement: string, start: number, end: number, selectMode?: 'select' | 'start' | 'end' | 'preserve') => Promise<void>;
1281 /**
1282 * Sets the start and end positions of the text selection (0-based).
1283 */
1284 "setSelectionRange": (selectionStart: number, selectionEnd: number, selectionDirection?: 'forward' | 'backward' | 'none') => Promise<void>;
1285 /**
1286 * The textarea's size.
1287 */
1288 "size": 'small' | 'medium' | 'large';
1289 /**
1290 * The textarea's spellcheck attribute.
1291 */
1292 "spellcheck": boolean;
1293 /**
1294 * The textarea's value attribute.
1295 */
1296 "value": string;
1297 }
1298 interface SlTheme {
1299 /**
1300 * The name of the theme to use. The user is responsible for including the associated stylesheet(s). Supportive themes must adhere to theme guidelines by exposing a class that follows the `sl-theme-{name}` convention.
1301 */
1302 "name": string;
1303 }
1304 interface SlTooltip {
1305 /**
1306 * The tooltip's content. Alternatively, you can use the content slot.
1307 */
1308 "content": string;
1309 /**
1310 * Set to true to disable the tooltip so it won't show when triggered.
1311 */
1312 "disabled": boolean;
1313 /**
1314 * The distance in pixels from which to offset the tooltip away from its target.
1315 */
1316 "distance": number;
1317 /**
1318 * Shows the tooltip.
1319 */
1320 "hide": () => Promise<void>;
1321 /**
1322 * Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods.
1323 */
1324 "open": boolean;
1325 /**
1326 * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip inside of the viewport.
1327 */
1328 "placement": | 'top'
1329 | 'top-start'
1330 | 'top-end'
1331 | 'right'
1332 | 'right-start'
1333 | 'right-end'
1334 | 'bottom'
1335 | 'bottom-start'
1336 | 'bottom-end'
1337 | 'left'
1338 | 'left-start'
1339 | 'left-end';
1340 /**
1341 * Shows the tooltip.
1342 */
1343 "show": () => Promise<void>;
1344 /**
1345 * The distance in pixels from which to offset the tooltip along its target.
1346 */
1347 "skidding": number;
1348 /**
1349 * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple options can be passed by separating them with a space. When manual is used, the tooltip must be activated programmatically.
1350 */
1351 "trigger": string;
1352 }
1353}
1354declare global {
1355 interface HTMLSlAlertElement extends Components.SlAlert, HTMLStencilElement {
1356 }
1357 var HTMLSlAlertElement: {
1358 prototype: HTMLSlAlertElement;
1359 new (): HTMLSlAlertElement;
1360 };
1361 interface HTMLSlAnimationElement extends Components.SlAnimation, HTMLStencilElement {
1362 }
1363 var HTMLSlAnimationElement: {
1364 prototype: HTMLSlAnimationElement;
1365 new (): HTMLSlAnimationElement;
1366 };
1367 interface HTMLSlAvatarElement extends Components.SlAvatar, HTMLStencilElement {
1368 }
1369 var HTMLSlAvatarElement: {
1370 prototype: HTMLSlAvatarElement;
1371 new (): HTMLSlAvatarElement;
1372 };
1373 interface HTMLSlBadgeElement extends Components.SlBadge, HTMLStencilElement {
1374 }
1375 var HTMLSlBadgeElement: {
1376 prototype: HTMLSlBadgeElement;
1377 new (): HTMLSlBadgeElement;
1378 };
1379 interface HTMLSlButtonElement extends Components.SlButton, HTMLStencilElement {
1380 }
1381 var HTMLSlButtonElement: {
1382 prototype: HTMLSlButtonElement;
1383 new (): HTMLSlButtonElement;
1384 };
1385 interface HTMLSlButtonGroupElement extends Components.SlButtonGroup, HTMLStencilElement {
1386 }
1387 var HTMLSlButtonGroupElement: {
1388 prototype: HTMLSlButtonGroupElement;
1389 new (): HTMLSlButtonGroupElement;
1390 };
1391 interface HTMLSlCardElement extends Components.SlCard, HTMLStencilElement {
1392 }
1393 var HTMLSlCardElement: {
1394 prototype: HTMLSlCardElement;
1395 new (): HTMLSlCardElement;
1396 };
1397 interface HTMLSlCheckboxElement extends Components.SlCheckbox, HTMLStencilElement {
1398 }
1399 var HTMLSlCheckboxElement: {
1400 prototype: HTMLSlCheckboxElement;
1401 new (): HTMLSlCheckboxElement;
1402 };
1403 interface HTMLSlColorPickerElement extends Components.SlColorPicker, HTMLStencilElement {
1404 }
1405 var HTMLSlColorPickerElement: {
1406 prototype: HTMLSlColorPickerElement;
1407 new (): HTMLSlColorPickerElement;
1408 };
1409 interface HTMLSlDetailsElement extends Components.SlDetails, HTMLStencilElement {
1410 }
1411 var HTMLSlDetailsElement: {
1412 prototype: HTMLSlDetailsElement;
1413 new (): HTMLSlDetailsElement;
1414 };
1415 interface HTMLSlDialogElement extends Components.SlDialog, HTMLStencilElement {
1416 }
1417 var HTMLSlDialogElement: {
1418 prototype: HTMLSlDialogElement;
1419 new (): HTMLSlDialogElement;
1420 };
1421 interface HTMLSlDrawerElement extends Components.SlDrawer, HTMLStencilElement {
1422 }
1423 var HTMLSlDrawerElement: {
1424 prototype: HTMLSlDrawerElement;
1425 new (): HTMLSlDrawerElement;
1426 };
1427 interface HTMLSlDropdownElement extends Components.SlDropdown, HTMLStencilElement {
1428 }
1429 var HTMLSlDropdownElement: {
1430 prototype: HTMLSlDropdownElement;
1431 new (): HTMLSlDropdownElement;
1432 };
1433 interface HTMLSlFormElement extends Components.SlForm, HTMLStencilElement {
1434 }
1435 var HTMLSlFormElement: {
1436 prototype: HTMLSlFormElement;
1437 new (): HTMLSlFormElement;
1438 };
1439 interface HTMLSlFormatBytesElement extends Components.SlFormatBytes, HTMLStencilElement {
1440 }
1441 var HTMLSlFormatBytesElement: {
1442 prototype: HTMLSlFormatBytesElement;
1443 new (): HTMLSlFormatBytesElement;
1444 };
1445 interface HTMLSlFormatDateElement extends Components.SlFormatDate, HTMLStencilElement {
1446 }
1447 var HTMLSlFormatDateElement: {
1448 prototype: HTMLSlFormatDateElement;
1449 new (): HTMLSlFormatDateElement;
1450 };
1451 interface HTMLSlFormatNumberElement extends Components.SlFormatNumber, HTMLStencilElement {
1452 }
1453 var HTMLSlFormatNumberElement: {
1454 prototype: HTMLSlFormatNumberElement;
1455 new (): HTMLSlFormatNumberElement;
1456 };
1457 interface HTMLSlIconElement extends Components.SlIcon, HTMLStencilElement {
1458 }
1459 var HTMLSlIconElement: {
1460 prototype: HTMLSlIconElement;
1461 new (): HTMLSlIconElement;
1462 };
1463 interface HTMLSlIconButtonElement extends Components.SlIconButton, HTMLStencilElement {
1464 }
1465 var HTMLSlIconButtonElement: {
1466 prototype: HTMLSlIconButtonElement;
1467 new (): HTMLSlIconButtonElement;
1468 };
1469 interface HTMLSlIconLibraryElement extends Components.SlIconLibrary, HTMLStencilElement {
1470 }
1471 var HTMLSlIconLibraryElement: {
1472 prototype: HTMLSlIconLibraryElement;
1473 new (): HTMLSlIconLibraryElement;
1474 };
1475 interface HTMLSlImageComparerElement extends Components.SlImageComparer, HTMLStencilElement {
1476 }
1477 var HTMLSlImageComparerElement: {
1478 prototype: HTMLSlImageComparerElement;
1479 new (): HTMLSlImageComparerElement;
1480 };
1481 interface HTMLSlIncludeElement extends Components.SlInclude, HTMLStencilElement {
1482 }
1483 var HTMLSlIncludeElement: {
1484 prototype: HTMLSlIncludeElement;
1485 new (): HTMLSlIncludeElement;
1486 };
1487 interface HTMLSlInputElement extends Components.SlInput, HTMLStencilElement {
1488 }
1489 var HTMLSlInputElement: {
1490 prototype: HTMLSlInputElement;
1491 new (): HTMLSlInputElement;
1492 };
1493 interface HTMLSlMenuElement extends Components.SlMenu, HTMLStencilElement {
1494 }
1495 var HTMLSlMenuElement: {
1496 prototype: HTMLSlMenuElement;
1497 new (): HTMLSlMenuElement;
1498 };
1499 interface HTMLSlMenuDividerElement extends Components.SlMenuDivider, HTMLStencilElement {
1500 }
1501 var HTMLSlMenuDividerElement: {
1502 prototype: HTMLSlMenuDividerElement;
1503 new (): HTMLSlMenuDividerElement;
1504 };
1505 interface HTMLSlMenuItemElement extends Components.SlMenuItem, HTMLStencilElement {
1506 }
1507 var HTMLSlMenuItemElement: {
1508 prototype: HTMLSlMenuItemElement;
1509 new (): HTMLSlMenuItemElement;
1510 };
1511 interface HTMLSlMenuLabelElement extends Components.SlMenuLabel, HTMLStencilElement {
1512 }
1513 var HTMLSlMenuLabelElement: {
1514 prototype: HTMLSlMenuLabelElement;
1515 new (): HTMLSlMenuLabelElement;
1516 };
1517 interface HTMLSlProgressBarElement extends Components.SlProgressBar, HTMLStencilElement {
1518 }
1519 var HTMLSlProgressBarElement: {
1520 prototype: HTMLSlProgressBarElement;
1521 new (): HTMLSlProgressBarElement;
1522 };
1523 interface HTMLSlProgressRingElement extends Components.SlProgressRing, HTMLStencilElement {
1524 }
1525 var HTMLSlProgressRingElement: {
1526 prototype: HTMLSlProgressRingElement;
1527 new (): HTMLSlProgressRingElement;
1528 };
1529 interface HTMLSlRadioElement extends Components.SlRadio, HTMLStencilElement {
1530 }
1531 var HTMLSlRadioElement: {
1532 prototype: HTMLSlRadioElement;
1533 new (): HTMLSlRadioElement;
1534 };
1535 interface HTMLSlRangeElement extends Components.SlRange, HTMLStencilElement {
1536 }
1537 var HTMLSlRangeElement: {
1538 prototype: HTMLSlRangeElement;
1539 new (): HTMLSlRangeElement;
1540 };
1541 interface HTMLSlRatingElement extends Components.SlRating, HTMLStencilElement {
1542 }
1543 var HTMLSlRatingElement: {
1544 prototype: HTMLSlRatingElement;
1545 new (): HTMLSlRatingElement;
1546 };
1547 interface HTMLSlRelativeTimeElement extends Components.SlRelativeTime, HTMLStencilElement {
1548 }
1549 var HTMLSlRelativeTimeElement: {
1550 prototype: HTMLSlRelativeTimeElement;
1551 new (): HTMLSlRelativeTimeElement;
1552 };
1553 interface HTMLSlResizeObserverElement extends Components.SlResizeObserver, HTMLStencilElement {
1554 }
1555 var HTMLSlResizeObserverElement: {
1556 prototype: HTMLSlResizeObserverElement;
1557 new (): HTMLSlResizeObserverElement;
1558 };
1559 interface HTMLSlResponsiveEmbedElement extends Components.SlResponsiveEmbed, HTMLStencilElement {
1560 }
1561 var HTMLSlResponsiveEmbedElement: {
1562 prototype: HTMLSlResponsiveEmbedElement;
1563 new (): HTMLSlResponsiveEmbedElement;
1564 };
1565 interface HTMLSlSelectElement extends Components.SlSelect, HTMLStencilElement {
1566 }
1567 var HTMLSlSelectElement: {
1568 prototype: HTMLSlSelectElement;
1569 new (): HTMLSlSelectElement;
1570 };
1571 interface HTMLSlSkeletonElement extends Components.SlSkeleton, HTMLStencilElement {
1572 }
1573 var HTMLSlSkeletonElement: {
1574 prototype: HTMLSlSkeletonElement;
1575 new (): HTMLSlSkeletonElement;
1576 };
1577 interface HTMLSlSpinnerElement extends Components.SlSpinner, HTMLStencilElement {
1578 }
1579 var HTMLSlSpinnerElement: {
1580 prototype: HTMLSlSpinnerElement;
1581 new (): HTMLSlSpinnerElement;
1582 };
1583 interface HTMLSlSwitchElement extends Components.SlSwitch, HTMLStencilElement {
1584 }
1585 var HTMLSlSwitchElement: {
1586 prototype: HTMLSlSwitchElement;
1587 new (): HTMLSlSwitchElement;
1588 };
1589 interface HTMLSlTabElement extends Components.SlTab, HTMLStencilElement {
1590 }
1591 var HTMLSlTabElement: {
1592 prototype: HTMLSlTabElement;
1593 new (): HTMLSlTabElement;
1594 };
1595 interface HTMLSlTabGroupElement extends Components.SlTabGroup, HTMLStencilElement {
1596 }
1597 var HTMLSlTabGroupElement: {
1598 prototype: HTMLSlTabGroupElement;
1599 new (): HTMLSlTabGroupElement;
1600 };
1601 interface HTMLSlTabPanelElement extends Components.SlTabPanel, HTMLStencilElement {
1602 }
1603 var HTMLSlTabPanelElement: {
1604 prototype: HTMLSlTabPanelElement;
1605 new (): HTMLSlTabPanelElement;
1606 };
1607 interface HTMLSlTagElement extends Components.SlTag, HTMLStencilElement {
1608 }
1609 var HTMLSlTagElement: {
1610 prototype: HTMLSlTagElement;
1611 new (): HTMLSlTagElement;
1612 };
1613 interface HTMLSlTextareaElement extends Components.SlTextarea, HTMLStencilElement {
1614 }
1615 var HTMLSlTextareaElement: {
1616 prototype: HTMLSlTextareaElement;
1617 new (): HTMLSlTextareaElement;
1618 };
1619 interface HTMLSlThemeElement extends Components.SlTheme, HTMLStencilElement {
1620 }
1621 var HTMLSlThemeElement: {
1622 prototype: HTMLSlThemeElement;
1623 new (): HTMLSlThemeElement;
1624 };
1625 interface HTMLSlTooltipElement extends Components.SlTooltip, HTMLStencilElement {
1626 }
1627 var HTMLSlTooltipElement: {
1628 prototype: HTMLSlTooltipElement;
1629 new (): HTMLSlTooltipElement;
1630 };
1631 interface HTMLElementTagNameMap {
1632 "sl-alert": HTMLSlAlertElement;
1633 "sl-animation": HTMLSlAnimationElement;
1634 "sl-avatar": HTMLSlAvatarElement;
1635 "sl-badge": HTMLSlBadgeElement;
1636 "sl-button": HTMLSlButtonElement;
1637 "sl-button-group": HTMLSlButtonGroupElement;
1638 "sl-card": HTMLSlCardElement;
1639 "sl-checkbox": HTMLSlCheckboxElement;
1640 "sl-color-picker": HTMLSlColorPickerElement;
1641 "sl-details": HTMLSlDetailsElement;
1642 "sl-dialog": HTMLSlDialogElement;
1643 "sl-drawer": HTMLSlDrawerElement;
1644 "sl-dropdown": HTMLSlDropdownElement;
1645 "sl-form": HTMLSlFormElement;
1646 "sl-format-bytes": HTMLSlFormatBytesElement;
1647 "sl-format-date": HTMLSlFormatDateElement;
1648 "sl-format-number": HTMLSlFormatNumberElement;
1649 "sl-icon": HTMLSlIconElement;
1650 "sl-icon-button": HTMLSlIconButtonElement;
1651 "sl-icon-library": HTMLSlIconLibraryElement;
1652 "sl-image-comparer": HTMLSlImageComparerElement;
1653 "sl-include": HTMLSlIncludeElement;
1654 "sl-input": HTMLSlInputElement;
1655 "sl-menu": HTMLSlMenuElement;
1656 "sl-menu-divider": HTMLSlMenuDividerElement;
1657 "sl-menu-item": HTMLSlMenuItemElement;
1658 "sl-menu-label": HTMLSlMenuLabelElement;
1659 "sl-progress-bar": HTMLSlProgressBarElement;
1660 "sl-progress-ring": HTMLSlProgressRingElement;
1661 "sl-radio": HTMLSlRadioElement;
1662 "sl-range": HTMLSlRangeElement;
1663 "sl-rating": HTMLSlRatingElement;
1664 "sl-relative-time": HTMLSlRelativeTimeElement;
1665 "sl-resize-observer": HTMLSlResizeObserverElement;
1666 "sl-responsive-embed": HTMLSlResponsiveEmbedElement;
1667 "sl-select": HTMLSlSelectElement;
1668 "sl-skeleton": HTMLSlSkeletonElement;
1669 "sl-spinner": HTMLSlSpinnerElement;
1670 "sl-switch": HTMLSlSwitchElement;
1671 "sl-tab": HTMLSlTabElement;
1672 "sl-tab-group": HTMLSlTabGroupElement;
1673 "sl-tab-panel": HTMLSlTabPanelElement;
1674 "sl-tag": HTMLSlTagElement;
1675 "sl-textarea": HTMLSlTextareaElement;
1676 "sl-theme": HTMLSlThemeElement;
1677 "sl-tooltip": HTMLSlTooltipElement;
1678 }
1679}
1680declare namespace LocalJSX {
1681 interface SlAlert {
1682 /**
1683 * Set to true to make the alert closable.
1684 */
1685 "closable"?: boolean;
1686 /**
1687 * The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with the alert before it closes (e.g. moves the mouse over it), the timer will restart.
1688 */
1689 "duration"?: number;
1690 /**
1691 * Emitted after the alert closes and all transitions are complete.
1692 */
1693 "onSl-after-hide"?: (event: CustomEvent<any>) => void;
1694 /**
1695 * Emitted after the alert opens and all transitions are complete.
1696 */
1697 "onSl-after-show"?: (event: CustomEvent<any>) => void;
1698 /**
1699 * Emitted when the alert closes. Calling `event.preventDefault()` will prevent it from being closed.
1700 */
1701 "onSl-hide"?: (event: CustomEvent<any>) => void;
1702 /**
1703 * Emitted when the alert opens. Calling `event.preventDefault()` will prevent it from being opened.
1704 */
1705 "onSl-show"?: (event: CustomEvent<any>) => void;
1706 /**
1707 * Indicates whether or not the alert is open. You can use this in lieu of the show/hide methods.
1708 */
1709 "open"?: boolean;
1710 /**
1711 * The type of alert.
1712 */
1713 "type"?: 'primary' | 'success' | 'info' | 'warning' | 'danger';
1714 }
1715 interface SlAnimation {
1716 /**
1717 * The number of milliseconds to delay the start of the animation.
1718 */
1719 "delay"?: number;
1720 /**
1721 * Determines the direction of playback as well as the behavior when reaching the end of an iteration.
1722 */
1723 "direction"?: PlaybackDirection;
1724 /**
1725 * The number of milliseconds each iteration of the animation takes to complete.
1726 */
1727 "duration"?: number;
1728 /**
1729 * The easing function to use for the animation. This can be a Shoelace easing function or a custom easing function such as `cubic-bezier(0, 1, .76, 1.14)`.
1730 */
1731 "easing"?: string;
1732 /**
1733 * The number of milliseconds to delay after the active period of an animation sequence.
1734 */
1735 "endDelay"?: number;
1736 /**
1737 * Sets how the animation applies styles to its target before and after its execution.
1738 */
1739 "fill"?: FillMode;
1740 /**
1741 * The offset at which to start the animation, usually between 0 (start) and 1 (end).
1742 */
1743 "iterationStart"?: number;
1744 /**
1745 * The number of iterations to run before the animation completes. Defaults to `Infinity`, which loops.
1746 */
1747 "iterations"?: number;
1748 /**
1749 * The keyframes to use for the animation. If this is set, `name` will be ignored.
1750 */
1751 "keyframes"?: Keyframe[];
1752 /**
1753 * The name of the built-in animation to use. For custom animations, use the `keyframes` prop.
1754 */
1755 "name"?: string;
1756 /**
1757 * Emitted when the animation is canceled.
1758 */
1759 "onSl-cancel"?: (event: CustomEvent<any>) => void;
1760 /**
1761 * Emitted when the animation finishes.
1762 */
1763 "onSl-finish"?: (event: CustomEvent<any>) => void;
1764 /**
1765 * Emitted when the animation starts or restarts.
1766 */
1767 "onSl-start"?: (event: CustomEvent<any>) => void;
1768 /**
1769 * Pauses the animation. The animation will resume when this prop is removed.
1770 */
1771 "pause"?: boolean;
1772 /**
1773 * Sets the animation's playback rate. The default is `1`, which plays the animation at a normal speed. Setting this to `2`, for example, will double the animation's speed. A negative value can be used to reverse the animation. This value can be changed without causing the animation to restart.
1774 */
1775 "playbackRate"?: number;
1776 }
1777 interface SlAvatar {
1778 /**
1779 * Alternative text for the image.
1780 */
1781 "alt"?: string;
1782 /**
1783 * The image source to use for the avatar.
1784 */
1785 "image"?: string;
1786 /**
1787 * Initials to use as a fallback when no image is available (1-2 characters max recommended).
1788 */
1789 "initials"?: string;
1790 /**
1791 * The shape of the avatar.
1792 */
1793 "shape"?: 'circle' | 'square' | 'rounded';
1794 }
1795 interface SlBadge {
1796 /**
1797 * Set to true to draw a pill-style badge with rounded edges.
1798 */
1799 "pill"?: boolean;
1800 /**
1801 * Set to true to make the badge pulsate to draw attention.
1802 */
1803 "pulse"?: boolean;
1804 /**
1805 * The badge's type.
1806 */
1807 "type"?: 'primary' | 'success' | 'info' | 'warning' | 'danger';
1808 }
1809 interface SlButton {
1810 /**
1811 * Set to true to draw the button with a caret for use with dropdowns, popovers, etc.
1812 */
1813 "caret"?: boolean;
1814 /**
1815 * Set to true to draw a circle button.
1816 */
1817 "circle"?: boolean;
1818 /**
1819 * Set to true to disable the button.
1820 */
1821 "disabled"?: boolean;
1822 /**
1823 * Tells the browser to download the linked file as this filename. Only used when `href` is set.
1824 */
1825 "download"?: string;
1826 /**
1827 * When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.
1828 */
1829 "href"?: string;
1830 /**
1831 * Set to true to draw the button in a loading state.
1832 */
1833 "loading"?: boolean;
1834 /**
1835 * An optional name for the button. Ignored when `href` is set.
1836 */
1837 "name"?: string;
1838 /**
1839 * Emitted when the button loses focus.
1840 */
1841 "onSl-blur"?: (event: CustomEvent<any>) => void;
1842 /**
1843 * Emitted when the button gains focus.
1844 */
1845 "onSl-focus"?: (event: CustomEvent<any>) => void;
1846 /**
1847 * Set to true to draw a pill-style button with rounded edges.
1848 */
1849 "pill"?: boolean;
1850 /**
1851 * The button's size.
1852 */
1853 "size"?: 'small' | 'medium' | 'large';
1854 /**
1855 * Indicates if activating the button should submit the form. Ignored when `href` is set.
1856 */
1857 "submit"?: boolean;
1858 /**
1859 * Tells the browser where to open the link. Only used when `href` is set.
1860 */
1861 "target"?: '_blank' | '_parent' | '_self' | '_top';
1862 /**
1863 * The button's type.
1864 */
1865 "type"?: 'default' | 'primary' | 'success' | 'info' | 'warning' | 'danger' | 'text';
1866 /**
1867 * An optional value for the button. Ignored when `href` is set.
1868 */
1869 "value"?: string;
1870 }
1871 interface SlButtonGroup {
1872 /**
1873 * A label to use for the button group's `aria-label` attribute.
1874 */
1875 "label"?: string;
1876 }
1877 interface SlCard {
1878 }
1879 interface SlCheckbox {
1880 /**
1881 * Set to true to draw the checkbox in a checked state.
1882 */
1883 "checked"?: boolean;
1884 /**
1885 * Set to true to disable the checkbox.
1886 */
1887 "disabled"?: boolean;
1888 /**
1889 * Set to true to draw the checkbox in an indeterminate state.
1890 */
1891 "indeterminate"?: boolean;
1892 /**
1893 * This will be true when the control is in an invalid state. Validity is determined by the `required` prop.
1894 */
1895 "invalid"?: boolean;
1896 /**
1897 * The checkbox's name attribute.
1898 */
1899 "name"?: string;
1900 /**
1901 * Emitted when the control loses focus.
1902 */
1903 "onSl-blur"?: (event: CustomEvent<any>) => void;
1904 /**
1905 * Emitted when the control's checked state changes.
1906 */
1907 "onSl-change"?: (event: CustomEvent<any>) => void;
1908 /**
1909 * Emitted when the control gains focus.
1910 */
1911 "onSl-focus"?: (event: CustomEvent<any>) => void;
1912 /**
1913 * Set to true to make the checkbox a required field.
1914 */
1915 "required"?: boolean;
1916 /**
1917 * The checkbox's value attribute.
1918 */
1919 "value"?: string;
1920 }
1921 interface SlColorPicker {
1922 /**
1923 * Set to true to disable the color picker.
1924 */
1925 "disabled"?: boolean;
1926 /**
1927 * The format to use for the display value. If opacity is enabled, these will translate to HEXA, RGBA, and HSLA respectively. The color picker will always accept user input in any format (including CSS color names) and convert it to the desired format.
1928 */
1929 "format"?: 'hex' | 'rgb' | 'hsl';
1930 /**
1931 * Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto|scroll`.
1932 */
1933 "hoist"?: boolean;
1934 /**
1935 * Set to true to render the color picker inline rather than inside a dropdown.
1936 */
1937 "inline"?: boolean;
1938 /**
1939 * This will be true when the control is in an invalid state. Validity is determined by the `setCustomValidity()` method using the browser's constraint validation API.
1940 */
1941 "invalid"?: boolean;
1942 /**
1943 * The input's name attribute.
1944 */
1945 "name"?: string;
1946 /**
1947 * Removes the format toggle.
1948 */
1949 "noFormatToggle"?: boolean;
1950 /**
1951 * Emitted after the color picker closes and all transitions are complete.
1952 */
1953 "onSl-after-hide"?: (event: CustomEvent<any>) => void;
1954 /**
1955 * Emitted after the color picker opens and all transitions are complete.
1956 */
1957 "onSl-after-show"?: (event: CustomEvent<any>) => void;
1958 /**
1959 * Emitted when the color picker's value changes.
1960 */
1961 "onSl-change"?: (event: CustomEvent<any>) => void;
1962 /**
1963 * Emitted when the color picker closes. Calling `event.preventDefault()` will prevent it from being closed.
1964 */
1965 "onSl-hide"?: (event: CustomEvent<any>) => void;
1966 /**
1967 * Emitted when the color picker opens. Calling `event.preventDefault()` will prevent it from being opened.
1968 */
1969 "onSl-show"?: (event: CustomEvent<any>) => void;
1970 /**
1971 * Whether to show the opacity slider.
1972 */
1973 "opacity"?: boolean;
1974 /**
1975 * Determines the size of the color picker's trigger. This has no effect on inline color pickers.
1976 */
1977 "size"?: 'small' | 'medium' | 'large';
1978 /**
1979 * An array of predefined color swatches to display. Can include any format the color picker can parse, including HEX(A), RGB(A), HSL(A), and CSS color names.
1980 */
1981 "swatches"?: string[];
1982 /**
1983 * By default, the value will be set in lowercase. Set this to true to set it in uppercase instead.
1984 */
1985 "uppercase"?: boolean;
1986 /**
1987 * The current color.
1988 */
1989 "value"?: string;
1990 }
1991 interface SlDetails {
1992 /**
1993 * Set to true to prevent the user from toggling the details.
1994 */
1995 "disabled"?: boolean;
1996 /**
1997 * Emitted after the details closes and all transitions are complete.
1998 */
1999 "onSl-after-hide"?: (event: CustomEvent<any>) => void;
2000 /**
2001 * Emitted after the details opens and all transitions are complete.
2002 */
2003 "onSl-after-show"?: (event: CustomEvent<any>) => void;
2004 /**
2005 * Emitted when the details closes. Calling `event.preventDefault()` will prevent it from being closed.
2006 */
2007 "onSl-hide"?: (event: CustomEvent<any>) => void;
2008 /**
2009 * Emitted when the details opens. Calling `event.preventDefault()` will prevent it from being opened.
2010 */
2011 "onSl-show"?: (event: CustomEvent<any>) => void;
2012 /**
2013 * Indicates whether or not the details is open. You can use this in lieu of the show/hide methods.
2014 */
2015 "open"?: boolean;
2016 /**
2017 * The summary to show in the details header. If you need to display HTML, use the `summary` slot instead.
2018 */
2019 "summary"?: string;
2020 }
2021 interface SlDialog {
2022 /**
2023 * The dialog's label as displayed in the header. You should always include a relevant label even when using `no-header`, as it is required for proper accessibility.
2024 */
2025 "label"?: string;
2026 /**
2027 * Set to true to disable the header. This will also remove the default close button, so please ensure you provide an easy, accessible way for users to dismiss the dialog.
2028 */
2029 "noHeader"?: boolean;
2030 /**
2031 * Emitted after the dialog closes and all transitions are complete.
2032 */
2033 "onSl-after-hide"?: (event: CustomEvent<any>) => void;
2034 /**
2035 * Emitted after the dialog opens and all transitions are complete.
2036 */
2037 "onSl-after-show"?: (event: CustomEvent<any>) => void;
2038 /**
2039 * Emitted when the dialog closes. Calling `event.preventDefault()` will prevent it from being closed.
2040 */
2041 "onSl-hide"?: (event: CustomEvent<any>) => void;
2042 /**
2043 * Emitted when the dialog opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and allow you to set it on a different element in the dialog, such as an input or button.
2044 */
2045 "onSl-initial-focus"?: (event: CustomEvent<any>) => void;
2046 /**
2047 * Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the dialog from closing.
2048 */
2049 "onSl-overlay-dismiss"?: (event: CustomEvent<any>) => void;
2050 /**
2051 * Emitted when the dialog opens. Calling `event.preventDefault()` will prevent it from being opened.
2052 */
2053 "onSl-show"?: (event: CustomEvent<any>) => void;
2054 /**
2055 * Indicates whether or not the dialog is open. You can use this in lieu of the show/hide methods.
2056 */
2057 "open"?: boolean;
2058 }
2059 interface SlDrawer {
2060 /**
2061 * By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of its parent element, set this prop and add `position: relative` to the parent.
2062 */
2063 "contained"?: boolean;
2064 /**
2065 * The drawer's label as displayed in the header. You should always include a relevant label even when using `no-header`, as it is required for proper accessibility.
2066 */
2067 "label"?: string;
2068 /**
2069 * Removes the header. This will also remove the default close button, so please ensure you provide an easy, accessible way for users to dismiss the drawer.
2070 */
2071 "noHeader"?: boolean;
2072 /**
2073 * Emitted after the drawer closes and all transitions are complete.
2074 */
2075 "onSl-after-hide"?: (event: CustomEvent<any>) => void;
2076 /**
2077 * Emitted after the drawer opens and all transitions are complete.
2078 */
2079 "onSl-after-show"?: (event: CustomEvent<any>) => void;
2080 /**
2081 * Emitted when the drawer closes. Calling `event.preventDefault()` will prevent it from being closed.
2082 */
2083 "onSl-hide"?: (event: CustomEvent<any>) => void;
2084 /**
2085 * Emitted when the drawer opens and the panel gains focus. Calling `event.preventDefault()` will prevent focus and allow you to set it on a different element in the drawer, such as an input or button.
2086 */
2087 "onSl-initial-focus"?: (event: CustomEvent<any>) => void;
2088 /**
2089 * Emitted when the overlay is clicked. Calling `event.preventDefault()` will prevent the drawer from closing.
2090 */
2091 "onSl-overlay-dismiss"?: (event: CustomEvent<any>) => void;
2092 /**
2093 * Emitted when the drawer opens. Calling `event.preventDefault()` will prevent it from being opened.
2094 */
2095 "onSl-show"?: (event: CustomEvent<any>) => void;
2096 /**
2097 * Indicates whether or not the drawer is open. You can use this in lieu of the show/hide methods.
2098 */
2099 "open"?: boolean;
2100 /**
2101 * The direction from which the drawer will open.
2102 */
2103 "placement"?: 'top' | 'right' | 'bottom' | 'left';
2104 }
2105 interface SlDropdown {
2106 /**
2107 * Determines whether the dropdown should hide when a menu item is selected.
2108 */
2109 "closeOnSelect"?: boolean;
2110 /**
2111 * The dropdown will close when the user interacts outside of this element (e.g. clicking).
2112 */
2113 "containingElement"?: HTMLElement;
2114 /**
2115 * The distance in pixels from which to offset the panel away from its trigger.
2116 */
2117 "distance"?: number;
2118 /**
2119 * Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto|scroll`.
2120 */
2121 "hoist"?: boolean;
2122 /**
2123 * Emitted after the dropdown closes and all transitions are complete.
2124 */
2125 "onSl-after-hide"?: (event: CustomEvent<any>) => void;
2126 /**
2127 * Emitted after the dropdown opens and all transitions are complete.
2128 */
2129 "onSl-after-show"?: (event: CustomEvent<any>) => void;
2130 /**
2131 * Emitted when the dropdown closes. Calling `event.preventDefault()` will prevent it from being closed.
2132 */
2133 "onSl-hide"?: (event: CustomEvent<any>) => void;
2134 /**
2135 * Emitted when the dropdown opens. Calling `event.preventDefault()` will prevent it from being opened.
2136 */
2137 "onSl-show"?: (event: CustomEvent<any>) => void;
2138 /**
2139 * Indicates whether or not the dropdown is open. You can use this in lieu of the show/hide methods.
2140 */
2141 "open"?: boolean;
2142 /**
2143 * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel inside of the viewport.
2144 */
2145 "placement"?: | 'top'
2146 | 'top-start'
2147 | 'top-end'
2148 | 'bottom'
2149 | 'bottom-start'
2150 | 'bottom-end'
2151 | 'right'
2152 | 'right-start'
2153 | 'right-end'
2154 | 'left'
2155 | 'left-start'
2156 | 'left-end';
2157 /**
2158 * The distance in pixels from which to offset the panel along its trigger.
2159 */
2160 "skidding"?: number;
2161 }
2162 interface SlForm {
2163 /**
2164 * Prevent the form from validating inputs before submitting.
2165 */
2166 "novalidate"?: boolean;
2167 /**
2168 * Emitted when the form is submitted. This event will not be emitted if any form control inside of it is in an invalid state, unless the form has the `novalidate` attribute. Note that there is never a need to prevent this event, since it doen't send a GET or POST request like native forms. To "prevent" submission, use a conditional around the XHR request you use to submit the form's data with.
2169 */
2170 "onSl-submit"?: (event: CustomEvent<{ formData: FormData; formControls: HTMLElement[] }>) => void;
2171 }
2172 interface SlFormatBytes {
2173 /**
2174 * The locale to use when formatting the number.
2175 */
2176 "locale"?: string;
2177 /**
2178 * The unit to display.
2179 */
2180 "unit"?: 'bytes' | 'bits';
2181 /**
2182 * The number to format in bytes.
2183 */
2184 "value"?: number;
2185 }
2186 interface SlFormatDate {
2187 /**
2188 * The date/time to format. If not set, the current date and time will be used.
2189 */
2190 "date"?: Date | string;
2191 /**
2192 * The format for displaying the day.
2193 */
2194 "day"?: 'numeric' | '2-digit';
2195 /**
2196 * The format for displaying the era.
2197 */
2198 "era"?: 'narrow' | 'short' | 'long';
2199 /**
2200 * The format for displaying the hour.
2201 */
2202 "hour"?: 'numeric' | '2-digit';
2203 /**
2204 * When set, 24 hour time will always be used.
2205 */
2206 "hourFormat"?: 'auto' | '12' | '24';
2207 /**
2208 * The locale to use when formatting the date/time.
2209 */
2210 "locale"?: string;
2211 /**
2212 * The format for displaying the minute.
2213 */
2214 "minute"?: 'numeric' | '2-digit';
2215 /**
2216 * The format for displaying the month.
2217 */
2218 "month"?: 'numeric' | '2-digit' | 'narrow' | 'short' | 'long';
2219 /**
2220 * The format for displaying the second.
2221 */
2222 "second"?: 'numeric' | '2-digit';
2223 /**
2224 * The time zone to express the time in.
2225 */
2226 "timeZone"?: string;
2227 /**
2228 * The format for displaying the time.
2229 */
2230 "timeZoneName"?: 'short' | 'long';
2231 /**
2232 * The format for displaying the weekday.
2233 */
2234 "weekday"?: 'narrow' | 'short' | 'long';
2235 /**
2236 * The format for displaying the year.
2237 */
2238 "year"?: 'numeric' | '2-digit';
2239 }
2240 interface SlFormatNumber {
2241 /**
2242 * The currency to use when formatting. Must be an ISO 4217 currency code such as `USD` or `EUR`.
2243 */
2244 "currency"?: string;
2245 /**
2246 * How to display the currency.
2247 */
2248 "currencyDisplay"?: 'symbol' | 'narrowSymbol' | 'code' | 'name';
2249 /**
2250 * The locale to use when formatting the number.
2251 */
2252 "locale"?: string;
2253 /**
2254 * The maximum number of fraction digits to use. Possible values are 0 - 20.
2255 */
2256 "maximumFractionDigits"?: number;
2257 /**
2258 * The maximum number of significant digits to use,. Possible values are 1 - 21.
2259 */
2260 "maximumSignificantDigits"?: number;
2261 /**
2262 * The minimum number of fraction digits to use. Possible values are 0 - 20.
2263 */
2264 "minimumFractionDigits"?: number;
2265 /**
2266 * The minimum number of integer digits to use. Possible values are 1 - 21.
2267 */
2268 "minimumIntegerDigits"?: number;
2269 /**
2270 * The minimum number of significant digits to use. Possible values are 1 - 21.
2271 */
2272 "minimumSignificantDigits"?: number;
2273 /**
2274 * Turns off grouping separators.
2275 */
2276 "noGrouping"?: boolean;
2277 /**
2278 * The formatting style to use.
2279 */
2280 "type"?: 'currency' | 'decimal' | 'percent';
2281 /**
2282 * The number to format.
2283 */
2284 "value"?: number;
2285 }
2286 interface SlIcon {
2287 /**
2288 * An alternative description to use for accessibility. If omitted, the name or src will be used to generate it.
2289 */
2290 "label"?: string;
2291 /**
2292 * The name of a registered custom icon library.
2293 */
2294 "library"?: string;
2295 /**
2296 * The name of the icon to draw.
2297 */
2298 "name"?: string;
2299 /**
2300 * Emitted when the icon failed to load.
2301 */
2302 "onSl-error"?: (event: CustomEvent<{ status?: number }>) => void;
2303 /**
2304 * Emitted when the icon has loaded.
2305 */
2306 "onSl-load"?: (event: CustomEvent<any>) => void;
2307 /**
2308 * An external URL of an SVG file.
2309 */
2310 "src"?: string;
2311 }
2312 interface SlIconButton {
2313 /**
2314 * Set to true to disable the button.
2315 */
2316 "disabled"?: boolean;
2317 /**
2318 * A description that gets read by screen readers and other assistive devices. For optimal accessibility, you should always include a label that describes what the icon button does.
2319 */
2320 "label"?: string;
2321 /**
2322 * The name of a registered custom icon library.
2323 */
2324 "library"?: string;
2325 /**
2326 * The name of the icon to draw.
2327 */
2328 "name"?: string;
2329 /**
2330 * An external URL of an SVG file.
2331 */
2332 "src"?: string;
2333 }
2334 interface SlIconLibrary {
2335 /**
2336 * A function that mutates the SVG element before it renders.
2337 */
2338 "mutator"?: IconLibraryMutator;
2339 /**
2340 * The name of the icon library.
2341 */
2342 "name"?: string;
2343 /**
2344 * A function that translates an icon name to a URL where the corresponding SVG file exists The URL can be local or a CORS-enabled endpoint.
2345 */
2346 "resolver"?: IconLibraryResolver;
2347 }
2348 interface SlImageComparer {
2349 /**
2350 * Emitted when the slider position changes.
2351 */
2352 "onSl-change"?: (event: CustomEvent<any>) => void;
2353 /**
2354 * The position of the divider as a percentage.
2355 */
2356 "position"?: number;
2357 }
2358 interface SlInclude {
2359 /**
2360 * Allows included scripts to be executed. You must ensure the content you're including is trusted, otherwise this option can lead to XSS vulnerabilities in your app!
2361 */
2362 "allowScripts"?: boolean;
2363 /**
2364 * The fetch mode to use.
2365 */
2366 "mode"?: 'cors' | 'no-cors' | 'same-origin';
2367 /**
2368 * Emitted when the included file fails to load due to an error.
2369 */
2370 "onSl-error"?: (event: CustomEvent<{ status?: number }>) => void;
2371 /**
2372 * Emitted when the included file is loaded.
2373 */
2374 "onSl-load"?: (event: CustomEvent<any>) => void;
2375 /**
2376 * The location of the HTML file to include.
2377 */
2378 "src"?: string;
2379 }
2380 interface SlInput {
2381 /**
2382 * The input's autocaptialize attribute.
2383 */
2384 "autocapitalize"?: string;
2385 /**
2386 * The input's autocomplete attribute.
2387 */
2388 "autocomplete"?: string;
2389 /**
2390 * The input's autocorrect attribute.
2391 */
2392 "autocorrect"?: string;
2393 /**
2394 * The input's autofocus attribute.
2395 */
2396 "autofocus"?: boolean;
2397 /**
2398 * Set to true to add a clear button when the input is populated.
2399 */
2400 "clearable"?: boolean;
2401 /**
2402 * Set to true to disable the input.
2403 */
2404 "disabled"?: boolean;
2405 /**
2406 * The input's help text. Alternatively, you can use the help-text slot.
2407 */
2408 "helpText"?: string;
2409 /**
2410 * The input's inputmode attribute.
2411 */
2412 "inputmode"?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
2413 /**
2414 * This will be true when the control is in an invalid state. Validity is determined by props such as `type`, `required`, `minlength`, `maxlength`, and `pattern` using the browser's constraint validation API.
2415 */
2416 "invalid"?: boolean;
2417 /**
2418 * The input's label. Alternatively, you can use the label slot.
2419 */
2420 "label"?: string;
2421 /**
2422 * The input's maximum value.
2423 */
2424 "max"?: number;
2425 /**
2426 * The maximum length of input that will be considered valid.
2427 */
2428 "maxlength"?: number;
2429 /**
2430 * The input's minimum value.
2431 */
2432 "min"?: number;
2433 /**
2434 * The minimum length of input that will be considered valid.
2435 */
2436 "minlength"?: number;
2437 /**
2438 * The input's name attribute.
2439 */
2440 "name"?: string;
2441 /**
2442 * Emitted when the control loses focus.
2443 */
2444 "onSl-blur"?: (event: CustomEvent<any>) => void;
2445 /**
2446 * Emitted when the control's value changes.
2447 */
2448 "onSl-change"?: (event: CustomEvent<any>) => void;
2449 /**
2450 * Emitted when the clear button is activated.
2451 */
2452 "onSl-clear"?: (event: CustomEvent<any>) => void;
2453 /**
2454 * Emitted when the control gains focus.
2455 */
2456 "onSl-focus"?: (event: CustomEvent<any>) => void;
2457 /**
2458 * Emitted when the control receives input.
2459 */
2460 "onSl-input"?: (event: CustomEvent<any>) => void;
2461 /**
2462 * A pattern to validate input against.
2463 */
2464 "pattern"?: string;
2465 /**
2466 * Set to true to draw a pill-style input with rounded edges.
2467 */
2468 "pill"?: boolean;
2469 /**
2470 * The input's placeholder text.
2471 */
2472 "placeholder"?: string;
2473 /**
2474 * Set to true to make the input readonly.
2475 */
2476 "readonly"?: boolean;
2477 /**
2478 * Set to true to make the input a required field.
2479 */
2480 "required"?: boolean;
2481 /**
2482 * The input's size.
2483 */
2484 "size"?: 'small' | 'medium' | 'large';
2485 /**
2486 * Enables spell checking on the input.
2487 */
2488 "spellcheck"?: boolean;
2489 /**
2490 * The input's step attribute.
2491 */
2492 "step"?: number;
2493 /**
2494 * Set to true to add a password toggle button for password inputs.
2495 */
2496 "togglePassword"?: boolean;
2497 /**
2498 * The input's type.
2499 */
2500 "type"?: 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url';
2501 /**
2502 * The input's value attribute.
2503 */
2504 "value"?: string;
2505 }
2506 interface SlMenu {
2507 /**
2508 * Emitted when a menu item is selected.
2509 */
2510 "onSl-select"?: (event: CustomEvent<{ item: HTMLSlMenuItemElement }>) => void;
2511 }
2512 interface SlMenuDivider {
2513 }
2514 interface SlMenuItem {
2515 /**
2516 * Set to true to draw the item in a checked state.
2517 */
2518 "checked"?: boolean;
2519 /**
2520 * Set to true to draw the menu item in a disabled state.
2521 */
2522 "disabled"?: boolean;
2523 /**
2524 * A unique value to store in the menu item. This can be used as a way to identify menu items when selected.
2525 */
2526 "value"?: string;
2527 }
2528 interface SlMenuLabel {
2529 }
2530 interface SlProgressBar {
2531 /**
2532 * When true, percentage is ignored, the label is hidden, and the progress bar is drawn in an indeterminate state.
2533 */
2534 "indeterminate"?: boolean;
2535 /**
2536 * The progress bar's percentage, 0 to 100.
2537 */
2538 "percentage"?: number;
2539 }
2540 interface SlProgressRing {
2541 /**
2542 * The current progress percentage, 0 - 100.
2543 */
2544 "percentage"?: number;
2545 /**
2546 * The size of the progress ring in pixels.
2547 */
2548 "size"?: number;
2549 /**
2550 * The stroke width of the progress ring in pixels.
2551 */
2552 "strokeWidth"?: number;
2553 }
2554 interface SlRadio {
2555 /**
2556 * Set to true to draw the radio in a checked state.
2557 */
2558 "checked"?: boolean;
2559 /**
2560 * Set to true to disable the radio.
2561 */
2562 "disabled"?: boolean;
2563 /**
2564 * This will be true when the control is in an invalid state. Validity in range inputs is determined by the message provided by the `setCustomValidity` method.
2565 */
2566 "invalid"?: boolean;
2567 /**
2568 * The radio's name attribute.
2569 */
2570 "name"?: string;
2571 /**
2572 * Emitted when the control loses focus.
2573 */
2574 "onSl-blur"?: (event: CustomEvent<any>) => void;
2575 /**
2576 * Emitted when the control's checked state changes.
2577 */
2578 "onSl-change"?: (event: CustomEvent<any>) => void;
2579 /**
2580 * Emitted when the control gains focus.
2581 */
2582 "onSl-focus"?: (event: CustomEvent<any>) => void;
2583 /**
2584 * The radio's value attribute.
2585 */
2586 "value"?: string;
2587 }
2588 interface SlRange {
2589 /**
2590 * Set to true to disable the input.
2591 */
2592 "disabled"?: boolean;
2593 /**
2594 * The range's help text. Alternatively, you can use the help-text slot.
2595 */
2596 "helpText"?: string;
2597 /**
2598 * This will be true when the control is in an invalid state. Validity in range inputs is determined by the message provided by the `setCustomValidity` method.
2599 */
2600 "invalid"?: boolean;
2601 /**
2602 * The range's label. Alternatively, you can use the label slot.
2603 */
2604 "label"?: string;
2605 /**
2606 * The input's max attribute.
2607 */
2608 "max"?: number;
2609 /**
2610 * The input's min attribute.
2611 */
2612 "min"?: number;
2613 /**
2614 * The input's name attribute.
2615 */
2616 "name"?: string;
2617 /**
2618 * Emitted when the control loses focus.
2619 */
2620 "onSl-blur"?: (event: CustomEvent<any>) => void;
2621 /**
2622 * Emitted when the control's value changes.
2623 */
2624 "onSl-change"?: (event: CustomEvent<any>) => void;
2625 /**
2626 * Emitted when the control gains focus.
2627 */
2628 "onSl-focus"?: (event: CustomEvent<any>) => void;
2629 /**
2630 * The input's step attribute.
2631 */
2632 "step"?: number;
2633 /**
2634 * The preferred placedment of the tooltip.
2635 */
2636 "tooltip"?: 'top' | 'bottom' | 'none';
2637 /**
2638 * A function used to format the tooltip's value.
2639 */
2640 "tooltipFormatter"?: (value: number) => string;
2641 /**
2642 * The input's value attribute.
2643 */
2644 "value"?: number;
2645 }
2646 interface SlRating {
2647 /**
2648 * Disables the rating.
2649 */
2650 "disabled"?: boolean;
2651 /**
2652 * A function that returns the symbols to display. Accepts an option `value` parameter you can use to map a specific symbol to a value.
2653 */
2654 "getSymbol"?: (value?: number) => string;
2655 /**
2656 * The highest rating to show.
2657 */
2658 "max"?: number;
2659 /**
2660 * Emitted when the rating's value changes.
2661 */
2662 "onSl-change"?: (event: CustomEvent<any>) => void;
2663 /**
2664 * The minimum increment value allowed by the control.
2665 */
2666 "precision"?: number;
2667 /**
2668 * Makes the rating readonly.
2669 */
2670 "readonly"?: boolean;
2671 /**
2672 * The current rating.
2673 */
2674 "value"?: number;
2675 }
2676 interface SlRelativeTime {
2677 /**
2678 * The date from which to calculate time from.
2679 */
2680 "date"?: Date | string;
2681 /**
2682 * The formatting style to use.
2683 */
2684 "format"?: 'long' | 'short' | 'narrow';
2685 /**
2686 * The locale to use when formatting the number.
2687 */
2688 "locale"?: string;
2689 /**
2690 * When `auto`, values such as "yesterday" and "tomorrow" will be shown when possible. When `always`, values such as "1 day ago" and "in 1 day" will be shown.
2691 */
2692 "numeric"?: 'always' | 'auto';
2693 /**
2694 * Keep the displayed value up to date as time passes.
2695 */
2696 "sync"?: boolean;
2697 }
2698 interface SlResizeObserver {
2699 /**
2700 * Emitted when the element is resized.
2701 */
2702 "onSl-resize"?: (event: CustomEvent<readonly ResizeObserverEntry[]>) => void;
2703 }
2704 interface SlResponsiveEmbed {
2705 /**
2706 * The aspect ratio of the embedded media in the format of `width:height`, e.g. `16:9`, `4:3`, or `1:1`. Ratios not in this format will be ignored.
2707 */
2708 "aspectRatio"?: string;
2709 }
2710 interface SlSelect {
2711 /**
2712 * Set to true to add a clear button when the select is populated.
2713 */
2714 "clearable"?: boolean;
2715 /**
2716 * Set to true to disable the select control.
2717 */
2718 "disabled"?: boolean;
2719 /**
2720 * The select's help text. Alternatively, you can use the help-text slot.
2721 */
2722 "helpText"?: string;
2723 /**
2724 * Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto|scroll`.
2725 */
2726 "hoist"?: boolean;
2727 /**
2728 * This will be true when the control is in an invalid state. Validity is determined by the `required` prop.
2729 */
2730 "invalid"?: boolean;
2731 /**
2732 * The select's label. Alternatively, you can use the label slot.
2733 */
2734 "label"?: string;
2735 /**
2736 * The maximum number of tags to show when `multiple` is true. After the maximum, "+n" will be shown to indicate the number of additional items that are selected. Set to -1 to remove the limit.
2737 */
2738 "maxTagsVisible"?: number;
2739 /**
2740 * Set to true to enable multiselect.
2741 */
2742 "multiple"?: boolean;
2743 /**
2744 * The select's name.
2745 */
2746 "name"?: string;
2747 /**
2748 * Emitted when the control loses focus.
2749 */
2750 "onSl-blur"?: (event: CustomEvent<any>) => void;
2751 /**
2752 * Emitted when the control's value changes.
2753 */
2754 "onSl-change"?: (event: CustomEvent<any>) => void;
2755 /**
2756 * Emitted when the control gains focus.
2757 */
2758 "onSl-focus"?: (event: CustomEvent<any>) => void;
2759 /**
2760 * Set to true to draw a pill-style select with rounded edges.
2761 */
2762 "pill"?: boolean;
2763 /**
2764 * The select's placeholder text.
2765 */
2766 "placeholder"?: string;
2767 /**
2768 * The select's required attribute.
2769 */
2770 "required"?: boolean;
2771 /**
2772 * The select's size.
2773 */
2774 "size"?: 'small' | 'medium' | 'large';
2775 /**
2776 * The value of the control. This will be a string or an array depending on `multiple`.
2777 */
2778 "value"?: string | Array<string>;
2779 }
2780 interface SlSkeleton {
2781 /**
2782 * Determines which effect the skeleton will use.
2783 */
2784 "effect"?: 'pulse' | 'sheen' | 'none';
2785 }
2786 interface SlSpinner {
2787 }
2788 interface SlSwitch {
2789 /**
2790 * Set to true to draw the switch in a checked state.
2791 */
2792 "checked"?: boolean;
2793 /**
2794 * Set to true to disable the switch.
2795 */
2796 "disabled"?: boolean;
2797 /**
2798 * This will be true when the control is in an invalid state. Validity is determined by the `required` prop.
2799 */
2800 "invalid"?: boolean;
2801 /**
2802 * The switch's name attribute.
2803 */
2804 "name"?: string;
2805 /**
2806 * Emitted when the control loses focus.
2807 */
2808 "onSl-blur"?: (event: CustomEvent<any>) => void;
2809 /**
2810 * Emitted when the control's checked state changes.
2811 */
2812 "onSl-change"?: (event: CustomEvent<any>) => void;
2813 /**
2814 * Emitted when the control gains focus.
2815 */
2816 "onSl-focus"?: (event: CustomEvent<any>) => void;
2817 /**
2818 * Set to true to make the switch a required field.
2819 */
2820 "required"?: boolean;
2821 /**
2822 * The switch's value attribute.
2823 */
2824 "value"?: string;
2825 }
2826 interface SlTab {
2827 /**
2828 * Set to true to draw the tab in an active state.
2829 */
2830 "active"?: boolean;
2831 /**
2832 * When true, the tab will be rendered with a close icon.
2833 */
2834 "closable"?: boolean;
2835 /**
2836 * Set to true to draw the tab in a disabled state.
2837 */
2838 "disabled"?: boolean;
2839 /**
2840 * Emitted when the tab is closable and the close button is activated.
2841 */
2842 "onSl-close"?: (event: CustomEvent<any>) => void;
2843 /**
2844 * The name of the tab panel the tab will control. The panel must be located in the same tab group.
2845 */
2846 "panel"?: string;
2847 }
2848 interface SlTabGroup {
2849 /**
2850 * Disables the scroll arrows that appear when tabs overflow.
2851 */
2852 "noScrollControls"?: boolean;
2853 /**
2854 * Emitted when a tab is hidden.
2855 */
2856 "onSl-tab-hide"?: (event: CustomEvent<{ name: string }>) => void;
2857 /**
2858 * Emitted when a tab is shown.
2859 */
2860 "onSl-tab-show"?: (event: CustomEvent<{ name: string }>) => void;
2861 /**
2862 * The placement of the tabs.
2863 */
2864 "placement"?: 'top' | 'bottom' | 'left' | 'right';
2865 }
2866 interface SlTabPanel {
2867 /**
2868 * When true, the tab panel will be shown.
2869 */
2870 "active"?: boolean;
2871 /**
2872 * The tab panel's name.
2873 */
2874 "name"?: string;
2875 }
2876 interface SlTag {
2877 /**
2878 * Set to true to make the tag clearable.
2879 */
2880 "clearable"?: boolean;
2881 /**
2882 * Emitted when the clear button is activated.
2883 */
2884 "onSl-clear"?: (event: CustomEvent<any>) => void;
2885 /**
2886 * Set to true to draw a pill-style tag with rounded edges.
2887 */
2888 "pill"?: boolean;
2889 /**
2890 * The tag's size.
2891 */
2892 "size"?: 'small' | 'medium' | 'large';
2893 /**
2894 * The tag's type.
2895 */
2896 "type"?: 'primary' | 'success' | 'info' | 'warning' | 'danger' | 'text';
2897 }
2898 interface SlTextarea {
2899 /**
2900 * The textarea's autocaptialize attribute.
2901 */
2902 "autocapitalize"?: string;
2903 /**
2904 * The textarea's autocomplete attribute.
2905 */
2906 "autocomplete"?: string;
2907 /**
2908 * The textarea's autocorrect attribute.
2909 */
2910 "autocorrect"?: string;
2911 /**
2912 * The textarea's autofocus attribute.
2913 */
2914 "autofocus"?: boolean;
2915 /**
2916 * Set to true to disable the textarea.
2917 */
2918 "disabled"?: boolean;
2919 /**
2920 * The textarea's help text. Alternatively, you can use the help-text slot.
2921 */
2922 "helpText"?: string;
2923 /**
2924 * The textarea's inputmode attribute.
2925 */
2926 "inputmode"?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
2927 /**
2928 * This will be true when the control is in an invalid state. Validity is determined by props such as `required`, `minlength`, and `maxlength` using the browser's constraint validation API.
2929 */
2930 "invalid"?: boolean;
2931 /**
2932 * The textarea's label. Alternatively, you can use the label slot.
2933 */
2934 "label"?: string;
2935 /**
2936 * The maximum length of input that will be considered valid.
2937 */
2938 "maxlength"?: number;
2939 /**
2940 * The minimum length of input that will be considered valid.
2941 */
2942 "minlength"?: number;
2943 /**
2944 * The textarea's name attribute.
2945 */
2946 "name"?: string;
2947 /**
2948 * Emitted when the control loses focus.
2949 */
2950 "onSl-blur"?: (event: CustomEvent<any>) => void;
2951 /**
2952 * Emitted when the control's value changes.
2953 */
2954 "onSl-change"?: (event: CustomEvent<any>) => void;
2955 /**
2956 * Emitted when the control gains focus.
2957 */
2958 "onSl-focus"?: (event: CustomEvent<any>) => void;
2959 /**
2960 * Emitted when the control receives input.
2961 */
2962 "onSl-input"?: (event: CustomEvent<any>) => void;
2963 /**
2964 * The textarea's placeholder text.
2965 */
2966 "placeholder"?: string;
2967 /**
2968 * Set to true for a readonly textarea.
2969 */
2970 "readonly"?: boolean;
2971 /**
2972 * The textarea's required attribute.
2973 */
2974 "required"?: boolean;
2975 /**
2976 * Controls how the textarea can be resized.
2977 */
2978 "resize"?: 'none' | 'vertical' | 'auto';
2979 /**
2980 * The number of rows to display by default.
2981 */
2982 "rows"?: number;
2983 /**
2984 * The textarea's size.
2985 */
2986 "size"?: 'small' | 'medium' | 'large';
2987 /**
2988 * The textarea's spellcheck attribute.
2989 */
2990 "spellcheck"?: boolean;
2991 /**
2992 * The textarea's value attribute.
2993 */
2994 "value"?: string;
2995 }
2996 interface SlTheme {
2997 /**
2998 * The name of the theme to use. The user is responsible for including the associated stylesheet(s). Supportive themes must adhere to theme guidelines by exposing a class that follows the `sl-theme-{name}` convention.
2999 */
3000 "name"?: string;
3001 }
3002 interface SlTooltip {
3003 /**
3004 * The tooltip's content. Alternatively, you can use the content slot.
3005 */
3006 "content"?: string;
3007 /**
3008 * Set to true to disable the tooltip so it won't show when triggered.
3009 */
3010 "disabled"?: boolean;
3011 /**
3012 * The distance in pixels from which to offset the tooltip away from its target.
3013 */
3014 "distance"?: number;
3015 /**
3016 * Emitted after the tooltip has hidden and all transitions are complete.
3017 */
3018 "onSl-after-hide"?: (event: CustomEvent<any>) => void;
3019 /**
3020 * Emitted after the tooltip has shown and all transitions are complete.
3021 */
3022 "onSl-aftershow"?: (event: CustomEvent<any>) => void;
3023 /**
3024 * Emitted when the tooltip begins to hide. Calling `event.preventDefault()` will prevent it from being hidden.
3025 */
3026 "onSl-hide"?: (event: CustomEvent<any>) => void;
3027 /**
3028 * Emitted when the tooltip begins to show. Calling `event.preventDefault()` will prevent it from being shown.
3029 */
3030 "onSl-show"?: (event: CustomEvent<any>) => void;
3031 /**
3032 * Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods.
3033 */
3034 "open"?: boolean;
3035 /**
3036 * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip inside of the viewport.
3037 */
3038 "placement"?: | 'top'
3039 | 'top-start'
3040 | 'top-end'
3041 | 'right'
3042 | 'right-start'
3043 | 'right-end'
3044 | 'bottom'
3045 | 'bottom-start'
3046 | 'bottom-end'
3047 | 'left'
3048 | 'left-start'
3049 | 'left-end';
3050 /**
3051 * The distance in pixels from which to offset the tooltip along its target.
3052 */
3053 "skidding"?: number;
3054 /**
3055 * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple options can be passed by separating them with a space. When manual is used, the tooltip must be activated programmatically.
3056 */
3057 "trigger"?: string;
3058 }
3059 interface IntrinsicElements {
3060 "sl-alert": SlAlert;
3061 "sl-animation": SlAnimation;
3062 "sl-avatar": SlAvatar;
3063 "sl-badge": SlBadge;
3064 "sl-button": SlButton;
3065 "sl-button-group": SlButtonGroup;
3066 "sl-card": SlCard;
3067 "sl-checkbox": SlCheckbox;
3068 "sl-color-picker": SlColorPicker;
3069 "sl-details": SlDetails;
3070 "sl-dialog": SlDialog;
3071 "sl-drawer": SlDrawer;
3072 "sl-dropdown": SlDropdown;
3073 "sl-form": SlForm;
3074 "sl-format-bytes": SlFormatBytes;
3075 "sl-format-date": SlFormatDate;
3076 "sl-format-number": SlFormatNumber;
3077 "sl-icon": SlIcon;
3078 "sl-icon-button": SlIconButton;
3079 "sl-icon-library": SlIconLibrary;
3080 "sl-image-comparer": SlImageComparer;
3081 "sl-include": SlInclude;
3082 "sl-input": SlInput;
3083 "sl-menu": SlMenu;
3084 "sl-menu-divider": SlMenuDivider;
3085 "sl-menu-item": SlMenuItem;
3086 "sl-menu-label": SlMenuLabel;
3087 "sl-progress-bar": SlProgressBar;
3088 "sl-progress-ring": SlProgressRing;
3089 "sl-radio": SlRadio;
3090 "sl-range": SlRange;
3091 "sl-rating": SlRating;
3092 "sl-relative-time": SlRelativeTime;
3093 "sl-resize-observer": SlResizeObserver;
3094 "sl-responsive-embed": SlResponsiveEmbed;
3095 "sl-select": SlSelect;
3096 "sl-skeleton": SlSkeleton;
3097 "sl-spinner": SlSpinner;
3098 "sl-switch": SlSwitch;
3099 "sl-tab": SlTab;
3100 "sl-tab-group": SlTabGroup;
3101 "sl-tab-panel": SlTabPanel;
3102 "sl-tag": SlTag;
3103 "sl-textarea": SlTextarea;
3104 "sl-theme": SlTheme;
3105 "sl-tooltip": SlTooltip;
3106 }
3107}
3108export { LocalJSX as JSX };
3109declare module "@stencil/core" {
3110 export namespace JSX {
3111 interface IntrinsicElements {
3112 "sl-alert": LocalJSX.SlAlert & JSXBase.HTMLAttributes<HTMLSlAlertElement>;
3113 "sl-animation": LocalJSX.SlAnimation & JSXBase.HTMLAttributes<HTMLSlAnimationElement>;
3114 "sl-avatar": LocalJSX.SlAvatar & JSXBase.HTMLAttributes<HTMLSlAvatarElement>;
3115 "sl-badge": LocalJSX.SlBadge & JSXBase.HTMLAttributes<HTMLSlBadgeElement>;
3116 "sl-button": LocalJSX.SlButton & JSXBase.HTMLAttributes<HTMLSlButtonElement>;
3117 "sl-button-group": LocalJSX.SlButtonGroup & JSXBase.HTMLAttributes<HTMLSlButtonGroupElement>;
3118 "sl-card": LocalJSX.SlCard & JSXBase.HTMLAttributes<HTMLSlCardElement>;
3119 "sl-checkbox": LocalJSX.SlCheckbox & JSXBase.HTMLAttributes<HTMLSlCheckboxElement>;
3120 "sl-color-picker": LocalJSX.SlColorPicker & JSXBase.HTMLAttributes<HTMLSlColorPickerElement>;
3121 "sl-details": LocalJSX.SlDetails & JSXBase.HTMLAttributes<HTMLSlDetailsElement>;
3122 "sl-dialog": LocalJSX.SlDialog & JSXBase.HTMLAttributes<HTMLSlDialogElement>;
3123 "sl-drawer": LocalJSX.SlDrawer & JSXBase.HTMLAttributes<HTMLSlDrawerElement>;
3124 "sl-dropdown": LocalJSX.SlDropdown & JSXBase.HTMLAttributes<HTMLSlDropdownElement>;
3125 "sl-form": LocalJSX.SlForm & JSXBase.HTMLAttributes<HTMLSlFormElement>;
3126 "sl-format-bytes": LocalJSX.SlFormatBytes & JSXBase.HTMLAttributes<HTMLSlFormatBytesElement>;
3127 "sl-format-date": LocalJSX.SlFormatDate & JSXBase.HTMLAttributes<HTMLSlFormatDateElement>;
3128 "sl-format-number": LocalJSX.SlFormatNumber & JSXBase.HTMLAttributes<HTMLSlFormatNumberElement>;
3129 "sl-icon": LocalJSX.SlIcon & JSXBase.HTMLAttributes<HTMLSlIconElement>;
3130 "sl-icon-button": LocalJSX.SlIconButton & JSXBase.HTMLAttributes<HTMLSlIconButtonElement>;
3131 "sl-icon-library": LocalJSX.SlIconLibrary & JSXBase.HTMLAttributes<HTMLSlIconLibraryElement>;
3132 "sl-image-comparer": LocalJSX.SlImageComparer & JSXBase.HTMLAttributes<HTMLSlImageComparerElement>;
3133 "sl-include": LocalJSX.SlInclude & JSXBase.HTMLAttributes<HTMLSlIncludeElement>;
3134 "sl-input": LocalJSX.SlInput & JSXBase.HTMLAttributes<HTMLSlInputElement>;
3135 "sl-menu": LocalJSX.SlMenu & JSXBase.HTMLAttributes<HTMLSlMenuElement>;
3136 "sl-menu-divider": LocalJSX.SlMenuDivider & JSXBase.HTMLAttributes<HTMLSlMenuDividerElement>;
3137 "sl-menu-item": LocalJSX.SlMenuItem & JSXBase.HTMLAttributes<HTMLSlMenuItemElement>;
3138 "sl-menu-label": LocalJSX.SlMenuLabel & JSXBase.HTMLAttributes<HTMLSlMenuLabelElement>;
3139 "sl-progress-bar": LocalJSX.SlProgressBar & JSXBase.HTMLAttributes<HTMLSlProgressBarElement>;
3140 "sl-progress-ring": LocalJSX.SlProgressRing & JSXBase.HTMLAttributes<HTMLSlProgressRingElement>;
3141 "sl-radio": LocalJSX.SlRadio & JSXBase.HTMLAttributes<HTMLSlRadioElement>;
3142 "sl-range": LocalJSX.SlRange & JSXBase.HTMLAttributes<HTMLSlRangeElement>;
3143 "sl-rating": LocalJSX.SlRating & JSXBase.HTMLAttributes<HTMLSlRatingElement>;
3144 "sl-relative-time": LocalJSX.SlRelativeTime & JSXBase.HTMLAttributes<HTMLSlRelativeTimeElement>;
3145 "sl-resize-observer": LocalJSX.SlResizeObserver & JSXBase.HTMLAttributes<HTMLSlResizeObserverElement>;
3146 "sl-responsive-embed": LocalJSX.SlResponsiveEmbed & JSXBase.HTMLAttributes<HTMLSlResponsiveEmbedElement>;
3147 "sl-select": LocalJSX.SlSelect & JSXBase.HTMLAttributes<HTMLSlSelectElement>;
3148 "sl-skeleton": LocalJSX.SlSkeleton & JSXBase.HTMLAttributes<HTMLSlSkeletonElement>;
3149 "sl-spinner": LocalJSX.SlSpinner & JSXBase.HTMLAttributes<HTMLSlSpinnerElement>;
3150 "sl-switch": LocalJSX.SlSwitch & JSXBase.HTMLAttributes<HTMLSlSwitchElement>;
3151 "sl-tab": LocalJSX.SlTab & JSXBase.HTMLAttributes<HTMLSlTabElement>;
3152 "sl-tab-group": LocalJSX.SlTabGroup & JSXBase.HTMLAttributes<HTMLSlTabGroupElement>;
3153 "sl-tab-panel": LocalJSX.SlTabPanel & JSXBase.HTMLAttributes<HTMLSlTabPanelElement>;
3154 "sl-tag": LocalJSX.SlTag & JSXBase.HTMLAttributes<HTMLSlTagElement>;
3155 "sl-textarea": LocalJSX.SlTextarea & JSXBase.HTMLAttributes<HTMLSlTextareaElement>;
3156 "sl-theme": LocalJSX.SlTheme & JSXBase.HTMLAttributes<HTMLSlThemeElement>;
3157 "sl-tooltip": LocalJSX.SlTooltip & JSXBase.HTMLAttributes<HTMLSlTooltipElement>;
3158 }
3159 }
3160}