@ckeditor/ckeditor5-ui
Version:
The UI framework and standard UI library of CKEditor 5.
68 lines (67 loc) • 2.27 kB
TypeScript
/**
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
*/
import { View } from '../view.js';
import { ButtonView } from '../button/buttonview.js';
import { type ViewCollection } from '../viewcollection.js';
import type { FocusableView } from '../focuscycler.js';
import type { Locale } from '@ckeditor/ckeditor5-utils';
import '../../theme/components/collapsible/collapsible.css';
/**
* A collapsible UI component. Consists of a labeled button and a container which can be collapsed
* by clicking the button. The collapsible container can be a host to other UI views.
*
* @internal
*/
export declare class CollapsibleView extends View {
/**
* `true` when the container with {@link #children} is collapsed. `false` otherwise.
*
* @observable
*/
isCollapsed: boolean;
/**
* The text label of the {@link #buttonView}.
*
* @observable
* @default 'Show more'
*/
label: string;
/**
* The ID of the label inside the {@link #buttonView} that describes the collapsible
* container for assistive technologies. Set after the button was {@link #render rendered}.
*
* @internal
* @readonly
* @observable
*/
_collapsibleAriaLabelUid: string | undefined;
/**
* The main button that, when clicked, collapses or expands the container with {@link #children}.
*/
readonly buttonView: ButtonView;
/**
* A collection of the child views that can be collapsed by clicking the {@link #buttonView}.
*/
readonly children: ViewCollection<FocusableView>;
/**
* Creates an instance of the collapsible view.
*
* @param locale The {@link module:core/editor/editor~Editor#locale} instance.
* @param childViews An optional array of initial child views to be inserted into the collapsible.
*/
constructor(locale: Locale, childViews?: Array<FocusableView>);
/**
* @inheritDoc
*/
render(): void;
/**
* Focuses the first focusable.
*/
focus(): void;
/**
* Creates the main {@link #buttonView} of the collapsible.
*/
private _createButtonView;
}