{"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;;;;"}