design-react-kit
Version:
Componenti React per Bootstrap 5
1 lines • 2.92 kB
Source Map (JSON)
{"version":3,"sources":["../../src/Header/Header.tsx","../../src/Header/HeaderContext.tsx"],"sourcesContent":["import React, { FC, HTMLAttributes } from 'react';\nimport classNames from 'classnames';\n\nimport { HeaderContext, CENTER, NAVBAR } from './HeaderContext';\n\nexport interface HeaderProps extends HTMLAttributes<HTMLElement> {\n /** Classi aggiuntive da usare per il componente Header */\n className?: string;\n /** Tipo di componente Header: può essere solamente uno di questi tre tipi */\n type: 'slim' | 'center' | 'navbar';\n /** Riduce la grandezza del componente Header. Funziona solamente con Header \"center\". */\n small?: boolean;\n /** Imposta il tema per il componente Header. Per gli Header di tipo \"slim\" o \"center\"\n * il valore di default è \"dark\". Per l'Header di tipo \"nav\" il tema di default è \"light\"\n * in mobile, mentre \"dark\" in versione desktop.\n */\n theme?: 'light' | 'dark' | '';\n testId?: string;\n}\n\nexport const Header: FC<HeaderProps> = ({ className, small = false, theme = '', type, testId, ...attributes }) => {\n // use context here as theme\n const classes = classNames(className, {\n [`it-header-${type}-wrapper`]: type,\n 'it-small-header': type === CENTER && small,\n [`theme-${theme}`]: type !== NAVBAR && theme,\n 'theme-dark-mobile': type === NAVBAR && theme === 'dark',\n 'theme-light-desk': type === NAVBAR && theme === 'light'\n });\n return (\n <HeaderContext.Provider value={{ type }}>\n <div className={classes} {...attributes} data-testid={testId} />\n </HeaderContext.Provider>\n );\n};\n","import { createContext, useContext } from 'react';\n\nexport const SLIM = 'slim';\nexport const CENTER = 'center';\nexport const NAVBAR = 'navbar';\n\nexport const HeaderContext = /* @__PURE__ */ createContext<{\n type?: typeof SLIM | typeof CENTER | typeof NAVBAR;\n}>({});\n\nexport const useHeaderContext = () => {\n const { type } = useContext(HeaderContext);\n return type;\n};\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAA0C,sBAC1CC,EAAuB,2BCDvB,IAAAC,EAA0C,iBAGnC,IAAMC,EAAS,SACTC,EAAS,SAETC,KAAgC,iBAE1C,CAAC,CAAC,EDYE,IAAMC,EAA0B,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAQ,GAAO,MAAAC,EAAQ,GAAI,KAAAC,EAAM,OAAAC,EAAQ,GAAGC,CAAW,IAAM,CAEhH,IAAMC,KAAU,EAAAC,SAAWP,EAAW,CACpC,CAAC,aAAaG,CAAI,UAAU,EAAGA,EAC/B,kBAAmBA,IAASK,GAAUP,EACtC,CAAC,SAASC,CAAK,EAAE,EAAGC,IAASM,GAAUP,EACvC,oBAAqBC,IAASM,GAAUP,IAAU,OAClD,mBAAoBC,IAASM,GAAUP,IAAU,OACnD,CAAC,EACD,OACE,EAAAQ,QAAA,cAACC,EAAc,SAAd,CAAuB,MAAO,CAAE,KAAAR,CAAK,GACpC,EAAAO,QAAA,cAAC,OAAI,UAAWJ,EAAU,GAAGD,EAAY,cAAaD,EAAQ,CAChE,CAEJ","names":["Header_exports","__export","Header","__toCommonJS","import_react","import_classnames","import_react","CENTER","NAVBAR","HeaderContext","Header","className","small","theme","type","testId","attributes","classes","classNames","CENTER","NAVBAR","React","HeaderContext"]}