/* * Copyright (C) 2024 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 { ResourceStr } from 'GlobalResource'; import { ChipSize } from '@ohos.arkui.advanced.Chip'; /** * Defines icon options. * * @interface IconOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ export interface IconOptions { /** * Image resource. * * @type { ResourceStr } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ src: ResourceStr; /** * Image size option. * * @type { ?SizeOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ size?: SizeOptions; } /** * Defines label options. * * @interface LabelOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ export interface LabelOptions { /** * Text content. * * @type { string } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ text: string; } /** * Defines chipItem options. * * @interface ChipGroupItemOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ export interface ChipGroupItemOptions { /** * Prefix icon. * * @type { ?IconOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ prefixIcon?: IconOptions; /** * Chip label. * * @type { LabelOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ label: LabelOptions; /** * Suffix icon. * * @type { ?IconOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ suffixIcon?: IconOptions; /** * Allow close. * * @type { ?boolean } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ allowClose?: boolean; } /** * Defines ChipItemStyle. * * @interface ChipItemStyle * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ export interface ChipItemStyle { /** * Chip size. * * @type { ?(ChipSize | SizeOptions) } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ size?: ChipSize | SizeOptions; /** * ChipItem background color. * * @type { ?ResourceColor } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ backgroundColor?: ResourceColor; /** * Text font color. * * @type { ?ResourceColor } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ fontColor?: ResourceColor; /** * Selected Text font color. * * @type { ?ResourceColor } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ selectedFontColor?: ResourceColor; /** * Selected chip item background color. * * @type { ?ResourceColor } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ selectedBackgroundColor?: ResourceColor; } /** * Defines chip group space. * * @interface ChipGroupSpaceOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ export interface ChipGroupSpaceOptions { /** * Space between items. * * @type { ?(string | number) } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ itemSpace?: string | number; /** * Start space. * * @type { ?Length } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ startSpace?: Length; /** * End space. * * @type { ?Length } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ endSpace?: Length; } /** * Defines IconItemOptions. * * @interface IconItemOptions * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ export interface IconItemOptions { /** * IconItemOptions. * * @type { IconOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ icon: IconOptions; /** * Icon Action. * * @type { Callback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ action: Callback; } /** * Defines IconGroupSuffix. * * @interface IconGroupSuffix * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ @Component export declare struct IconGroupSuffix { /** * Suffix item. * * @type { Array } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ @Prop items: Array; } /** * Defines chipGroup. * * @struct ChipGroup * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ @Component export declare struct ChipGroup { /** * Chip item. * * @type { ChipGroupItemOptions[] } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ @Prop items: ChipGroupItemOptions[]; /** * Chip item style. * * @type { ?ChipItemStyle } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ @Prop itemStyle?: ChipItemStyle; /** * Default selected chip item indexes. * * @type { ?Array } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ @Prop selectedIndexes?: Array; /** * Support multiple chip item selection. * * @type { ?boolean } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ @Prop multiple?: boolean; /** * Chip group space. * * @type { ?ChipGroupSpaceOptions } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ @Prop chipGroupSpace?: ChipGroupSpaceOptions; /** * Chip group callback. * * @type { ?Callback> } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ onChange?: Callback>; /** * The builder function which will be rendered in the suffix of ChipGroup. * * @type { ?Callback } * @syscap SystemCapability.ArkUI.ArkUI.Full * @crossplatform * @since 12 */ @BuilderParam suffix?: Callback; }