'use static'
/*
* Copyright (C) 2025 Huawei Device Co., Ltd.
* 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.
*/
/**
* @file
* @kit ArkUI
*/
import {
Builder,
ResourceStr,
SizeOptions,
ResourceColor,
VoidCallback,
Dimension,
LengthMetrics,
Direction,
Component,
Resource,
LocalizedPadding,
} from './@ohos.arkui.component';
import { SymbolGlyphModifier } from './@ohos.arkui.modifier';
import uiMaterial from './@ohos.arkui.uiMaterial';
/**
* Enum for ChipSize
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export declare enum ChipSize {
/**
* Normal type.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
NORMAL = 'NORMAL',
/**
* Small type.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
SMALL = 'SMALL'
}
/**
* Enum for AccessibilitySelectedType
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export declare enum AccessibilitySelectedType {
/**
* Default type.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
CLICKED = 0,
/**
* Checked type.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
CHECKED = 1,
/**
* Selected type.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
SELECTED = 2
}
/**
* Defines the icon common option.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface IconCommonOptions {
/**
* Image resource.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
src: ResourceStr;
/**
* Image size option.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
size?: SizeOptions;
/**
* Image filled color.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
fillColor?: ResourceColor;
/**
* Image filled color when chip is activated.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
activatedFillColor?: ResourceColor;
}
/**
* Defines the suffix icon option.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface SuffixIconOptions extends IconCommonOptions {
/**
* Called when the suffix icon is clicked.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
action?: VoidCallback;
/**
* Set accessibility text for icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
accessibilityText?: ResourceStr;
/**
* Set accessibility description for icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
accessibilityDescription?: ResourceStr;
/**
* Set accessibility level for icon.
*
* @default auto
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
accessibilityLevel?: string;
}
/**
* Defines the prefix icon option.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface PrefixIconOptions extends IconCommonOptions {}
/**
* Defines accessibility icon options.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface AccessibilityOptions {
/**
* Set accessibility level for accessibility icon.
*
* @default auto
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
accessibilityLevel?: string;
/**
* Set accessibility text for accessibility icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
accessibilityText?: ResourceStr;
/**
* Set accessibility description for accessibility icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
accessibilityDescription?: ResourceStr;
}
/**
* Defines accessibility options of default close icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface CloseOptions extends AccessibilityOptions {
/**
* Set font size for the close icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
*/
fontSize?: Dimension;
}
/**
* Defines chip symbolglyph options.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface ChipSymbolGlyphOptions {
/**
* Symbol normal.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
normal?: SymbolGlyphModifier;
/**
* Symbol activated.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
activated?: SymbolGlyphModifier;
}
/**
* Defines accessibility options of suffix symbol.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface ChipSuffixSymbolGlyphOptions {
/**
* Set normal accessibility options for suffix symbol.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
normalAccessibility?: AccessibilityOptions;
/**
* Set activated accessibility options for suffix symbol.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
activatedAccessibility?: AccessibilityOptions;
/**
* Called when the suffix symbol is clicked.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
action?: VoidCallback;
}
/**
* Defines label margin.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface LabelMarginOptions {
/**
* Left label margin length.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
left?: Dimension;
/**
* Right label margin length.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
right?: Dimension;
}
/**
* Defines localized label margin.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface LocalizedLabelMarginOptions {
/**
* Start localized label margin length.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
start?: LengthMetrics;
/**
* End localized label margin length.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
end?: LengthMetrics;
}
/**
* Defines label option.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface LabelOptions {
/**
* Text content.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
text: string;
/**
* Text font size.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
fontSize?: Dimension;
/**
* Text font color.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
fontColor?: ResourceColor;
/**
* Text font color when chip is activated.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
activatedFontColor?: ResourceColor;
/**
* Text font family.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
fontFamily?: string;
/**
* Label margin.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
labelMargin?: LabelMarginOptions;
/**
* Localized label margin.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
localizedLabelMargin?: LocalizedLabelMarginOptions;
}
/**
* Defines chip options.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
export interface ChipOptions {
/**
* Chip prefix icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
prefixIcon?: PrefixIconOptions;
/**
* Chip prefix symbol.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
prefixSymbol?: ChipSymbolGlyphOptions;
/**
* Chip label.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
label: LabelOptions;
/**
* Chip suffix icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
suffixIcon?: SuffixIconOptions;
/**
* Chip suffix symbol.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
suffixSymbol?: ChipSymbolGlyphOptions;
/**
* Set options for suffix symbol.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
suffixSymbolOptions?: ChipSuffixSymbolGlyphOptions;
/**
* Show close icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
allowClose?: boolean;
/**
* Set options for default close icon when 'allowaClose' is true.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
closeOptions?: CloseOptions;
/**
* Enable chip.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
enabled?: boolean;
/**
* Set whether chip is active or not.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
activated?: boolean;
/**
* Chip background color.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
backgroundColor?: ResourceColor;
/**
* Set system-styled materials for the component. Different materials have different effects, which can influence
* the backgroundColor, border, shadow, and other visual attributes of the component.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 26.0.0 static
* @noninterop
*/
backgroundSystemMaterial?: uiMaterial.Material;
/**
* Chip background color when chip is activated.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
activatedBackgroundColor?: ResourceColor;
/**
* Set system-styled materials for the component which is activated. Different materials have different effects,
* which can influence
* the backgroundColor, border, shadow, and other visual attributes of the component.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 26.0.0 static
* @noninterop
*/
activatedBackgroundSystemMaterial?: uiMaterial.Material;
/**
* Chip radius.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
borderRadius?: Dimension;
/**
* Chip size.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
size?: ChipSize | SizeOptions;
/**
* On close action.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
onClose?: VoidCallback;
/**
* On clicked action.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
onClicked?: VoidCallback;
/**
* Indicates the attribute of the current chip direction.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
direction?: Direction;
/**
* Set accessibility description for Chip.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
accessibilityDescription?: ResourceStr;
/**
* Set accessibility level for Chip.
*
* @default auto
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
accessibilityLevel?: string;
/**
* Set accessibility selected type for Chip.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
accessibilitySelectedType?: AccessibilitySelectedType;
/**
* Maximum font scale for Chip.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
*/
maxFontScale?: double | Resource;
/**
* Minimum font scale for Chip.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
*/
minFontScale?: double | Resource;
/**
* Chip padding.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
*/
padding?: LocalizedPadding;
/**
* Set font size for the label text and the close icon.
*
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
*/
fontSize?: Dimension;
}
/**
* Build function of Chip.
*
* @param { ChipOptions } options - chip option.
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @stagemodelonly
* @since 23 static
* @noninterop
*/
@Builder
export declare function Chip(options: ChipOptions): void;