inconel 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/cjs/components/Badge/Badge.cjs +2 -0
  2. package/dist/cjs/components/Badge/Badge.cjs.map +1 -0
  3. package/dist/cjs/components/Button/Button.cjs +1 -1
  4. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  5. package/dist/cjs/components/DropDownBox/DropDownBox.cjs +2 -0
  6. package/dist/cjs/components/DropDownBox/DropDownBox.cjs.map +1 -0
  7. package/dist/cjs/components/Input/Input.cjs +1 -1
  8. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  9. package/dist/cjs/components/Select/Select.cjs +1 -1
  10. package/dist/cjs/components/Select/Select.cjs.map +1 -1
  11. package/dist/cjs/index.cjs +1 -1
  12. package/dist/cjs/styles.css +1 -1
  13. package/dist/components/Badge/Badge.d.ts +10 -0
  14. package/dist/components/Badge/Badge.d.ts.map +1 -0
  15. package/dist/components/Badge/Badge.js +29 -0
  16. package/dist/components/Badge/Badge.js.map +1 -0
  17. package/dist/components/Badge/index.d.ts +3 -0
  18. package/dist/components/Badge/index.d.ts.map +1 -0
  19. package/dist/components/Button/Button.d.ts.map +1 -1
  20. package/dist/components/Button/Button.js +32 -31
  21. package/dist/components/Button/Button.js.map +1 -1
  22. package/dist/components/DropDownBox/DropDownBox.d.ts +40 -0
  23. package/dist/components/DropDownBox/DropDownBox.d.ts.map +1 -0
  24. package/dist/components/DropDownBox/DropDownBox.js +157 -0
  25. package/dist/components/DropDownBox/DropDownBox.js.map +1 -0
  26. package/dist/components/DropDownBox/index.d.ts +3 -0
  27. package/dist/components/DropDownBox/index.d.ts.map +1 -0
  28. package/dist/components/Input/Input.d.ts +1 -0
  29. package/dist/components/Input/Input.d.ts.map +1 -1
  30. package/dist/components/Input/Input.js +29 -28
  31. package/dist/components/Input/Input.js.map +1 -1
  32. package/dist/components/Select/Select.d.ts.map +1 -1
  33. package/dist/components/Select/Select.js +87 -87
  34. package/dist/components/Select/Select.js.map +1 -1
  35. package/dist/components/index.d.ts +2 -0
  36. package/dist/components/index.d.ts.map +1 -1
  37. package/dist/components/shared/types.d.ts +1 -1
  38. package/dist/components/shared/types.d.ts.map +1 -1
  39. package/dist/index.js +78 -74
  40. package/dist/index.js.map +1 -1
  41. package/dist/styles.css +1 -1
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n} from 'react'\n\nimport FieldFeedback from '../FieldFeedback/FieldFeedback'\nimport type { FieldFeedbackContentProps } from '../FieldFeedback/FieldFeedback'\nimport '../shared/field.css'\nimport '../shared/field-controls.css'\nimport '../shared/sizes.css'\nimport type { ControlSize } from '../shared/types'\nimport './styles.css'\nimport {\n applyInputMask,\n formatInputValue,\n getInputSeparators,\n isFormattedInputType,\n isLengthValidatedInputType,\n parseInputNumber,\n roundInputNumber,\n validateInputValue,\n} from './utils'\n\nexport type InputType =\n | 'text'\n | 'number'\n | 'currency'\n | 'percent'\n | 'phone'\n | 'email'\n | 'password'\n\nexport type InputRoundMode = 'ceil' | 'floor' | 'round'\nexport type InputValue = string | number | null\nexport type InputEventType =\n | 'change'\n | 'blur'\n | 'focus'\n | 'keydown'\n | 'mouseenter'\n | 'mouseleave'\n | 'clear'\n\nexport interface InputPayload {\n rawValue: InputValue\n formattedValue: string\n error: boolean\n char: string | null\n eventType: InputEventType\n}\n\nexport interface InputValidationMessages {\n required?: string\n invalidNumber?: string\n minNumber?: string\n maxNumber?: string\n minLength?: string\n maxLength?: string\n invalidPhone?: string\n invalidEmail?: string\n}\n\ntype NativeInputProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n | 'type'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'onBlur'\n | 'onFocus'\n | 'onKeyDown'\n | 'onMouseEnter'\n | 'onMouseLeave'\n | 'min'\n | 'max'\n | 'size'\n | 'readOnly'\n>\n\nexport interface InputProps extends NativeInputProps, FieldFeedbackContentProps {\n label?: string\n startAdornment?: ReactNode\n endAdornment?: ReactNode\n fullWidth?: boolean\n inputClassName?: string\n labelClassName?: string\n value?: InputValue\n defaultValue?: InputValue\n onChange?: (payload: InputPayload) => void\n onBlur?: (payload: InputPayload, event: FocusEvent<HTMLInputElement>) => void\n onFocus?: (payload: InputPayload, event: FocusEvent<HTMLInputElement>) => void\n onKeyDown?: (\n payload: InputPayload,\n event: KeyboardEvent<HTMLInputElement>,\n ) => void\n onMouseEnter?: (\n payload: InputPayload,\n event: MouseEvent<HTMLInputElement>,\n ) => void\n onMouseLeave?: (\n payload: InputPayload,\n event: MouseEvent<HTMLInputElement>,\n ) => void\n type?: InputType\n locale?: string\n currency?: string\n decimalScale?: number\n roundMode?: InputRoundMode\n roundOnBlur?: boolean\n min?: number\n max?: number\n allowNegative?: boolean\n debounceMs?: number\n validateOnSubmit?: boolean\n validationMessages?: InputValidationMessages\n mask?: string\n limit?: number\n isClearable?: boolean\n readOnly?: boolean\n clearButtonLabel?: string\n readOnlyEmptyValue?: ReactNode\n size?: ControlSize\n}\n\nconst Input = forwardRef<HTMLInputElement, InputProps>(function Input(\n {\n id,\n label,\n hint,\n errorMessage,\n startAdornment,\n endAdornment,\n fullWidth = false,\n inputClassName,\n labelClassName,\n className,\n required,\n disabled,\n value,\n defaultValue = '',\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n type = 'text',\n locale = 'tr-TR',\n currency = 'TRY',\n decimalScale = 0,\n roundMode = 'floor',\n roundOnBlur = false,\n min,\n max,\n allowNegative = false,\n debounceMs = 0,\n validateOnSubmit = false,\n validationMessages,\n mask,\n limit,\n isClearable = false,\n readOnly = false,\n clearButtonLabel,\n readOnlyEmptyValue = null,\n size = 'md',\n autoComplete = 'off',\n 'aria-describedby': ariaDescribedBy,\n ...inputProps\n },\n ref,\n) {\n const generatedId = useId()\n const inputId = id ?? `inconel-input-${generatedId.replace(/:/g, '')}`\n const hintId = `${inputId}-hint`\n const errorId = `${inputId}-error`\n const controlled = value !== undefined\n const [localValue, setLocalValue] = useState<InputValue>(defaultValue)\n const currentValue = controlled ? value : localValue\n const [editingValue, setEditingValue] = useState('')\n const [focused, setFocused] = useState(false)\n const [validationError, setValidationError] = useState<string | null>(null)\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const messages = validationMessages ?? {}\n const visibleError = errorMessage ?? validationError\n\n const validate = (candidate: InputValue) =>\n validateInputValue(candidate, {\n required: Boolean(required),\n type,\n min,\n max,\n mask,\n messages,\n })\n\n const formattedValue = useMemo(\n () =>\n formatInputValue(\n currentValue,\n type,\n locale,\n decimalScale,\n currency,\n mask,\n ),\n [currentValue, currency, decimalScale, locale, mask, type],\n )\n\n const buildPayload = (\n rawValue: InputValue,\n eventType: InputEventType,\n char: string | null = null,\n ): InputPayload => ({\n rawValue,\n formattedValue: formatInputValue(\n rawValue,\n type,\n locale,\n decimalScale,\n currency,\n mask,\n ),\n error: Boolean(validate(rawValue)),\n char,\n eventType,\n })\n\n const emitChange = (payload: InputPayload, immediate = false) => {\n if (!controlled) setLocalValue(payload.rawValue)\n if (debounceRef.current) clearTimeout(debounceRef.current)\n if (!onChange) return\n if (immediate || debounceMs <= 0) onChange(payload)\n else debounceRef.current = setTimeout(() => onChange(payload), debounceMs)\n }\n\n useEffect(() => () => {\n if (debounceRef.current) clearTimeout(debounceRef.current)\n }, [])\n\n useEffect(() => {\n if (validateOnSubmit) setValidationError(validate(currentValue))\n // Validation intentionally runs when submit state changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateOnSubmit])\n\n const normalize = (text: string): InputValue => {\n if (type === 'phone' && mask) return text.replace(/\\D/g, '')\n if (isFormattedInputType(type)) {\n const parsed = parseInputNumber(text, locale)\n if (parsed === null) return text === '' ? null : text\n return allowNegative ? parsed : Math.abs(parsed)\n }\n return text\n }\n\n const handleChange = (text: string) => {\n const digits = text.replace(/\\D/g, '')\n if (\n limit &&\n (isFormattedInputType(type) || type === 'phone') &&\n digits.length > limit\n ) return\n if (limit && isLengthValidatedInputType(type) && text.length > limit) return\n const rawValue = normalize(text)\n if (typeof rawValue === 'number') {\n if (typeof min === 'number' && rawValue < min) return\n if (typeof max === 'number' && rawValue > max) return\n }\n setEditingValue(\n type === 'phone' && mask ? applyInputMask(rawValue, mask) : text,\n )\n emitChange(buildPayload(rawValue, 'change', text.slice(-1) || null))\n }\n\n const describedBy = [\n ariaDescribedBy,\n hint && !visibleError ? hintId : undefined,\n visibleError ? errorId : undefined,\n ].filter(Boolean).join(' ') || undefined\n\n if (readOnly) {\n return (\n <div className={['inconel-field', `inconel-size-${size}`, fullWidth ? 'inconel-field--full-width' : '', className ?? ''].join(' ')}>\n {label && <span className={['inconel-field__label', labelClassName ?? ''].join(' ')}>{label}</span>}\n <div className=\"inconel-input-readonly\" aria-label={label}>\n {formattedValue || readOnlyEmptyValue}\n </div>\n </div>\n )\n }\n\n return (\n <div className={['inconel-field', `inconel-size-${size}`, fullWidth ? 'inconel-field--full-width' : '', className ?? ''].join(' ')}>\n {label && (\n <label className={['inconel-field__label', labelClassName ?? ''].join(' ')} htmlFor={inputId}>\n {label}{required && <span className=\"inconel-field__required\" aria-hidden=\"true\"> *</span>}\n </label>\n )}\n <div className={['inconel-input-control', visibleError ? 'inconel-is-invalid' : '', disabled ? 'inconel-is-disabled' : ''].join(' ')}>\n {startAdornment && <span className=\"inconel-input-adornment\" aria-hidden=\"true\">{startAdornment}</span>}\n <input\n {...inputProps}\n ref={ref}\n id={inputId}\n type={type === 'password' || type === 'email' ? type : 'text'}\n inputMode={isFormattedInputType(type) ? 'decimal' : type === 'phone' ? 'tel' : undefined}\n value={focused ? editingValue : formattedValue}\n required={required}\n disabled={disabled}\n autoComplete={autoComplete}\n aria-invalid={Boolean(visibleError)}\n aria-describedby={describedBy}\n className={['inconel-input', inputClassName ?? ''].join(' ')}\n onChange={(event) => handleChange(event.target.value)}\n onFocus={(event) => {\n if (disabled) return\n setFocused(true)\n const editValue = type === 'phone' && mask\n ? applyInputMask(currentValue, mask)\n : isFormattedInputType(type)\n ? String(currentValue ?? '').replace('.', getInputSeparators(locale).decimal)\n : String(currentValue ?? '')\n setEditingValue(editValue)\n onFocus?.(buildPayload(currentValue, 'focus'), event)\n }}\n onBlur={(event) => {\n setFocused(false)\n if (debounceRef.current) clearTimeout(debounceRef.current)\n let rawValue = normalize(editingValue)\n if (typeof rawValue === 'number') {\n rawValue = roundInputNumber(rawValue, decimalScale, roundOnBlur ? roundMode : 'floor')\n }\n setValidationError(validate(rawValue))\n const payload = buildPayload(rawValue, 'blur')\n emitChange(payload, true)\n onBlur?.(payload, event)\n }}\n onKeyDown={(event) => {\n if (!allowNegative && (event.key === '-' || event.key === 'Subtract')) event.preventDefault()\n onKeyDown?.(buildPayload(currentValue, 'keydown', event.key), event)\n }}\n onMouseEnter={(event) => onMouseEnter?.(buildPayload(currentValue, 'mouseenter'), event)}\n onMouseLeave={(event) => onMouseLeave?.(buildPayload(currentValue, 'mouseleave'), event)}\n />\n {isClearable && !disabled && formattedValue && clearButtonLabel && (\n <button\n type=\"button\"\n className=\"inconel-input-clear\"\n aria-label={clearButtonLabel}\n onClick={() => {\n setEditingValue('')\n setValidationError(validate(null))\n emitChange(buildPayload(null, 'clear'), true)\n }}\n >\n ×\n </button>\n )}\n {endAdornment && <span className=\"inconel-input-adornment\" aria-hidden=\"true\">{endAdornment}</span>}\n </div>\n <FieldFeedback\n hint={hint}\n errorMessage={visibleError}\n hintId={hintId}\n errorId={errorId}\n />\n </div>\n )\n})\n\nexport default Input\n"],"names":["Input","forwardRef","id","label","hint","errorMessage","startAdornment","endAdornment","fullWidth","inputClassName","labelClassName","className","required","disabled","value","defaultValue","onChange","onBlur","onFocus","onKeyDown","onMouseEnter","onMouseLeave","type","locale","currency","decimalScale","roundMode","roundOnBlur","min","max","allowNegative","debounceMs","validateOnSubmit","validationMessages","mask","limit","isClearable","readOnly","clearButtonLabel","readOnlyEmptyValue","size","autoComplete","ariaDescribedBy","inputProps","ref","generatedId","useId","inputId","hintId","errorId","controlled","localValue","setLocalValue","useState","currentValue","editingValue","setEditingValue","focused","setFocused","validationError","setValidationError","debounceRef","useRef","messages","visibleError","validate","candidate","validateInputValue","formattedValue","useMemo","formatInputValue","buildPayload","rawValue","eventType","char","emitChange","payload","immediate","useEffect","normalize","text","isFormattedInputType","parsed","parseInputNumber","handleChange","digits","isLengthValidatedInputType","applyInputMask","describedBy","jsx","jsxs","event","editValue","getInputSeparators","roundInputNumber","FieldFeedback"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n} from 'react'\n\nimport FieldFeedback from '../FieldFeedback/FieldFeedback'\nimport type { FieldFeedbackContentProps } from '../FieldFeedback/FieldFeedback'\nimport '../shared/field.css'\nimport '../shared/field-controls.css'\nimport '../shared/sizes.css'\nimport type { ControlSize } from '../shared/types'\nimport './styles.css'\nimport {\n applyInputMask,\n formatInputValue,\n getInputSeparators,\n isFormattedInputType,\n isLengthValidatedInputType,\n parseInputNumber,\n roundInputNumber,\n validateInputValue,\n} from './utils'\n\nexport type InputType =\n | 'text'\n | 'number'\n | 'currency'\n | 'percent'\n | 'phone'\n | 'email'\n | 'password'\n\nexport type InputRoundMode = 'ceil' | 'floor' | 'round'\nexport type InputValue = string | number | null\nexport type InputEventType =\n | 'change'\n | 'blur'\n | 'focus'\n | 'keydown'\n | 'mouseenter'\n | 'mouseleave'\n | 'clear'\n\nexport interface InputPayload {\n rawValue: InputValue\n formattedValue: string\n error: boolean\n char: string | null\n eventType: InputEventType\n}\n\nexport interface InputValidationMessages {\n required?: string\n invalidNumber?: string\n minNumber?: string\n maxNumber?: string\n minLength?: string\n maxLength?: string\n invalidPhone?: string\n invalidEmail?: string\n}\n\ntype NativeInputProps = Omit<\n InputHTMLAttributes<HTMLInputElement>,\n | 'type'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'onBlur'\n | 'onFocus'\n | 'onKeyDown'\n | 'onMouseEnter'\n | 'onMouseLeave'\n | 'min'\n | 'max'\n | 'size'\n | 'readOnly'\n>\n\nexport interface InputProps extends NativeInputProps, FieldFeedbackContentProps {\n label?: string\n startAdornment?: ReactNode\n endAdornment?: ReactNode\n fullWidth?: boolean\n inputClassName?: string\n labelClassName?: string\n value?: InputValue\n defaultValue?: InputValue\n onChange?: (payload: InputPayload) => void\n onBlur?: (payload: InputPayload, event: FocusEvent<HTMLInputElement>) => void\n onFocus?: (payload: InputPayload, event: FocusEvent<HTMLInputElement>) => void\n onKeyDown?: (\n payload: InputPayload,\n event: KeyboardEvent<HTMLInputElement>,\n ) => void\n onMouseEnter?: (\n payload: InputPayload,\n event: MouseEvent<HTMLInputElement>,\n ) => void\n onMouseLeave?: (\n payload: InputPayload,\n event: MouseEvent<HTMLInputElement>,\n ) => void\n type?: InputType\n locale?: string\n currency?: string\n decimalScale?: number\n roundMode?: InputRoundMode\n roundOnBlur?: boolean\n min?: number\n max?: number\n allowNegative?: boolean\n debounceMs?: number\n validateOnSubmit?: boolean\n validationMessages?: InputValidationMessages\n mask?: string\n limit?: number\n isClearable?: boolean\n readOnly?: boolean\n clearButtonLabel?: string\n readOnlyEmptyValue?: ReactNode\n size?: ControlSize\n variant?: 'outlined' | 'plain'\n}\n\nconst Input = forwardRef<HTMLInputElement, InputProps>(function Input(\n {\n id,\n label,\n hint,\n errorMessage,\n startAdornment,\n endAdornment,\n fullWidth = false,\n inputClassName,\n labelClassName,\n className,\n required,\n disabled,\n value,\n defaultValue = '',\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n type = 'text',\n locale = 'tr-TR',\n currency = 'TRY',\n decimalScale = 0,\n roundMode = 'floor',\n roundOnBlur = false,\n min,\n max,\n allowNegative = false,\n debounceMs = 0,\n validateOnSubmit = false,\n validationMessages,\n mask,\n limit,\n isClearable = false,\n readOnly = false,\n clearButtonLabel,\n readOnlyEmptyValue = null,\n size = 'md',\n variant = 'outlined',\n autoComplete = 'off',\n 'aria-describedby': ariaDescribedBy,\n ...inputProps\n },\n ref,\n) {\n const generatedId = useId()\n const inputId = id ?? `inconel-input-${generatedId.replace(/:/g, '')}`\n const hintId = `${inputId}-hint`\n const errorId = `${inputId}-error`\n const controlled = value !== undefined\n const [localValue, setLocalValue] = useState<InputValue>(defaultValue)\n const currentValue = controlled ? value : localValue\n const [editingValue, setEditingValue] = useState('')\n const [focused, setFocused] = useState(false)\n const [validationError, setValidationError] = useState<string | null>(null)\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const messages = validationMessages ?? {}\n const visibleError = errorMessage ?? validationError\n\n const validate = (candidate: InputValue) =>\n validateInputValue(candidate, {\n required: Boolean(required),\n type,\n min,\n max,\n mask,\n messages,\n })\n\n const formattedValue = useMemo(\n () =>\n formatInputValue(\n currentValue,\n type,\n locale,\n decimalScale,\n currency,\n mask,\n ),\n [currentValue, currency, decimalScale, locale, mask, type],\n )\n\n const buildPayload = (\n rawValue: InputValue,\n eventType: InputEventType,\n char: string | null = null,\n ): InputPayload => ({\n rawValue,\n formattedValue: formatInputValue(\n rawValue,\n type,\n locale,\n decimalScale,\n currency,\n mask,\n ),\n error: Boolean(validate(rawValue)),\n char,\n eventType,\n })\n\n const emitChange = (payload: InputPayload, immediate = false) => {\n if (!controlled) setLocalValue(payload.rawValue)\n if (debounceRef.current) clearTimeout(debounceRef.current)\n if (!onChange) return\n if (immediate || debounceMs <= 0) onChange(payload)\n else debounceRef.current = setTimeout(() => onChange(payload), debounceMs)\n }\n\n useEffect(() => () => {\n if (debounceRef.current) clearTimeout(debounceRef.current)\n }, [])\n\n useEffect(() => {\n if (validateOnSubmit) setValidationError(validate(currentValue))\n // Validation intentionally runs when submit state changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [validateOnSubmit])\n\n const normalize = (text: string): InputValue => {\n if (type === 'phone' && mask) return text.replace(/\\D/g, '')\n if (isFormattedInputType(type)) {\n const parsed = parseInputNumber(text, locale)\n if (parsed === null) return text === '' ? null : text\n return allowNegative ? parsed : Math.abs(parsed)\n }\n return text\n }\n\n const handleChange = (text: string) => {\n const digits = text.replace(/\\D/g, '')\n if (\n limit &&\n (isFormattedInputType(type) || type === 'phone') &&\n digits.length > limit\n ) return\n if (limit && isLengthValidatedInputType(type) && text.length > limit) return\n const rawValue = normalize(text)\n if (typeof rawValue === 'number') {\n if (typeof min === 'number' && rawValue < min) return\n if (typeof max === 'number' && rawValue > max) return\n }\n setEditingValue(\n type === 'phone' && mask ? applyInputMask(rawValue, mask) : text,\n )\n emitChange(buildPayload(rawValue, 'change', text.slice(-1) || null))\n }\n\n const describedBy = [\n ariaDescribedBy,\n hint && !visibleError ? hintId : undefined,\n visibleError ? errorId : undefined,\n ].filter(Boolean).join(' ') || undefined\n\n if (readOnly) {\n return (\n <div className={['inconel-field', `inconel-size-${size}`, fullWidth ? 'inconel-field--full-width' : '', className ?? ''].join(' ')}>\n {label && <span className={['inconel-field__label', labelClassName ?? ''].join(' ')}>{label}</span>}\n <div className=\"inconel-input-readonly\" aria-label={label}>\n {formattedValue || readOnlyEmptyValue}\n </div>\n </div>\n )\n }\n\n return (\n <div className={['inconel-field', `inconel-size-${size}`, fullWidth ? 'inconel-field--full-width' : '', className ?? ''].join(' ')}>\n {label && (\n <label className={['inconel-field__label', labelClassName ?? ''].join(' ')} htmlFor={inputId}>\n {label}{required && <span className=\"inconel-field__required\" aria-hidden=\"true\"> *</span>}\n </label>\n )}\n <div className={['inconel-input-control', variant === 'plain' ? 'inconel-input-control--plain' : '', visibleError ? 'inconel-is-invalid' : '', disabled ? 'inconel-is-disabled' : ''].join(' ')}>\n {startAdornment && <span className=\"inconel-input-adornment\" aria-hidden=\"true\">{startAdornment}</span>}\n <input\n {...inputProps}\n ref={ref}\n id={inputId}\n type={type === 'password' || type === 'email' ? type : 'text'}\n inputMode={isFormattedInputType(type) ? 'decimal' : type === 'phone' ? 'tel' : undefined}\n value={focused ? editingValue : formattedValue}\n required={required}\n disabled={disabled}\n autoComplete={autoComplete}\n aria-invalid={Boolean(visibleError)}\n aria-describedby={describedBy}\n className={['inconel-input', inputClassName ?? ''].join(' ')}\n onChange={(event) => handleChange(event.target.value)}\n onFocus={(event) => {\n if (disabled) return\n setFocused(true)\n const editValue = type === 'phone' && mask\n ? applyInputMask(currentValue, mask)\n : isFormattedInputType(type)\n ? String(currentValue ?? '').replace('.', getInputSeparators(locale).decimal)\n : String(currentValue ?? '')\n setEditingValue(editValue)\n onFocus?.(buildPayload(currentValue, 'focus'), event)\n }}\n onBlur={(event) => {\n setFocused(false)\n if (debounceRef.current) clearTimeout(debounceRef.current)\n let rawValue = normalize(editingValue)\n if (typeof rawValue === 'number') {\n rawValue = roundInputNumber(rawValue, decimalScale, roundOnBlur ? roundMode : 'floor')\n }\n setValidationError(validate(rawValue))\n const payload = buildPayload(rawValue, 'blur')\n emitChange(payload, true)\n onBlur?.(payload, event)\n }}\n onKeyDown={(event) => {\n if (!allowNegative && (event.key === '-' || event.key === 'Subtract')) event.preventDefault()\n onKeyDown?.(buildPayload(currentValue, 'keydown', event.key), event)\n }}\n onMouseEnter={(event) => onMouseEnter?.(buildPayload(currentValue, 'mouseenter'), event)}\n onMouseLeave={(event) => onMouseLeave?.(buildPayload(currentValue, 'mouseleave'), event)}\n />\n {isClearable && !disabled && formattedValue && clearButtonLabel && (\n <button\n type=\"button\"\n className=\"inconel-input-clear\"\n aria-label={clearButtonLabel}\n onClick={() => {\n setEditingValue('')\n setValidationError(validate(null))\n emitChange(buildPayload(null, 'clear'), true)\n }}\n >\n ×\n </button>\n )}\n {endAdornment && <span className=\"inconel-input-adornment\" aria-hidden=\"true\">{endAdornment}</span>}\n </div>\n <FieldFeedback\n hint={hint}\n errorMessage={visibleError}\n hintId={hintId}\n errorId={errorId}\n />\n </div>\n )\n})\n\nexport default Input\n"],"names":["Input","forwardRef","id","label","hint","errorMessage","startAdornment","endAdornment","fullWidth","inputClassName","labelClassName","className","required","disabled","value","defaultValue","onChange","onBlur","onFocus","onKeyDown","onMouseEnter","onMouseLeave","type","locale","currency","decimalScale","roundMode","roundOnBlur","min","max","allowNegative","debounceMs","validateOnSubmit","validationMessages","mask","limit","isClearable","readOnly","clearButtonLabel","readOnlyEmptyValue","size","variant","autoComplete","ariaDescribedBy","inputProps","ref","generatedId","useId","inputId","hintId","errorId","controlled","localValue","setLocalValue","useState","currentValue","editingValue","setEditingValue","focused","setFocused","validationError","setValidationError","debounceRef","useRef","messages","visibleError","validate","candidate","validateInputValue","formattedValue","useMemo","formatInputValue","buildPayload","rawValue","eventType","char","emitChange","payload","immediate","useEffect","normalize","text","isFormattedInputType","parsed","parseInputNumber","handleChange","digits","isLengthValidatedInputType","applyInputMask","describedBy","jsx","jsxs","event","editValue","getInputSeparators","roundInputNumber","FieldFeedback"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { jsxs as z, jsx as o } from "react/jsx-runtime";
2
- import { forwardRef as vt, useId as kt, useRef as te, useState as S, useEffect as B, useCallback as x, useMemo as xe, useImperativeHandle as wt } from "react";
1
+ import { jsxs as B, jsx as o } from "react/jsx-runtime";
2
+ import { forwardRef as vt, useId as kt, useRef as te, useState as S, useEffect as D, useCallback as x, useMemo as xe, useImperativeHandle as wt } from "react";
3
3
  import { useFloating as St, autoUpdate as xt, offset as It, flip as Lt, shift as At, size as Et } from "@floating-ui/react";
4
4
  import { useVirtualizer as zt } from "@tanstack/react-virtual";
5
5
  import { createPortal as Bt } from "react-dom";
@@ -13,24 +13,24 @@ import { useInconelAdapters as Ot } from "../../adapters/context.js";
13
13
  function Vt({
14
14
  id: Ie,
15
15
  name: ne,
16
- label: H,
16
+ label: I,
17
17
  options: M = [],
18
18
  value: Le,
19
- onChange: D,
20
- optionLabel: O = "label",
21
- optionValue: V = "value",
19
+ onChange: O,
20
+ optionLabel: V = "label",
21
+ optionValue: C = "value",
22
22
  getOptionSearchText: U,
23
- isOptionDisabled: C = () => !1,
23
+ isOptionDisabled: F = () => !1,
24
24
  placeholder: Ae,
25
25
  isClearable: le = !1,
26
26
  isDisabled: Ee = !1,
27
27
  isReadOnly: ze = !1,
28
28
  isRequired: oe = !1,
29
29
  isLoading: Be = !1,
30
- loadOptions: b,
30
+ loadOptions: h,
31
31
  loadOptionsDebounceMs: re = 250,
32
32
  hint: ie,
33
- errorMessage: h,
33
+ errorMessage: y,
34
34
  asyncErrorMessage: De,
35
35
  loadingMessage: Oe,
36
36
  noOptionsMessage: Ve,
@@ -38,14 +38,14 @@ function Vt({
38
38
  openMenuButtonLabel: Fe,
39
39
  closeMenuButtonLabel: Ne,
40
40
  searchLocale: $,
41
- menuPortalTarget: F,
41
+ menuPortalTarget: N,
42
42
  virtualize: je = !1,
43
43
  virtualizationThreshold: Re = 100,
44
44
  optionHeight: qe = 44,
45
45
  className: He,
46
46
  classNames: i = {},
47
47
  styles: s = {},
48
- onInputChange: I,
48
+ onInputChange: L,
49
49
  onMenuOpen: Me,
50
50
  onMenuClose: se,
51
51
  autoFocus: Ue,
@@ -65,30 +65,30 @@ function Vt({
65
65
  size: ce = "md",
66
66
  required: Pe
67
67
  }, et) {
68
- const f = Ot(), de = Qe !== void 0 || ae !== void 0 || T !== void 0, N = Le ?? Ge ?? Ke ?? null, tt = kt(), d = Ie ?? `inconel-select-${tt.replace(/:/g, "")}`, ue = `${d}-label`, fe = `${d}-listbox`, me = `${d}-message`, pe = `${d}-hint`, ge = te(null), L = te(null), Y = te(null), [n, be] = S(!1), [m, K] = S(""), [a, u] = S(0), [nt, lt] = S(null), [ot, he] = S(!1), [rt, ye] = S(!1);
69
- B(() => {
70
- if (!b) return;
68
+ const f = Ot(), de = Qe !== void 0 || ae !== void 0 || T !== void 0, j = Le ?? Ge ?? Ke ?? null, tt = kt(), d = Ie ?? `inconel-select-${tt.replace(/:/g, "")}`, ue = `${d}-label`, fe = `${d}-listbox`, me = `${d}-message`, pe = `${d}-hint`, ge = te(null), A = te(null), Y = te(null), [n, he] = S(!1), [m, K] = S(""), [a, u] = S(0), [nt, lt] = S(null), [ot, ye] = S(!1), [rt, be] = S(!1);
69
+ D(() => {
70
+ if (!h) return;
71
71
  const e = new AbortController(), t = window.setTimeout(async () => {
72
- he(!0), ye(!1);
72
+ ye(!0), be(!1);
73
73
  try {
74
- const r = await b(
74
+ const r = await h(
75
75
  m,
76
76
  e.signal
77
77
  );
78
78
  e.signal.aborted || lt(r);
79
79
  } catch {
80
- e.signal.aborted || ye(!0);
80
+ e.signal.aborted || be(!0);
81
81
  } finally {
82
- e.signal.aborted || he(!1);
82
+ e.signal.aborted || ye(!1);
83
83
  }
84
84
  }, re);
85
85
  return () => {
86
86
  window.clearTimeout(t), e.abort();
87
87
  };
88
- }, [m, b, re]);
89
- const y = b ? nt ?? M : M, W = Be || ot, p = Ee || !!$e, A = ze || !!Ye, G = oe || !!Pe, it = (T === "in" && h ? String(h) : Ae) ?? String(f.translate?.("select", "Seçim yapın...") ?? "Seçim yapın..."), st = Ve ?? f.translate?.("noData", "Sonuç bulunamadı.") ?? "Sonuç bulunamadı.", at = Oe ?? f.translate?.("loading", "Yükleniyor...") ?? "Yükleniyor...", ct = Ce ?? String(f.translate?.("clearSelection", "Seçimi temizle") ?? "Seçimi temizle"), dt = Fe ?? String(f.translate?.("openOptions", "Seçenekleri aç") ?? "Seçenekleri aç"), ut = Ne ?? String(f.translate?.("closeOptions", "Seçenekleri kapat") ?? "Seçenekleri kapat"), J = x(
90
- (e) => typeof O == "function" ? O(e) : String(e[O]),
91
- [O]
88
+ }, [m, h, re]);
89
+ const b = h ? nt ?? M : M, W = Be || ot, p = Ee || !!$e, E = ze || !!Ye, G = oe || !!Pe, it = (T === "in" && y ? String(y) : Ae) ?? String(f.translate?.("select", "Seçim yapın...") ?? "Seçim yapın..."), st = Ve ?? f.translate?.("noData", "Sonuç bulunamadı.") ?? "Sonuç bulunamadı.", at = Oe ?? f.translate?.("loading", "Yükleniyor...") ?? "Yükleniyor...", ct = Ce ?? String(f.translate?.("clearSelection", "Seçimi temizle") ?? "Seçimi temizle"), dt = Fe ?? String(f.translate?.("openOptions", "Seçenekleri aç") ?? "Seçenekleri aç"), ut = Ne ?? String(f.translate?.("closeOptions", "Seçenekleri kapat") ?? "Seçenekleri kapat"), J = x(
90
+ (e) => typeof V == "function" ? V(e) : String(e[V]),
91
+ [V]
92
92
  ), Q = x(
93
93
  (e) => {
94
94
  if (U) return U(e);
@@ -98,38 +98,38 @@ function Vt({
98
98
  [J, U]
99
99
  ), v = x(
100
100
  (e) => {
101
- const t = typeof V == "function" ? V(e) : e[V];
101
+ const t = typeof C == "function" ? C(e) : e[C];
102
102
  if (typeof t != "string" && typeof t != "number")
103
103
  throw new TypeError("optionValue must resolve to a string or number.");
104
104
  return t;
105
105
  },
106
- [V]
107
- ), g = N && typeof N == "object" ? v(N) : N, X = x(
106
+ [C]
107
+ ), g = j && typeof j == "object" ? v(j) : j, X = x(
108
108
  (e, t) => {
109
- D && (de ? D(t) : D(e, t));
109
+ O && (de ? O(t) : O(e, t));
110
110
  },
111
- [de, D]
111
+ [de, O]
112
112
  ), Z = xe(() => {
113
113
  const e = /* @__PURE__ */ new Set();
114
- return y.map(v).filter((t) => e.has(t) ? !0 : (e.add(t), !1));
115
- }, [y, v]);
116
- B(() => {
114
+ return b.map(v).filter((t) => e.has(t) ? !0 : (e.add(t), !1));
115
+ }, [b, v]);
116
+ D(() => {
117
117
  Z.length && console.warn(
118
- `Duplicate optionValue found in Select "${H}":`,
118
+ `Duplicate optionValue found in Select "${I}":`,
119
119
  Z
120
120
  );
121
- }, [Z, H]);
122
- const _ = [...M, ...y].find(
121
+ }, [Z, I]);
122
+ const _ = [...M, ...b].find(
123
123
  (e) => v(e) === g
124
124
  ), ft = _ ? Q(_) : "", l = xe(() => {
125
125
  const e = m.trim().toLocaleLowerCase($);
126
- return !e || b ? y : y.filter(
126
+ return !e || h ? b : b.filter(
127
127
  (t) => Q(t).toLocaleLowerCase($).includes(e)
128
128
  );
129
- }, [y, Q, m, b, $]), { refs: ve, floatingStyles: mt } = St({
129
+ }, [b, Q, m, h, $]), { refs: ve, floatingStyles: mt } = St({
130
130
  open: n,
131
131
  placement: "bottom-start",
132
- strategy: F ? "fixed" : "absolute",
132
+ strategy: N ? "fixed" : "absolute",
133
133
  whileElementsMounted: xt,
134
134
  middleware: [
135
135
  It(8),
@@ -145,63 +145,63 @@ function Vt({
145
145
  }
146
146
  })
147
147
  ]
148
- }), j = je || l.length >= Re, R = zt({
148
+ }), R = je || l.length >= Re, q = zt({
149
149
  count: l.length,
150
150
  getScrollElement: () => Y.current,
151
151
  estimateSize: () => qe,
152
152
  overscan: 5,
153
- enabled: j && n
153
+ enabled: R && n
154
154
  }), k = x(() => {
155
- be(!1), K(""), I?.(""), se?.();
156
- }, [I, se]), E = () => {
157
- p || A || (n || Me?.(), be(!0));
158
- }, q = x(() => {
159
- p || A || (X(null, null), K(""), u(0), I?.(""), L.current?.focus());
160
- }, [p, A, X, I]);
155
+ he(!1), K(""), L?.(""), se?.();
156
+ }, [L, se]), z = () => {
157
+ p || E || (n || Me?.(), he(!0));
158
+ }, H = x(() => {
159
+ p || E || (X(null, null), K(""), u(0), L?.(""), A.current?.focus());
160
+ }, [p, E, X, L]);
161
161
  wt(
162
162
  et,
163
163
  () => ({
164
- focus: () => L.current?.focus(),
165
- blur: () => L.current?.blur(),
166
- clear: q
164
+ focus: () => A.current?.focus(),
165
+ blur: () => A.current?.blur(),
166
+ clear: H
167
167
  }),
168
- [q]
169
- ), B(() => {
168
+ [H]
169
+ ), D(() => {
170
170
  const e = (t) => {
171
171
  const r = t.target;
172
172
  !ge.current?.contains(r) && !Y.current?.contains(r) && k();
173
173
  };
174
174
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
175
- }, [k]), B(() => {
175
+ }, [k]), D(() => {
176
176
  a >= l.length && u(0);
177
- }, [a, l.length]), B(() => {
178
- j && n && l[a] && R.scrollToIndex(a, { align: "auto" });
177
+ }, [a, l.length]), D(() => {
178
+ R && n && l[a] && q.scrollToIndex(a, { align: "auto" });
179
179
  }, [
180
180
  a,
181
181
  l,
182
182
  n,
183
- j,
184
- R
183
+ R,
184
+ q
185
185
  ]);
186
186
  const ke = (e) => {
187
- C(e) || (X(v(e), e), k(), L.current?.focus());
187
+ F(e) || (X(v(e), e), k(), A.current?.focus());
188
188
  }, pt = (e) => {
189
189
  if (!l.length) return;
190
190
  let t = a;
191
191
  do
192
192
  t = (t + e + l.length) % l.length;
193
- while (C(l[t]) && t !== a);
193
+ while (F(l[t]) && t !== a);
194
194
  u(t);
195
195
  }, P = (e = !1) => {
196
196
  const t = l.map((r, w) => ({ option: r, index: w }));
197
- return e && t.reverse(), t.find(({ option: r }) => !C(r))?.index ?? 0;
197
+ return e && t.reverse(), t.find(({ option: r }) => !F(r))?.index ?? 0;
198
198
  }, gt = (e) => {
199
199
  if (e.key === "Backspace" && !m && g !== null && le) {
200
- e.preventDefault(), q();
200
+ e.preventDefault(), H();
201
201
  return;
202
202
  }
203
203
  if (e.key === "ArrowDown" || e.key === "ArrowUp")
204
- e.preventDefault(), n ? pt(e.key === "ArrowDown" ? 1 : -1) : (E(), u(P(e.key === "ArrowUp")));
204
+ e.preventDefault(), n ? pt(e.key === "ArrowDown" ? 1 : -1) : (z(), u(P(e.key === "ArrowUp")));
205
205
  else if (e.key === "Home" && n)
206
206
  e.preventDefault(), u(P());
207
207
  else if (e.key === "End" && n)
@@ -212,8 +212,8 @@ function Vt({
212
212
  t && ke(t);
213
213
  } else e.key === "Escape" && n ? (e.preventDefault(), k()) : e.key === "Tab" && k();
214
214
  }, we = (e, t, r) => {
215
- const w = v(e), Se = C(e);
216
- return /* @__PURE__ */ z(
215
+ const w = v(e), Se = F(e);
216
+ return /* @__PURE__ */ B(
217
217
  "div",
218
218
  {
219
219
  id: `${d}-option-${t}`,
@@ -231,7 +231,7 @@ function Vt({
231
231
  ),
232
232
  style: { ...r, ...s.option },
233
233
  onMouseEnter: () => u(t),
234
- onMouseDown: (yt) => yt.preventDefault(),
234
+ onMouseDown: (bt) => bt.preventDefault(),
235
235
  onClick: () => ke(e),
236
236
  children: [
237
237
  /* @__PURE__ */ o("span", { children: J(e) }),
@@ -240,7 +240,7 @@ function Vt({
240
240
  },
241
241
  w
242
242
  );
243
- }, bt = W ? /* @__PURE__ */ z(
243
+ }, ht = W ? /* @__PURE__ */ B(
244
244
  "div",
245
245
  {
246
246
  role: "status",
@@ -266,13 +266,13 @@ function Vt({
266
266
  style: s.message,
267
267
  children: st
268
268
  }
269
- ) : j ? /* @__PURE__ */ o(
269
+ ) : R ? /* @__PURE__ */ o(
270
270
  "div",
271
271
  {
272
272
  role: "presentation",
273
273
  className: "inconel-select-virtual-content",
274
- style: { height: R.getTotalSize() },
275
- children: R.getVirtualItems().map(
274
+ style: { height: q.getTotalSize() },
275
+ children: q.getVirtualItems().map(
276
276
  (e) => we(l[e.index], e.index, {
277
277
  position: "absolute",
278
278
  top: 0,
@@ -291,17 +291,17 @@ function Vt({
291
291
  },
292
292
  id: fe,
293
293
  role: "listbox",
294
- "aria-labelledby": ue,
294
+ "aria-labelledby": I ? ue : void 0,
295
295
  className: c(
296
296
  "inconel-select-menu",
297
- F && "inconel-select-menu-portal",
297
+ N && "inconel-select-menu-portal",
298
298
  i.menu
299
299
  ),
300
300
  style: { ...mt, ...s.menu },
301
- children: bt
301
+ children: ht
302
302
  }
303
- ) : null, ht = h ? me : ie ? pe : void 0;
304
- return Je ? /* @__PURE__ */ z(
303
+ ) : null, yt = y ? me : ie ? pe : void 0;
304
+ return Je ? /* @__PURE__ */ B(
305
305
  "div",
306
306
  {
307
307
  ref: ge,
@@ -314,7 +314,7 @@ function Vt({
314
314
  ),
315
315
  style: s.root,
316
316
  children: [
317
- /* @__PURE__ */ z(
317
+ I && /* @__PURE__ */ B(
318
318
  "label",
319
319
  {
320
320
  id: ue,
@@ -322,12 +322,12 @@ function Vt({
322
322
  className: c(i.label, _e),
323
323
  style: s.label,
324
324
  children: [
325
- H,
325
+ I,
326
326
  G && /* @__PURE__ */ o("span", { "aria-hidden": "true", children: " *" })
327
327
  ]
328
328
  }
329
329
  ),
330
- /* @__PURE__ */ z(
330
+ /* @__PURE__ */ B(
331
331
  "div",
332
332
  {
333
333
  ref: ve.setReference,
@@ -335,7 +335,7 @@ function Vt({
335
335
  "inconel-select-control",
336
336
  n && "inconel-is-open",
337
337
  p && "inconel-is-disabled",
338
- !!h && "inconel-has-error",
338
+ !!y && "inconel-has-error",
339
339
  i.control
340
340
  ),
341
341
  style: s.control,
@@ -343,20 +343,20 @@ function Vt({
343
343
  /* @__PURE__ */ o(
344
344
  "input",
345
345
  {
346
- ref: L,
346
+ ref: A,
347
347
  id: d,
348
348
  role: "combobox",
349
349
  "aria-expanded": n,
350
350
  "aria-controls": fe,
351
351
  "aria-autocomplete": "list",
352
352
  "aria-activedescendant": n && l[a] ? `${d}-option-${a}` : void 0,
353
- "aria-describedby": ht,
354
- "aria-invalid": !!h,
353
+ "aria-describedby": yt,
354
+ "aria-invalid": !!y,
355
355
  "aria-required": oe,
356
356
  "aria-busy": W,
357
357
  required: G,
358
358
  disabled: p,
359
- readOnly: A || !Te,
359
+ readOnly: E || !Te,
360
360
  autoFocus: Ue,
361
361
  autoComplete: "off",
362
362
  placeholder: it,
@@ -367,25 +367,25 @@ function Vt({
367
367
  const t = Xe ? e.target.value.toLocaleUpperCase(
368
368
  f.locale ?? "tr-TR"
369
369
  ) : e.target.value;
370
- K(t), u(0), I?.(t), E();
370
+ K(t), u(0), L?.(t), z();
371
371
  },
372
- onClick: E,
372
+ onClick: z,
373
373
  onFocus: (e) => {
374
- E(), _ && !m && e.currentTarget.select();
374
+ z(), _ && !m && e.currentTarget.select();
375
375
  },
376
376
  onBlur: We,
377
377
  onKeyDown: gt
378
378
  }
379
379
  ),
380
380
  W && /* @__PURE__ */ o("span", { className: "inconel-select-spinner", "aria-hidden": "true" }),
381
- le && g !== null && !p && !A && /* @__PURE__ */ o(
381
+ le && g !== null && !p && !E && /* @__PURE__ */ o(
382
382
  "button",
383
383
  {
384
384
  type: "button",
385
385
  className: c("inconel-select-clear", i.clearButton),
386
386
  style: s.clearButton,
387
387
  "aria-label": ct,
388
- onClick: q,
388
+ onClick: H,
389
389
  children: "×"
390
390
  }
391
391
  ),
@@ -399,7 +399,7 @@ function Vt({
399
399
  "aria-expanded": n,
400
400
  disabled: p,
401
401
  tabIndex: -1,
402
- onClick: () => n ? k() : E(),
402
+ onClick: () => n ? k() : z(),
403
403
  children: /* @__PURE__ */ o(
404
404
  "svg",
405
405
  {
@@ -438,12 +438,12 @@ function Vt({
438
438
  Dt,
439
439
  {
440
440
  hint: ie,
441
- errorMessage: T === "in" ? void 0 : h,
441
+ errorMessage: T === "in" ? void 0 : y,
442
442
  hintId: pe,
443
443
  errorId: me
444
444
  }
445
445
  ),
446
- F && ee ? Bt(ee, F) : ee
446
+ N && ee ? Bt(ee, N) : ee
447
447
  ]
448
448
  }
449
449
  ) : null;