import type SmartMappingSliderViewModel from "./SmartMappingSliderViewModel.js"; import type { SupportedBreaks, SmartMappingSupportedStop } from "./types.js"; import type { SmartMappingSliderViewModelProperties } from "./SmartMappingSliderViewModel.js"; export interface SmartMappingPrimaryHandleSliderViewModelProperties extends SmartMappingSliderViewModelProperties, Partial, "handlesSyncedToPrimary" | "primaryHandleEnabled">> {} /** * Shared properties for sliders that have a [primaryHandle](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#primaryHandleEnabled) option. * * @since 4.18 * @see [SmartMappingSliderBase](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingSliderBase/) * @see [Programming patterns: Widget viewModel pattern](https://developers.arcgis.com/javascript/latest/programming-patterns/#widget-viewmodel-pattern) */ export default class SmartMappingPrimaryHandleSliderViewModel extends SmartMappingSliderViewModel { constructor(properties?: SmartMappingPrimaryHandleSliderViewModelProperties); /** * Only applicable when three thumbs (i.e. handles) are set on the * slider (i.e. when [primaryHandleEnabled](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#primaryHandleEnabled) is `true`). This property * indicates whether the position of the outside handles are synced with the middle, or primary, * handle. When enabled, if the primary handle is moved then the outside handle positions are updated * while maintaining a fixed distance from the primary handle. * * Only applicable when [primaryHandleEnabled](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#primaryHandleEnabled) is `true`. * * @default true * @see [primaryHandleEnabled](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#primaryHandleEnabled) * @example * // enables the primary handles and syncs it with the others * slider.viewModel.primaryHandleEnabled = true; * slider.viewModel.handlesSyncedToPrimary = true; */ accessor handlesSyncedToPrimary: boolean; /** * When `true`, the slider will render a third handle between the * two handles already provided by default. This is the primary handle. * Three or five [values](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#values) must be defined for the primary handle to render. * The primary handle represents the middle stop. * * When [handlesSyncedToPrimary](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#handlesSyncedToPrimary) is `true`, then * this handle will control the position of the others when moved. * * @default false * @see [handlesSyncedToPrimary](https://developers.arcgis.com/javascript/latest/references/core/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel/#handlesSyncedToPrimary) * @example * // enables the primary handles and syncs it with the others * slider.viewModel.primaryHandleEnabled = true; * slider.viewModel.handlesSyncedToPrimary = true; */ accessor primaryHandleEnabled: boolean; }