uiplex 1.3.1 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -0
- package/dist/Breadcrumb/Breadcrumb.d.ts +15 -0
- package/dist/Breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/Breadcrumb/index.d.ts +3 -0
- package/dist/Breadcrumb/index.d.ts.map +1 -0
- package/dist/index.cjs +14 -0
- package/dist/index.css +70 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -323,6 +323,26 @@ import { Link } from 'uiplex';
|
|
|
323
323
|
</Link>
|
|
324
324
|
```
|
|
325
325
|
|
|
326
|
+
### Breadcrumb
|
|
327
|
+
|
|
328
|
+
Breadcrumb navigation component for showing the current page location.
|
|
329
|
+
|
|
330
|
+
```tsx
|
|
331
|
+
import { Breadcrumb } from 'uiplex';
|
|
332
|
+
|
|
333
|
+
<Breadcrumb
|
|
334
|
+
items={[
|
|
335
|
+
{ label: "Home", href: "/" },
|
|
336
|
+
{ label: "Products", href: "/products" },
|
|
337
|
+
{ label: "Electronics", href: "/products/electronics" },
|
|
338
|
+
{ label: "Laptops" }
|
|
339
|
+
]}
|
|
340
|
+
separator="/"
|
|
341
|
+
/>
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
**Key Props:** `items` (BreadcrumbItem[]), `separator` (string | React.ReactNode)
|
|
345
|
+
|
|
326
346
|
### Layout Components
|
|
327
347
|
|
|
328
348
|
**Box** - Versatile container component
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./Breadcrumb.css";
|
|
3
|
+
export interface BreadcrumbItem {
|
|
4
|
+
label: string;
|
|
5
|
+
href?: string;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface BreadcrumbProps extends Omit<React.HTMLAttributes<HTMLElement>, "style"> {
|
|
9
|
+
items: BreadcrumbItem[];
|
|
10
|
+
separator?: string | React.ReactNode;
|
|
11
|
+
className?: string;
|
|
12
|
+
style?: React.CSSProperties;
|
|
13
|
+
}
|
|
14
|
+
export declare const Breadcrumb: React.FC<BreadcrumbProps>;
|
|
15
|
+
//# sourceMappingURL=Breadcrumb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../src/Breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,kBAAkB,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACxD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2DhD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Breadcrumb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -1351,6 +1351,19 @@ const AccordionPanel = ({ children, index = 0, className = "", style, }) => {
|
|
|
1351
1351
|
return (jsxRuntime.jsx("div", { id: `accordion-panel-${index}`, role: "region", "aria-labelledby": `accordion-button-${index}`, hidden: !isOpen, className: panelClasses, style: style, children: jsxRuntime.jsx("div", { className: "ui-accordion-panel__content", children: children }) }));
|
|
1352
1352
|
};
|
|
1353
1353
|
|
|
1354
|
+
const Breadcrumb = ({ items, separator = "/", className = "", style, ...props }) => {
|
|
1355
|
+
if (!items || items.length === 0) {
|
|
1356
|
+
return null;
|
|
1357
|
+
}
|
|
1358
|
+
const isLastItem = (index) => index === items.length - 1;
|
|
1359
|
+
return (jsxRuntime.jsx("nav", { className: `ui-breadcrumb ${className}`.trim(), style: style, "aria-label": "Breadcrumb", ...props, children: jsxRuntime.jsx("ol", { className: "ui-breadcrumb__list", children: items.map((item, index) => (jsxRuntime.jsxs("li", { className: "ui-breadcrumb__item", children: [item.href || item.onClick ? (jsxRuntime.jsx("a", { href: item.href, onClick: (e) => {
|
|
1360
|
+
if (item.onClick) {
|
|
1361
|
+
e.preventDefault();
|
|
1362
|
+
item.onClick();
|
|
1363
|
+
}
|
|
1364
|
+
}, className: `ui-breadcrumb__link ${isLastItem(index) ? "ui-breadcrumb__link--current" : ""}`.trim(), "aria-current": isLastItem(index) ? "page" : undefined, children: item.label })) : (jsxRuntime.jsx("span", { className: `ui-breadcrumb__text ${isLastItem(index) ? "ui-breadcrumb__text--current" : ""}`.trim(), "aria-current": isLastItem(index) ? "page" : undefined, children: item.label })), !isLastItem(index) && (jsxRuntime.jsx("span", { className: "ui-breadcrumb__separator", "aria-hidden": "true", children: separator }))] }, index))) }) }));
|
|
1365
|
+
};
|
|
1366
|
+
|
|
1354
1367
|
const useDisclosure = (defaultIsOpen = false) => {
|
|
1355
1368
|
const [isOpen, setIsOpen] = React.useState(defaultIsOpen);
|
|
1356
1369
|
const onOpen = React.useCallback(() => {
|
|
@@ -1567,6 +1580,7 @@ exports.AccordionButton = AccordionButton;
|
|
|
1567
1580
|
exports.AccordionItem = AccordionItem;
|
|
1568
1581
|
exports.AccordionPanel = AccordionPanel;
|
|
1569
1582
|
exports.Box = Box;
|
|
1583
|
+
exports.Breadcrumb = Breadcrumb;
|
|
1570
1584
|
exports.Button = Button;
|
|
1571
1585
|
exports.Checkbox = Checkbox;
|
|
1572
1586
|
exports.CheckboxGroup = CheckboxGroup;
|
package/dist/index.css
CHANGED
|
@@ -2091,6 +2091,7 @@
|
|
|
2091
2091
|
|
|
2092
2092
|
|
|
2093
2093
|
.ui-tooltip-wrapper {
|
|
2094
|
+
width: fit-content;
|
|
2094
2095
|
position: relative;
|
|
2095
2096
|
display: inline-block;
|
|
2096
2097
|
}
|
|
@@ -2449,6 +2450,7 @@
|
|
|
2449
2450
|
|
|
2450
2451
|
|
|
2451
2452
|
.ui-popover-wrapper {
|
|
2453
|
+
width: fit-content;
|
|
2452
2454
|
position: relative;
|
|
2453
2455
|
display: inline-block;
|
|
2454
2456
|
}
|
|
@@ -3611,6 +3613,74 @@
|
|
|
3611
3613
|
}
|
|
3612
3614
|
|
|
3613
3615
|
|
|
3616
|
+
.ui-breadcrumb {
|
|
3617
|
+
display: flex;
|
|
3618
|
+
align-items: center;
|
|
3619
|
+
}
|
|
3620
|
+
|
|
3621
|
+
.ui-breadcrumb__list {
|
|
3622
|
+
display: flex;
|
|
3623
|
+
flex-wrap: wrap;
|
|
3624
|
+
align-items: center;
|
|
3625
|
+
list-style: none;
|
|
3626
|
+
margin: 0;
|
|
3627
|
+
padding: 0;
|
|
3628
|
+
gap: 0.5rem;
|
|
3629
|
+
}
|
|
3630
|
+
|
|
3631
|
+
.ui-breadcrumb__item {
|
|
3632
|
+
display: flex;
|
|
3633
|
+
align-items: center;
|
|
3634
|
+
gap: 0.5rem;
|
|
3635
|
+
}
|
|
3636
|
+
|
|
3637
|
+
.ui-breadcrumb__link {
|
|
3638
|
+
color: var(--text-secondary, #6b7280);
|
|
3639
|
+
text-decoration: none;
|
|
3640
|
+
transition: color 0.2s ease-in-out;
|
|
3641
|
+
cursor: pointer;
|
|
3642
|
+
}
|
|
3643
|
+
|
|
3644
|
+
.ui-breadcrumb__link:hover {
|
|
3645
|
+
color: var(--text-primary, #111827);
|
|
3646
|
+
text-decoration: underline;
|
|
3647
|
+
}
|
|
3648
|
+
|
|
3649
|
+
.ui-breadcrumb__link:focus {
|
|
3650
|
+
outline: 2px solid var(--accent-primary, #bb00ed);
|
|
3651
|
+
outline-offset: 2px;
|
|
3652
|
+
border-radius: 2px;
|
|
3653
|
+
}
|
|
3654
|
+
|
|
3655
|
+
.ui-breadcrumb__link--current {
|
|
3656
|
+
color: var(--text-primary, #111827);
|
|
3657
|
+
font-weight: 500;
|
|
3658
|
+
cursor: default;
|
|
3659
|
+
pointer-events: none;
|
|
3660
|
+
}
|
|
3661
|
+
|
|
3662
|
+
.ui-breadcrumb__link--current:hover {
|
|
3663
|
+
text-decoration: none;
|
|
3664
|
+
color: var(--text-primary, #111827);
|
|
3665
|
+
}
|
|
3666
|
+
|
|
3667
|
+
.ui-breadcrumb__text {
|
|
3668
|
+
color: var(--text-secondary, #6b7280);
|
|
3669
|
+
}
|
|
3670
|
+
|
|
3671
|
+
.ui-breadcrumb__text--current {
|
|
3672
|
+
color: var(--text-primary, #111827);
|
|
3673
|
+
font-weight: 500;
|
|
3674
|
+
}
|
|
3675
|
+
|
|
3676
|
+
.ui-breadcrumb__separator {
|
|
3677
|
+
color: var(--text-muted, #9ca3af);
|
|
3678
|
+
user-select: none;
|
|
3679
|
+
display: flex;
|
|
3680
|
+
align-items: center;
|
|
3681
|
+
font-size: 0.875rem;
|
|
3682
|
+
}
|
|
3683
|
+
|
|
3614
3684
|
/* Uiplex Theme Variables */
|
|
3615
3685
|
|
|
3616
3686
|
:root {
|
package/dist/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ import './Toast/Toast.css';
|
|
|
19
19
|
import './Popover/Popover.css';
|
|
20
20
|
import './Tabs/Tabs.css';
|
|
21
21
|
import './Accordion/Accordion.css';
|
|
22
|
+
import './Breadcrumb/Breadcrumb.css';
|
|
22
23
|
import './Theme/theme.css';
|
|
23
24
|
export { Button } from './Button';
|
|
24
25
|
export type { ButtonProps } from './Button';
|
|
@@ -29,7 +30,7 @@ export type { RadioProps, RadioGroupProps } from './Radio';
|
|
|
29
30
|
export { Checkbox, CheckboxGroup } from './Checkbox';
|
|
30
31
|
export type { CheckboxProps, CheckboxGroupProps } from './Checkbox';
|
|
31
32
|
export { Text } from './Text';
|
|
32
|
-
export type { TextProps, TextSize, TextWeight,
|
|
33
|
+
export type { TextProps, TextSize, TextWeight, TextVariant, TextAlign } from './Text';
|
|
33
34
|
export { Modal, ModalOverlay, ModalContent, ModalHeader, ModalBody, ModalFooter, ModalCloseButton, } from './Modal';
|
|
34
35
|
export type { ModalProps, ModalOverlayProps, ModalContentProps, ModalHeaderProps, ModalBodyProps, ModalFooterProps, ModalCloseButtonProps, } from './Modal';
|
|
35
36
|
export { Box } from './Box';
|
|
@@ -62,6 +63,8 @@ export { Tabs, TabList, Tab, TabPanels, TabPanel } from './Tabs';
|
|
|
62
63
|
export type { TabsProps, TabListProps, TabProps, TabPanelsProps, TabPanelProps } from './Tabs';
|
|
63
64
|
export { Accordion, AccordionItem, AccordionButton, AccordionPanel } from './Accordion';
|
|
64
65
|
export type { AccordionProps, AccordionItemProps, AccordionButtonProps, AccordionPanelProps } from './Accordion';
|
|
66
|
+
export { Breadcrumb } from './Breadcrumb';
|
|
67
|
+
export type { BreadcrumbProps, BreadcrumbItem } from './Breadcrumb';
|
|
65
68
|
export { useDisclosure } from './hooks';
|
|
66
69
|
export type { UseDisclosureReturn } from './hooks';
|
|
67
70
|
export { useOutsideClick } from './hooks';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,qBAAqB,CAAA;AAC5B,OAAO,qBAAqB,CAAA;AAC5B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,yBAAyB,CAAA;AAChC,OAAO,iBAAiB,CAAA;AACxB,OAAO,eAAe,CAAA;AACtB,OAAO,iBAAiB,CAAA;AACxB,OAAO,mBAAmB,CAAA;AAC1B,OAAO,+BAA+B,CAAA;AACtC,OAAO,mBAAmB,CAAA;AAC1B,OAAO,yBAAyB,CAAA;AAChC,OAAO,qBAAqB,CAAA;AAC5B,OAAO,iBAAiB,CAAA;AACxB,OAAO,iBAAiB,CAAA;AACxB,OAAO,6BAA6B,CAAA;AACpC,OAAO,yCAAyC,CAAA;AAChD,OAAO,uBAAuB,CAAA;AAC9B,OAAO,mBAAmB,CAAA;AAC1B,OAAO,uBAAuB,CAAA;AAC9B,OAAO,iBAAiB,CAAA;AACxB,OAAO,2BAA2B,CAAA;AAClC,OAAO,mBAAmB,CAAA;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC3C,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACpD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1350,6 +1350,19 @@ const AccordionPanel = ({ children, index = 0, className = "", style, }) => {
|
|
|
1350
1350
|
return (jsx("div", { id: `accordion-panel-${index}`, role: "region", "aria-labelledby": `accordion-button-${index}`, hidden: !isOpen, className: panelClasses, style: style, children: jsx("div", { className: "ui-accordion-panel__content", children: children }) }));
|
|
1351
1351
|
};
|
|
1352
1352
|
|
|
1353
|
+
const Breadcrumb = ({ items, separator = "/", className = "", style, ...props }) => {
|
|
1354
|
+
if (!items || items.length === 0) {
|
|
1355
|
+
return null;
|
|
1356
|
+
}
|
|
1357
|
+
const isLastItem = (index) => index === items.length - 1;
|
|
1358
|
+
return (jsx("nav", { className: `ui-breadcrumb ${className}`.trim(), style: style, "aria-label": "Breadcrumb", ...props, children: jsx("ol", { className: "ui-breadcrumb__list", children: items.map((item, index) => (jsxs("li", { className: "ui-breadcrumb__item", children: [item.href || item.onClick ? (jsx("a", { href: item.href, onClick: (e) => {
|
|
1359
|
+
if (item.onClick) {
|
|
1360
|
+
e.preventDefault();
|
|
1361
|
+
item.onClick();
|
|
1362
|
+
}
|
|
1363
|
+
}, className: `ui-breadcrumb__link ${isLastItem(index) ? "ui-breadcrumb__link--current" : ""}`.trim(), "aria-current": isLastItem(index) ? "page" : undefined, children: item.label })) : (jsx("span", { className: `ui-breadcrumb__text ${isLastItem(index) ? "ui-breadcrumb__text--current" : ""}`.trim(), "aria-current": isLastItem(index) ? "page" : undefined, children: item.label })), !isLastItem(index) && (jsx("span", { className: "ui-breadcrumb__separator", "aria-hidden": "true", children: separator }))] }, index))) }) }));
|
|
1364
|
+
};
|
|
1365
|
+
|
|
1353
1366
|
const useDisclosure = (defaultIsOpen = false) => {
|
|
1354
1367
|
const [isOpen, setIsOpen] = useState(defaultIsOpen);
|
|
1355
1368
|
const onOpen = useCallback(() => {
|
|
@@ -1561,4 +1574,4 @@ const ThemeScript = ({ storageKey = "uiplex-theme", defaultTheme = "system" }) =
|
|
|
1561
1574
|
} }));
|
|
1562
1575
|
};
|
|
1563
1576
|
|
|
1564
|
-
export { Accordion, AccordionButton, AccordionItem, AccordionPanel, Box, Button, Checkbox, CheckboxGroup, CircularProgress, CircularProgressLabel, Flex, FormControl, FormErrorMessage, FormLabel, Grid, IconButton, Input, Link, Loader, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, Popover, PopoverBody, PopoverCloseButton, PopoverContent, PopoverFooter, PopoverHeader, Radio, RadioGroup, Select, Tab, TabList, TabPanel, TabPanels, Tabs, Text, Textarea, ThemeProvider, ThemeScript, ThemeToggle, ToastStatic as Toast, Toast as ToastComponent, ToastContainer, ToastContainerGlobal, Tooltip, useDisclosure, useOutsideClick, useTheme };
|
|
1577
|
+
export { Accordion, AccordionButton, AccordionItem, AccordionPanel, Box, Breadcrumb, Button, Checkbox, CheckboxGroup, CircularProgress, CircularProgressLabel, Flex, FormControl, FormErrorMessage, FormLabel, Grid, IconButton, Input, Link, Loader, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, Popover, PopoverBody, PopoverCloseButton, PopoverContent, PopoverFooter, PopoverHeader, Radio, RadioGroup, Select, Tab, TabList, TabPanel, TabPanels, Tabs, Text, Textarea, ThemeProvider, ThemeScript, ThemeToggle, ToastStatic as Toast, Toast as ToastComponent, ToastContainer, ToastContainerGlobal, Tooltip, useDisclosure, useOutsideClick, useTheme };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "uiplex",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "A modern React component library with TypeScript support, featuring Button, Loader, Radio components and a comprehensive theme system",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|