PluginProbe
Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO / 1.4.19
Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO v1.4.19
1.4.19 1.4.18 1.4.17 1.4.16 1.4.15 1.4.14 1.4.13 1.4.12 1.4.11 1.4.10 1.4.9 1.4.8 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.54 1.3.53 1.3.52 1.3.51 1.3.50 All 182 releases
disco / backend / views / components / Analytics / components / ui / breadcrumb.jsx

breadcrumb.jsx in Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO 1.4.19, at backend/views/components/Analytics/components/ui/breadcrumb.jsx

117 lines 2.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import { mergeProps } from '@base-ui/react/merge-props';
2 import { useRender } from '@base-ui/react/use-render';
3
4 import { cn } from '@/lib/utils';
5 import { ChevronRightIcon, MoreHorizontalIcon } from 'lucide-react';
6
7 function Breadcrumb({ className, ...props }) {
8 return (
9 <nav
10 aria-label="breadcrumb"
11 data-slot="breadcrumb"
12 className={cn(className)}
13 {...props}
14 />
15 );
16 }
17
18 function BreadcrumbList({ className, ...props }) {
19 return (
20 <ul
21 data-slot="breadcrumb-list"
22 className={cn(
23 'disco:flex disco:flex-wrap disco:items-center disco:gap-1.5 disco:text-sm disco:wrap-break-word disco:text-muted-foreground',
24 className
25 )}
26 {...props}
27 />
28 );
29 }
30
31 function BreadcrumbItem({ className, ...props }) {
32 return (
33 <li
34 data-slot="breadcrumb-item"
35 className={cn(
36 'disco:inline-flex disco:items-center disco:gap-1',
37 className
38 )}
39 {...props}
40 />
41 );
42 }
43
44 function BreadcrumbLink({ className, render, ...props }) {
45 return useRender({
46 defaultTagName: 'a',
47 props: mergeProps(
48 {
49 className: cn(
50 'disco:transition-colors disco:text-gray-600! disco:hover:text-primary!',
51 className
52 ),
53 },
54 props
55 ),
56 render,
57 state: {
58 slot: 'breadcrumb-link',
59 },
60 });
61 }
62
63 function BreadcrumbPage({ className, ...props }) {
64 return (
65 <span
66 data-slot="breadcrumb-page"
67 role="link"
68 aria-disabled="true"
69 aria-current="page"
70 className={cn('disco:font-normal disco:text-foreground', className)}
71 {...props}
72 />
73 );
74 }
75
76 function BreadcrumbSeparator({ children, className, ...props }) {
77 return (
78 <li
79 data-slot="breadcrumb-separator"
80 role="presentation"
81 aria-hidden="true"
82 className={cn('disco:[&>svg]:size-3.5', className)}
83 {...props}
84 >
85 {children ?? <ChevronRightIcon />}
86 </li>
87 );
88 }
89
90 function BreadcrumbEllipsis({ className, ...props }) {
91 return (
92 <span
93 data-slot="breadcrumb-ellipsis"
94 role="presentation"
95 aria-hidden="true"
96 className={cn(
97 'disco:flex disco:size-5 disco:items-center disco:justify-center disco:[&>svg]:size-4',
98 className
99 )}
100 {...props}
101 >
102 <MoreHorizontalIcon />
103 <span className="disco:sr-only">More</span>
104 </span>
105 );
106 }
107
108 export {
109 Breadcrumb,
110 BreadcrumbEllipsis,
111 BreadcrumbItem,
112 BreadcrumbLink,
113 BreadcrumbList,
114 BreadcrumbPage,
115 BreadcrumbSeparator,
116 };
117