import '../icon/icon'; import '../loading-spinner/loading-spinner'; import { Cre8FormElement } from '../cre8-form-element'; /** * The size and state of buttons on the screen serve as visual cues for the user * about what they can do and what they should do next. * They indicate the availability and priority of the action on the page. * * - Buttons are a single call-to-action where a single click performs that action * - Use Danger Buttons when you are performing an action that is potentially dangerous, * such as permanently deleting information * - Use a link instead of a button when you're navigating to another place * * ## How to Use * * Danger Buttons are distinguished by three key properties: * * - **Visual Priority**: Style and size: Primary, Secondary, or Tertiary styles; * each with large and small variations * - **State**: Interaction state: hover/click (press), focus, disabled, * and submitting/loading (only for large buttons) * - **Brand**: Styles determined by the site or component theme * * ### Usage Guidelines * * Primary, Secondary and Tertiary styles emphasize or de-emphasize an action. They also define * background, font style, and border colors. Large and small sizing assists with visual priority by defining button * heights, left and right internal padding, and font-size. * * #### System Feedback * Each button has a default and hover/click (press) state that give the user feedback * that they have successfully interacted with a button. * Button presses should always be combined with other types of timely system feedback. * Examples of system feedback may be a page refresh, exposing additional controls or content, * dialogs, alerts and notifications. * If there is perceived a delay in system response, generally due to technical constraints, * provide a progress or loading indicator. * * #### Button Text * * - Button text should be as short and simple as possible, ideally a maximum of 3 words. * - Use Title Case for readability. * - They should not include punctuation (exception: "Loading..."). * - They should not be used as an indicator of what happens on the next page, or as a substitute * for a progress meter. * * #### Button Styling * * - DO use only the styles of the brand you are working on. * - DO NOT combine styles, even if the page is co-branded. * * #### Button Sizes * - DO always pair like sizes together and maintain the hierarchy of Primary and Secondary/Tertiary. * - DO NOT mix sizes of buttons when they are used together as a group. * * #### Input Pairing * * Primary and Secondary buttons may be paired with input fields. * Only one Primary button may appear on each screen. * Use the Secondary button when there are multiple in-context buttons * and/or when there is an emphasized page level button. * When used in a form context, the button's `type` needs to be `submit` to pass along form data. * * - DO use only large buttons with input fields. * - DO NOT use small buttons with input fields. * */ export declare class Cre8DangerButton extends Cre8FormElement { static styles: import("lit").CSSResult[]; /** * * The button text. Should be as short and simple as possible, ideally a maximum of 3 words. * - Use Title Case for readability. * - Should not include punctuation (exception: "Loading..."). * - Should not be used as an indicator of what happens on the next page, or as a substitute for a progress meter. */ text?: string; /** * Style variant * - **primary** renders the button used for primary actions. Presents highest visual priority. * When grouped with other buttons, only one primary is allowed * - **secondary** renders a secondary button. Presents a lower visual priority * - **tertiary** renders a tertiary button. Presents the lowest visual priority. * Should be used in limited amounts - consider if a link (``) would be more appropriate */ variant?: 'primary' | 'secondary' | 'tertiary'; /** * Disabled attribute * @attr {boolean} * * **NOTE**: Disabled states are used to indicate that an action is temporarily unavailable. * In general, using disabled states is NOT advised. It should be clear to the user what actions they must * take to activate the button. Real-time, field-level validation can help provide clarity. */ disabled?: boolean; /** * * Provide this property if you intend to use button styles for an anchor tag (``). * This changes the component markup from `