/**
* 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):
* paper-slider.js
*/
import {IronA11yKeysBehavior} from '@polymer/iron-a11y-keys-behavior/iron-a11y-keys-behavior.js';
import {IronFormElementBehavior} from '@polymer/iron-form-element-behavior/iron-form-element-behavior.js';
import {IronRangeBehavior} from '@polymer/iron-range-behavior/iron-range-behavior.js';
import {PaperInkyFocusBehavior} from '@polymer/paper-behaviors/paper-inky-focus-behavior.js';
import {Polymer} from '@polymer/polymer/lib/legacy/polymer-fn.js';
import {setTouchAction} from '@polymer/polymer/lib/utils/gestures.js';
import {html} from '@polymer/polymer/polymer-legacy.js';
import {LegacyElementMixin} from '@polymer/polymer/lib/legacy/legacy-element-mixin.js';
/**
* Material design:
* [Sliders](https://www.google.com/design/spec/components/sliders.html)
*
* `paper-slider` allows user to select a value from a range of values by
* moving the slider thumb. The interactive nature of the slider makes it a
* great choice for settings that reflect intensity levels, such as volume,
* brightness, or color saturation.
*
* Example:
*
*
*
* Use `min` and `max` to specify the slider range. Default is 0 to 100.
*
* Example:
*
*
*
* ### Styling
*
* The following custom properties and mixins are available for styling:
*
* Custom property | Description | Default
* ----------------|-------------|----------
* `--paper-slider-container-color` | The background color of the bar | `--paper-grey-400`
* `--paper-slider-bar-color` | The background color of the slider | `transparent`
* `--paper-slider-active-color` | The progress bar color | `--google-blue-700`
* `--paper-slider-secondary-color` | The secondary progress bar color | `--google-blue-300`
* `--paper-slider-knob-color` | The knob color | `--google-blue-700`
* `--paper-slider-disabled-knob-color` | The disabled knob color | `--paper-grey-400`
* `--paper-slider-pin-color` | The pin color | `--google-blue-700`
* `--paper-slider-font-color` | The pin's text color | `#fff`
* `--paper-slider-markers-color` | The snaps markers color | `#000`
* `--paper-slider-disabled-active-color` | The disabled progress bar color | `--paper-grey-400`
* `--paper-slider-disabled-secondary-color` | The disabled secondary progress bar color | `--paper-grey-400`
* `--paper-slider-knob-start-color` | The fill color of the knob at the far left | `transparent`
* `--paper-slider-knob-start-border-color` | The border color of the knob at the far left | `--paper-grey-400`
* `--paper-slider-pin-start-color` | The color of the pin at the far left | `--paper-grey-400`
* `--paper-slider-height` | Height of the progress bar | `2px`
* `--paper-slider-input` | Mixin applied to the input in editable mode | `{}`
* `--paper-slider-input-container-input` | Mixin applied to the paper-input-container-input in editable mode | `{}`
*/
interface PaperSliderElement extends IronA11yKeysBehavior, IronFormElementBehavior, PaperInkyFocusBehavior, IronRangeBehavior, LegacyElementMixin, HTMLElement {
keyBindings: object;
value: number|null|undefined;
/**
* If true, the slider thumb snaps to tick marks evenly spaced based
* on the `step` property value.
*/
snaps: boolean|null|undefined;
/**
* If true, a pin with numeric value label is shown when the slider thumb
* is pressed. Use for settings for which users need to know the exact
* value of the setting.
*/
pin: boolean|null|undefined;
/**
* The number that represents the current secondary progress.
*/
secondaryProgress: number|null|undefined;
/**
* If true, an input is shown and user can use it to set the slider value.
*/
editable: boolean|null|undefined;
/**
* The immediate value of the slider. This value is updated while the user
* is dragging the slider.
*/
readonly immediateValue: number|null|undefined;
/**
* The maximum number of markers
*/
maxMarkers: number|null|undefined;
/**
* If true, the knob is expanded
*/
readonly expand: boolean|null|undefined;
/**
* If true, a touchmove on the slider bar doesn't drag the slider thunb.
* Tapping on the slider bar still updates the slider's position
*/
ignoreBarTouch: boolean|null|undefined;
/**
* True when the user is dragging the slider.
*/
readonly dragging: boolean|null|undefined;
readonly transiting: boolean|null|undefined;
readonly markers: any[]|null|undefined;
hostAttributes: object|null;
readonly _isRTL: any;
ready(): void;
/**
* create the element ripple inside the `sliderKnob`
*/
_createRipple(): any;
/**
* https://www.google.com/design/spec/components/sliders.html
*/
_focusedChanged(receivedFocusFromKeyboard: any): void;
/**
* Increases value by `step` but not above `max`.
*/
increment(): void;
/**
* Decreases value by `step` but not below `min`.
*/
decrement(): void;
_updateKnob(value: any, min: any, max: any, snaps: any, step: any): void;
_valueChanged(): void;
_immediateValueChanged(): void;
_secondaryProgressChanged(): void;
_expandKnob(): void;
_resetKnob(): void;
_positionKnob(ratio: any): void;
_calcKnobPosition(ratio: any): any;
_onTrack(event: any): void;
_trackStart(event: any): void;
_trackX(event: any): void;
_trackEnd(): void;
_knobdown(event: any): void;
_bartrack(event: any): void;
_barclick(event: any): void;
_bardown(event: any): void;
_knobTransitionEnd(event: any): void;
_updateMarkers(maxMarkers: any, min: any, max: any, snaps: any): void;
_mergeClasses(classes: any): any;
_getClassNames(): any;
_allowBarEvent(event: any): any;
_leftKey(event: any): void;
_rightKey(event: any): void;
_incrementKey(event: any): void;
_decrementKey(event: any): void;
_changeValue(event: any): void;
_inputKeyDown(event: any): void;
}
export {PaperSliderElement};
declare global {
interface HTMLElementTagNameMap {
"paper-slider": PaperSliderElement;
}
}