carbon-components-angular
Version:
Next generation components
93 lines (89 loc) • 2.55 kB
TypeScript
/**
*
* carbon-angular v0.0.0 | alert-modal.interface.d.ts
*
* Copyright 2014, 2024 IBM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export declare enum AlertModalType {
default = "default",
danger = "danger"
}
export interface AlertModalData {
/**
* type of the modal
*/
type?: AlertModalType;
/**
* Additional label shown over the modal
*/
label?: string;
/**
* Primary title for the modal
*/
title?: string;
/**
* Content for the modal body, could include HTML tags
*/
content?: string;
/**
* Size of the modal to display.
*/
size?: "xs" | "sm" | "md" | "lg";
/**
* Array of `ModalButton`s
*/
buttons?: Array<ModalButton>;
/**
* Specify whether the modal contains scrolling content. This property overrides the automatic detection
* of the existence of scrolling content. Set this property to `true` to force overflow indicator to
* show up or to `false` to force overflow indicator to disappear.
* It is set to `null` by default which indicates not to override automatic detection.
*/
hasScrollingContent?: boolean;
/**
* Callback for non-specific close events. `return false;` to prevent the modal from closing
* Property trigger has a value of `overlay` or `close`
*/
close?: (trigger?: "overlay" | "close") => boolean;
/**
* Set to `false` to hide the header's close button.
*/
showCloseButton?: boolean;
}
export declare enum ModalButtonType {
primary = "primary",
secondary = "secondary",
tertiary = "tertiary",
ghost = "ghost",
danger = "danger",
danger_primary = "danger--primary"
}
export interface ModalButton {
/**
* Display value of the button
*/
text: string;
/**
* Optional unique ID for the button
*/
id?: string;
/**
* Button type
*/
type?: ModalButtonType;
/**
* Callback for the button `click` event
*/
click?: Function;
}