/** * Internal dependencies */ import type { Value, GCUnitControlUnit, GCUnitControlUnitList } from './types'; /** * An array of all available CSS length units. */ export declare const ALL_CSS_UNITS: GCUnitControlUnit[]; /** * Units of measurements. `a11yLabel` is used by screenreaders. */ export declare const CSS_UNITS: GCUnitControlUnit[]; export declare const DEFAULT_UNIT: GCUnitControlUnit; /** * Handles legacy value + unit handling. * This component use to manage both incoming value and units separately. * * Moving forward, ideally the value should be a string that contains both * the value and unit, example: '10px' * * @param value Value * @param unit Unit value * @param units Units to derive from. * @return The extracted number and unit. */ export declare function getParsedValue(value: Value, unit?: string, units?: GCUnitControlUnitList): [Value, string | undefined]; /** * Checks if units are defined. * * @param units Units to check. * @return Whether units are defined. */ export declare function hasUnits(units: GCUnitControlUnitList): boolean; /** * Parses a number and unit from a value. * * @param initialValue Value to parse * @param units Units to derive from. * @return The extracted number and unit. */ export declare function parseUnit(initialValue: Value | undefined, units?: GCUnitControlUnitList): [Value, string | undefined]; /** * Parses a number and unit from a value. Validates parsed value, using fallback * value if invalid. * * @param next The next value. * @param units Units to derive from. * @param fallbackValue The fallback value. * @param fallbackUnit The fallback value. * @return The extracted value and unit. */ export declare function getValidParsedUnit(next: Value | undefined, units: GCUnitControlUnitList, fallbackValue: Value, fallbackUnit: string | undefined): [Value, string | undefined]; /** * Takes a unit value and finds the matching accessibility label for the * unit abbreviation. * * @param unit Unit value (example: px) * @return a11y label for the unit abbreviation */ export declare function parseA11yLabelForUnit(unit: string): string | undefined; /** * Filters available units based on values defined by the unit setting/property. * * @param unitSetting Collection of preferred unit value strings. * @param units Collection of available unit objects. * * @return Filtered units based on settings. */ export declare function filterUnitsWithSettings(unitSetting: string[] | undefined, units: GCUnitControlUnitList): Array; /** * Custom hook to retrieve and consolidate units setting from add_theme_support(). * TODO: ideally this hook shouldn't be needed * https://github.com/GeChiUI/gutenberg/pull/31822#discussion_r633280823 * * @param args An object containing units, settingPath & defaultUnits. * @param args.units Collection of all potentially available units. * @param args.availableUnits Collection of unit value strings for filtering available units. * @param args.defaultValues Collection of default values for defined units. Example: { px: '350', em: '15' }. * * @return Filtered units based on settings. */ export declare const useCustomUnits: ({ units, availableUnits, defaultValues, }: { units?: GCUnitControlUnitList | undefined; availableUnits?: string[] | undefined; defaultValues: Record; }) => GCUnitControlUnitList; /** * Get available units with the unit for the currently selected value * prepended if it is not available in the list of units. * * This is useful to ensure that the current value's unit is always * accurately displayed in the UI, even if the intention is to hide * the availability of that unit. * * @param currentValue Selected value to parse. * @param legacyUnit Legacy unit value, if currentValue needs it appended. * @param units List of available units. * * @return A collection of units containing the unit for the current value. */ export declare function getUnitsWithCurrentUnit(currentValue: Value, legacyUnit: string | undefined, units?: GCUnitControlUnitList): GCUnitControlUnitList; //# sourceMappingURL=utils.d.ts.map