UNPKG

@spark-ui/components

Version:

Spark (Leboncoin design system) components.

149 lines (143 loc) 3.73 kB
import { TextLink } from "../chunk-STJ7NDWM.mjs"; import { Icon } from "../chunk-AESXFMCC.mjs"; import "../chunk-NBZKMCHF.mjs"; import { Slot } from "../chunk-4F5DOL57.mjs"; // src/breadcrumb/Breadcrumb.tsx import { cx } from "class-variance-authority"; import { jsx } from "react/jsx-runtime"; var Breadcrumb = ({ className, "aria-label": ariaLabel, ref, ...rest }) => { return /* @__PURE__ */ jsx( "nav", { "data-spark-component": "breadcrumb", ref, "aria-label": ariaLabel, className: cx("text-caption text-neutral", className), children: /* @__PURE__ */ jsx("ol", { className: cx("gap-sm flex flex-wrap items-center break-words"), ...rest }) } ); }; Breadcrumb.displayName = "Breadcrumb.Breadcrumb"; // src/breadcrumb/BreadcrumbCurrentPage.tsx import { cx as cx2 } from "class-variance-authority"; import { jsx as jsx2 } from "react/jsx-runtime"; var CurrentPage = ({ asChild = false, className, children, ...rest }) => { const Component = asChild ? Slot : "span"; return /* @__PURE__ */ jsx2( Component, { "data-spark-component": "breadcrumb-current-page", role: "link", "aria-disabled": true, "aria-current": "page", className: cx2( "inline! overflow-hidden font-bold text-ellipsis whitespace-nowrap text-current", className ), ...rest, children } ); }; CurrentPage.displayName = "Breadcrumb.CurrentPage"; // src/breadcrumb/BreadcrumbItem.tsx import { cx as cx3 } from "class-variance-authority"; import { jsx as jsx3 } from "react/jsx-runtime"; var Item = ({ className, ...rest }) => { return /* @__PURE__ */ jsx3( "li", { "data-spark-component": "breadcrumb-item", className: cx3("min-w-none gap-sm inline-flex items-center", className), ...rest } ); }; Item.displayName = "Breadcrumb.Item"; // src/breadcrumb/BreadcrumbLink.tsx import { cx as cx4 } from "class-variance-authority"; import { jsx as jsx4 } from "react/jsx-runtime"; var Link = ({ asChild = false, className, bold = true, intent = "current", underline = true, href, ref, ...rest }) => { const Component = asChild ? Slot : TextLink; return /* @__PURE__ */ jsx4( Component, { "data-spark-component": "breadcrumb-link", href, ref, className: cx4("inline! overflow-hidden text-ellipsis whitespace-nowrap", className), bold, intent, underline, ...rest } ); }; Link.displayName = "Breadcrumb.Link"; // src/breadcrumb/BreadcrumbSeparator.tsx import { ArrowVerticalRight } from "@spark-ui/icons/ArrowVerticalRight"; import { cx as cx5 } from "class-variance-authority"; import { jsx as jsx5 } from "react/jsx-runtime"; var Separator = ({ asChild = false, className, children, ref, ...rest }) => { const Component = asChild ? Slot : "li"; return /* @__PURE__ */ jsx5( Component, { role: "presentation", "aria-hidden": true, "data-spark-component": "breadcrumb-separator", ref, className: cx5("gap-sm inline-flex items-center", className), ...rest, children: children ?? /* @__PURE__ */ jsx5(Icon, { children: /* @__PURE__ */ jsx5(ArrowVerticalRight, {}) }) } ); }; Separator.displayName = "Breadcrumb.Separator"; // src/breadcrumb/index.ts var Breadcrumb2 = Object.assign(Breadcrumb, { Item, Link, CurrentPage, Separator }); Breadcrumb2.displayName = "Breadcrumb"; Item.displayName = "Breadcrumb.Item"; Link.displayName = "Breadcrumb.Link"; CurrentPage.displayName = "Breadcrumb.CurrentPage"; Separator.displayName = "Breadcrumb.Separator"; export { Breadcrumb2 as Breadcrumb }; //# sourceMappingURL=index.mjs.map