@veracity/vui 1.7.0 → 1.8.0-beta.0
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/dist/cjs/accordion/accordion.types.d.ts +6 -4
- package/dist/cjs/accordion/accordion.types.d.ts.map +1 -1
- package/dist/cjs/accordion/accordionItemHorizontal.d.ts +1 -1
- package/dist/cjs/accordion/accordionItemHorizontal.d.ts.map +1 -1
- package/dist/cjs/accordion/accordionItemHorizontal.js +4 -3
- package/dist/cjs/breadcrumbs/breadcrumbs.d.ts +10 -0
- package/dist/cjs/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/cjs/breadcrumbs/breadcrumbs.js +70 -0
- package/dist/cjs/breadcrumbs/breadcrumbs.types.d.ts +30 -0
- package/dist/cjs/breadcrumbs/breadcrumbs.types.d.ts.map +1 -0
- package/dist/cjs/breadcrumbs/breadcrumbs.types.js +2 -0
- package/dist/cjs/breadcrumbs/breadcrumbsItem.d.ts +5 -0
- package/dist/cjs/breadcrumbs/breadcrumbsItem.d.ts.map +1 -0
- package/dist/cjs/breadcrumbs/breadcrumbsItem.js +36 -0
- package/dist/cjs/breadcrumbs/breadcrumbsSeparator.d.ts +5 -0
- package/dist/cjs/breadcrumbs/breadcrumbsSeparator.d.ts.map +1 -0
- package/dist/cjs/breadcrumbs/breadcrumbsSeparator.js +28 -0
- package/dist/cjs/breadcrumbs/context.d.ts +5 -0
- package/dist/cjs/breadcrumbs/context.d.ts.map +1 -0
- package/dist/cjs/breadcrumbs/context.js +7 -0
- package/dist/cjs/breadcrumbs/index.d.ts +4 -0
- package/dist/cjs/breadcrumbs/index.d.ts.map +1 -0
- package/dist/cjs/breadcrumbs/index.js +24 -0
- package/dist/cjs/breadcrumbs/theme.d.ts +20 -0
- package/dist/cjs/breadcrumbs/theme.d.ts.map +1 -0
- package/dist/cjs/breadcrumbs/theme.js +24 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/theme/components.d.ts +18 -0
- package/dist/cjs/theme/components.d.ts.map +1 -1
- package/dist/cjs/theme/components.js +68 -66
- package/dist/cjs/theme/defaultTheme.d.ts +18 -0
- package/dist/cjs/theme/defaultTheme.d.ts.map +1 -1
- package/dist/esm/accordion/accordion.types.d.ts +6 -4
- package/dist/esm/accordion/accordion.types.d.ts.map +1 -1
- package/dist/esm/accordion/accordionItemHorizontal.d.ts +1 -1
- package/dist/esm/accordion/accordionItemHorizontal.d.ts.map +1 -1
- package/dist/esm/accordion/accordionItemHorizontal.js +4 -3
- package/dist/esm/breadcrumbs/breadcrumbs.d.ts +10 -0
- package/dist/esm/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/esm/breadcrumbs/breadcrumbs.js +29 -0
- package/dist/esm/breadcrumbs/breadcrumbs.types.d.ts +30 -0
- package/dist/esm/breadcrumbs/breadcrumbs.types.d.ts.map +1 -0
- package/dist/esm/breadcrumbs/breadcrumbs.types.js +1 -0
- package/dist/esm/breadcrumbs/breadcrumbsItem.d.ts +5 -0
- package/dist/esm/breadcrumbs/breadcrumbsItem.d.ts.map +1 -0
- package/dist/esm/breadcrumbs/breadcrumbsItem.js +18 -0
- package/dist/esm/breadcrumbs/breadcrumbsSeparator.d.ts +5 -0
- package/dist/esm/breadcrumbs/breadcrumbsSeparator.d.ts.map +1 -0
- package/dist/esm/breadcrumbs/breadcrumbsSeparator.js +7 -0
- package/dist/esm/breadcrumbs/context.d.ts +5 -0
- package/dist/esm/breadcrumbs/context.d.ts.map +1 -0
- package/dist/esm/breadcrumbs/context.js +3 -0
- package/dist/esm/breadcrumbs/index.d.ts +4 -0
- package/dist/esm/breadcrumbs/index.d.ts.map +1 -0
- package/dist/esm/breadcrumbs/index.js +3 -0
- package/dist/esm/breadcrumbs/theme.d.ts +20 -0
- package/dist/esm/breadcrumbs/theme.d.ts.map +1 -0
- package/dist/esm/breadcrumbs/theme.js +22 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/theme/components.d.ts +18 -0
- package/dist/esm/theme/components.d.ts.map +1 -1
- package/dist/esm/theme/components.js +2 -0
- package/dist/esm/theme/defaultTheme.d.ts +18 -0
- package/dist/esm/theme/defaultTheme.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/accordion/accordion.types.ts +6 -4
- package/src/accordion/accordionItemHorizontal.tsx +5 -2
- package/src/breadcrumbs/breadcrumbs.tsx +50 -0
- package/src/breadcrumbs/breadcrumbs.types.ts +34 -0
- package/src/breadcrumbs/breadcrumbsItem.tsx +38 -0
- package/src/breadcrumbs/breadcrumbsSeparator.tsx +15 -0
- package/src/breadcrumbs/context.ts +5 -0
- package/src/breadcrumbs/index.ts +3 -0
- package/src/breadcrumbs/theme.ts +26 -0
- package/src/index.ts +1 -0
- package/src/theme/components.ts +2 -0
|
@@ -277,6 +277,24 @@ declare const defaultTheme: {
|
|
|
277
277
|
sizes: {};
|
|
278
278
|
variants: {};
|
|
279
279
|
};
|
|
280
|
+
Breadcrumbs: {
|
|
281
|
+
baseStyle: {};
|
|
282
|
+
defaultProps: {
|
|
283
|
+
size: string;
|
|
284
|
+
};
|
|
285
|
+
sizes: {
|
|
286
|
+
sm: {
|
|
287
|
+
item: {};
|
|
288
|
+
};
|
|
289
|
+
md: {
|
|
290
|
+
item: {};
|
|
291
|
+
};
|
|
292
|
+
lg: {
|
|
293
|
+
item: {};
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
variants: {};
|
|
297
|
+
};
|
|
280
298
|
Button: {
|
|
281
299
|
baseStyle: {};
|
|
282
300
|
defaultProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -2,10 +2,10 @@ import { ReactNode } from 'react';
|
|
|
2
2
|
import { ListItemProps } from '../list';
|
|
3
3
|
import { SystemProps } from '../system';
|
|
4
4
|
import { ThemingProps } from '../theme';
|
|
5
|
-
export declare type
|
|
5
|
+
export declare type AccordionOrientation = 'vertical' | 'horizontal';
|
|
6
6
|
export declare type AccordionProps = SystemProps & ThemingProps<'Accordion'> & {
|
|
7
|
-
/** Items
|
|
8
|
-
orientation?:
|
|
7
|
+
/** Items AccordionOrientation @default 'vertical' */
|
|
8
|
+
orientation?: AccordionOrientation;
|
|
9
9
|
/** Hover color for the item title @default "blue.10" */
|
|
10
10
|
itemTitleHoverBg?: string;
|
|
11
11
|
items?: AccordionItemProps[];
|
|
@@ -24,6 +24,8 @@ export declare type AccordionItemProps = ListItemProps & {
|
|
|
24
24
|
children?: ReactNode;
|
|
25
25
|
/** Alternative way to provide content */
|
|
26
26
|
content?: ReactNode;
|
|
27
|
+
/** Control the padding of the content */
|
|
28
|
+
contentPx?: string | number;
|
|
27
29
|
/** Collapsed state */
|
|
28
30
|
collapsed?: boolean;
|
|
29
31
|
/** Hover color for the item title @default "blue.10" */
|
|
@@ -35,6 +37,6 @@ export declare type AccordionItemProps = ListItemProps & {
|
|
|
35
37
|
};
|
|
36
38
|
export declare type AccordionItemArrowProps = {
|
|
37
39
|
collapsed?: boolean;
|
|
38
|
-
orientation?:
|
|
40
|
+
orientation?: AccordionOrientation;
|
|
39
41
|
};
|
|
40
42
|
//# sourceMappingURL=accordion.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.types.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,oBAAY,
|
|
1
|
+
{"version":3,"file":"accordion.types.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,oBAAY,oBAAoB,GAAG,UAAU,GAAG,YAAY,CAAA;AAE5D,oBAAY,cAAc,GAAG,WAAW,GACtC,YAAY,CAAC,WAAW,CAAC,GAAG;IAC1B,qDAAqD;IACrD,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAClC,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC7B,CAAA;AAEH,oBAAY,eAAe,GAAG,MAAM,GAAG,MAAM,CAAA;AAE7C,oBAAY,sBAAsB,GAAG;IACnC,EAAE,EAAE,eAAe,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,oBAAY,kBAAkB,GAAG,aAAa,GAAG;IAC/C,gBAAgB;IAChB,EAAE,EAAE,eAAe,CAAA;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,yCAAyC;IACzC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACnD,CAAA;AAED,oBAAY,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACnC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AccordionItemProps } from './accordion.types';
|
|
2
|
-
/** An accordion item (horizontal
|
|
2
|
+
/** An accordion item (horizontal AccordionOrientation). */
|
|
3
3
|
export declare const AccordionItemHorizontal: (props: AccordionItemProps) => JSX.Element;
|
|
4
4
|
export default AccordionItemHorizontal;
|
|
5
5
|
//# sourceMappingURL=accordionItemHorizontal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordionItemHorizontal.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItemHorizontal.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,
|
|
1
|
+
{"version":3,"file":"accordionItemHorizontal.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItemHorizontal.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,UAAW,kBAAkB,gBAsFhE,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
|
@@ -4,9 +4,9 @@ import { omitThemingProps, useStyleConfig } from '../core';
|
|
|
4
4
|
import { cs } from '../utils';
|
|
5
5
|
import AccordionItemArrow from './accordionItemArrow';
|
|
6
6
|
import { useAccordionContext } from './context';
|
|
7
|
-
/** An accordion item (horizontal
|
|
7
|
+
/** An accordion item (horizontal AccordionOrientation). */
|
|
8
8
|
export const AccordionItemHorizontal = (props) => {
|
|
9
|
-
const { className, children, collapsed, content, disabled, id, itemTitleHoverBg = 'blue.10', title, onToggle, ...rest } = omitThemingProps(props);
|
|
9
|
+
const { className, children, collapsed, content, disabled, id, contentPx, itemTitleHoverBg = 'blue.10', title, onToggle, ...rest } = omitThemingProps(props);
|
|
10
10
|
const [collapsedInternal, setIsCollapsedInternal] = useState(false);
|
|
11
11
|
const styles = useStyleConfig('Accordion', useAccordionContext());
|
|
12
12
|
useEffect(() => {
|
|
@@ -20,10 +20,11 @@ export const AccordionItemHorizontal = (props) => {
|
|
|
20
20
|
};
|
|
21
21
|
const cursor = disabled ? 'not-allowed' : 'pointer';
|
|
22
22
|
const fontWeight = typeof title === 'string' ? '500' : 'inherit';
|
|
23
|
+
const expandedContentPx = contentPx ? contentPx : styles.item.pt;
|
|
23
24
|
return (React.createElement(Box, { alignItems: collapsedInternal ? 'normal' : 'baseline', bg: disabled ? 'disabled.bg' : undefined, borderRight: "1px solid grey.40", className: cs('vui-accordion-item-horizontal', className), color: disabled ? 'disabled.color' : undefined, column: true, cursor: disabled ? 'not-allowed' : undefined, id: `${id}`, maxW: collapsedInternal ? styles.item.minH : 'auto', minW: styles.item.minH, p: 0, transitionDuration: "0ms", userSelect: disabled ? 'none' : undefined, ...rest },
|
|
24
25
|
React.createElement(Box, { ...styles.item, cursor: cursor, hoverBg: itemTitleHoverBg, justifyContent: "space-between", minH: styles.item.minH, onClick: toggle, p: styles.item.pt, w: "100%" },
|
|
25
26
|
!collapsedInternal && React.createElement(Box, { fontWeight: fontWeight }, title),
|
|
26
27
|
React.createElement(AccordionItemArrow, { collapsed: collapsedInternal, orientation: "horizontal" })),
|
|
27
|
-
!collapsedInternal ? (React.createElement(Box, { p: styles.item.pt, pt: 0, transitionDuration: "0ms" }, children ?? content)) : (React.createElement(Box, { cursor: cursor, flexDirection: "row-reverse", fontWeight: fontWeight, mb: styles.item.minH, mt: styles.item.pt, onClick: toggle, transform: "rotate(-90deg)", transitionDuration: "0ms", whiteSpace: "nowrap" }, title))));
|
|
28
|
+
!collapsedInternal ? (React.createElement(Box, { p: styles.item.pt, pt: 0, px: expandedContentPx, transitionDuration: "0ms", w: 1 }, children ?? content)) : (React.createElement(Box, { cursor: cursor, flexDirection: "row-reverse", fontWeight: fontWeight, mb: styles.item.minH, mt: styles.item.pt, onClick: toggle, transform: "rotate(-90deg)", transitionDuration: "0ms", whiteSpace: "nowrap" }, title))));
|
|
28
29
|
};
|
|
29
30
|
export default AccordionItemHorizontal;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { VuiComponent } from '../core';
|
|
2
|
+
import { BreadcrumbsProps } from './breadcrumbs.types';
|
|
3
|
+
import BreadcrumbsItem from './breadcrumbsItem';
|
|
4
|
+
export declare const BreadcrumbsBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("..").SystemProps, never>;
|
|
5
|
+
/** [Beta] Breadcrumbs consist of a list of items that help a user visualize a page's location within the hierarchical structure of a website, and allow correspondent navigation. */
|
|
6
|
+
export declare const Breadcrumbs: VuiComponent<"div", BreadcrumbsProps> & {
|
|
7
|
+
Item: typeof BreadcrumbsItem;
|
|
8
|
+
};
|
|
9
|
+
export default Breadcrumbs;
|
|
10
|
+
//# sourceMappingURL=breadcrumbs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../../../src/breadcrumbs/breadcrumbs.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,YAAY,EAAE,MAAM,SAAS,CAAA;AAEnE,OAAO,EAAwB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAI/C,eAAO,MAAM,eAAe,+HAI3B,CAAA;AAED,qLAAqL;AACrL,eAAO,MAAM,WAAW;UA4BhB,sBAAsB;CAC7B,CAAA;AAID,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React, { Children, Fragment, useMemo } from 'react';
|
|
2
|
+
import { styled, useStyleConfig, vui } from '../core';
|
|
3
|
+
import { cs, filterUndefined } from '../utils';
|
|
4
|
+
import BreadcrumbsItem from './breadcrumbsItem';
|
|
5
|
+
import BreadcrumbsSeparator from './breadcrumbsSeparator';
|
|
6
|
+
import { BreadcrumbsProvider } from './context';
|
|
7
|
+
export const BreadcrumbsBase = styled.divBox `
|
|
8
|
+
display: flex;
|
|
9
|
+
min-width: 0;
|
|
10
|
+
transition-duration: normal;
|
|
11
|
+
`;
|
|
12
|
+
/** [Beta] Breadcrumbs consist of a list of items that help a user visualize a page's location within the hierarchical structure of a website, and allow correspondent navigation. */
|
|
13
|
+
export const Breadcrumbs = vui((props, ref) => {
|
|
14
|
+
const { children, className, items, size, ...rest } = props;
|
|
15
|
+
const styles = useStyleConfig('Breadcrumbs', props);
|
|
16
|
+
const context = useMemo(() => filterUndefined({ size }), [size]);
|
|
17
|
+
const aliasedProps = filterUndefined({});
|
|
18
|
+
const arrayChildren = Children.toArray(children);
|
|
19
|
+
return (React.createElement(BreadcrumbsProvider, { value: context },
|
|
20
|
+
React.createElement(BreadcrumbsBase, { className: cs('vui-breadcrumbs', className), ref: ref, ...styles, ...aliasedProps, ...rest }, items
|
|
21
|
+
? items?.map?.((item, key) => (React.createElement(Fragment, { key: key },
|
|
22
|
+
React.createElement(BreadcrumbsItem, { key: key, ...item }),
|
|
23
|
+
key !== items.length - 1 && React.createElement(BreadcrumbsSeparator, null))))
|
|
24
|
+
: Children.map(arrayChildren, (child, key) => (React.createElement(Fragment, { key: key },
|
|
25
|
+
child,
|
|
26
|
+
key !== arrayChildren.length - 1 && React.createElement(BreadcrumbsSeparator, null)))))));
|
|
27
|
+
});
|
|
28
|
+
Breadcrumbs.Item = BreadcrumbsItem;
|
|
29
|
+
export default Breadcrumbs;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BoxProps } from '../box';
|
|
3
|
+
import { IconProp } from '../icon';
|
|
4
|
+
import { SystemProps } from '../system';
|
|
5
|
+
import { ThemingProps } from '../theme';
|
|
6
|
+
export declare type BreadcrumbsProps = SystemProps & ThemingProps<'Breadcrumbs'> & {
|
|
7
|
+
/** Collection of items */
|
|
8
|
+
items?: BreadcrumbsItemProps[];
|
|
9
|
+
};
|
|
10
|
+
export declare type BreadcrumbsItemProps = BoxProps & {
|
|
11
|
+
/** Custom class name */
|
|
12
|
+
className?: string;
|
|
13
|
+
/** Content */
|
|
14
|
+
children?: ReactNode;
|
|
15
|
+
/** Alternative way to provide content */
|
|
16
|
+
content?: ReactNode;
|
|
17
|
+
/** Icon */
|
|
18
|
+
icon?: IconProp;
|
|
19
|
+
/** Path */
|
|
20
|
+
path?: string;
|
|
21
|
+
};
|
|
22
|
+
export declare type BreadcrumbsSeparatorProps = BoxProps & {
|
|
23
|
+
/** Custom class name */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Content */
|
|
26
|
+
children?: ReactNode;
|
|
27
|
+
/** Alternative way to provide content */
|
|
28
|
+
content?: ReactNode;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=breadcrumbs.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumbs.types.d.ts","sourceRoot":"","sources":["../../../src/breadcrumbs/breadcrumbs.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,oBAAY,gBAAgB,GAAG,WAAW,GACxC,YAAY,CAAC,aAAa,CAAC,GAAG;IAC5B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAA;CAC/B,CAAA;AAEH,oBAAY,oBAAoB,GAAG,QAAQ,GAAG;IAC5C,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,yCAAyC;IACzC,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,WAAW;IACX,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,WAAW;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,oBAAY,yBAAyB,GAAG,QAAQ,GAAG;IACjD,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc;IACd,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,yCAAyC;IACzC,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumbsItem.d.ts","sourceRoot":"","sources":["../../../src/breadcrumbs/breadcrumbsItem.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG1D,0BAA0B;AAC1B,eAAO,MAAM,eAAe,UAAW,oBAAoB,gBAuB1D,CAAA;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Link as RouterLink } from 'react-router-dom';
|
|
3
|
+
import { Box } from '../box';
|
|
4
|
+
import { omitThemingProps, useStyleConfig } from '../core';
|
|
5
|
+
import { Icon } from '../icon';
|
|
6
|
+
import { Link } from '../link';
|
|
7
|
+
import { cs } from '../utils';
|
|
8
|
+
import { useBreadcrumbsContext } from './context';
|
|
9
|
+
/** A Breadcrumbs item. */
|
|
10
|
+
export const BreadcrumbsItem = (props) => {
|
|
11
|
+
const { className, children, content, icon, path, ...rest } = omitThemingProps(props);
|
|
12
|
+
const styles = useStyleConfig('Breadcrumbs', useBreadcrumbsContext());
|
|
13
|
+
const innerContent = (React.createElement(React.Fragment, null,
|
|
14
|
+
!!icon && React.createElement(Icon, { name: icon, size: "sm" }),
|
|
15
|
+
content || children));
|
|
16
|
+
return (React.createElement(Box, { alignItems: "center", className: cs('vui-breadcrumbs-item', className), p: 0, ...rest, ...styles.item }, path ? (React.createElement(Link, { as: RouterLink, to: path }, innerContent)) : (innerContent)));
|
|
17
|
+
};
|
|
18
|
+
export default BreadcrumbsItem;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BreadcrumbsSeparatorProps } from './breadcrumbs.types';
|
|
2
|
+
/** Breadcrumbs separator. */
|
|
3
|
+
export declare const BreadcrumbsSeparator: ({ className, children, content, ...rest }: BreadcrumbsSeparatorProps) => JSX.Element;
|
|
4
|
+
export default BreadcrumbsSeparator;
|
|
5
|
+
//# sourceMappingURL=breadcrumbsSeparator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumbsSeparator.d.ts","sourceRoot":"","sources":["../../../src/breadcrumbs/breadcrumbsSeparator.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,6BAA6B;AAC7B,eAAO,MAAM,oBAAoB,8CAA+C,yBAAyB,gBAIxG,CAAA;AAED,eAAe,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Box } from '../box';
|
|
3
|
+
import { Icon } from '../icon';
|
|
4
|
+
import { cs } from '../utils';
|
|
5
|
+
/** Breadcrumbs separator. */
|
|
6
|
+
export const BreadcrumbsSeparator = ({ className, children, content, ...rest }) => (React.createElement(Box, { alignItems: "center", className: cs('vui-breadcrumbs-separator', className), p: 0, ...rest }, content || children || React.createElement(Icon, { name: "falAngleRight" })));
|
|
7
|
+
export default BreadcrumbsSeparator;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Dict } from '../utils';
|
|
3
|
+
declare const BreadcrumbsProvider: import("react").Provider<Dict<any>>, useBreadcrumbsContext: () => Dict<any>;
|
|
4
|
+
export { BreadcrumbsProvider, useBreadcrumbsContext };
|
|
5
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/breadcrumbs/context.ts"],"names":[],"mappings":";AAAA,OAAO,EAAiB,IAAI,EAAE,MAAM,UAAU,CAAA;AAE9C,QAAA,MAAO,mBAAmB,uCAAE,qBAAqB,iBAA6C,CAAA;AAE9F,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/breadcrumbs/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,cAAc,qBAAqB,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
baseStyle: {};
|
|
3
|
+
defaultProps: {
|
|
4
|
+
size: string;
|
|
5
|
+
};
|
|
6
|
+
sizes: {
|
|
7
|
+
sm: {
|
|
8
|
+
item: {};
|
|
9
|
+
};
|
|
10
|
+
md: {
|
|
11
|
+
item: {};
|
|
12
|
+
};
|
|
13
|
+
lg: {
|
|
14
|
+
item: {};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
variants: {};
|
|
18
|
+
};
|
|
19
|
+
export default _default;
|
|
20
|
+
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/breadcrumbs/theme.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAoBA,wBAKC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const baseStyle = {};
|
|
2
|
+
const defaultProps = {
|
|
3
|
+
size: 'md'
|
|
4
|
+
};
|
|
5
|
+
const sizes = {
|
|
6
|
+
sm: {
|
|
7
|
+
item: {}
|
|
8
|
+
},
|
|
9
|
+
md: {
|
|
10
|
+
item: {}
|
|
11
|
+
},
|
|
12
|
+
lg: {
|
|
13
|
+
item: {}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const variants = {};
|
|
17
|
+
export default {
|
|
18
|
+
baseStyle,
|
|
19
|
+
defaultProps,
|
|
20
|
+
sizes,
|
|
21
|
+
variants
|
|
22
|
+
};
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,KAAK,CAAA;AACnB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,KAAK,CAAA;AACnB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,KAAK,CAAA;AACnB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,KAAK,CAAA;AACnB,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
|
package/dist/esm/index.js
CHANGED
|
@@ -81,6 +81,24 @@ declare const _default: {
|
|
|
81
81
|
sizes: {};
|
|
82
82
|
variants: {};
|
|
83
83
|
};
|
|
84
|
+
Breadcrumbs: {
|
|
85
|
+
baseStyle: {};
|
|
86
|
+
defaultProps: {
|
|
87
|
+
size: string;
|
|
88
|
+
};
|
|
89
|
+
sizes: {
|
|
90
|
+
sm: {
|
|
91
|
+
item: {};
|
|
92
|
+
};
|
|
93
|
+
md: {
|
|
94
|
+
item: {};
|
|
95
|
+
};
|
|
96
|
+
lg: {
|
|
97
|
+
item: {};
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
variants: {};
|
|
101
|
+
};
|
|
84
102
|
Button: {
|
|
85
103
|
baseStyle: {};
|
|
86
104
|
defaultProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../src/theme/components.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,wBAsCC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Accordion from '../accordion/theme';
|
|
2
2
|
import Avatar from '../avatar/theme';
|
|
3
3
|
import Box from '../box/theme';
|
|
4
|
+
import Breadcrumbs from '../breadcrumbs/theme';
|
|
4
5
|
import Button from '../button/theme';
|
|
5
6
|
import Card from '../card/theme';
|
|
6
7
|
import Checkbox from '../checkbox/theme';
|
|
@@ -38,6 +39,7 @@ export default {
|
|
|
38
39
|
Accordion,
|
|
39
40
|
Avatar,
|
|
40
41
|
Box,
|
|
42
|
+
Breadcrumbs,
|
|
41
43
|
Button,
|
|
42
44
|
Card,
|
|
43
45
|
Checkbox,
|
|
@@ -277,6 +277,24 @@ declare const defaultTheme: {
|
|
|
277
277
|
sizes: {};
|
|
278
278
|
variants: {};
|
|
279
279
|
};
|
|
280
|
+
Breadcrumbs: {
|
|
281
|
+
baseStyle: {};
|
|
282
|
+
defaultProps: {
|
|
283
|
+
size: string;
|
|
284
|
+
};
|
|
285
|
+
sizes: {
|
|
286
|
+
sm: {
|
|
287
|
+
item: {};
|
|
288
|
+
};
|
|
289
|
+
md: {
|
|
290
|
+
item: {};
|
|
291
|
+
};
|
|
292
|
+
lg: {
|
|
293
|
+
item: {};
|
|
294
|
+
};
|
|
295
|
+
};
|
|
296
|
+
variants: {};
|
|
297
|
+
};
|
|
280
298
|
Button: {
|
|
281
299
|
baseStyle: {};
|
|
282
300
|
defaultProps: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"defaultTheme.d.ts","sourceRoot":"","sources":["../../../src/theme/defaultTheme.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGjB,CAAA;AAED,eAAe,YAAY,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veracity/vui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0-beta.0",
|
|
4
4
|
"description": "Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.",
|
|
5
5
|
"module": "./dist/esm/index.js",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -34,4 +34,4 @@
|
|
|
34
34
|
"react": "^17.0.0 || ^18.0.0",
|
|
35
35
|
"react-dom": "^17.0.0 || ^18.0.0"
|
|
36
36
|
}
|
|
37
|
-
}
|
|
37
|
+
}
|
|
@@ -4,12 +4,12 @@ import { ListItemProps } from '../list'
|
|
|
4
4
|
import { SystemProps } from '../system'
|
|
5
5
|
import { ThemingProps } from '../theme'
|
|
6
6
|
|
|
7
|
-
export type
|
|
7
|
+
export type AccordionOrientation = 'vertical' | 'horizontal'
|
|
8
8
|
|
|
9
9
|
export type AccordionProps = SystemProps &
|
|
10
10
|
ThemingProps<'Accordion'> & {
|
|
11
|
-
/** Items
|
|
12
|
-
orientation?:
|
|
11
|
+
/** Items AccordionOrientation @default 'vertical' */
|
|
12
|
+
orientation?: AccordionOrientation
|
|
13
13
|
/** Hover color for the item title @default "blue.10" */
|
|
14
14
|
itemTitleHoverBg?: string
|
|
15
15
|
items?: AccordionItemProps[]
|
|
@@ -31,6 +31,8 @@ export type AccordionItemProps = ListItemProps & {
|
|
|
31
31
|
children?: ReactNode
|
|
32
32
|
/** Alternative way to provide content */
|
|
33
33
|
content?: ReactNode
|
|
34
|
+
/** Control the padding of the content */
|
|
35
|
+
contentPx?: string | number
|
|
34
36
|
/** Collapsed state */
|
|
35
37
|
collapsed?: boolean
|
|
36
38
|
/** Hover color for the item title @default "blue.10" */
|
|
@@ -43,5 +45,5 @@ export type AccordionItemProps = ListItemProps & {
|
|
|
43
45
|
|
|
44
46
|
export type AccordionItemArrowProps = {
|
|
45
47
|
collapsed?: boolean
|
|
46
|
-
orientation?:
|
|
48
|
+
orientation?: AccordionOrientation
|
|
47
49
|
}
|
|
@@ -7,7 +7,7 @@ import { AccordionItemProps } from './accordion.types'
|
|
|
7
7
|
import AccordionItemArrow from './accordionItemArrow'
|
|
8
8
|
import { useAccordionContext } from './context'
|
|
9
9
|
|
|
10
|
-
/** An accordion item (horizontal
|
|
10
|
+
/** An accordion item (horizontal AccordionOrientation). */
|
|
11
11
|
export const AccordionItemHorizontal = (props: AccordionItemProps) => {
|
|
12
12
|
const {
|
|
13
13
|
className,
|
|
@@ -16,6 +16,7 @@ export const AccordionItemHorizontal = (props: AccordionItemProps) => {
|
|
|
16
16
|
content,
|
|
17
17
|
disabled,
|
|
18
18
|
id,
|
|
19
|
+
contentPx,
|
|
19
20
|
itemTitleHoverBg = 'blue.10',
|
|
20
21
|
title,
|
|
21
22
|
onToggle,
|
|
@@ -39,6 +40,8 @@ export const AccordionItemHorizontal = (props: AccordionItemProps) => {
|
|
|
39
40
|
const cursor = disabled ? 'not-allowed' : 'pointer'
|
|
40
41
|
const fontWeight = typeof title === 'string' ? '500' : 'inherit'
|
|
41
42
|
|
|
43
|
+
const expandedContentPx = contentPx ? contentPx : styles.item.pt
|
|
44
|
+
|
|
42
45
|
return (
|
|
43
46
|
<Box
|
|
44
47
|
alignItems={collapsedInternal ? 'normal' : 'baseline'}
|
|
@@ -71,7 +74,7 @@ export const AccordionItemHorizontal = (props: AccordionItemProps) => {
|
|
|
71
74
|
</Box>
|
|
72
75
|
|
|
73
76
|
{!collapsedInternal ? (
|
|
74
|
-
<Box p={styles.item.pt} pt={0} transitionDuration="0ms">
|
|
77
|
+
<Box p={styles.item.pt} pt={0} px={expandedContentPx} transitionDuration="0ms" w={1}>
|
|
75
78
|
{children ?? content}
|
|
76
79
|
</Box>
|
|
77
80
|
) : (
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React, { Children, Fragment, useMemo } from 'react'
|
|
2
|
+
|
|
3
|
+
import { styled, useStyleConfig, vui, VuiComponent } from '../core'
|
|
4
|
+
import { cs, filterUndefined } from '../utils'
|
|
5
|
+
import { BreadcrumbsItemProps, BreadcrumbsProps } from './breadcrumbs.types'
|
|
6
|
+
import BreadcrumbsItem from './breadcrumbsItem'
|
|
7
|
+
import BreadcrumbsSeparator from './breadcrumbsSeparator'
|
|
8
|
+
import { BreadcrumbsProvider } from './context'
|
|
9
|
+
|
|
10
|
+
export const BreadcrumbsBase = styled.divBox`
|
|
11
|
+
display: flex;
|
|
12
|
+
min-width: 0;
|
|
13
|
+
transition-duration: normal;
|
|
14
|
+
`
|
|
15
|
+
|
|
16
|
+
/** [Beta] Breadcrumbs consist of a list of items that help a user visualize a page's location within the hierarchical structure of a website, and allow correspondent navigation. */
|
|
17
|
+
export const Breadcrumbs = vui<'div', BreadcrumbsProps>((props, ref) => {
|
|
18
|
+
const { children, className, items, size, ...rest } = props
|
|
19
|
+
const styles = useStyleConfig('Breadcrumbs', props)
|
|
20
|
+
|
|
21
|
+
const context = useMemo(() => filterUndefined({ size }), [size])
|
|
22
|
+
|
|
23
|
+
const aliasedProps = filterUndefined<BreadcrumbsProps>({})
|
|
24
|
+
const arrayChildren = Children.toArray(children)
|
|
25
|
+
return (
|
|
26
|
+
<BreadcrumbsProvider value={context}>
|
|
27
|
+
<BreadcrumbsBase className={cs('vui-breadcrumbs', className)} ref={ref} {...styles} {...aliasedProps} {...rest}>
|
|
28
|
+
{items
|
|
29
|
+
? items?.map?.((item: BreadcrumbsItemProps, key: number) => (
|
|
30
|
+
<Fragment key={key}>
|
|
31
|
+
<BreadcrumbsItem key={key} {...item} />
|
|
32
|
+
{key !== items.length - 1 && <BreadcrumbsSeparator />}
|
|
33
|
+
</Fragment>
|
|
34
|
+
))
|
|
35
|
+
: Children.map(arrayChildren, (child, key) => (
|
|
36
|
+
<Fragment key={key}>
|
|
37
|
+
{child}
|
|
38
|
+
{key !== arrayChildren.length - 1 && <BreadcrumbsSeparator />}
|
|
39
|
+
</Fragment>
|
|
40
|
+
))}
|
|
41
|
+
</BreadcrumbsBase>
|
|
42
|
+
</BreadcrumbsProvider>
|
|
43
|
+
)
|
|
44
|
+
}) as VuiComponent<'div', BreadcrumbsProps> & {
|
|
45
|
+
Item: typeof BreadcrumbsItem
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
Breadcrumbs.Item = BreadcrumbsItem
|
|
49
|
+
|
|
50
|
+
export default Breadcrumbs
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ReactNode } from 'react'
|
|
2
|
+
|
|
3
|
+
import { BoxProps } from '../box'
|
|
4
|
+
import { IconProp } from '../icon'
|
|
5
|
+
import { SystemProps } from '../system'
|
|
6
|
+
import { ThemingProps } from '../theme'
|
|
7
|
+
|
|
8
|
+
export type BreadcrumbsProps = SystemProps &
|
|
9
|
+
ThemingProps<'Breadcrumbs'> & {
|
|
10
|
+
/** Collection of items */
|
|
11
|
+
items?: BreadcrumbsItemProps[]
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type BreadcrumbsItemProps = BoxProps & {
|
|
15
|
+
/** Custom class name */
|
|
16
|
+
className?: string
|
|
17
|
+
/** Content */
|
|
18
|
+
children?: ReactNode
|
|
19
|
+
/** Alternative way to provide content */
|
|
20
|
+
content?: ReactNode
|
|
21
|
+
/** Icon */
|
|
22
|
+
icon?: IconProp
|
|
23
|
+
/** Path */
|
|
24
|
+
path?: string
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type BreadcrumbsSeparatorProps = BoxProps & {
|
|
28
|
+
/** Custom class name */
|
|
29
|
+
className?: string
|
|
30
|
+
/** Content */
|
|
31
|
+
children?: ReactNode
|
|
32
|
+
/** Alternative way to provide content */
|
|
33
|
+
content?: ReactNode
|
|
34
|
+
}
|