UNPKG

flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

1 lines 3.69 kB
{"version":3,"file":"BreadcrumbItem.cjs","sources":["../../../src/components/Breadcrumb/BreadcrumbItem.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ComponentProps, FC } from \"react\";\nimport { forwardRef } from \"react\";\nimport { get } from \"../../helpers/get\";\nimport { resolveProps } from \"../../helpers/resolve-props\";\nimport { useResolveTheme } from \"../../helpers/resolve-theme\";\nimport { twMerge } from \"../../helpers/tailwind-merge\";\nimport { ChevronRightIcon } from \"../../icons/chevron-right-icon\";\nimport { useThemeProvider } from \"../../theme/provider\";\nimport type { FlowbiteBoolean, ThemingProps } from \"../../types\";\nimport { breadcrumbTheme } from \"./theme\";\n\nexport interface BreadcrumbItemTheme {\n base: string;\n chevron: string;\n href: FlowbiteBoolean;\n icon: string;\n}\n\nexport interface BreadcrumbItemProps extends Omit<ComponentProps<\"li\">, \"ref\">, ThemingProps<BreadcrumbItemTheme> {\n href?: string;\n icon?: FC<ComponentProps<\"svg\">>;\n}\n\nexport const BreadcrumbItem = forwardRef<HTMLAnchorElement | HTMLSpanElement, BreadcrumbItemProps>((props, ref) => {\n const provider = useThemeProvider();\n const theme = useResolveTheme(\n [breadcrumbTheme.item, provider.theme?.breadcrumb?.item, props.theme],\n [get(provider.clearTheme, \"breadcrumb.item\"), props.clearTheme],\n [get(provider.applyTheme, \"breadcrumb.item\"), props.applyTheme],\n );\n\n const { children, className, href, icon: Icon, ...restProps } = resolveProps(props, provider.props?.breadcrumbItem);\n\n const isLink = typeof href !== \"undefined\";\n const Component = isLink ? \"a\" : \"span\";\n\n return (\n <li className={twMerge(theme.base, className)} {...restProps}>\n <ChevronRightIcon aria-hidden className={theme.chevron} data-testid=\"flowbite-breadcrumb-separator\" />\n <Component\n ref={ref as never}\n className={theme.href[isLink ? \"on\" : \"off\"]}\n data-testid=\"flowbite-breadcrumb-item\"\n href={href}\n >\n {Icon && <Icon aria-hidden className={theme.icon} />}\n {children}\n </Component>\n </li>\n );\n});\n\nBreadcrumbItem.displayName = \"BreadcrumbItem\";\n"],"names":["forwardRef","provider","useThemeProvider","theme","useResolveTheme","breadcrumbTheme","get","resolveProps","jsxs","twMerge","jsx","ChevronRightIcon"],"mappings":";;;;;;;;;;;;AAWY,MAAC,cAAc,GAAGA,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AACzD,EAAE,MAAMC,UAAQ,GAAGC,yBAAgB,EAAE;AACrC,EAAE,MAAMC,OAAK,GAAGC,4BAAe;AAC/B,IAAI,CAACC,qBAAe,CAAC,IAAI,EAAEJ,UAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;AACzE,IAAI,CAACK,OAAG,CAACL,UAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;AACnE,IAAI,CAACK,OAAG,CAACL,UAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,KAAK,CAAC,UAAU;AAClE,GAAG;AACH,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,GAAGM,yBAAY,CAAC,KAAK,EAAEN,UAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;AACrH,EAAE,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,WAAW;AAC5C,EAAE,MAAM,SAAS,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM;AACzC,EAAE,uBAAuBO,eAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAEC,qBAAO,CAACN,OAAK,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE;AACzG,oBAAoBO,cAAG,CAACC,iCAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAER,OAAK,CAAC,OAAO,EAAE,aAAa,EAAE,+BAA+B,EAAE,CAAC;AAC5I,oBAAoBK,eAAI;AACxB,MAAM,SAAS;AACf,MAAM;AACN,QAAQ,GAAG;AACX,QAAQ,SAAS,EAAEL,OAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,KAAK,CAAC;AACpD,QAAQ,aAAa,EAAE,0BAA0B;AACjD,QAAQ,IAAI;AACZ,QAAQ,QAAQ,EAAE;AAClB,UAAU,IAAI,oBAAoBO,cAAG,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAEP,OAAK,CAAC,IAAI,EAAE,CAAC;AAC3F,UAAU;AACV;AACA;AACA;AACA,GAAG,EAAE,CAAC;AACN,CAAC;AACD,cAAc,CAAC,WAAW,GAAG,gBAAgB;;;;"}