{"version":3,"file":"Title.mjs","sources":["../../src/title/Title.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport React, { forwardRef, LabelHTMLAttributes, LiHTMLAttributes } from 'react';\n\nimport { TitleTypes, Typography, Heading } from '../common';\n\nconst DEFAULT_TYPE = Typography.TITLE_GROUP;\n\nconst titleTypeMapping = {\n  [Typography.TITLE_SCREEN]: 'h1',\n  [Typography.TITLE_SECTION]: 'h2',\n  [Typography.TITLE_SUBSECTION]: 'h3',\n  [Typography.TITLE_BODY]: 'h4',\n  [Typography.TITLE_GROUP]: 'h5',\n} as const;\n\ntype Props = LabelHTMLAttributes<HTMLHeadingElement | HTMLSpanElement | HTMLLabelElement> &\n  LiHTMLAttributes<HTMLLIElement> & {\n    /**\n     * Default value will based one `type` prop\n     */\n    as?: 'span' | 'label' | 'li' | 'legend' | 'header' | Heading;\n    /**\n     * Default value: {@link DEFAULT_TYPE}\n     */\n    type?: TitleTypes;\n  };\n\nconst Title = React.forwardRef<HTMLHeadingElement | HTMLSpanElement | HTMLLabelElement, Props>(\n  ({ as, type = DEFAULT_TYPE, className, ...props }, ref) => {\n    const mapping = titleTypeMapping[type as keyof typeof titleTypeMapping];\n    const isTypeSupported = mapping !== undefined;\n    if (isTypeSupported) {\n      const HeaderTag = as ?? mapping;\n      return (\n        <HeaderTag\n          ref={ref as React.Ref<any>}\n          {...props}\n          className={clsx(`np-text-${type}`, className)}\n        />\n      );\n    }\n    const HeaderTag = as ?? titleTypeMapping[DEFAULT_TYPE];\n    return (\n      <HeaderTag\n        ref={ref as React.Ref<any>}\n        {...props}\n        className={clsx(`np-text-${DEFAULT_TYPE}`, className)}\n      />\n    );\n  },\n);\n\nexport default Title;\n"],"names":["DEFAULT_TYPE","Typography","TITLE_GROUP","titleTypeMapping","TITLE_SCREEN","TITLE_SECTION","TITLE_SUBSECTION","TITLE_BODY","Title","React","forwardRef","as","type","className","props","ref","mapping","isTypeSupported","undefined","HeaderTag","_jsx","clsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,YAAY,GAAGC,UAAU,CAACC,WAAW;AAE3C,MAAMC,gBAAgB,GAAG;AACvB,EAAA,CAACF,UAAU,CAACG,YAAY,GAAG,IAAI;AAC/B,EAAA,CAACH,UAAU,CAACI,aAAa,GAAG,IAAI;AAChC,EAAA,CAACJ,UAAU,CAACK,gBAAgB,GAAG,IAAI;AACnC,EAAA,CAACL,UAAU,CAACM,UAAU,GAAG,IAAI;EAC7B,CAACN,UAAU,CAACC,WAAW,GAAG;CAClB;AAcV,MAAMM,KAAK,gBAAGC,cAAK,CAACC,UAAU,CAC5B,CAAC;EAAEC,EAAE;AAAEC,EAAAA,IAAI,GAAGZ,YAAY;EAAEa,SAAS;EAAE,GAAGC;AAAK,CAAE,EAAEC,GAAG,KAAI;AACxD,EAAA,MAAMC,OAAO,GAAGb,gBAAgB,CAACS,IAAqC,CAAC;AACvE,EAAA,MAAMK,eAAe,GAAGD,OAAO,KAAKE,SAAS;AAC7C,EAAA,IAAID,eAAe,EAAE;AACnB,IAAA,MAAME,SAAS,GAAGR,EAAE,IAAIK,OAAO;IAC/B,oBACEI,GAAA,CAACD,SAAS,EAAA;AACRJ,MAAAA,GAAG,EAAEA,GAAsB;AAAA,MAAA,GACvBD,KAAK;AACTD,MAAAA,SAAS,EAAEQ,IAAI,CAAC,WAAWT,IAAI,CAAA,CAAE,EAAEC,SAAS;AAAE,KAAA,CAC9C;AAEN,EAAA;AACA,EAAA,MAAMM,SAAS,GAAGR,EAAE,IAAIR,gBAAgB,CAACH,YAAY,CAAC;EACtD,oBACEoB,GAAA,CAACD,SAAS,EAAA;AACRJ,IAAAA,GAAG,EAAEA,GAAsB;AAAA,IAAA,GACvBD,KAAK;AACTD,IAAAA,SAAS,EAAEQ,IAAI,CAAC,WAAWrB,YAAY,CAAA,CAAE,EAAEa,SAAS;AAAE,GAAA,CACtD;AAEN,CAAC;;;;"}