{"version":3,"file":"Tag.mjs","sources":["../../../../src/components/Tag/Tag.tsx"],"sourcesContent":["'use client'\n\nimport { forwardRef, memo } from 'react'\n\nimport { CancelSmallIcon } from '@channel.io/bezier-icons'\n\nimport { isEmpty, isNil } from '~/src/utils/type'\n\nimport { BaseTagBadge, BaseTagBadgeText } from '~/src/components/BaseTagBadge'\nimport { Icon } from '~/src/components/Icon'\n\nimport { type TagProps } from './Tag.types'\n\nimport styles from './Tag.module.scss'\n\n/**\n * @deprecated\n */\nconst TAG_TEST_ID = 'bezier-tag'\n\n/**\n * @deprecated\n */\nconst TAG_DELETE_TEST_ID = 'bezier-tag-delete-icon'\n\n/**\n * `Tag` is a component for representing tag, which shows close icon when `onDelete` property is specified.\n * @example\n * ```tsx\n * <Tag\n *   size=\"m\"\n *   variant=\"default\"\n *   onDelete={handleDelete}\n * >\n *   Payment\n * </Tag>\n * ```\n */\nexport const Tag = memo(\n  forwardRef<HTMLDivElement, TagProps>(function Tag(\n    { size = 'm', variant = 'default', children, onDelete, ...rest },\n    forwardedRef\n  ) {\n    return (\n      <BaseTagBadge\n        ref={forwardedRef}\n        size={size}\n        variant={variant}\n        data-testid={TAG_TEST_ID}\n        {...rest}\n      >\n        {!isEmpty(children) && (\n          <BaseTagBadgeText\n            size={size}\n            marginHorizontal={2}\n            color=\"text-neutral\"\n          >\n            {children}\n          </BaseTagBadgeText>\n        )}\n\n        {!isNil(onDelete) && (\n          <Icon\n            role=\"button\"\n            aria-label=\"delete\"\n            tabIndex={0}\n            className={styles.TagDeleteIcon}\n            source={CancelSmallIcon}\n            size=\"xs\"\n            color=\"text-neutral-light\"\n            onClick={(e) => {\n              e.stopPropagation()\n              onDelete(e)\n            }}\n            data-testid={TAG_DELETE_TEST_ID}\n          />\n        )}\n      </BaseTagBadge>\n    )\n  })\n)\n"],"names":["TAG_TEST_ID","TAG_DELETE_TEST_ID","Tag","memo","forwardRef","size","variant","children","onDelete","rest","forwardedRef","_jsxs","BaseTagBadge","ref","isEmpty","_jsx","BaseTagBadgeText","marginHorizontal","color","isNil","Icon","role","tabIndex","className","styles","TagDeleteIcon","source","CancelSmallIcon","onClick","e","stopPropagation"],"mappings":";;;;;;;;AAkBA,MAAMA,WAAW,GAAG,YAAY;;AAEhC;AACA;AACA;AACA,MAAMC,kBAAkB,GAAG,wBAAwB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,GAAG,gBAAGC,IAAI,cACrBC,UAAU,CAA2B,SAASF,GAAGA,CAC/C;AAAEG,EAAAA,IAAI,GAAG,GAAG;AAAEC,EAAAA,OAAO,GAAG,SAAS;EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAChEC,YAAY,EACZ;EACA,oBACEC,IAAA,CAACC,YAAY,EAAA;AACXC,IAAAA,GAAG,EAAEH,YAAa;AAClBL,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,OAAO,EAAEA,OAAQ;AACjB,IAAA,aAAA,EAAaN,WAAY;AAAA,IAAA,GACrBS,IAAI;IAAAF,QAAA,EAAA,CAEP,CAACO,OAAO,CAACP,QAAQ,CAAC,iBACjBQ,GAAA,CAACC,gBAAgB,EAAA;AACfX,MAAAA,IAAI,EAAEA,IAAK;AACXY,MAAAA,gBAAgB,EAAE,CAAE;AACpBC,MAAAA,KAAK,EAAC,cAAc;AAAAX,MAAAA,QAAA,EAEnBA;KACe,CACnB,EAEA,CAACY,KAAK,CAACX,QAAQ,CAAC,iBACfO,GAAA,CAACK,IAAI,EAAA;AACHC,MAAAA,IAAI,EAAC,QAAQ;AACb,MAAA,YAAA,EAAW,QAAQ;AACnBC,MAAAA,QAAQ,EAAE,CAAE;MACZC,SAAS,EAAEC,MAAM,CAACC,aAAc;AAChCC,MAAAA,MAAM,EAAEC,eAAgB;AACxBtB,MAAAA,IAAI,EAAC,IAAI;AACTa,MAAAA,KAAK,EAAC,oBAAoB;MAC1BU,OAAO,EAAGC,CAAC,IAAK;QACdA,CAAC,CAACC,eAAe,EAAE;QACnBtB,QAAQ,CAACqB,CAAC,CAAC;OACX;MACF,aAAa5B,EAAAA;AAAmB,KACjC,CACF;AAAA,GACW,CAAC;AAEnB,CAAC,CACH;;;;"}