/** * Defines the strategy that should be used for a numeric input. */ export type NumericStrategy = { /** * Clamp the inputs value to its min and max values when reaching it. * * When set to false, this will follow the HTML5 spec: * - Allows overflow of min and max via user input, but not spinners * - Will emit an invalid event * - Will emit an input event * - Will emit a change event * * When set to true, this will follow Synergy specs: * - Do not allow overflow of min and max via user input or spinners * - Will not emit an invalid event * - Will emit an input event * - Will emit a syn-clamp custom event * - Will emit a change event */ autoClamp: boolean; /** * Controls if the stepper should use the **current value** as base. * This is useful when the -/+ step buttons are used to change a value. * Also includes handling of keyboard interactions. * * This works in the following way: * - **value**: 1.2 * - **min**: 1 * - **step**: 0.3 * * 1. noStepAlign = true -> **1.5** * 2. noStepAlign = false -> **1.6** * * Note that this does not alter validation of the input! * A native html input will flag all values that are not aligned to the step as invalid! * See noStepValidation for more information. */ noStepAlign: boolean; /** * Determines if an invalid event should be emitted when the stepping is invalid. * This is the default behavior of a native input. * Set to true to disable this behavior. */ noStepValidation: boolean; }; /** * Defines Synergies Version 2 default settings * inherited from Shoelace, which mimics the HTML5 standard */ export declare const nativeNumericStrategy: NumericStrategy; /** * Defines Synergies Version 3 default settings, * based on the feedback from the community. */ export declare const modernNumericStrategy: NumericStrategy; /** * Creates a new strategy object that can be used to override the default. * Will merge the default strategy with the provided settings. */ export declare const createNumericStrategy: (settings?: Partial) => NumericStrategy;