carbon-components-svelte/types/Notification/InlineNotification.svelte.d.ts
Eric Liu 7fdc2ef7f0
fix(types): allow data-* attributes for props forwarded to HTML elements (#1741)
* chore(deps-dev): upgrade `sveld` to v0.18.1

* Run "yarn build:docs"

* test: assert that `data-*` attributes are valid
2023-07-08 16:41:44 -07:00

79 lines
1.6 KiB
TypeScript

/// <reference types="svelte" />
import type { SvelteComponentTyped } from "svelte";
export interface InlineNotificationProps
extends svelte.JSX.HTMLAttributes<HTMLElementTagNameMap["div"]> {
/**
* Specify the kind of notification
* @default "error"
*/
kind?:
| "error"
| "info"
| "info-square"
| "success"
| "warning"
| "warning-alt";
/**
* Set to `true` to use the low contrast variant
* @default false
*/
lowContrast?: boolean;
/**
* Set the timeout duration (ms) to hide the notification after opening it
* @default 0
*/
timeout?: number;
/**
* Set the `role` attribute
* @default "alert"
*/
role?: string;
/**
* Specify the title text
* @default ""
*/
title?: string;
/**
* Specify the subtitle text
* @default ""
*/
subtitle?: string;
/**
* Set to `true` to hide the close button
* @default false
*/
hideCloseButton?: boolean;
/**
* Specify the ARIA label for the status icon
* @default kind + " icon"
*/
statusIconDescription?: string;
/**
* Specify the ARIA label for the close button
* @default "Close notification"
*/
closeButtonDescription?: string;
[key: `data-${string}`]: any;
}
export default class InlineNotification extends SvelteComponentTyped<
InlineNotificationProps,
{
close: CustomEvent<{ timeout: boolean }>;
click: WindowEventMap["click"];
mouseover: WindowEventMap["mouseover"];
mouseenter: WindowEventMap["mouseenter"];
mouseleave: WindowEventMap["mouseleave"];
},
{ default: {}; actions: {}; subtitle: {}; title: {} }
> {}