@conveyorhq/arrow-ds 1.52.0 → 1.53.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/package.json +1 -1
- package/public/components/Accordion/Accordion.d.ts +8 -1
- package/public/components/Accordion/Accordion.js +14 -2
- package/public/css/styles.css +36 -1
- package/public/css/styles.min.css +1 -1
- package/public/css/styles.min.css.map +1 -1
- package/src/components/Accordion/Accordion.story.mdx +26 -28
- package/src/components/Accordion/Accordion.tsx +40 -3
- package/src/components/Accordion/index.css +24 -1
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { BoxProps } from "../Box";
|
|
3
3
|
import { StackProps } from "../Stack";
|
|
4
|
+
import { IconProps } from "../Icon";
|
|
4
5
|
import type { AccordionOwnProps, AccordionItemOwnProps, AccordionDisclosureProps, AccordionGroupOwnProps } from "./types";
|
|
5
6
|
export declare type AccordionGroupProps = AccordionGroupOwnProps & Pick<StackProps, "children" | "spacing" | "className">;
|
|
6
7
|
export declare const AccordionGroup: ({ children, spacing, defaultValue, disableAnimation, className, ...rest }: AccordionGroupProps) => JSX.Element;
|
|
@@ -8,13 +9,18 @@ export declare type AccordionItemProps = AccordionItemOwnProps & BoxProps;
|
|
|
8
9
|
export declare const AccordionItem: ({ value, defaultIsOpen: defaultIsOpenProp, children, className, ...rest }: AccordionItemProps) => JSX.Element;
|
|
9
10
|
declare type AccordionButtonChildProps = Omit<AccordionDisclosureProps, "onToggle">;
|
|
10
11
|
declare type AccordionButtonChildFunction = {
|
|
11
|
-
children(props: AccordionButtonChildProps): React.
|
|
12
|
+
children(props: AccordionButtonChildProps): React.ReactElement;
|
|
12
13
|
};
|
|
13
14
|
declare type AccordionButtonOwnProps = AccordionButtonChildFunction | {
|
|
14
15
|
children: React.ReactNode;
|
|
15
16
|
};
|
|
16
17
|
export declare type AccordionButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & AccordionButtonOwnProps;
|
|
17
18
|
export declare const AccordionButton: React.ForwardRefExoticComponent<AccordionButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
19
|
+
export declare type AccordionIconProps = {
|
|
20
|
+
className?: string;
|
|
21
|
+
direction?: "up" | "down" | "left" | "right";
|
|
22
|
+
} & Pick<IconProps, "color">;
|
|
23
|
+
export declare const AccordionIcon: ({ className, direction, color, }: AccordionIconProps) => JSX.Element;
|
|
18
24
|
export declare type AccordionContentProps = {
|
|
19
25
|
children: React.ReactNode;
|
|
20
26
|
maxHeight?: string;
|
|
@@ -28,6 +34,7 @@ export declare const Accordion: {
|
|
|
28
34
|
Group: ({ children, spacing, defaultValue, disableAnimation, className, ...rest }: AccordionGroupProps) => JSX.Element;
|
|
29
35
|
Item: ({ value, defaultIsOpen: defaultIsOpenProp, children, className, ...rest }: AccordionItemProps) => JSX.Element;
|
|
30
36
|
Button: React.ForwardRefExoticComponent<AccordionButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
37
|
+
Icon: ({ className, direction, color, }: AccordionIconProps) => JSX.Element;
|
|
31
38
|
Content: ({ children, maxHeight, style, className, ...rest }: AccordionContentProps) => JSX.Element;
|
|
32
39
|
};
|
|
33
40
|
export {};
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Accordion = exports.AccordionContent = exports.AccordionButton = exports.AccordionItem = exports.AccordionGroup = void 0;
|
|
6
|
+
exports.Accordion = exports.AccordionContent = exports.AccordionIcon = exports.AccordionButton = exports.AccordionItem = exports.AccordionGroup = void 0;
|
|
7
7
|
const react_1 = __importDefault(require("react"));
|
|
8
8
|
const classnames_1 = __importDefault(require("classnames"));
|
|
9
9
|
const renderprops_1 = require("react-spring/renderprops");
|
|
@@ -56,6 +56,7 @@ exports.AccordionButton = react_1.default.forwardRef((props, forwardedRef) => {
|
|
|
56
56
|
const buttonRef = react_1.default.useRef(null);
|
|
57
57
|
const ref = react_merge_refs_1.default([forwardedRef, buttonRef]);
|
|
58
58
|
return (react_1.default.createElement("button", Object.assign({ ref: ref, type: "button", className: className, id: buttonId, "aria-controls": contentId, "aria-expanded": isOpen, "aria-disabled": disabled, disabled: disabled, onClick: (event) => {
|
|
59
|
+
event.stopPropagation();
|
|
59
60
|
if (onClick) {
|
|
60
61
|
onClick(event);
|
|
61
62
|
}
|
|
@@ -66,6 +67,16 @@ exports.AccordionButton = react_1.default.forwardRef((props, forwardedRef) => {
|
|
|
66
67
|
? children({ isOpen, onClose })
|
|
67
68
|
: children));
|
|
68
69
|
});
|
|
70
|
+
const AccordionIcon = ({ className, direction = "down", color, }) => {
|
|
71
|
+
const icon = {
|
|
72
|
+
up: Icon_1.ICON_TYPE.CHEVRON_UP,
|
|
73
|
+
down: Icon_1.ICON_TYPE.CHEVRON_DOWN,
|
|
74
|
+
left: Icon_1.ICON_TYPE.CHEVRON_LEFT,
|
|
75
|
+
right: Icon_1.ICON_TYPE.CHEVRON_RIGHT,
|
|
76
|
+
};
|
|
77
|
+
return (react_1.default.createElement(Icon_1.Icon, { className: classnames_1.default([cn({ e: "icon" }), className]), "data-direction": direction, icon: icon[direction], color: color }));
|
|
78
|
+
};
|
|
79
|
+
exports.AccordionIcon = AccordionIcon;
|
|
69
80
|
const AccordionContent = ({ children, maxHeight, style, className, ...rest }) => {
|
|
70
81
|
const { disableAnimation } = context_1.useAccordionGroupContext();
|
|
71
82
|
const { buttonId, contentId, defaultIsOpen, isOpen, } = context_1.useAccordionItemContext();
|
|
@@ -96,7 +107,7 @@ const Accordion = (props) => {
|
|
|
96
107
|
[cn({ e: "button", m: "isActive" })]: isActive,
|
|
97
108
|
}) },
|
|
98
109
|
react_1.default.createElement(Flex_1.Flex, { className: "items-center", as: "span" },
|
|
99
|
-
iconSlot && (react_1.default.createElement(Box_1.Box, { className: classnames_1.default(cn({ e: "
|
|
110
|
+
iconSlot && (react_1.default.createElement(Box_1.Box, { className: classnames_1.default(cn({ e: "iconSlot" })), as: "span" }, iconSlot)),
|
|
100
111
|
title),
|
|
101
112
|
react_1.default.createElement(Icon_1.Icon, { icon: Icon_1.ICON_TYPE.CHEVRON_DOWN, className: cn({ e: "chevronIcon" }) }))),
|
|
102
113
|
react_1.default.createElement(exports.AccordionContent, { className: cn({ e: "content" }), maxHeight: maxHeight },
|
|
@@ -106,4 +117,5 @@ exports.Accordion = Accordion;
|
|
|
106
117
|
exports.Accordion.Group = exports.AccordionGroup;
|
|
107
118
|
exports.Accordion.Item = exports.AccordionItem;
|
|
108
119
|
exports.Accordion.Button = exports.AccordionButton;
|
|
120
|
+
exports.Accordion.Icon = exports.AccordionIcon;
|
|
109
121
|
exports.Accordion.Content = exports.AccordionContent;
|
package/public/css/styles.css
CHANGED
|
@@ -923,7 +923,7 @@ span.CodeMirror-selectedtext { background: none; }
|
|
|
923
923
|
left: 8px;
|
|
924
924
|
}
|
|
925
925
|
|
|
926
|
-
.ads-Accordion-
|
|
926
|
+
.ads-Accordion-iconSlot {
|
|
927
927
|
margin-right: 8px;
|
|
928
928
|
}
|
|
929
929
|
|
|
@@ -996,6 +996,41 @@ span.CodeMirror-selectedtext { background: none; }
|
|
|
996
996
|
padding-right: 32px;
|
|
997
997
|
}
|
|
998
998
|
|
|
999
|
+
.ads-Accordion-icon {
|
|
1000
|
+
transition-duration: 300ms;
|
|
1001
|
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
|
1002
|
+
|
|
1003
|
+
transition-property: -webkit-transform;
|
|
1004
|
+
|
|
1005
|
+
transition-property: transform;
|
|
1006
|
+
|
|
1007
|
+
transition-property: transform, -webkit-transform;
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
.ads-Accordion--isOpen .ads-Accordion-icon[data-direction="up"] {
|
|
1011
|
+
--tw-rotate: 180deg;
|
|
1012
|
+
-webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1013
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
.ads-Accordion--isOpen .ads-Accordion-icon[data-direction="down"] {
|
|
1017
|
+
--tw-rotate: -180deg;
|
|
1018
|
+
-webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1019
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
.ads-Accordion--isOpen .ads-Accordion-icon[data-direction="left"] {
|
|
1023
|
+
--tw-rotate: -90deg;
|
|
1024
|
+
-webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1025
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1026
|
+
}
|
|
1027
|
+
|
|
1028
|
+
.ads-Accordion--isOpen .ads-Accordion-icon[data-direction="right"] {
|
|
1029
|
+
--tw-rotate: 90deg;
|
|
1030
|
+
-webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1031
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1032
|
+
}
|
|
1033
|
+
|
|
999
1034
|
.ads-Appbar {
|
|
1000
1035
|
position: relative;
|
|
1001
1036
|
display: flex;
|