import React from 'react'; import { StyleProp, ViewStyle, TextStyle } from 'react-native'; export type Ux4gChoiceChipSize = 's' | 'm'; export interface Ux4gChoiceChipProps { /** * The text label displayed inside the chip. */ text: string; /** * Whether the choice chip is currently selected (`true`) or unselected (`false`). */ selected: boolean; /** * Callback triggered when the choice chip is clicked (`onClick` matching Flutter exact name). */ onClick: () => void; /** * Callback triggered when the choice chip is pressed (React Native standard alias for `onClick`). */ onPress?: () => void; /** * Whether the choice chip is interactive (`true`) or disabled (`false`). * @default true */ enabled?: boolean; /** * Optional leading widget/icon displayed before the text label. */ leadingContent?: React.ReactNode; /** * Optional trailing widget/icon displayed after the text label. */ trailingContent?: React.ReactNode; /** * Size of the choice chip (`s` with 12px horizontal padding, `m` with 16px horizontal padding). * @default 'm' */ size?: Ux4gChoiceChipSize; /** * Custom border radius override. */ borderRadius?: number; /** * Custom container styles. */ containerStyle?: StyleProp; /** * Custom text styles. */ textStyle?: StyleProp; /** * Optional testID for automated testing. */ testID?: string; } /** * **Ux4gChoiceChip** (`ChoiceChip`) * * Direct React Native port of Flutter `chips.dart` (`Ux4gChoiceChip`). * Allows single selection from a set of options. Supports sizes (`s` & `m`), custom border radii, leading/trailing elements, and stateful styling. */ export declare const Ux4gChoiceChip: React.FC; export type Ux4gFilterChipSize = 's' | 'm'; export interface Ux4gFilterChipProps { /** * The text label displayed inside the filter chip. */ text: string; /** * Whether the filter chip is currently active/selected. */ selected: boolean; /** * Callback triggered when the filter chip is clicked (`onClick` matching Flutter exact name). */ onClick: () => void; /** * Callback triggered when the filter chip is pressed (React Native standard alias for `onClick`). */ onPress?: () => void; /** * Whether the filter chip is interactive (`true`) or disabled (`false`). * @default true */ enabled?: boolean; /** * Optional leading widget/icon displayed before the text label. */ leadingContent?: React.ReactNode; /** * Optional trailing widget/icon displayed after the text label. */ trailingContent?: React.ReactNode; /** * Size of the filter chip (`s` 28px height, `m` 32px height). * @default 'm' */ size?: Ux4gFilterChipSize; /** * Custom container styles. */ containerStyle?: StyleProp; /** * Custom text styles. */ textStyle?: StyleProp; /** * Optional testID for automated testing. */ testID?: string; } /** * **Ux4gFilterChip** (`FilterChip`) * * Direct React Native port of Flutter `chips.dart` (`Ux4gFilterChip`). * Used to filter content by attributes. Highlights with primary color `0.08` opacity background and `1.0` border when selected. */ export declare const Ux4gFilterChip: React.FC; export type Ux4gInputChipSize = 'xs' | 's' | 'm'; export interface Ux4gInputChipProps { /** * The text label displayed inside the input chip. */ text: string; /** * Callback triggered when the user taps the trailing close/dismiss icon (`✕`). */ onDismiss?: () => void; /** * Whether the input chip is interactive (`true`) or disabled (`false`). * @default true */ enabled?: boolean; /** * Optional leading widget/icon displayed before the text label. */ leadingContent?: React.ReactNode; /** * Size of the input chip (`xs` 20px, `s` 28px, `m` 32px height). * @default 'm' */ size?: Ux4gInputChipSize; /** * Custom container styles. */ containerStyle?: StyleProp; /** * Custom text styles. */ textStyle?: StyleProp; /** * Optional testID for automated testing. */ testID?: string; } /** * **Ux4gInputChip** (`InputChip`) * * Direct React Native port of Flutter `chips.dart` (`Ux4gInputChip`). * Compact tags representing user input with trailing close/dismiss (`✕`) action. Supports sizes (`xs`, `s`, `m`). */ export declare const Ux4gInputChip: React.FC; export type Ux4gChipGroupArrangement = 'horizontal' | 'wrap'; export interface Ux4gChipGroupProps { /** * Array of chip elements to lay out in group. */ chips?: React.ReactNode[]; /** * Children chip elements (alternative syntax to `chips` array prop). */ children?: React.ReactNode; /** * Layout arrangement (`horizontal` inside horizontal `ScrollView`, or `wrap` grid). * @default 'wrap' */ arrangement?: Ux4gChipGroupArrangement; /** * Horizontal gap spacing between chips. * @default 8 */ spacing?: number; /** * Vertical gap spacing between rows when `arrangement = 'wrap'`. * @default 8 */ runSpacing?: number; /** * Custom container styles. */ containerStyle?: StyleProp; /** * Optional testID for automated testing. */ testID?: string; } /** * **Ux4gChipGroup** (`ChipGroup`) * * Direct React Native port of Flutter `chips.dart` (`Ux4gChipGroup`). * Arranges a collection of chips inside either a horizontal `ScrollView` or a multi-line wrapping grid. */ export declare const Ux4gChipGroup: React.FC; export interface Ux4gInputChipFieldProps { /** * Current text string inside the input box (when `isDropdown = false`). */ value: string; /** * Callback triggered when text inside the input box changes. */ onValueChange: (value: string) => void; /** * Callback triggered when a new tag is added (`onAddChip`). */ onAddChip: (chipText: string) => void; /** * Array of chip elements (`Ux4gInputChip`) to render directly below or inside the field container. */ chips: React.ReactNode[]; /** * Arrangement of the attached chips below (`horizontal` or `wrap`). * @default 'wrap' */ arrangement?: Ux4gChipGroupArrangement; /** * Whether this input field behaves as a selection dropdown (`isDropdown = true`) or a free-text input field (`false`). * @default false */ isDropdown?: boolean; /** * List of available option strings when `isDropdown = true`. */ dropdownOptions?: string[]; /** * Placeholder text inside the input field. * @default "Add chip..." */ placeholder?: string; /** * Whether the input field is enabled (`true`) or disabled (`false`). * @default true */ enabled?: boolean; /** * Custom container styles. */ containerStyle?: StyleProp; /** * Optional testID for automated testing. */ testID?: string; } /** * **Ux4gInputChipField** (`InputChipField`) * * Direct React Native port of Flutter `chips.dart` (`Ux4gInputChipField`). * Combines an input entry box (either free text with trailing `+` action or popover dropdown selection menu) * with an attached `Ux4gChipGroup` rendering all active input chips directly below. */ export declare const Ux4gInputChipField: React.FC; //# sourceMappingURL=Chips.d.ts.map