"use client"; /* * Documentation: * Search Input — https://app.subframe.com/f023064a5ca0/library?component=Search+Input_75a35ed3-52c0-4435-8586-e390eb77d723 */ import React from "react"; import { FeatherLoader } from "@subframe/core"; import { FeatherSearch } from "@subframe/core"; import { FeatherX } from "@subframe/core"; import * as SubframeUtils from "../../utils"; import { BadgeShortcut } from "../BadgeShortcut"; export interface SearchInputRootProps extends Omit, "placeholder" | "onChange"> { disabled?: boolean; error?: boolean; state?: "default" | "loading" | "filled"; variant?: "outline" | "filled"; size?: "small" | "medium" | "large"; fillContainer?: boolean; borderless?: boolean; noPadding?: boolean; showLabel?: boolean; label?: React.ReactNode; helpText?: React.ReactNode; // @subframe/sync-disable -- local fix: placeholder targets a native und muss ein string sein (nicht ReactNode). placeholder?: string; hideShortcut?: boolean; // @subframe/sync-disable -- local fix: Subframe-SearchInput ist nur Deko (value="" hart). value/onChange machen es optional controllable (echtes Filter-Feld); ohne onChange -> readOnly-Trigger. value?: string; onChange?: React.ChangeEventHandler; className?: string; } const SearchInputRoot = React.forwardRef( function SearchInputRoot( { disabled = false, error = false, state = "default", variant = "outline", size = "medium", fillContainer = false, borderless = false, noPadding = false, showLabel = false, label, helpText, placeholder, hideShortcut = false, value, onChange, className, ...otherProps }: SearchInputRootProps, ref ) { return (
{label ? ( {label} ) : null} {helpText ? ( {helpText} ) : null}
{/* @subframe/sync-disable -- local fix: Feld als