{"version":3,"file":"TextFieldSearch.mjs","sourceRoot":"","sources":["../../../src/components/TextFieldSearch/TextFieldSearch.tsx"],"names":[],"mappings":";;;;;;AAAA,OAAO,QAAO,EAAE,UAAU,EAAE,cAAc;;AAE1C,OAAO,EAAE,OAAO,EAAE,iCAA6B;AAC/C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gCAAsB;AAC3D,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,0BAAgB;AAC9D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,+BAAqB;AAIvE,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CACvC,CACE,EACE,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,KAAK,EACL,cAAc,EACd,UAAU,GAAG,KAAK,EAClB,SAAS,EACT,cAAc,EACd,UAAU,EACV,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAC1B,oBAAC,UAAU,mBACG,gCAAgC,EAC5C,SAAS,EAAC,OAAO,EACjB,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAC1B,IAAI,EAAE,cAAc,CAAC,EAAE,EACvB,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE,KACvC,gBAAgB,EACpB,UAAU,EAAE,UAAU,IAAI,gBAAgB,EAAE,UAAU,EACtD,OAAO,EAAE,kBAAkB,GAC3B,CACH,CAAC,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,oBAAoB,GACxB,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,CAC5B;QACG,WAAW;QACX,YAAY,CACZ,CACJ,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,CACL,oBAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,aAAa,CAAC,MAAM,EAC1B,IAAI,EAAE,aAAa,CAAC,EAAE,EACtB,SAAS,EAAE,OAAO,CAChB,uBAAuB,EACvB,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,sBAAsB,EACvD,SAAS,CACV,EACD,UAAU,EAAE;YACV,GAAG,UAAU;YACb,YAAY,EAAE,cAAc;YAC5B,SAAS,EAAE,OAAO,CAChB,wKAAwK,EACxK,UAAU,EAAE,SAAS,CACtB;SACF,EACD,cAAc,EACZ,cAAc,IAAI,CAChB,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,CAAC,MAAM,EACrB,IAAI,EAAE,QAAQ,CAAC,EAAE,EACjB,KAAK,EAAE,SAAS,CAAC,eAAe,GAChC,CACH,EAEH,YAAY,EAAE,oBAAoB,KAC9B,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC","sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { twMerge } from '../../utils/tw-merge';\nimport { ButtonIcon, ButtonIconSize } from '../ButtonIcon';\nimport { Icon, IconColor, IconName, IconSize } from '../Icon';\nimport { TextField, TextFieldSize, TextFieldType } from '../TextField';\n\nimport type { TextFieldSearchProps } from './TextFieldSearch.types';\n\nexport const TextFieldSearch = forwardRef<HTMLDivElement, TextFieldSearchProps>(\n  (\n    {\n      clearButtonOnClick,\n      clearButtonProps,\n      endAccessory,\n      value,\n      startAccessory,\n      isDisabled = false,\n      className,\n      inputAriaLabel,\n      inputProps,\n      ...props\n    },\n    ref,\n  ) => {\n    const clearButton = value ? (\n      <ButtonIcon\n        data-testid=\"text-field-search-clear-button\"\n        ariaLabel=\"Clear\"\n        iconName={IconName.CircleX}\n        size={ButtonIconSize.Md}\n        iconProps={{ color: IconColor.IconDefault }}\n        {...clearButtonProps}\n        isDisabled={isDisabled || clearButtonProps?.isDisabled}\n        onClick={clearButtonOnClick}\n      />\n    ) : null;\n\n    const resolvedEndAccessory =\n      clearButton || endAccessory ? (\n        <>\n          {clearButton}\n          {endAccessory}\n        </>\n      ) : undefined;\n\n    return (\n      <TextField\n        ref={ref}\n        value={value}\n        isDisabled={isDisabled}\n        type={TextFieldType.Search}\n        size={TextFieldSize.Lg}\n        className={twMerge(\n          'rounded-full bg-muted',\n          !isDisabled && !props.isError && 'hover:bg-muted-hover',\n          className,\n        )}\n        inputProps={{\n          ...inputProps,\n          'aria-label': inputAriaLabel,\n          className: twMerge(\n            '[&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden [&::-webkit-search-results-button]:hidden [&::-webkit-search-results-decoration]:hidden',\n            inputProps?.className,\n          ),\n        }}\n        startAccessory={\n          startAccessory ?? (\n            <Icon\n              name={IconName.Search}\n              size={IconSize.Md}\n              color={IconColor.IconAlternative}\n            />\n          )\n        }\n        endAccessory={resolvedEndAccessory}\n        {...props}\n      />\n    );\n  },\n);\n\nTextFieldSearch.displayName = 'TextFieldSearch';\n"]}