import * as i0 from '@angular/core'; import { EventEmitter, ChangeDetectorRef, ElementRef, OnInit } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { ThemeColor } from '@kirbydesign/core'; import * as i2 from '@angular/router'; import { Params } from '@angular/router'; import * as i24 from '@kirbydesign/designsystem/modal'; import { ModalNavigationService, ModalController } from '@kirbydesign/designsystem/modal'; export * from '@kirbydesign/designsystem/modal'; import * as i21 from '@kirbydesign/designsystem/accordion'; export * from '@kirbydesign/designsystem/accordion'; import * as i40 from '@kirbydesign/designsystem/avatar'; export * from '@kirbydesign/designsystem/avatar'; import * as i42 from '@kirbydesign/designsystem/button'; export * from '@kirbydesign/designsystem/button'; import * as i41 from '@kirbydesign/designsystem/calendar'; export * from '@kirbydesign/designsystem/calendar'; import * as i15 from '@kirbydesign/designsystem/card'; export * from '@kirbydesign/designsystem/card'; import * as i38 from '@kirbydesign/designsystem/checkbox'; export * from '@kirbydesign/designsystem/checkbox'; import { KirbyConfig } from '@kirbydesign/designsystem/config'; export * from '@kirbydesign/designsystem/config'; import * as i45 from '@kirbydesign/designsystem/data-table'; export * from '@kirbydesign/designsystem/data-table'; import * as i25 from '@kirbydesign/designsystem/divider'; export * from '@kirbydesign/designsystem/divider'; import * as i18 from '@kirbydesign/designsystem/dropdown'; export * from '@kirbydesign/designsystem/dropdown'; import * as i17 from '@kirbydesign/designsystem/empty-state'; export * from '@kirbydesign/designsystem/empty-state'; import * as i35 from '@kirbydesign/designsystem/fab-sheet'; export * from '@kirbydesign/designsystem/fab-sheet'; import * as i43 from '@kirbydesign/designsystem/flag'; export * from '@kirbydesign/designsystem/flag'; import * as i19 from '@kirbydesign/designsystem/form-field'; export * from '@kirbydesign/designsystem/form-field'; export * from '@kirbydesign/designsystem/helpers'; export * from '@kirbydesign/designsystem/helpers/scss'; import * as i9 from '@kirbydesign/designsystem/icon'; export * from '@kirbydesign/designsystem/icon'; import * as i10 from '@kirbydesign/designsystem/item'; export * from '@kirbydesign/designsystem/item'; import * as i23 from '@kirbydesign/designsystem/item-group'; export * from '@kirbydesign/designsystem/item-group'; import * as i32 from '@kirbydesign/designsystem/item-sliding'; export * from '@kirbydesign/designsystem/item-sliding'; import * as i3 from '@kirbydesign/designsystem/kirby-app'; export * from '@kirbydesign/designsystem/kirby-app'; import * as i12 from '@kirbydesign/designsystem/list'; export * from '@kirbydesign/designsystem/list'; import * as i34 from '@kirbydesign/designsystem/loading-overlay'; export * from '@kirbydesign/designsystem/loading-overlay'; import * as i5 from '@kirbydesign/designsystem/page'; export * from '@kirbydesign/designsystem/page'; import * as i28 from '@kirbydesign/designsystem/popover'; export * from '@kirbydesign/designsystem/popover'; import * as i29 from '@kirbydesign/designsystem/progress-circle'; export * from '@kirbydesign/designsystem/progress-circle'; import * as i16 from '@kirbydesign/designsystem/radio'; export * from '@kirbydesign/designsystem/radio'; import * as i31 from '@kirbydesign/designsystem/range'; export * from '@kirbydesign/designsystem/range'; import * as i33 from '@kirbydesign/designsystem/reorder-list'; export * from '@kirbydesign/designsystem/reorder-list'; import * as i4 from '@kirbydesign/designsystem/router-outlet'; export * from '@kirbydesign/designsystem/router-outlet'; import * as i30 from '@kirbydesign/designsystem/section-header'; export * from '@kirbydesign/designsystem/section-header'; import * as i26 from '@kirbydesign/designsystem/shared'; export * from '@kirbydesign/designsystem/shared'; import * as i20 from '@kirbydesign/designsystem/slide'; export * from '@kirbydesign/designsystem/slide'; import * as i37 from '@kirbydesign/designsystem/slide-button'; export * from '@kirbydesign/designsystem/slide-button'; import * as i14 from '@kirbydesign/designsystem/spinner'; export * from '@kirbydesign/designsystem/spinner'; import * as i8 from '@kirbydesign/designsystem/tabs'; export * from '@kirbydesign/designsystem/tabs'; import * as i7 from '@kirbydesign/designsystem/tab-navigation'; export * from '@kirbydesign/designsystem/tab-navigation'; export * from '@kirbydesign/designsystem/toast'; import * as i36 from '@kirbydesign/designsystem/toggle'; export * from '@kirbydesign/designsystem/toggle'; import * as i11 from '@kirbydesign/designsystem/toggle-button'; export * from '@kirbydesign/designsystem/toggle-button'; export * from '@kirbydesign/designsystem/types'; import * as i13 from '@kirbydesign/designsystem/chart'; export * from '@kirbydesign/designsystem/chart'; import * as i22 from '@kirbydesign/designsystem/action-group'; export * from '@kirbydesign/designsystem/action-group'; import * as i6 from '@kirbydesign/designsystem/header'; export * from '@kirbydesign/designsystem/header'; import * as i1 from '@angular/common'; import * as i39 from '@kirbydesign/designsystem/menu'; import * as i44 from '@kirbydesign/designsystem/badge'; type SegmentItemBadge = { content?: string; icon?: string; description?: string; themeColor: ThemeColor; }; interface SegmentItem { id: string; text: string; ariaLabel?: string; badge?: SegmentItemBadge; } declare enum SegmentedControlMode { chip = "chip", compactChip = "compactChip", default = "default" } declare class SegmentedControlComponent implements ControlValueAccessor { private cdr; private ionSegmentElement; /** * Ensure that the click actually did originate from within the segment-button. * We do not want to react to clicks on e.g. segment-btn-wrapper or badge. */ preventOutsideClick(event: TouchEvent): void; mode: SegmentedControlMode | `${SegmentedControlMode}`; get _modeCssClass(): string; private _items; get items(): TItem[]; set items(value: TItem[]); protected isDisabled: boolean; /** * After upgrading to Ionic standalone components (Ionic v.7.6.6) * there is a lifecycle bug between Angular/Ionic/Stencil that prevents * the value of the segment component to be reflected in the checked state * of it's slotted segment buttons. * This has been patched here: https://github.com/ionic-team/ionic-framework/pull/28837 * However the patch doesn't fix the problem if `items` are updated after first initialization * and the ion-segment-button(s) are re-rerendered. */ private ensureIonSegmentSelected; private _selectedIndex; get selectedIndex(): number; set selectedIndex(index: number); selectedIndexChange: EventEmitter; private _value; get value(): NoInfer; set value(value: NoInfer); isSmallSize: boolean; set size(size: 'sm' | 'md'); private _disableChangeOnSwipe; get disableChangeOnSwipe(): boolean; set disableChangeOnSwipe(value: boolean); segmentSelect: EventEmitter; onSegmentSelect(selectedId: string): void; focusNativeButton(event: UIEvent): void; private _segmentElementHasFocus; getTabIndex(item: TItem, index: number): number; constructor(cdr: ChangeDetectorRef); _onFocusInOut(): void; private onChange; private onTouched; /** * Sets the segmented control's value. Part of the ControlValueAccessor interface * required to integrate with Angular's core forms API. * * @param value New value to be written to the model. */ writeValue(value: NoInfer): void; /** * Saves a callback function to be invoked when the segmented control's value * changes from user input. Part of the ControlValueAccessor interface * required to integrate with Angular's core forms API. * * @param fn Callback to be triggered when the value changes. */ registerOnChange(fn: (value: NoInfer) => void): void; /** * Saves a callback function to be invoked when the segmented control is blurred * by the user. Part of the ControlValueAccessor interface required * to integrate with Angular's core forms API. * * @param fn Callback to be triggered when the component has been touched. */ registerOnTouched(fn: () => void): void; /** * Disables the segmented control. Part of the ControlValueAccessor interface required * to integrate with Angular's core forms API. * * @param isDisabled Sets whether the component is disabled. */ setDisabledState(isDisabled: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "kirby-segmented-control", never, { "mode": { "alias": "mode"; "required": false; }; "items": { "alias": "items"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disableChangeOnSwipe": { "alias": "disableChangeOnSwipe"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "segmentSelect": "segmentSelect"; }, never, never, true, never>; } declare class KeyHandlerDirective { private element; constructor(element: ElementRef); keyEvent(event: KeyboardEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class ModalRouterLinkDirective implements OnInit { private modalNavigationService; private elementRef; constructor(modalNavigationService: ModalNavigationService, elementRef: ElementRef); ngOnInit(): void; path: string | string[]; queryParams?: Params; onClick(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class KirbyModule { constructor(modalController: ModalController, config?: KirbyConfig); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { KeyHandlerDirective, KirbyModule, ModalRouterLinkDirective, SegmentedControlComponent, SegmentedControlMode }; export type { SegmentItem }; //# sourceMappingURL=index.d.ts.map