flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
1 lines • 4.88 kB
Source Map (JSON)
{"version":3,"file":"DrawerHeader.cjs","sources":["../../../src/components/Drawer/DrawerHeader.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ComponentProps, FC } from \"react\";\nimport { forwardRef, useId } from \"react\";\nimport { get } from \"../../helpers/get\";\nimport { resolveProps } from \"../../helpers/resolve-props\";\nimport { useResolveTheme } from \"../../helpers/resolve-theme\";\nimport { CloseIcon as DefaultCloseIcon } from \"../../icons/close-icon\";\nimport { HomeIcon } from \"../../icons/home-icon\";\nimport { useThemeProvider } from \"../../theme/provider\";\nimport type { FlowbiteBoolean, ThemingProps } from \"../../types\";\nimport { useDrawerContext } from \"./DrawerContext\";\nimport { drawerTheme } from \"./theme\";\n\nexport interface DrawerHeaderTheme {\n inner: {\n titleIcon: string;\n titleText: string;\n closeButton: string;\n closeIcon: string;\n titleCloseIcon: string;\n };\n collapsed: FlowbiteBoolean;\n}\n\nexport interface DrawerHeaderProps extends ComponentProps<\"div\">, ThemingProps<DrawerHeaderTheme> {\n closeIcon?: FC<ComponentProps<\"svg\">>;\n title?: string;\n titleIcon?: FC<ComponentProps<\"svg\">>;\n}\n\nexport const DrawerHeader = forwardRef<HTMLDivElement, DrawerHeaderProps>((props, ref) => {\n const id = useId();\n\n const {\n id: mainDivId,\n isOpen,\n onClose,\n theme: rootTheme,\n clearTheme: rootClearTheme,\n applyTheme: rootApplyTheme,\n } = useDrawerContext();\n\n const provider = useThemeProvider();\n const theme = useResolveTheme(\n [drawerTheme.header, provider.theme?.drawer?.header, rootTheme?.header, props.theme],\n [get(provider.clearTheme, \"drawer.header\"), get(rootClearTheme, \"header\"), props.clearTheme],\n [get(provider.applyTheme, \"drawer.header\"), get(rootApplyTheme, \"header\"), props.applyTheme],\n );\n\n const {\n children,\n className,\n closeIcon: CloseIcon = DefaultCloseIcon,\n title,\n titleIcon: TitleIcon = HomeIcon,\n ...restProps\n } = resolveProps(props, provider.props?.drawerHeader);\n\n return (\n <div ref={ref} className={className} {...restProps}>\n <h5 className={theme.inner.titleText} id={mainDivId}>\n <TitleIcon aria-hidden className={theme.inner.titleIcon} />\n {title}\n </h5>\n <button onClick={onClose} type=\"button\" data-testid=\"close-drawer\" className={theme.inner.closeButton}>\n <CloseIcon aria-hidden className={theme.inner.closeIcon} />\n <span className={theme.inner.titleCloseIcon}>Close menu</span>\n </button>\n <span className={theme.collapsed[isOpen ? \"on\" : \"off\"]} id={`flowbite-drawer-header-${id}`}>\n {children}\n </span>\n </div>\n );\n});\n\nDrawerHeader.displayName = \"DrawerHeader\";\n"],"names":["forwardRef","useId","useDrawerContext","provider","useThemeProvider","theme","useResolveTheme","drawerTheme","get","DefaultCloseIcon","HomeIcon","resolveProps","jsxs","jsx"],"mappings":";;;;;;;;;;;;;AAYY,MAAC,YAAY,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACvD,EAAE,MAAM,EAAE,GAAGC,WAAK,EAAE;AACpB,EAAE,MAAM;AACR,IAAI,EAAE,EAAE,SAAS;AACjB,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,KAAK,EAAE,SAAS;AACpB,IAAI,UAAU,EAAE,cAAc;AAC9B,IAAI,UAAU,EAAE;AAChB,GAAG,GAAGC,8BAAgB,EAAE;AACxB,EAAE,MAAMC,UAAQ,GAAGC,yBAAgB,EAAE;AACrC,EAAE,MAAMC,OAAK,GAAGC,4BAAe;AAC/B,IAAI,CAACC,iBAAW,CAAC,MAAM,EAAEJ,UAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;AACxF,IAAI,CAACK,OAAG,CAACL,UAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,EAAEK,OAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;AAChG,IAAI,CAACA,OAAG,CAACL,UAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,EAAEK,OAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU;AAC/F,GAAG;AACH,EAAE,MAAM;AACR,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,SAAS,EAAE,SAAS,GAAGC,mBAAgB;AAC3C,IAAI,KAAK;AACT,IAAI,SAAS,EAAE,SAAS,GAAGC,iBAAQ;AACnC,IAAI,GAAG;AACP,GAAG,GAAGC,yBAAY,CAAC,KAAK,EAAER,UAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;AACvD,EAAE,uBAAuBS,eAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE;AAC/E,oBAAoBA,eAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAEP,OAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;AAC5F,sBAAsBQ,cAAG,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAER,OAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;AAC/F,MAAM;AACN,KAAK,EAAE,CAAC;AACR,oBAAoBO,eAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAEP,OAAK,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE;AACpJ,sBAAsBQ,cAAG,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAER,OAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;AAC/F,sBAAsBQ,cAAG,CAAC,MAAM,EAAE,EAAE,SAAS,EAAER,OAAK,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE;AACnG,KAAK,EAAE,CAAC;AACR,oBAAoBQ,cAAG,CAAC,MAAM,EAAE,EAAE,SAAS,EAAER,OAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE;AACnI,GAAG,EAAE,CAAC;AACN,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,cAAc;;;;"}