/**
* DO NOT EDIT
*
* This file was automatically generated by
* https://github.com/Polymer/tools/tree/master/packages/gen-typescript-declarations
*
* To modify these typings, edit the source file(s):
* iron-dropdown.js
*/
import {IronA11yKeysBehavior} from '../iron-a11y-keys-behavior/iron-a11y-keys-behavior.js';
import {IronControlState} from '../iron-behaviors/iron-control-state.js';
import {IronOverlayBehavior, IronOverlayBehaviorImpl} from '../iron-overlay-behavior/iron-overlay-behavior.js';
import {NeonAnimationRunnerBehavior} from '../neon-animation/neon-animation-runner-behavior.js';
import {Polymer} from '../polymer/lib/legacy/polymer-fn.js';
import {dom} from '../polymer/lib/legacy/polymer.dom.js';
import {html} from '../polymer/lib/utils/html-tag.js';
import {LegacyElementMixin} from '../polymer/lib/legacy/legacy-element-mixin.js';
/**
* `<iron-dropdown>` is a generalized element that is useful when you have
* hidden content (`dropdown-content`) that is revealed due to some change in
* state that should cause it to do so.
*
* Note that this is a low-level element intended to be used as part of other
* composite elements that cause dropdowns to be revealed.
*
* Examples of elements that might be implemented using an `iron-dropdown`
* include comboboxes, menubuttons, selects. The list goes on.
*
* The `<iron-dropdown>` element exposes attributes that allow the position
* of the `dropdown-content` relative to the `dropdown-trigger` to be
* configured.
*
* <iron-dropdown horizontal-align="right" vertical-align="top">
* <div slot="dropdown-content">Hello!</div>
* </iron-dropdown>
*
* In the above example, the `<div>` assigned to the `dropdown-content` slot will
* be hidden until the dropdown element has `opened` set to true, or when the
* `open` method is called on the element.
*/
interface IronDropdownElement extends IronControlState, IronA11yKeysBehavior, IronOverlayBehavior, NeonAnimationRunnerBehavior, LegacyElementMixin, HTMLElement {
/**
* The orientation against which to align the dropdown content
* horizontally relative to the dropdown trigger.
* Overridden from `Polymer.IronFitBehavior`.
*/
horizontalAlign: string|null|undefined;
/**
* The orientation against which to align the dropdown content
* vertically relative to the dropdown trigger.
* Overridden from `Polymer.IronFitBehavior`.
*/
verticalAlign: string|null|undefined;
/**
* An animation config. If provided, this will be used to animate the
* opening of the dropdown. Pass an Array for multiple animations.
* See `neon-animation` documentation for more animation configuration
* details.
*/
openAnimationConfig: object|null|undefined;
/**
* An animation config. If provided, this will be used to animate the
* closing of the dropdown. Pass an Array for multiple animations.
* See `neon-animation` documentation for more animation configuration
* details.
*/
closeAnimationConfig: object|null|undefined;
/**
* If provided, this will be the element that will be focused when
* the dropdown opens.
*/
focusTarget: object|null|undefined;
/**
* Set to true to disable animations when opening and closing the
* dropdown.
*/
noAnimations: boolean|null|undefined;
/**
* By default, the dropdown will constrain scrolling on the page
* to itself when opened.
* Set to true in order to prevent scroll from being constrained
* to the dropdown when it opens.
* This property is a shortcut to set `scrollAction` to lock or refit.
* Prefer directly setting the `scrollAction` property.
*/
allowOutsideScroll: boolean|null|undefined;
/**
* The element that is contained by the dropdown, if any.
*
*/
readonly containedElement: any;
ready(): void;
attached(): void;
detached(): void;
/**
* Called when the value of `opened` changes.
* Overridden from `IronOverlayBehavior`
*/
_openedChanged(): void;
/**
* Overridden from `IronOverlayBehavior`.
*/
_renderOpened(): void;
/**
* Overridden from `IronOverlayBehavior`.
*/
_renderClosed(): void;
/**
* Apply focus to focusTarget or containedElement
*/
_applyFocus(): void;
/**
* Called when animation finishes on the dropdown (when opening or
* closing). Responsible for "completing" the process of opening or
* closing the dropdown by positioning it or setting its display to
* none.
*/
_onNeonAnimationFinish(): void;
/**
* Constructs the final animation config from different properties used
* to configure specific parts of the opening and closing animations.
*/
_updateAnimationConfig(): void;
/**
* Updates the overlay position based on configured horizontal
* and vertical alignment.
*/
_updateOverlayPosition(): void;
/**
* Sets scrollAction according to the value of allowOutsideScroll.
* Prefer setting directly scrollAction.
*/
_allowOutsideScrollChanged(allowOutsideScroll: any): void;
}
export {IronDropdownElement};
declare global {
interface HTMLElementTagNameMap {
"iron-dropdown": IronDropdownElement;
}
}