{"version":3,"file":"TextFieldSearch.cjs","sourceRoot":"","sources":["../../../src/components/TextFieldSearch/TextFieldSearch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAE1C,uDAA+C;AAC/C,wDAA2D;AAC3D,4CAA8D;AAC9D,sDAAuE;AAI1D,QAAA,eAAe,GAAG,IAAA,kBAAU,EACvC,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,8BAAC,uBAAU,mBACG,gCAAgC,EAC5C,SAAS,EAAC,OAAO,EACjB,QAAQ,EAAE,eAAQ,CAAC,OAAO,EAC1B,IAAI,EAAE,2BAAc,CAAC,EAAE,EACvB,SAAS,EAAE,EAAE,KAAK,EAAE,gBAAS,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,8BAAC,qBAAS,IACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,yBAAa,CAAC,MAAM,EAC1B,IAAI,EAAE,yBAAa,CAAC,EAAE,EACtB,SAAS,EAAE,IAAA,kBAAO,EAChB,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,IAAA,kBAAO,EAChB,wKAAwK,EACxK,UAAU,EAAE,SAAS,CACtB;SACF,EACD,cAAc,EACZ,cAAc,IAAI,CAChB,8BAAC,WAAI,IACH,IAAI,EAAE,eAAQ,CAAC,MAAM,EACrB,IAAI,EAAE,eAAQ,CAAC,EAAE,EACjB,KAAK,EAAE,gBAAS,CAAC,eAAe,GAChC,CACH,EAEH,YAAY,EAAE,oBAAoB,KAC9B,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,uBAAe,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"]}