@veracity/vui 1.7.0-beta.2 → 1.7.0-redesign.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.d.ts +1 -1
- package/dist/cjs/accordion/accordion.d.ts.map +1 -1
- package/dist/cjs/accordion/accordion.js +7 -7
- package/dist/cjs/accordion/accordion.types.d.ts +0 -15
- package/dist/cjs/accordion/accordion.types.d.ts.map +1 -1
- package/dist/cjs/accordion/accordionItem.d.ts.map +1 -1
- package/dist/cjs/accordion/accordionItem.js +4 -4
- package/dist/cjs/accordion/accordionItemArrow.d.ts +1 -1
- package/dist/cjs/accordion/accordionItemArrow.d.ts.map +1 -1
- package/dist/cjs/accordion/accordionItemArrow.js +3 -10
- package/dist/cjs/accordion/index.d.ts +0 -1
- package/dist/cjs/accordion/index.d.ts.map +1 -1
- package/dist/cjs/accordion/index.js +0 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/esm/accordion/accordion.d.ts +1 -1
- package/dist/esm/accordion/accordion.d.ts.map +1 -1
- package/dist/esm/accordion/accordion.js +6 -6
- package/dist/esm/accordion/accordion.types.d.ts +0 -15
- package/dist/esm/accordion/accordion.types.d.ts.map +1 -1
- package/dist/esm/accordion/accordionItem.d.ts.map +1 -1
- package/dist/esm/accordion/accordionItem.js +4 -4
- package/dist/esm/accordion/accordionItemArrow.d.ts +1 -1
- package/dist/esm/accordion/accordionItemArrow.d.ts.map +1 -1
- package/dist/esm/accordion/accordionItemArrow.js +3 -10
- package/dist/esm/accordion/index.d.ts +0 -1
- package/dist/esm/accordion/index.d.ts.map +1 -1
- package/dist/esm/accordion/index.js +0 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -1
- package/package.json +1 -1
- package/src/accordion/accordion.tsx +7 -18
- package/src/accordion/accordion.types.ts +7 -16
- package/src/accordion/accordionItem.tsx +5 -23
- package/src/accordion/accordionItemArrow.tsx +3 -13
- package/src/accordion/index.ts +0 -1
- package/src/index.ts +0 -1
- package/dist/cjs/accordion/accordionItemHorizontal.d.ts +0 -5
- package/dist/cjs/accordion/accordionItemHorizontal.d.ts.map +0 -1
- package/dist/cjs/accordion/accordionItemHorizontal.js +0 -70
- package/dist/cjs/copyToClipboard/copyToClipboard.d.ts +0 -12
- package/dist/cjs/copyToClipboard/copyToClipboard.d.ts.map +0 -1
- package/dist/cjs/copyToClipboard/copyToClipboard.js +0 -36
- package/dist/cjs/copyToClipboard/copyToClipboard.types.d.ts +0 -9
- package/dist/cjs/copyToClipboard/copyToClipboard.types.d.ts.map +0 -1
- package/dist/cjs/copyToClipboard/copyToClipboard.types.js +0 -2
- package/dist/cjs/copyToClipboard/index.d.ts +0 -5
- package/dist/cjs/copyToClipboard/index.d.ts.map +0 -1
- package/dist/cjs/copyToClipboard/index.js +0 -25
- package/dist/cjs/copyToClipboard/useCopyToClipboard.d.ts +0 -5
- package/dist/cjs/copyToClipboard/useCopyToClipboard.d.ts.map +0 -1
- package/dist/cjs/copyToClipboard/useCopyToClipboard.js +0 -17
- package/dist/esm/accordion/accordionItemHorizontal.d.ts +0 -5
- package/dist/esm/accordion/accordionItemHorizontal.d.ts.map +0 -1
- package/dist/esm/accordion/accordionItemHorizontal.js +0 -29
- package/dist/esm/copyToClipboard/copyToClipboard.d.ts +0 -12
- package/dist/esm/copyToClipboard/copyToClipboard.d.ts.map +0 -1
- package/dist/esm/copyToClipboard/copyToClipboard.js +0 -19
- package/dist/esm/copyToClipboard/copyToClipboard.types.d.ts +0 -9
- package/dist/esm/copyToClipboard/copyToClipboard.types.d.ts.map +0 -1
- package/dist/esm/copyToClipboard/copyToClipboard.types.js +0 -1
- package/dist/esm/copyToClipboard/index.d.ts +0 -5
- package/dist/esm/copyToClipboard/index.d.ts.map +0 -1
- package/dist/esm/copyToClipboard/index.js +0 -4
- package/dist/esm/copyToClipboard/useCopyToClipboard.d.ts +0 -5
- package/dist/esm/copyToClipboard/useCopyToClipboard.d.ts.map +0 -1
- package/dist/esm/copyToClipboard/useCopyToClipboard.js +0 -14
- package/src/accordion/accordionItemHorizontal.tsx +0 -96
- package/src/copyToClipboard/copyToClipboard.tsx +0 -36
- package/src/copyToClipboard/copyToClipboard.types.ts +0 -10
- package/src/copyToClipboard/index.ts +0 -4
- package/src/copyToClipboard/useCopyToClipboard.ts +0 -15
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AccordionProps } from './accordion.types';
|
|
2
2
|
export declare const AccordionBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("..").SystemProps, never>;
|
|
3
|
-
/** Allows to show and hide sections of related content on a page. */
|
|
3
|
+
/** [BETA] Allows to show and hide sections of related content on a page. */
|
|
4
4
|
export declare const Accordion: import("../core").VuiComponent<"div", AccordionProps>;
|
|
5
5
|
export default Accordion;
|
|
6
6
|
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAItE,eAAO,MAAM,aAAa,+HAIzB,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,SAAS,uDAmBpB,CAAA;AAEF,eAAe,SAAS,CAAA"}
|
|
@@ -43,23 +43,23 @@ const core_1 = require("../core");
|
|
|
43
43
|
const list_1 = __importDefault(require("../list"));
|
|
44
44
|
const utils_1 = require("../utils");
|
|
45
45
|
const accordionItem_1 = __importDefault(require("./accordionItem"));
|
|
46
|
-
const accordionItemHorizontal_1 = __importDefault(require("./accordionItemHorizontal"));
|
|
47
46
|
const context_1 = require("./context");
|
|
48
47
|
exports.AccordionBase = core_1.styled.divBox `
|
|
49
48
|
display: flex;
|
|
50
49
|
min-width: 0;
|
|
51
50
|
transition-duration: normal;
|
|
52
51
|
`;
|
|
53
|
-
/** Allows to show and hide sections of related content on a page. */
|
|
52
|
+
/** [BETA] Allows to show and hide sections of related content on a page. */
|
|
54
53
|
exports.Accordion = (0, core_1.vui)((props, ref) => {
|
|
55
|
-
var _a
|
|
56
|
-
const { children, className,
|
|
54
|
+
var _a;
|
|
55
|
+
const { children, className, items, size } = props, rest = __rest(props, ["children", "className", "items", "size"]);
|
|
57
56
|
const styles = (0, core_1.useStyleConfig)('Accordion', props);
|
|
58
57
|
const context = (0, react_1.useMemo)(() => (0, utils_1.filterUndefined)({ size }), [size]);
|
|
59
58
|
const aliasedProps = (0, utils_1.filterUndefined)({});
|
|
60
59
|
return (react_1.default.createElement(context_1.AccordionProvider, { value: context },
|
|
61
|
-
react_1.default.createElement(exports.AccordionBase, Object.assign({ className: (0, utils_1.cs)('vui-accordion', className), ref: ref }, styles, aliasedProps, rest),
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
react_1.default.createElement(exports.AccordionBase, Object.assign({ className: (0, utils_1.cs)('vui-accordion', className), ref: ref }, styles, aliasedProps, rest),
|
|
61
|
+
react_1.default.createElement(list_1.default, { w: "100%" }, items
|
|
62
|
+
? (_a = items === null || items === void 0 ? void 0 : items.map) === null || _a === void 0 ? void 0 : _a.call(items, (item, key) => react_1.default.createElement(accordionItem_1.default, Object.assign({ key: key }, item)))
|
|
63
|
+
: children))));
|
|
64
64
|
});
|
|
65
65
|
exports.default = exports.Accordion;
|
|
@@ -2,12 +2,7 @@ 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 Orientation = 'vertical' | 'horizontal';
|
|
6
5
|
export declare type AccordionProps = SystemProps & ThemingProps<'Accordion'> & {
|
|
7
|
-
/** Items orientation @default 'vertical' */
|
|
8
|
-
orientation?: Orientation;
|
|
9
|
-
/** Hover color for the item title @default "blue.10" */
|
|
10
|
-
itemTitleHoverBg?: string;
|
|
11
6
|
items?: AccordionItemProps[];
|
|
12
7
|
};
|
|
13
8
|
export declare type AccordionItemId = string | number;
|
|
@@ -16,25 +11,15 @@ export declare type AccordionOnToggleEvent = {
|
|
|
16
11
|
collapsed: boolean;
|
|
17
12
|
};
|
|
18
13
|
export declare type AccordionItemProps = ListItemProps & {
|
|
19
|
-
/** Unique ID */
|
|
20
14
|
id: AccordionItemId;
|
|
21
|
-
/** Custom class name */
|
|
22
15
|
className?: string;
|
|
23
|
-
/** Content */
|
|
24
16
|
children?: ReactNode;
|
|
25
|
-
/** Alternative way to provide content */
|
|
26
17
|
content?: ReactNode;
|
|
27
|
-
/** Collapsed state */
|
|
28
18
|
collapsed?: boolean;
|
|
29
|
-
/** Hover color for the item title @default "blue.10" */
|
|
30
|
-
itemTitleHoverBg?: string;
|
|
31
|
-
/** Title */
|
|
32
19
|
title?: string | ReactNode;
|
|
33
|
-
/** Collapse change state */
|
|
34
20
|
onToggle?: (event: AccordionOnToggleEvent) => void;
|
|
35
21
|
};
|
|
36
22
|
export declare type AccordionItemArrowProps = {
|
|
37
23
|
collapsed?: boolean;
|
|
38
|
-
orientation?: Orientation;
|
|
39
24
|
};
|
|
40
25
|
//# 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,cAAc,GAAG,WAAW,GACtC,YAAY,CAAC,WAAW,CAAC,GAAG;IAC1B,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;IAE/C,EAAE,EAAE,eAAe,CAAA;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB,OAAO,CAAC,EAAE,SAAS,CAAA;IAEnB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACnD,CAAA;AAED,oBAAY,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,yBAAyB;AACzB,eAAO,MAAM,aAAa,UAAW,kBAAkB,
|
|
1
|
+
{"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,yBAAyB;AACzB,eAAO,MAAM,aAAa,UAAW,kBAAkB,gBA2CtD,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -47,7 +47,7 @@ const accordionItemArrow_1 = __importDefault(require("./accordionItemArrow"));
|
|
|
47
47
|
const context_1 = require("./context");
|
|
48
48
|
/** An accordion item. */
|
|
49
49
|
const AccordionItem = (props) => {
|
|
50
|
-
const _a = (0, core_1.omitThemingProps)(props), { className, children,
|
|
50
|
+
const _a = (0, core_1.omitThemingProps)(props), { className, children, id, content, disabled, title, collapsed, onToggle } = _a, rest = __rest(_a, ["className", "children", "id", "content", "disabled", "title", "collapsed", "onToggle"]);
|
|
51
51
|
const [collapsedInternal, setIsCollapsedInternal] = (0, react_1.useState)(false);
|
|
52
52
|
const styles = (0, core_1.useStyleConfig)('Accordion', (0, context_1.useAccordionContext)());
|
|
53
53
|
(0, react_1.useEffect)(() => {
|
|
@@ -59,12 +59,12 @@ const AccordionItem = (props) => {
|
|
|
59
59
|
setIsCollapsedInternal(!collapsedInternal);
|
|
60
60
|
}
|
|
61
61
|
};
|
|
62
|
-
return (react_1.default.createElement(list_1.ListItem, Object.assign({ borderBottom: "1px solid grey.40", className: (0, utils_1.cs)('vui-accordion-item', className), disabled: disabled, flexDirection: "column", h: "auto", id: `${id}`,
|
|
63
|
-
react_1.default.createElement(box_1.Box,
|
|
62
|
+
return (react_1.default.createElement(list_1.ListItem, Object.assign({ borderBottom: "1px solid grey.40", className: (0, utils_1.cs)('vui-accordion-item', className), disabled: disabled, flexDirection: "column", h: "auto", hoverBg: "blue.10", id: `${id}`, w: "100%" }, styles.item, rest),
|
|
63
|
+
react_1.default.createElement(box_1.Box, { cursor: disabled ? 'not-allowed' : 'pointer', justifyContent: "space-between", onClick: toggle, w: "100%" },
|
|
64
64
|
react_1.default.createElement(box_1.Box, { fontWeight: typeof title === 'string' ? '500' : 'inherit' }, title),
|
|
65
65
|
react_1.default.createElement(box_1.Box, null,
|
|
66
66
|
react_1.default.createElement(accordionItemArrow_1.default, { collapsed: collapsedInternal }))),
|
|
67
|
-
!collapsedInternal && (react_1.default.createElement(box_1.Box, { mb: 2, mt: 2,
|
|
67
|
+
!collapsedInternal && (react_1.default.createElement(box_1.Box, { mb: 2, mt: 2, w: "100%" }, children !== null && children !== void 0 ? children : content))));
|
|
68
68
|
};
|
|
69
69
|
exports.AccordionItem = AccordionItem;
|
|
70
70
|
exports.default = exports.AccordionItem;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AccordionItemArrowProps } from './accordion.types';
|
|
3
|
-
declare const _default: React.MemoExoticComponent<(
|
|
3
|
+
declare const _default: React.MemoExoticComponent<(props: AccordionItemArrowProps) => JSX.Element>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=accordionItemArrow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordionItemArrow.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItemArrow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;;
|
|
1
|
+
{"version":3,"file":"accordionItemArrow.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItemArrow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;;AAO3D,wBAA6C"}
|
|
@@ -5,15 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const react_1 = __importDefault(require("react"));
|
|
7
7
|
const icon_1 = __importDefault(require("../icon"));
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
expanded: 'falChevronLeft'
|
|
12
|
-
},
|
|
13
|
-
vertical: {
|
|
14
|
-
collapsed: 'falChevronDown',
|
|
15
|
-
expanded: 'falChevronUp'
|
|
16
|
-
}
|
|
8
|
+
const AccordionItemArrow = (props) => {
|
|
9
|
+
const { collapsed } = props;
|
|
10
|
+
return react_1.default.createElement(icon_1.default, { name: collapsed ? 'falChevronDown' : 'falChevronUp', size: "xs" });
|
|
17
11
|
};
|
|
18
|
-
const AccordionItemArrow = ({ collapsed, orientation = 'vertical' }) => (react_1.default.createElement(icon_1.default, { name: names[orientation][collapsed ? 'collapsed' : 'expanded'], size: "xs" }));
|
|
19
12
|
exports.default = react_1.default.memo(AccordionItemArrow);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/accordion/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/accordion/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
|
|
@@ -20,7 +20,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
exports.default = void 0;
|
|
21
21
|
__exportStar(require("./accordion"), exports);
|
|
22
22
|
__exportStar(require("./accordionItem"), exports);
|
|
23
|
-
__exportStar(require("./accordionItemHorizontal"), exports);
|
|
24
23
|
var accordion_1 = require("./accordion");
|
|
25
24
|
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(accordion_1).default; } });
|
|
26
25
|
__exportStar(require("./accordion.types"), exports);
|
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/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,
|
|
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,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/cjs/index.js
CHANGED
|
@@ -22,7 +22,6 @@ __exportStar(require("./buttonGroup"), exports);
|
|
|
22
22
|
__exportStar(require("./buttonToggleGroup"), exports);
|
|
23
23
|
__exportStar(require("./card"), exports);
|
|
24
24
|
__exportStar(require("./checkbox"), exports);
|
|
25
|
-
__exportStar(require("./copyToClipboard"), exports);
|
|
26
25
|
__exportStar(require("./core"), exports);
|
|
27
26
|
__exportStar(require("./dialog"), exports);
|
|
28
27
|
__exportStar(require("./divider"), exports);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AccordionProps } from './accordion.types';
|
|
2
2
|
export declare const AccordionBase: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("..").SystemProps, never>;
|
|
3
|
-
/** Allows to show and hide sections of related content on a page. */
|
|
3
|
+
/** [BETA] Allows to show and hide sections of related content on a page. */
|
|
4
4
|
export declare const Accordion: import("../core").VuiComponent<"div", AccordionProps>;
|
|
5
5
|
export default Accordion;
|
|
6
6
|
//# sourceMappingURL=accordion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordion.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAsB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAItE,eAAO,MAAM,aAAa,+HAIzB,CAAA;AAED,4EAA4E;AAC5E,eAAO,MAAM,SAAS,uDAmBpB,CAAA;AAEF,eAAe,SAAS,CAAA"}
|
|
@@ -3,22 +3,22 @@ import { styled, useStyleConfig, vui } from '../core';
|
|
|
3
3
|
import List from '../list';
|
|
4
4
|
import { cs, filterUndefined } from '../utils';
|
|
5
5
|
import AccordionItem from './accordionItem';
|
|
6
|
-
import AccordionItemHorizontal from './accordionItemHorizontal';
|
|
7
6
|
import { AccordionProvider } from './context';
|
|
8
7
|
export const AccordionBase = styled.divBox `
|
|
9
8
|
display: flex;
|
|
10
9
|
min-width: 0;
|
|
11
10
|
transition-duration: normal;
|
|
12
11
|
`;
|
|
13
|
-
/** Allows to show and hide sections of related content on a page. */
|
|
12
|
+
/** [BETA] Allows to show and hide sections of related content on a page. */
|
|
14
13
|
export const Accordion = vui((props, ref) => {
|
|
15
|
-
const { children, className,
|
|
14
|
+
const { children, className, items, size, ...rest } = props;
|
|
16
15
|
const styles = useStyleConfig('Accordion', props);
|
|
17
16
|
const context = useMemo(() => filterUndefined({ size }), [size]);
|
|
18
17
|
const aliasedProps = filterUndefined({});
|
|
19
18
|
return (React.createElement(AccordionProvider, { value: context },
|
|
20
|
-
React.createElement(AccordionBase, { className: cs('vui-accordion', className), ref: ref, ...styles, ...aliasedProps, ...rest },
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
React.createElement(AccordionBase, { className: cs('vui-accordion', className), ref: ref, ...styles, ...aliasedProps, ...rest },
|
|
20
|
+
React.createElement(List, { w: "100%" }, items
|
|
21
|
+
? items?.map?.((item, key) => React.createElement(AccordionItem, { key: key, ...item }))
|
|
22
|
+
: children))));
|
|
23
23
|
});
|
|
24
24
|
export default Accordion;
|
|
@@ -2,12 +2,7 @@ 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 Orientation = 'vertical' | 'horizontal';
|
|
6
5
|
export declare type AccordionProps = SystemProps & ThemingProps<'Accordion'> & {
|
|
7
|
-
/** Items orientation @default 'vertical' */
|
|
8
|
-
orientation?: Orientation;
|
|
9
|
-
/** Hover color for the item title @default "blue.10" */
|
|
10
|
-
itemTitleHoverBg?: string;
|
|
11
6
|
items?: AccordionItemProps[];
|
|
12
7
|
};
|
|
13
8
|
export declare type AccordionItemId = string | number;
|
|
@@ -16,25 +11,15 @@ export declare type AccordionOnToggleEvent = {
|
|
|
16
11
|
collapsed: boolean;
|
|
17
12
|
};
|
|
18
13
|
export declare type AccordionItemProps = ListItemProps & {
|
|
19
|
-
/** Unique ID */
|
|
20
14
|
id: AccordionItemId;
|
|
21
|
-
/** Custom class name */
|
|
22
15
|
className?: string;
|
|
23
|
-
/** Content */
|
|
24
16
|
children?: ReactNode;
|
|
25
|
-
/** Alternative way to provide content */
|
|
26
17
|
content?: ReactNode;
|
|
27
|
-
/** Collapsed state */
|
|
28
18
|
collapsed?: boolean;
|
|
29
|
-
/** Hover color for the item title @default "blue.10" */
|
|
30
|
-
itemTitleHoverBg?: string;
|
|
31
|
-
/** Title */
|
|
32
19
|
title?: string | ReactNode;
|
|
33
|
-
/** Collapse change state */
|
|
34
20
|
onToggle?: (event: AccordionOnToggleEvent) => void;
|
|
35
21
|
};
|
|
36
22
|
export declare type AccordionItemArrowProps = {
|
|
37
23
|
collapsed?: boolean;
|
|
38
|
-
orientation?: Orientation;
|
|
39
24
|
};
|
|
40
25
|
//# 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,cAAc,GAAG,WAAW,GACtC,YAAY,CAAC,WAAW,CAAC,GAAG;IAC1B,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;IAE/C,EAAE,EAAE,eAAe,CAAA;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB,QAAQ,CAAC,EAAE,SAAS,CAAA;IAEpB,OAAO,CAAC,EAAE,SAAS,CAAA;IAEnB,SAAS,CAAC,EAAE,OAAO,CAAA;IAEnB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAE1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAA;CACnD,CAAA;AAED,oBAAY,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,yBAAyB;AACzB,eAAO,MAAM,aAAa,UAAW,kBAAkB,
|
|
1
|
+
{"version":3,"file":"accordionItem.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAItD,yBAAyB;AACzB,eAAO,MAAM,aAAa,UAAW,kBAAkB,gBA2CtD,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -7,7 +7,7 @@ import AccordionItemArrow from './accordionItemArrow';
|
|
|
7
7
|
import { useAccordionContext } from './context';
|
|
8
8
|
/** An accordion item. */
|
|
9
9
|
export const AccordionItem = (props) => {
|
|
10
|
-
const { className, children,
|
|
10
|
+
const { className, children, id, content, disabled, title, collapsed, onToggle, ...rest } = omitThemingProps(props);
|
|
11
11
|
const [collapsedInternal, setIsCollapsedInternal] = useState(false);
|
|
12
12
|
const styles = useStyleConfig('Accordion', useAccordionContext());
|
|
13
13
|
useEffect(() => {
|
|
@@ -19,11 +19,11 @@ export const AccordionItem = (props) => {
|
|
|
19
19
|
setIsCollapsedInternal(!collapsedInternal);
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
return (React.createElement(ListItem, { borderBottom: "1px solid grey.40", className: cs('vui-accordion-item', className), disabled: disabled, flexDirection: "column", h: "auto", id: `${id}`,
|
|
23
|
-
React.createElement(Box, { cursor: disabled ? 'not-allowed' : 'pointer',
|
|
22
|
+
return (React.createElement(ListItem, { borderBottom: "1px solid grey.40", className: cs('vui-accordion-item', className), disabled: disabled, flexDirection: "column", h: "auto", hoverBg: "blue.10", id: `${id}`, w: "100%", ...styles.item, ...rest },
|
|
23
|
+
React.createElement(Box, { cursor: disabled ? 'not-allowed' : 'pointer', justifyContent: "space-between", onClick: toggle, w: "100%" },
|
|
24
24
|
React.createElement(Box, { fontWeight: typeof title === 'string' ? '500' : 'inherit' }, title),
|
|
25
25
|
React.createElement(Box, null,
|
|
26
26
|
React.createElement(AccordionItemArrow, { collapsed: collapsedInternal }))),
|
|
27
|
-
!collapsedInternal && (React.createElement(Box, { mb: 2, mt: 2,
|
|
27
|
+
!collapsedInternal && (React.createElement(Box, { mb: 2, mt: 2, w: "100%" }, children ?? content))));
|
|
28
28
|
};
|
|
29
29
|
export default AccordionItem;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { AccordionItemArrowProps } from './accordion.types';
|
|
3
|
-
declare const _default: React.MemoExoticComponent<(
|
|
3
|
+
declare const _default: React.MemoExoticComponent<(props: AccordionItemArrowProps) => JSX.Element>;
|
|
4
4
|
export default _default;
|
|
5
5
|
//# sourceMappingURL=accordionItemArrow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordionItemArrow.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItemArrow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;;
|
|
1
|
+
{"version":3,"file":"accordionItemArrow.d.ts","sourceRoot":"","sources":["../../../src/accordion/accordionItemArrow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;;AAO3D,wBAA6C"}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import Icon from '../icon';
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
expanded: 'falChevronLeft'
|
|
7
|
-
},
|
|
8
|
-
vertical: {
|
|
9
|
-
collapsed: 'falChevronDown',
|
|
10
|
-
expanded: 'falChevronUp'
|
|
11
|
-
}
|
|
3
|
+
const AccordionItemArrow = (props) => {
|
|
4
|
+
const { collapsed } = props;
|
|
5
|
+
return React.createElement(Icon, { name: collapsed ? 'falChevronDown' : 'falChevronUp', size: "xs" });
|
|
12
6
|
};
|
|
13
|
-
const AccordionItemArrow = ({ collapsed, orientation = 'vertical' }) => (React.createElement(Icon, { name: names[orientation][collapsed ? 'collapsed' : 'expanded'], size: "xs" }));
|
|
14
7
|
export default React.memo(AccordionItemArrow);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/accordion/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/accordion/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,cAAc,mBAAmB,CAAA"}
|
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,
|
|
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,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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veracity/vui",
|
|
3
|
-
"version": "1.7.0-
|
|
3
|
+
"version": "1.7.0-redesign.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",
|
|
@@ -5,7 +5,6 @@ import List from '../list'
|
|
|
5
5
|
import { cs, filterUndefined } from '../utils'
|
|
6
6
|
import { AccordionItemProps, AccordionProps } from './accordion.types'
|
|
7
7
|
import AccordionItem from './accordionItem'
|
|
8
|
-
import AccordionItemHorizontal from './accordionItemHorizontal'
|
|
9
8
|
import { AccordionProvider } from './context'
|
|
10
9
|
|
|
11
10
|
export const AccordionBase = styled.divBox`
|
|
@@ -14,9 +13,9 @@ export const AccordionBase = styled.divBox`
|
|
|
14
13
|
transition-duration: normal;
|
|
15
14
|
`
|
|
16
15
|
|
|
17
|
-
/** Allows to show and hide sections of related content on a page. */
|
|
16
|
+
/** [BETA] Allows to show and hide sections of related content on a page. */
|
|
18
17
|
export const Accordion = vui<'div', AccordionProps>((props, ref) => {
|
|
19
|
-
const { children, className,
|
|
18
|
+
const { children, className, items, size, ...rest } = props
|
|
20
19
|
const styles = useStyleConfig('Accordion', props)
|
|
21
20
|
|
|
22
21
|
const context = useMemo(() => filterUndefined({ size }), [size])
|
|
@@ -26,21 +25,11 @@ export const Accordion = vui<'div', AccordionProps>((props, ref) => {
|
|
|
26
25
|
return (
|
|
27
26
|
<AccordionProvider value={context}>
|
|
28
27
|
<AccordionBase className={cs('vui-accordion', className)} ref={ref} {...styles} {...aliasedProps} {...rest}>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
{
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
))
|
|
35
|
-
: children}
|
|
36
|
-
</List>
|
|
37
|
-
) : items ? (
|
|
38
|
-
items?.map?.((item: AccordionItemProps, key: number) => (
|
|
39
|
-
<AccordionItemHorizontal itemTitleHoverBg={itemTitleHoverBg} key={key} {...item} />
|
|
40
|
-
))
|
|
41
|
-
) : (
|
|
42
|
-
children
|
|
43
|
-
)}
|
|
28
|
+
<List w="100%">
|
|
29
|
+
{items
|
|
30
|
+
? items?.map?.((item: AccordionItemProps, key: number) => <AccordionItem key={key} {...item} />)
|
|
31
|
+
: children}
|
|
32
|
+
</List>
|
|
44
33
|
</AccordionBase>
|
|
45
34
|
</AccordionProvider>
|
|
46
35
|
)
|
|
@@ -4,14 +4,8 @@ import { ListItemProps } from '../list'
|
|
|
4
4
|
import { SystemProps } from '../system'
|
|
5
5
|
import { ThemingProps } from '../theme'
|
|
6
6
|
|
|
7
|
-
export type Orientation = 'vertical' | 'horizontal'
|
|
8
|
-
|
|
9
7
|
export type AccordionProps = SystemProps &
|
|
10
8
|
ThemingProps<'Accordion'> & {
|
|
11
|
-
/** Items orientation @default 'vertical' */
|
|
12
|
-
orientation?: Orientation
|
|
13
|
-
/** Hover color for the item title @default "blue.10" */
|
|
14
|
-
itemTitleHoverBg?: string
|
|
15
9
|
items?: AccordionItemProps[]
|
|
16
10
|
}
|
|
17
11
|
|
|
@@ -23,25 +17,22 @@ export type AccordionOnToggleEvent = {
|
|
|
23
17
|
}
|
|
24
18
|
|
|
25
19
|
export type AccordionItemProps = ListItemProps & {
|
|
26
|
-
|
|
20
|
+
// Unique ID
|
|
27
21
|
id: AccordionItemId
|
|
28
|
-
|
|
22
|
+
// Custom class name
|
|
29
23
|
className?: string
|
|
30
|
-
|
|
24
|
+
// Content
|
|
31
25
|
children?: ReactNode
|
|
32
|
-
|
|
26
|
+
// Alternative way to provide content
|
|
33
27
|
content?: ReactNode
|
|
34
|
-
|
|
28
|
+
// Collapsed state
|
|
35
29
|
collapsed?: boolean
|
|
36
|
-
|
|
37
|
-
itemTitleHoverBg?: string
|
|
38
|
-
/** Title */
|
|
30
|
+
// Title
|
|
39
31
|
title?: string | ReactNode
|
|
40
|
-
|
|
32
|
+
// Collapse change state
|
|
41
33
|
onToggle?: (event: AccordionOnToggleEvent) => void
|
|
42
34
|
}
|
|
43
35
|
|
|
44
36
|
export type AccordionItemArrowProps = {
|
|
45
37
|
collapsed?: boolean
|
|
46
|
-
orientation?: Orientation
|
|
47
38
|
}
|
|
@@ -10,18 +10,7 @@ import { useAccordionContext } from './context'
|
|
|
10
10
|
|
|
11
11
|
/** An accordion item. */
|
|
12
12
|
export const AccordionItem = (props: AccordionItemProps) => {
|
|
13
|
-
const {
|
|
14
|
-
className,
|
|
15
|
-
children,
|
|
16
|
-
collapsed,
|
|
17
|
-
content,
|
|
18
|
-
disabled,
|
|
19
|
-
id,
|
|
20
|
-
itemTitleHoverBg = 'blue.10',
|
|
21
|
-
title,
|
|
22
|
-
onToggle,
|
|
23
|
-
...rest
|
|
24
|
-
} = omitThemingProps(props)
|
|
13
|
+
const { className, children, id, content, disabled, title, collapsed, onToggle, ...rest } = omitThemingProps(props)
|
|
25
14
|
const [collapsedInternal, setIsCollapsedInternal] = useState<boolean>(false)
|
|
26
15
|
|
|
27
16
|
const styles = useStyleConfig('Accordion', useAccordionContext())
|
|
@@ -44,27 +33,20 @@ export const AccordionItem = (props: AccordionItemProps) => {
|
|
|
44
33
|
disabled={disabled}
|
|
45
34
|
flexDirection="column"
|
|
46
35
|
h="auto"
|
|
36
|
+
hoverBg="blue.10"
|
|
47
37
|
id={`${id}`}
|
|
48
|
-
p={0}
|
|
49
38
|
w="100%"
|
|
39
|
+
{...styles.item}
|
|
50
40
|
{...rest}
|
|
51
41
|
>
|
|
52
|
-
<Box
|
|
53
|
-
cursor={disabled ? 'not-allowed' : 'pointer'}
|
|
54
|
-
hoverBg={itemTitleHoverBg}
|
|
55
|
-
justifyContent="space-between"
|
|
56
|
-
onClick={toggle}
|
|
57
|
-
px={2}
|
|
58
|
-
w="100%"
|
|
59
|
-
{...styles.item}
|
|
60
|
-
>
|
|
42
|
+
<Box cursor={disabled ? 'not-allowed' : 'pointer'} justifyContent="space-between" onClick={toggle} w="100%">
|
|
61
43
|
<Box fontWeight={typeof title === 'string' ? '500' : 'inherit'}>{title}</Box>
|
|
62
44
|
<Box>
|
|
63
45
|
<AccordionItemArrow collapsed={collapsedInternal} />
|
|
64
46
|
</Box>
|
|
65
47
|
</Box>
|
|
66
48
|
{!collapsedInternal && (
|
|
67
|
-
<Box mb={2} mt={2}
|
|
49
|
+
<Box mb={2} mt={2} w="100%">
|
|
68
50
|
{children ?? content}
|
|
69
51
|
</Box>
|
|
70
52
|
)}
|
|
@@ -3,19 +3,9 @@ import React from 'react'
|
|
|
3
3
|
import Icon from '../icon'
|
|
4
4
|
import { AccordionItemArrowProps } from './accordion.types'
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
expanded: 'falChevronLeft'
|
|
10
|
-
},
|
|
11
|
-
vertical: {
|
|
12
|
-
collapsed: 'falChevronDown',
|
|
13
|
-
expanded: 'falChevronUp'
|
|
14
|
-
}
|
|
6
|
+
const AccordionItemArrow = (props: AccordionItemArrowProps) => {
|
|
7
|
+
const { collapsed } = props
|
|
8
|
+
return <Icon name={collapsed ? 'falChevronDown' : 'falChevronUp'} size="xs" />
|
|
15
9
|
}
|
|
16
10
|
|
|
17
|
-
const AccordionItemArrow = ({ collapsed, orientation = 'vertical' }: AccordionItemArrowProps) => (
|
|
18
|
-
<Icon name={names[orientation][collapsed ? 'collapsed' : 'expanded']} size="xs" />
|
|
19
|
-
)
|
|
20
|
-
|
|
21
11
|
export default React.memo(AccordionItemArrow)
|
package/src/accordion/index.ts
CHANGED
package/src/index.ts
CHANGED