UNPKG

@hashicorp/design-system-components

Version:
83 lines (82 loc) 2.52 kB
import Component from '@glimmer/component'; import type Owner from '@ember/owner'; import type { ModifierLike } from '@glint/template'; import type { HdsCompositeOrientations } from './types.ts'; interface HdsCompositeCompositeModifierSignature { Element: HTMLElement; } interface HdsCompositeItemModifierSignature { Element: HTMLElement; Args: { Named: { disabled?: boolean; }; }; } interface HdsCompositeGroupModifierSignature { Element: HTMLElement; } export interface HdsCompositeSignature { Args: { orientation?: HdsCompositeOrientations; loop?: boolean | HdsCompositeOrientations; wrap?: boolean | HdsCompositeOrientations; defaultCurrentId?: string | null; }; Blocks: { default: [ { composite: ModifierLike<HdsCompositeCompositeModifierSignature>; item: ModifierLike<HdsCompositeItemModifierSignature>; group: ModifierLike<HdsCompositeGroupModifierSignature>; } ]; }; } export default class Composite extends Component<HdsCompositeSignature> { private _items; private _groups; private _currentId; private _compositeElement; private _preserveTabIndex; constructor(owner: Owner, args: HdsCompositeSignature['Args']); private get _resolvedCurrentId(); private get _currentItem(); private get _firstEnabledItem(); private get _currentIndex(); private get _config(); private get _navigationSnapshot(); private _registerItem; private _unregisterItem; private _registerGroup; private _unregisterGroup; private _reassociateGroups; private _moveTo; private _syncAllElements; private _syncItemElement; private _syncCompositeElement; compositeModifier: import("ember-modifier").FunctionBasedModifier<{ Element: HTMLElement; Args: { Named: import("ember-modifier/-private/signature").EmptyObject; Positional: []; }; }>; itemModifier: import("ember-modifier").FunctionBasedModifier<{ Element: HTMLElement; Args: { Named: { disabled?: boolean; }; Positional: []; }; }>; groupModifier: import("ember-modifier").FunctionBasedModifier<{ Element: HTMLElement; Args: { Named: import("ember-modifier/-private/signature").EmptyObject; Positional: []; }; }>; } export {};