/* * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ import { CoordinateSegmentProps } from "./types.js"; import "client-only"; import * as react_jsx_runtime13 from "react/jsx-runtime"; //#region src/components/coordinate-field/segment.d.ts /** * CoordinateSegment - A controlled input component for a single coordinate segment * * This component represents one editable part of a coordinate (e.g., degrees, minutes, direction). * It handles character filtering, focus management, and keyboard navigation. * * Segment Types (determined by allowedChars): * - Numeric: "[0-9\\-\\.]" - for DD degrees, DDM/DMS degrees/minutes/seconds * - Directional: "[NSEW]" - for DDM/DMS direction indicators * - Alphanumeric: "[0-9A-Z]" - for MGRS/UTM zone identifiers * * @param props - The coordinate segment props. * @param props.value - Current value of the segment. * @param props.onChange - Callback when the segment value changes. * @param props.onFocus - Callback when the segment gains focus. * @param props.onBlur - Callback when the segment loses focus. * @param props.onKeyDown - Callback for key down events. * @param props.placeholder - Placeholder text for the segment. * @param props.maxLength - Maximum character length for the segment. * @param props.className - Additional CSS class name. * @param props.isDisabled - Whether the segment is disabled. * @param props.isReadOnly - Whether the segment is read-only. * @param props.allowedChars - Regex pattern for allowed characters. * @param props.segmentRef - Ref for the segment input element. * @param props.segmentIndex - Index of this segment within the coordinate field. * @param props.totalSegments - Total number of segments in the coordinate field. * @param props.onAutoAdvance - Callback to advance focus to the next segment. * @param props.onAutoRetreat - Callback to retreat focus to the previous segment. * @param props.pad - Padding value for width calculation. * @param props.ariaLabel - Accessible label for the segment. * @returns The coordinate segment input component. * * @example * ```tsx * // Numeric segment (latitude degrees) * * ``` * * @example * ```tsx * // Directional segment (latitude direction) * * ``` */ declare function CoordinateSegment({ value, onChange, onFocus, onBlur, onKeyDown, placeholder, maxLength, className, isDisabled, isReadOnly, allowedChars, segmentRef, segmentIndex, totalSegments: _totalSegments, onAutoAdvance, onAutoRetreat, pad, ariaLabel }: CoordinateSegmentProps): react_jsx_runtime13.JSX.Element; //#endregion export { CoordinateSegment }; //# sourceMappingURL=segment.d.ts.map