no-frills-ui 0.0.14-alpha.7 → 0.0.14-rc.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/README.md +2 -3
- package/dist/index.js +926 -795
- package/dist/index.js.map +1 -1
- package/lib-esm/components/Accordion/Accordion.d.ts +9 -13
- package/lib-esm/components/Accordion/Accordion.js +4 -10
- package/lib-esm/components/Accordion/Accordion.js.map +1 -0
- package/lib-esm/components/Accordion/AccordionStep.d.ts +22 -22
- package/lib-esm/components/Accordion/AccordionStep.js +41 -35
- package/lib-esm/components/Accordion/AccordionStep.js.map +1 -0
- package/lib-esm/components/Badge/Badge.d.ts +13 -16
- package/lib-esm/components/Badge/Badge.js +12 -21
- package/lib-esm/components/Badge/Badge.js.map +1 -0
- package/lib-esm/components/Button/ActionButton.d.ts +9 -5
- package/lib-esm/components/Button/ActionButton.js +20 -4
- package/lib-esm/components/Button/ActionButton.js.map +1 -0
- package/lib-esm/components/Button/Button.d.ts +9 -5
- package/lib-esm/components/Button/Button.js +19 -6
- package/lib-esm/components/Button/Button.js.map +1 -0
- package/lib-esm/components/Button/IconButton.d.ts +9 -5
- package/lib-esm/components/Button/IconButton.js +20 -4
- package/lib-esm/components/Button/IconButton.js.map +1 -0
- package/lib-esm/components/Button/LinkButton.d.ts +9 -5
- package/lib-esm/components/Button/LinkButton.js +20 -4
- package/lib-esm/components/Button/LinkButton.js.map +1 -0
- package/lib-esm/components/Button/RaisedButton.d.ts +9 -5
- package/lib-esm/components/Button/RaisedButton.js +20 -4
- package/lib-esm/components/Button/RaisedButton.js.map +1 -0
- package/lib-esm/components/Card/Card.d.ts +4 -6
- package/lib-esm/components/Card/Card.js +18 -4
- package/lib-esm/components/Card/Card.js.map +1 -0
- package/lib-esm/components/Chip/Chip.d.ts +2 -2
- package/lib-esm/components/Chip/Chip.js +17 -10
- package/lib-esm/components/Chip/Chip.js.map +1 -0
- package/lib-esm/components/ChipInput/ChipInput.d.ts +28 -39
- package/lib-esm/components/ChipInput/ChipInput.js +39 -39
- package/lib-esm/components/ChipInput/ChipInput.js.map +1 -0
- package/lib-esm/components/Dialog/AlertDialog.d.ts +11 -12
- package/lib-esm/components/Dialog/AlertDialog.js +5 -11
- package/lib-esm/components/Dialog/AlertDialog.js.map +1 -0
- package/lib-esm/components/Dialog/ConfirmDialog.d.ts +13 -14
- package/lib-esm/components/Dialog/ConfirmDialog.js +5 -12
- package/lib-esm/components/Dialog/ConfirmDialog.js.map +1 -0
- package/lib-esm/components/Dialog/Dialog.d.ts +8 -14
- package/lib-esm/components/Dialog/Dialog.js +13 -10
- package/lib-esm/components/Dialog/Dialog.js.map +1 -0
- package/lib-esm/components/Dialog/PromptDialog.d.ts +18 -19
- package/lib-esm/components/Dialog/PromptDialog.js +14 -21
- package/lib-esm/components/Dialog/PromptDialog.js.map +1 -0
- package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts +37 -59
- package/lib-esm/components/DragAndDrop/DragAndDrop.js +26 -28
- package/lib-esm/components/DragAndDrop/DragAndDrop.js.map +1 -0
- package/lib-esm/components/DragAndDrop/DragItem.d.ts +2 -2
- package/lib-esm/components/DragAndDrop/DragItem.js +43 -40
- package/lib-esm/components/DragAndDrop/DragItem.js.map +1 -0
- package/lib-esm/components/DragAndDrop/types.d.ts +3 -3
- package/lib-esm/components/DragAndDrop/types.js +1 -0
- package/lib-esm/components/DragAndDrop/types.js.map +1 -0
- package/lib-esm/components/Drawer/Drawer.d.ts +24 -31
- package/lib-esm/components/Drawer/Drawer.js +50 -45
- package/lib-esm/components/Drawer/Drawer.js.map +1 -0
- package/lib-esm/components/Groups/Group.d.ts +6 -8
- package/lib-esm/components/Groups/Group.js +15 -12
- package/lib-esm/components/Groups/Group.js.map +1 -0
- package/lib-esm/components/Groups/GroupLabel.js +2 -1
- package/lib-esm/components/Groups/GroupLabel.js.map +1 -0
- package/lib-esm/components/Input/Checkbox.d.ts +12 -15
- package/lib-esm/components/Input/Checkbox.js +34 -29
- package/lib-esm/components/Input/Checkbox.js.map +1 -0
- package/lib-esm/components/Input/Dropdown.d.ts +8 -18
- package/lib-esm/components/Input/Dropdown.js +44 -18
- package/lib-esm/components/Input/Dropdown.js.map +1 -0
- package/lib-esm/components/Input/Input.d.ts +8 -3
- package/lib-esm/components/Input/Input.js +24 -22
- package/lib-esm/components/Input/Input.js.map +1 -0
- package/lib-esm/components/Input/Radio.d.ts +4 -8
- package/lib-esm/components/Input/Radio.js +20 -16
- package/lib-esm/components/Input/Radio.js.map +1 -0
- package/lib-esm/components/Input/RadioButton.d.ts +4 -8
- package/lib-esm/components/Input/RadioButton.js +19 -15
- package/lib-esm/components/Input/RadioButton.js.map +1 -0
- package/lib-esm/components/Input/Select.d.ts +6 -13
- package/lib-esm/components/Input/Select.js +26 -22
- package/lib-esm/components/Input/Select.js.map +1 -0
- package/lib-esm/components/Input/TextArea.d.ts +6 -13
- package/lib-esm/components/Input/TextArea.js +33 -27
- package/lib-esm/components/Input/TextArea.js.map +1 -0
- package/lib-esm/components/Input/Toggle.d.ts +4 -9
- package/lib-esm/components/Input/Toggle.js +15 -12
- package/lib-esm/components/Input/Toggle.js.map +1 -0
- package/lib-esm/components/Menu/Menu.d.ts +4 -14
- package/lib-esm/components/Menu/Menu.js +26 -17
- package/lib-esm/components/Menu/Menu.js.map +1 -0
- package/lib-esm/components/Menu/MenuContext.d.ts +4 -4
- package/lib-esm/components/Menu/MenuContext.js +2 -0
- package/lib-esm/components/Menu/MenuContext.js.map +1 -0
- package/lib-esm/components/Menu/MenuItem.d.ts +10 -4
- package/lib-esm/components/Menu/MenuItem.js +21 -6
- package/lib-esm/components/Menu/MenuItem.js.map +1 -0
- package/lib-esm/components/Modal/Modal.d.ts +17 -23
- package/lib-esm/components/Modal/Modal.js +38 -34
- package/lib-esm/components/Modal/Modal.js.map +1 -0
- package/lib-esm/components/Notification/Notification.d.ts +39 -34
- package/lib-esm/components/Notification/Notification.js +17 -39
- package/lib-esm/components/Notification/Notification.js.map +1 -0
- package/lib-esm/components/Notification/NotificationManager.d.ts +4 -4
- package/lib-esm/components/Notification/NotificationManager.js +19 -14
- package/lib-esm/components/Notification/NotificationManager.js.map +1 -0
- package/lib-esm/components/Notification/index.d.ts +1 -0
- package/lib-esm/components/Notification/style.d.ts +2 -3
- package/lib-esm/components/Notification/style.js +21 -20
- package/lib-esm/components/Notification/style.js.map +1 -0
- package/lib-esm/components/Notification/types.js +1 -0
- package/lib-esm/components/Notification/types.js.map +1 -0
- package/lib-esm/components/Popover/Popover.d.ts +21 -20
- package/lib-esm/components/Popover/Popover.js +44 -45
- package/lib-esm/components/Popover/Popover.js.map +1 -0
- package/lib-esm/components/Spinner/Spinner.d.ts +14 -15
- package/lib-esm/components/Spinner/Spinner.js +14 -14
- package/lib-esm/components/Spinner/Spinner.js.map +1 -0
- package/lib-esm/components/Stepper/Step.d.ts +15 -12
- package/lib-esm/components/Stepper/Step.js +12 -9
- package/lib-esm/components/Stepper/Step.js.map +1 -0
- package/lib-esm/components/Stepper/Stepper.d.ts +11 -17
- package/lib-esm/components/Stepper/Stepper.js +30 -27
- package/lib-esm/components/Stepper/Stepper.js.map +1 -0
- package/lib-esm/components/Tabs/Tab.d.ts +10 -16
- package/lib-esm/components/Tabs/Tab.js +1 -8
- package/lib-esm/components/Tabs/Tab.js.map +1 -0
- package/lib-esm/components/Tabs/Tabs.d.ts +11 -22
- package/lib-esm/components/Tabs/Tabs.js +43 -34
- package/lib-esm/components/Tabs/Tabs.js.map +1 -0
- package/lib-esm/components/Toast/Toast.d.ts +7 -7
- package/lib-esm/components/Toast/Toast.js +17 -15
- package/lib-esm/components/Toast/Toast.js.map +1 -0
- package/lib-esm/components/Toast/ToastStory.d.ts +21 -24
- package/lib-esm/components/Tooltip/Tooltip.d.ts +11 -14
- package/lib-esm/components/Tooltip/Tooltip.js +14 -23
- package/lib-esm/components/Tooltip/Tooltip.js.map +1 -0
- package/lib-esm/icons/CheckCircle.js +3 -2
- package/lib-esm/icons/CheckCircle.js.map +1 -0
- package/lib-esm/icons/Close.js +1 -0
- package/lib-esm/icons/Close.js.map +1 -0
- package/lib-esm/icons/DragIndicator.js +1 -0
- package/lib-esm/icons/DragIndicator.js.map +1 -0
- package/lib-esm/icons/ErrorOutline.js +3 -2
- package/lib-esm/icons/ErrorOutline.js.map +1 -0
- package/lib-esm/icons/ExpandMore.js +1 -0
- package/lib-esm/icons/ExpandMore.js.map +1 -0
- package/lib-esm/icons/FiberManualRecord.js +1 -0
- package/lib-esm/icons/FiberManualRecord.js.map +1 -0
- package/lib-esm/icons/Info.js +3 -2
- package/lib-esm/icons/Info.js.map +1 -0
- package/lib-esm/icons/ReportProblem.js +3 -2
- package/lib-esm/icons/ReportProblem.js.map +1 -0
- package/lib-esm/index.js +43 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/shared/LayerManager.d.ts +5 -4
- package/lib-esm/shared/LayerManager.js +125 -112
- package/lib-esm/shared/LayerManager.js.map +1 -0
- package/lib-esm/shared/constants.js +1 -0
- package/lib-esm/shared/constants.js.map +1 -0
- package/lib-esm/shared/styles.js +9 -8
- package/lib-esm/shared/styles.js.map +1 -0
- package/package.json +66 -31
- package/lib-esm/components/index.js +0 -42
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
declare function Accordion(props: PropsWithChildren<AccordionProps>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
type AccordionProps = PropTypes.InferProps<typeof Accordion.propTypes>;
|
|
3
|
+
type AccordionProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Currently opened step
|
|
6
|
+
* @default -1
|
|
7
|
+
*/
|
|
8
|
+
active?: number;
|
|
9
|
+
/** Handler for click event on a step */
|
|
10
|
+
onStepClick?: (index: number) => void;
|
|
11
|
+
};
|
|
16
12
|
export default Accordion;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsx, Fragment } from '@emotion/react/jsx-runtime';
|
|
2
2
|
import { useState, Children, isValidElement, cloneElement } from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
3
|
|
|
5
4
|
function Accordion(props) {
|
|
6
5
|
const [active, setActive] = useState(props.active);
|
|
@@ -20,19 +19,14 @@ function Accordion(props) {
|
|
|
20
19
|
if (!/*#__PURE__*/ isValidElement(child)) {
|
|
21
20
|
return child;
|
|
22
21
|
}
|
|
23
|
-
|
|
22
|
+
const reactElement = child;
|
|
23
|
+
return /*#__PURE__*/ cloneElement(reactElement, {
|
|
24
24
|
open: active === index,
|
|
25
|
-
onStepClick: onStepClick(index,
|
|
25
|
+
onStepClick: onStepClick(index, reactElement.props.disabled || false)
|
|
26
26
|
});
|
|
27
27
|
})
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
Accordion.propTypes = {
|
|
31
|
-
/** Currently opened step */ active: PropTypes.number,
|
|
32
|
-
/** Handler for click event on a step */ onStepClick: PropTypes.func
|
|
33
|
-
};
|
|
34
|
-
Accordion.defaultProps = {
|
|
35
|
-
active: -1
|
|
36
|
-
};
|
|
37
30
|
|
|
38
31
|
export { Accordion as default };
|
|
32
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.js","sources":["../../../src/components/Accordion/Accordion.tsx"],"sourcesContent":["import { useState, Children, cloneElement, PropsWithChildren, isValidElement } from 'react';\n\nfunction Accordion(props: PropsWithChildren<AccordionProps>) {\n const [active, setActive] = useState(props.active);\n\n const onStepClick = (index: number, disabled: boolean) => () => {\n if (disabled) {\n return;\n }\n\n const newIndex = index !== active ? index : -1;\n if (props.onStepClick) {\n props.onStepClick(newIndex);\n } else {\n setActive(newIndex);\n }\n };\n\n return (\n <>\n {Children.map(props.children, (child, index) => {\n if (!isValidElement(child)) {\n return child;\n }\n const reactElement = child as React.ReactElement<{\n disabled?: boolean;\n open?: boolean;\n onStepClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n return cloneElement(reactElement, {\n open: active === index,\n onStepClick: onStepClick(index, reactElement.props.disabled || false),\n });\n })}\n </>\n );\n}\n\ntype AccordionProps = {\n /**\n * Currently opened step\n * @default -1\n */\n active?: number;\n /** Handler for click event on a step */\n onStepClick?: (index: number) => void;\n};\n\nexport default Accordion;\n"],"names":["Accordion","props","active","setActive","useState","onStepClick","index","disabled","newIndex","_jsx","_Fragment","Children","map","children","child","isValidElement","reactElement","cloneElement","open"],"mappings":";;;AAEA,SAASA,UAAUC,KAAwC,EAAA;AACvD,IAAA,MAAM,CAACC,MAAAA,EAAQC,SAAAA,CAAU,GAAGC,QAAAA,CAASH,MAAMC,MAAM,CAAA;IAEjD,MAAMG,WAAAA,GAAc,CAACC,KAAAA,EAAeC,QAAAA,GAAsB,IAAA;AACtD,YAAA,IAAIA,QAAAA,EAAU;AACV,gBAAA;AACJ,YAAA;AAEA,YAAA,MAAMC,QAAAA,GAAWF,KAAAA,KAAUJ,MAAAA,GAASI,KAAAA,GAAQ,EAAC;YAC7C,IAAIL,KAAAA,CAAMI,WAAW,EAAE;AACnBJ,gBAAAA,KAAAA,CAAMI,WAAW,CAACG,QAAAA,CAAAA;YACtB,CAAA,MAAO;gBACHL,SAAAA,CAAUK,QAAAA,CAAAA;AACd,YAAA;AACJ,QAAA,CAAA;IAEA,qBACIC,GAAA,CAAAC,QAAA,EAAA;AACKC,QAAAA,QAAAA,EAAAA,QAAAA,CAASC,GAAG,CAACX,KAAAA,CAAMY,QAAQ,EAAE,CAACC,KAAAA,EAAOR,KAAAA,GAAAA;YAClC,IAAI,eAACS,eAAeD,KAAAA,CAAAA,EAAQ;gBACxB,OAAOA,KAAAA;AACX,YAAA;AACA,YAAA,MAAME,YAAAA,GAAeF,KAAAA;AAKrB,YAAA,qBAAOG,aAAaD,YAAAA,EAAc;AAC9BE,gBAAAA,IAAAA,EAAMhB,MAAAA,KAAWI,KAAAA;AACjBD,gBAAAA,WAAAA,EAAaA,YAAYC,KAAAA,EAAOU,YAAAA,CAAaf,KAAK,CAACM,QAAQ,IAAI,KAAA;AACnE,aAAA,CAAA;AACJ,QAAA,CAAA;;AAGZ;;;;"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
export declare const AccordionStepBody: import("@emotion/styled").StyledComponent<{
|
|
4
3
|
theme?: import("@emotion/react").Theme;
|
|
5
4
|
as?: React.ElementType;
|
|
@@ -8,26 +7,27 @@ export declare const AccordionStepFooter: import("@emotion/styled").StyledCompon
|
|
|
8
7
|
theme?: import("@emotion/react").Theme;
|
|
9
8
|
as?: React.ElementType;
|
|
10
9
|
}, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
/** Props for `AccordionStep` component */
|
|
11
|
+
interface AccordionStepProps {
|
|
12
|
+
/**
|
|
13
|
+
* If the step has been marked as completed
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
completed?: boolean;
|
|
17
|
+
/** If the step is disabled
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/** Header content for the step */
|
|
22
|
+
header: React.ReactNode;
|
|
23
|
+
/** Error text to display as a badge in the header */
|
|
24
|
+
errorText?: React.ReactNode;
|
|
25
|
+
/** If the step is expanded */
|
|
26
|
+
open?: boolean;
|
|
27
|
+
/** Click handler for the step header */
|
|
28
|
+
onStepClick?: React.MouseEventHandler<HTMLButtonElement>;
|
|
27
29
|
}
|
|
30
|
+
declare const AccordionStep: React.ForwardRefExoticComponent<AccordionStepProps & {
|
|
31
|
+
children?: React.ReactNode | undefined;
|
|
32
|
+
} & React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
28
33
|
export default AccordionStep;
|
|
29
|
-
type AccordionStepProps = PropTypes.InferProps<typeof AccordionStep.propTypes> & {
|
|
30
|
-
open?: boolean;
|
|
31
|
-
completed: boolean;
|
|
32
|
-
onStepClick?: () => void;
|
|
33
|
-
};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from '@emotion/react/jsx-runtime';
|
|
2
|
-
import { useState, useId } from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
|
-
import { css } from '@emotion/react';
|
|
2
|
+
import React, { useState, useId, useRef, useEffect } from 'react';
|
|
5
3
|
import styled from '@emotion/styled';
|
|
6
4
|
import { getThemeValue, THEME_NAME } from '../../shared/constants.js';
|
|
7
5
|
import { Ellipsis } from '../../shared/styles.js';
|
|
@@ -10,43 +8,60 @@ import Badge, { BADGE_TYPE } from '../Badge/Badge.js';
|
|
|
10
8
|
import ExpandMore from '../../icons/ExpandMore.js';
|
|
11
9
|
import Card from '../Card/Card.js';
|
|
12
10
|
|
|
13
|
-
const Step = /*#__PURE__*/ styled(Card, {
|
|
14
|
-
target: "
|
|
11
|
+
const Step$1 = /*#__PURE__*/ styled(Card, {
|
|
12
|
+
target: "e14f46gi0",
|
|
15
13
|
label: "Step"
|
|
16
|
-
})("transition:all 0.6s ease;overflow:visible;", (props)=>props.open && `margin: 20px 5px
|
|
14
|
+
})("transition:all 0.6s ease;overflow:visible;", (props)=>props.open && `margin: 20px 5px;`);
|
|
17
15
|
const StepHeader = /*#__PURE__*/ styled("button", {
|
|
18
|
-
target: "
|
|
16
|
+
target: "e14f46gi1",
|
|
19
17
|
label: "StepHeader"
|
|
20
|
-
})("padding:20px 15px;display:flex;justify-content:space-between;background:none;border:none;border-radius:10px;width:100%;font-size:inherit;color:", getThemeValue(THEME_NAME.TEXT_COLOR_DARK), ";&:focus-visible{box-shadow:0 0 0 4px ", getThemeValue(THEME_NAME.PRIMARY_LIGHT), ";}& input{appearance:none;margin:0;}", (props)=>props.open && `border-bottom: 1px solid ${getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR)};`, " ", (props)=>props.disabled && `color: ${getThemeValue(THEME_NAME.DISABLED)}
|
|
18
|
+
})("padding:20px 15px;display:flex;justify-content:space-between;background:none;border:none;border-radius:10px;width:100%;font-size:inherit;color:", getThemeValue(THEME_NAME.TEXT_COLOR_DARK), ";&:focus-visible{box-shadow:0 0 0 4px ", getThemeValue(THEME_NAME.PRIMARY_LIGHT), ";}& input{appearance:none;margin:0;}", (props)=>props.open && `border-bottom: 1px solid ${getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR)};`, " ", (props)=>props.disabled && `color: ${getThemeValue(THEME_NAME.DISABLED)};`);
|
|
21
19
|
const HeaderContainer = /*#__PURE__*/ styled("div", {
|
|
22
|
-
target: "
|
|
20
|
+
target: "e14f46gi2",
|
|
23
21
|
label: "HeaderContainer"
|
|
24
|
-
})("display:flex;align-items:center;min-width:40px;& svg{vertical-align:top;margin-right:10px;fill:", (props)=>props.open ? getThemeValue(THEME_NAME.PRIMARY) : props.completed ? getThemeValue(THEME_NAME.SUCCESS) : getThemeValue(THEME_NAME.LIGHT_GREY), ";transform:", (props)=>props.open ? 'scale(0.8)' : 'scale(0.6)', ";transition:all 0.3s ease;min-width:24px;}"
|
|
22
|
+
})("display:flex;align-items:center;min-width:40px;& svg{vertical-align:top;margin-right:10px;fill:", (props)=>props.open ? getThemeValue(THEME_NAME.PRIMARY) : props.completed ? getThemeValue(THEME_NAME.SUCCESS) : getThemeValue(THEME_NAME.LIGHT_GREY), ";transform:", (props)=>props.open ? 'scale(0.8)' : 'scale(0.6)', ";transition:all 0.3s ease;min-width:24px;}");
|
|
25
23
|
const ExpandContainer = /*#__PURE__*/ styled("div", {
|
|
26
|
-
target: "
|
|
24
|
+
target: "e14f46gi3",
|
|
27
25
|
label: "ExpandContainer"
|
|
28
|
-
})("display:flex;align-items:center;& svg{vertical-align:top;margin-right:10px;transition:all 0.6s ease;fill:currentColor;}", (props)=>props.open ? `& svg { transform: rotate(180deg); }` : ''
|
|
26
|
+
})("display:flex;align-items:center;& svg{vertical-align:top;margin-right:10px;transition:all 0.6s ease;fill:currentColor;}", (props)=>props.open ? `& svg { transform: rotate(180deg); }` : '');
|
|
29
27
|
const StepBody = /*#__PURE__*/ styled("div", {
|
|
30
|
-
target: "
|
|
28
|
+
target: "e14f46gi4",
|
|
31
29
|
label: "StepBody"
|
|
32
|
-
})("transition:all 0.6s ease;overflow:hidden;height:", (props)=>props.height || 0, "px;"
|
|
30
|
+
})("transition:all 0.6s ease;overflow:hidden;height:", (props)=>props.height || 0, "px;");
|
|
31
|
+
const AccordionBadge = /*#__PURE__*/ styled(Badge, {
|
|
32
|
+
target: "e14f46gi5",
|
|
33
|
+
label: "AccordionBadge"
|
|
34
|
+
})("margin-right:15px;");
|
|
33
35
|
const AccordionStepBody = /*#__PURE__*/ styled("div", {
|
|
34
|
-
target: "
|
|
36
|
+
target: "e14f46gi6",
|
|
35
37
|
label: "AccordionStepBody"
|
|
36
|
-
})("padding:20px 15px;"
|
|
38
|
+
})("padding:20px 15px;");
|
|
37
39
|
const AccordionStepFooter = /*#__PURE__*/ styled("div", {
|
|
38
|
-
target: "
|
|
40
|
+
target: "e14f46gi7",
|
|
39
41
|
label: "AccordionStepFooter"
|
|
40
|
-
})("display:flex;justify-content:flex-end;padding:10px 15px;border-top:1px solid ", getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR), ";"
|
|
41
|
-
|
|
42
|
+
})("display:flex;justify-content:flex-end;padding:10px 15px;border-top:1px solid ", getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR), ";");
|
|
43
|
+
/**
|
|
44
|
+
* AccordionStep Component
|
|
45
|
+
* @param props - Component props
|
|
46
|
+
* @param ref - Ref forwarded to the underlying HTMLDivElement
|
|
47
|
+
*/ function AccordionStepComponent(props, ref) {
|
|
42
48
|
const [height, setHeight] = useState(0);
|
|
43
|
-
const { open, disabled, header, errorText, completed, onStepClick, children, ...restProps } = props;
|
|
49
|
+
const { open, disabled = false, header, errorText, completed = false, onStepClick, children, ...restProps } = props;
|
|
44
50
|
// Generate unique IDs for ARIA relationships
|
|
45
51
|
const headerId = useId();
|
|
46
52
|
const regionId = useId();
|
|
47
|
-
const
|
|
48
|
-
|
|
53
|
+
const contentRef = useRef(null);
|
|
54
|
+
// Measure content height when `open` or children change.
|
|
55
|
+
useEffect(()=>{
|
|
56
|
+
const el = contentRef.current;
|
|
57
|
+
setHeight(el?.scrollHeight || 0);
|
|
58
|
+
}, [
|
|
59
|
+
open,
|
|
60
|
+
children
|
|
61
|
+
]);
|
|
62
|
+
return /*#__PURE__*/ jsxs(Step$1, {
|
|
49
63
|
...restProps,
|
|
64
|
+
ref: ref,
|
|
50
65
|
open: open,
|
|
51
66
|
elevated: open,
|
|
52
67
|
completed: completed,
|
|
@@ -74,8 +89,7 @@ function AccordionStep(props) {
|
|
|
74
89
|
/*#__PURE__*/ jsxs(ExpandContainer, {
|
|
75
90
|
open: open,
|
|
76
91
|
children: [
|
|
77
|
-
errorText && /*#__PURE__*/ jsx(
|
|
78
|
-
css: /*#__PURE__*/ css("margin-right:15px;", "ref", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvbm8tZnJpbGxzLXVpL25vLWZyaWxscy11aS9zcmMvY29tcG9uZW50cy9BY2NvcmRpb24vQWNjb3JkaW9uU3RlcC50c3giLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL25vLWZyaWxscy11aS9uby1mcmlsbHMtdWkvc3JjL2NvbXBvbmVudHMvQWNjb3JkaW9uL0FjY29yZGlvblN0ZXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlSWQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgRmliZXJNYW51YWxSZWNvcmQsIEV4cGFuZE1vcmUgfSBmcm9tICcuLi8uLi9pY29ucyc7XG5pbXBvcnQgeyBUSEVNRV9OQU1FLCBnZXRUaGVtZVZhbHVlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBFbGxpcHNpcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9zdHlsZXMnO1xuaW1wb3J0IHsgQmFkZ2UsIEJBREdFX1RZUEUgfSBmcm9tICcuLi9CYWRnZSc7XG5pbXBvcnQgeyBDYXJkIH0gZnJvbSAnLi4vQ2FyZCc7XG5cbmNvbnN0IFN0ZXAgPSBzdHlsZWQoQ2FyZCk8QWNjb3JkaW9uU3RlcFByb3BzPmBcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgJHsocHJvcHMpID0+IHByb3BzLm9wZW4gJiYgYG1hcmdpbjogMjBweCA1cHg7YH1cbmA7XG5cbmNvbnN0IFN0ZXBIZWFkZXIgPSBzdHlsZWQuYnV0dG9uPHsgb3BlbjogYm9vbGVhbjsgZGlzYWJsZWQ6IGJvb2xlYW4gfT5gXG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5URVhUX0NPTE9SX0RBUkspfTtcblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZX0xJR0hUKX07XG4gICAgfVxuXG4gICAgJiBpbnB1dCB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAkeyhwcm9wcykgPT5cbiAgICAgICAgcHJvcHMub3BlbiAmJiBgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkJPUkRFUl9MSUdIVF9DT0xPUil9O2B9XG5cbiAgICAkeyhwcm9wcykgPT4gcHJvcHMuZGlzYWJsZWQgJiYgYGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5ESVNBQkxFRCl9O2B9XG5gO1xuXG5jb25zdCBIZWFkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgb3BlbjogYm9vbGVhbjsgY29tcGxldGVkOiBib29sZWFuIH0+YFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG5cbiAgICAmIHN2ZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgZmlsbDogJHsocHJvcHMpID0+XG4gICAgICAgICAgICBwcm9wcy5vcGVuXG4gICAgICAgICAgICAgICAgPyBnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuUFJJTUFSWSlcbiAgICAgICAgICAgICAgICA6IHByb3BzLmNvbXBsZXRlZFxuICAgICAgICAgICAgICAgICAgPyBnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuU1VDQ0VTUylcbiAgICAgICAgICAgICAgICAgIDogZ2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkxJR0hUX0dSRVkpfTtcbiAgICAgICAgdHJhbnNmb3JtOiAkeyhwcm9wcykgPT4gKHByb3BzLm9wZW4gPyAnc2NhbGUoMC44KScgOiAnc2NhbGUoMC42KScpfTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIH1cbmA7XG5cbmNvbnN0IEV4cGFuZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyBvcGVuOiBib29sZWFuIH0+YFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYgc3ZnIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgJHsocHJvcHMpID0+IChwcm9wcy5vcGVuID8gYCYgc3ZnIHsgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfWAgOiAnJyl9XG5gO1xuXG5jb25zdCBTdGVwQm9keSA9IHN0eWxlZC5kaXY8eyBoZWlnaHQ6IG51bWJlciB9PmBcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cyBlYXNlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuaGVpZ2h0IHx8IDB9cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQWNjb3JkaW9uU3RlcEJvZHkgPSBzdHlsZWQuZGl2YFxuICAgIHBhZGRpbmc6IDIwcHggMTVweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBBY2NvcmRpb25TdGVwRm9vdGVyID0gc3R5bGVkLmRpdmBcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5CT1JERVJfTElHSFRfQ09MT1IpfTtcbmA7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFjY29yZGlvblN0ZXAocHJvcHM6IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPEFjY29yZGlvblN0ZXBQcm9wcz4pIHtcbiAgICBjb25zdCBbaGVpZ2h0LCBzZXRIZWlnaHRdID0gdXNlU3RhdGUoMCk7XG4gICAgY29uc3QgeyBvcGVuLCBkaXNhYmxlZCwgaGVhZGVyLCBlcnJvclRleHQsIGNvbXBsZXRlZCwgb25TdGVwQ2xpY2ssIGNoaWxkcmVuLCAuLi5yZXN0UHJvcHMgfSA9XG4gICAgICAgIHByb3BzO1xuXG4gICAgLy8gR2VuZXJhdGUgdW5pcXVlIElEcyBmb3IgQVJJQSByZWxhdGlvbnNoaXBzXG4gICAgY29uc3QgaGVhZGVySWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IHJlZ2lvbklkID0gdXNlSWQoKTtcblxuICAgIGNvbnN0IHJlZiA9IChlbD86IEhUTUxEaXZFbGVtZW50KSA9PiBzZXRIZWlnaHQoZWw/LnNjcm9sbEhlaWdodCB8fCAwKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxTdGVwIHsuLi5yZXN0UHJvcHN9IG9wZW49e29wZW59IGVsZXZhdGVkPXtvcGVufSBjb21wbGV0ZWQ9e2NvbXBsZXRlZH0+XG4gICAgICAgICAgICA8U3RlcEhlYWRlclxuICAgICAgICAgICAgICAgIG9wZW49e29wZW59XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uU3RlcENsaWNrfVxuICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9e29wZW4gPyAndHJ1ZScgOiAnZmFsc2UnfVxuICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9e3JlZ2lvbklkfVxuICAgICAgICAgICAgICAgIGlkPXtoZWFkZXJJZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8SGVhZGVyQ29udGFpbmVyIG9wZW49e29wZW59IGNvbXBsZXRlZD17Y29tcGxldGVkfT5cbiAgICAgICAgICAgICAgICAgICAgPEZpYmVyTWFudWFsUmVjb3JkIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxFbGxpcHNpcz57aGVhZGVyfTwvRWxsaXBzaXM+XG4gICAgICAgICAgICAgICAgPC9IZWFkZXJDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPEV4cGFuZENvbnRhaW5lciBvcGVuPXtvcGVufT5cbiAgICAgICAgICAgICAgICAgICAge2Vycm9yVGV4dCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8QmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5saW5lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT17QkFER0VfVFlQRS5EQU5HRVJ9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2Vycm9yVGV4dH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvQmFkZ2U+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDxFeHBhbmRNb3JlIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgICAgPC9FeHBhbmRDb250YWluZXI+XG4gICAgICAgICAgICA8L1N0ZXBIZWFkZXI+XG4gICAgICAgICAgICA8U3RlcEJvZHlcbiAgICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgICAgICBoZWlnaHQ9e29wZW4gPyBoZWlnaHQgOiAwfVxuICAgICAgICAgICAgICAgIHJvbGU9XCJyZWdpb25cIlxuICAgICAgICAgICAgICAgIGlkPXtyZWdpb25JZH1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2hlYWRlcklkfVxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPXtvcGVuID8gJ2ZhbHNlJyA6ICd0cnVlJ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7b3BlbiAmJiBjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvU3RlcEJvZHk+XG4gICAgICAgIDwvU3RlcD5cbiAgICApO1xufVxuXG5BY2NvcmRpb25TdGVwLnByb3BUeXBlcyA9IHtcbiAgICAvKiogSGVhZGVyIHRleHQgZm9yIHRoZSBzdGVwICovXG4gICAgaGVhZGVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgLyoqIEVycm9yIHRleHQgZm9yIHRoZSBzdGVwICovXG4gICAgZXJyb3JUZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIC8qKiBJZiBzdGVwcyBoYXMgYmVlbiBtYXJrZWQgYXMgY29tcGxldGVkICovXG4gICAgY29tcGxldGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAvKiogSWYgdGhlIHN0ZXAgaXMgZGlzYWJsZWQgKi9cbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5BY2NvcmRpb25TdGVwLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBjb21wbGV0ZWQ6IGZhbHNlLFxuICAgIGRpc2FibGVkOiBmYWxzZSxcbn07XG5cbnR5cGUgQWNjb3JkaW9uU3RlcFByb3BzID0gUHJvcFR5cGVzLkluZmVyUHJvcHM8dHlwZW9mIEFjY29yZGlvblN0ZXAucHJvcFR5cGVzPiAmIHtcbiAgICBvcGVuPzogYm9vbGVhbjtcbiAgICBjb21wbGV0ZWQ6IGJvb2xlYW47XG4gICAgb25TdGVwQ2xpY2s/OiAoKSA9PiB2b2lkO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwSGlDIn0= */"),
|
|
92
|
+
errorText && /*#__PURE__*/ jsx(AccordionBadge, {
|
|
79
93
|
inline: true,
|
|
80
94
|
type: BADGE_TYPE.DANGER,
|
|
81
95
|
children: errorText
|
|
@@ -88,7 +102,7 @@ function AccordionStep(props) {
|
|
|
88
102
|
]
|
|
89
103
|
}),
|
|
90
104
|
/*#__PURE__*/ jsx(StepBody, {
|
|
91
|
-
ref:
|
|
105
|
+
ref: contentRef,
|
|
92
106
|
height: open ? height : 0,
|
|
93
107
|
role: "region",
|
|
94
108
|
id: regionId,
|
|
@@ -99,15 +113,7 @@ function AccordionStep(props) {
|
|
|
99
113
|
]
|
|
100
114
|
});
|
|
101
115
|
}
|
|
102
|
-
AccordionStep
|
|
103
|
-
/** Header text for the step */ header: PropTypes.string.isRequired,
|
|
104
|
-
/** Error text for the step */ errorText: PropTypes.string,
|
|
105
|
-
/** If steps has been marked as completed */ completed: PropTypes.bool,
|
|
106
|
-
/** If the step is disabled */ disabled: PropTypes.bool
|
|
107
|
-
};
|
|
108
|
-
AccordionStep.defaultProps = {
|
|
109
|
-
completed: false,
|
|
110
|
-
disabled: false
|
|
111
|
-
};
|
|
116
|
+
const AccordionStep = /*#__PURE__*/ React.forwardRef(AccordionStepComponent);
|
|
112
117
|
|
|
113
118
|
export { AccordionStepBody, AccordionStepFooter, AccordionStep as default };
|
|
119
|
+
//# sourceMappingURL=AccordionStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionStep.js","sources":["../../../src/components/Accordion/AccordionStep.tsx"],"sourcesContent":["import React, { useState, useId, useRef, useEffect } from 'react';\nimport styled from '@emotion/styled';\nimport { FiberManualRecord, ExpandMore } from '../../icons';\nimport { THEME_NAME, getThemeValue } from '../../shared/constants';\nimport { Ellipsis } from '../../shared/styles';\nimport { Badge, BADGE_TYPE } from '../Badge';\nimport { Card } from '../Card';\n\nconst Step = styled(Card)<{ open?: boolean; completed?: boolean }>`\n transition: all 0.6s ease;\n overflow: visible;\n\n ${(props) => props.open && `margin: 20px 5px;`}\n`;\n\nconst StepHeader = styled.button<{ open?: boolean; disabled?: boolean }>`\n padding: 20px 15px;\n display: flex;\n justify-content: space-between;\n background: none;\n border: none;\n border-radius: 10px;\n width: 100%;\n font-size: inherit;\n color: ${getThemeValue(THEME_NAME.TEXT_COLOR_DARK)};\n\n &:focus-visible {\n box-shadow: 0 0 0 4px ${getThemeValue(THEME_NAME.PRIMARY_LIGHT)};\n }\n\n & input {\n appearance: none;\n margin: 0;\n }\n\n ${(props) =>\n props.open && `border-bottom: 1px solid ${getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR)};`}\n\n ${(props) => props.disabled && `color: ${getThemeValue(THEME_NAME.DISABLED)};`}\n`;\n\nconst HeaderContainer = styled.div<{ open?: boolean; completed?: boolean }>`\n display: flex;\n align-items: center;\n min-width: 40px;\n\n & svg {\n vertical-align: top;\n margin-right: 10px;\n fill: ${(props) =>\n props.open\n ? getThemeValue(THEME_NAME.PRIMARY)\n : props.completed\n ? getThemeValue(THEME_NAME.SUCCESS)\n : getThemeValue(THEME_NAME.LIGHT_GREY)};\n transform: ${(props) => (props.open ? 'scale(0.8)' : 'scale(0.6)')};\n transition: all 0.3s ease;\n min-width: 24px;\n }\n`;\n\nconst ExpandContainer = styled.div<{ open?: boolean }>`\n display: flex;\n align-items: center;\n\n & svg {\n vertical-align: top;\n margin-right: 10px;\n transition: all 0.6s ease;\n fill: currentColor;\n }\n\n ${(props) => (props.open ? `& svg { transform: rotate(180deg); }` : '')}\n`;\n\nconst StepBody = styled.div<{ height: number }>`\n transition: all 0.6s ease;\n overflow: hidden;\n height: ${(props) => props.height || 0}px;\n`;\n\nconst AccordionBadge = styled(Badge)`\n margin-right: 15px;\n`;\n\nexport const AccordionStepBody = styled.div`\n padding: 20px 15px;\n`;\n\nexport const AccordionStepFooter = styled.div`\n display: flex;\n justify-content: flex-end;\n padding: 10px 15px;\n border-top: 1px solid ${getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR)};\n`;\n\n/** Props for `AccordionStep` component */\ninterface AccordionStepProps {\n /**\n * If the step has been marked as completed\n * @default false\n */\n completed?: boolean;\n /** If the step is disabled\n * @default false\n */\n disabled?: boolean;\n /** Header content for the step */\n header: React.ReactNode;\n /** Error text to display as a badge in the header */\n errorText?: React.ReactNode;\n /** If the step is expanded */\n open?: boolean;\n /** Click handler for the step header */\n onStepClick?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\n/**\n * AccordionStep Component\n * @param props - Component props\n * @param ref - Ref forwarded to the underlying HTMLDivElement\n */\nfunction AccordionStepComponent(\n props: React.PropsWithChildren<AccordionStepProps> & React.HTMLAttributes<HTMLDivElement>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const [height, setHeight] = useState(0);\n const {\n open,\n disabled = false,\n header,\n errorText,\n completed = false,\n onStepClick,\n children,\n ...restProps\n } = props;\n\n // Generate unique IDs for ARIA relationships\n const headerId = useId();\n const regionId = useId();\n\n const contentRef = useRef<HTMLDivElement | null>(null);\n\n // Measure content height when `open` or children change.\n useEffect(() => {\n const el = contentRef.current;\n setHeight(el?.scrollHeight || 0);\n }, [open, children]);\n\n return (\n <Step {...restProps} ref={ref} open={open} elevated={open} completed={completed}>\n <StepHeader\n open={open}\n disabled={disabled}\n onClick={onStepClick}\n aria-expanded={open ? 'true' : 'false'}\n aria-controls={regionId}\n id={headerId}\n >\n <HeaderContainer open={open} completed={completed}>\n <FiberManualRecord aria-hidden=\"true\" />\n <Ellipsis>{header}</Ellipsis>\n </HeaderContainer>\n <ExpandContainer open={open}>\n {errorText && (\n <AccordionBadge inline type={BADGE_TYPE.DANGER}>\n {errorText}\n </AccordionBadge>\n )}\n <ExpandMore aria-hidden=\"true\" />\n </ExpandContainer>\n </StepHeader>\n <StepBody\n ref={contentRef}\n height={open ? height : 0}\n role=\"region\"\n id={regionId}\n aria-labelledby={headerId}\n aria-hidden={open ? 'false' : 'true'}\n >\n {open && children}\n </StepBody>\n </Step>\n );\n}\n\nconst AccordionStep = React.forwardRef<\n HTMLDivElement,\n React.PropsWithChildren<AccordionStepProps> & React.HTMLAttributes<HTMLDivElement>\n>(AccordionStepComponent);\n\nexport default AccordionStep;\n"],"names":["Step","styled","Card","props","open","StepHeader","getThemeValue","THEME_NAME","TEXT_COLOR_DARK","PRIMARY_LIGHT","BORDER_LIGHT_COLOR","disabled","DISABLED","HeaderContainer","PRIMARY","completed","SUCCESS","LIGHT_GREY","ExpandContainer","StepBody","height","AccordionBadge","Badge","AccordionStepBody","AccordionStepFooter","AccordionStepComponent","ref","setHeight","useState","header","errorText","onStepClick","children","restProps","headerId","useId","regionId","contentRef","useRef","useEffect","el","current","scrollHeight","_jsxs","elevated","onClick","aria-expanded","aria-controls","id","_jsx","FiberManualRecord","aria-hidden","Ellipsis","inline","type","BADGE_TYPE","DANGER","ExpandMore","role","aria-labelledby","AccordionStep","React","forwardRef"],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
export declare enum BADGE_TYPE {
|
|
4
3
|
PRIMARY = "primary",
|
|
5
4
|
SUCCESS = "success",
|
|
@@ -7,19 +6,17 @@ export declare enum BADGE_TYPE {
|
|
|
7
6
|
DANGER = "danger",
|
|
8
7
|
DISABLED = "disabled"
|
|
9
8
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
};
|
|
24
|
-
}
|
|
9
|
+
declare const Badge: React.ForwardRefExoticComponent<{
|
|
10
|
+
/**
|
|
11
|
+
* Display badge inline or overlay on parent component
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
14
|
+
inline?: boolean;
|
|
15
|
+
/** Type of badge
|
|
16
|
+
* @default BADGE_TYPE.PRIMARY
|
|
17
|
+
*/
|
|
18
|
+
type?: BADGE_TYPE;
|
|
19
|
+
} & React.HTMLAttributes<HTMLSpanElement> & {
|
|
20
|
+
children?: React.ReactNode | undefined;
|
|
21
|
+
} & React.RefAttributes<HTMLSpanElement>>;
|
|
25
22
|
export default Badge;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { jsx } from '@emotion/react/jsx-runtime';
|
|
2
|
-
import 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
2
|
+
import React from 'react';
|
|
4
3
|
import styled from '@emotion/styled';
|
|
5
4
|
import { getThemeValue, THEME_NAME } from '../../shared/constants.js';
|
|
6
5
|
|
|
@@ -13,7 +12,7 @@ var BADGE_TYPE = /*#__PURE__*/ function(BADGE_TYPE) {
|
|
|
13
12
|
return BADGE_TYPE;
|
|
14
13
|
}({});
|
|
15
14
|
const BadgeSpan = /*#__PURE__*/ styled("span", {
|
|
16
|
-
target: "
|
|
15
|
+
target: "e1aaenck0",
|
|
17
16
|
label: "BadgeSpan"
|
|
18
17
|
})("background-color:", (props)=>{
|
|
19
18
|
switch(props.type){
|
|
@@ -28,26 +27,18 @@ const BadgeSpan = /*#__PURE__*/ styled("span", {
|
|
|
28
27
|
default:
|
|
29
28
|
return getThemeValue(THEME_NAME.PRIMARY);
|
|
30
29
|
}
|
|
31
|
-
}, ";color:", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";border-radius:10px;padding:", (props)=>props.children ? '3px 10px' : '4px', ";display:inline-block;min-height:4px;min-width:4px;font-size:12px;margin:", (props)=>props.inline ? '0 5px' : '0', ";", (props)=>!props.inline && 'position: absolute; top: 0; right: 0; transform: translate(50%, -50%);', ";"
|
|
32
|
-
|
|
30
|
+
}, ";color:", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";border-radius:10px;padding:", (props)=>props.children ? '3px 10px' : '4px', ";display:inline-block;min-height:4px;min-width:4px;font-size:12px;margin:", (props)=>props.inline ? '0 5px' : '0', ";", (props)=>!props.inline && 'position: absolute; top: 0; right: 0; transform: translate(50%, -50%);', ";");
|
|
31
|
+
/**
|
|
32
|
+
* Badge Component
|
|
33
|
+
* @param props - Component props
|
|
34
|
+
* @param ref - Ref forwarded to the underlying HTMLSpanElement
|
|
35
|
+
*/ function BadgeComponent(props, ref) {
|
|
33
36
|
return /*#__PURE__*/ jsx(BadgeSpan, {
|
|
34
|
-
...props
|
|
37
|
+
...props,
|
|
38
|
+
ref: ref
|
|
35
39
|
});
|
|
36
40
|
}
|
|
37
|
-
Badge
|
|
38
|
-
/** Display badge inline or overlay on parent component */ inline: PropTypes.bool,
|
|
39
|
-
/** Type of badge */ type: PropTypes.oneOf([
|
|
40
|
-
"primary",
|
|
41
|
-
"success",
|
|
42
|
-
"warning",
|
|
43
|
-
"danger",
|
|
44
|
-
"disabled"
|
|
45
|
-
]),
|
|
46
|
-
css: PropTypes.any
|
|
47
|
-
};
|
|
48
|
-
Badge.defaultProps = {
|
|
49
|
-
inline: false,
|
|
50
|
-
type: "primary"
|
|
51
|
-
};
|
|
41
|
+
const Badge = /*#__PURE__*/ React.forwardRef(BadgeComponent);
|
|
52
42
|
|
|
53
43
|
export { BADGE_TYPE, Badge as default };
|
|
44
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.js","sources":["../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import React from 'react';\nimport styled from '@emotion/styled';\nimport { THEME_NAME, getThemeValue } from '../../shared/constants';\n\nexport enum BADGE_TYPE {\n PRIMARY = 'primary',\n SUCCESS = 'success',\n WARNING = 'warning',\n DANGER = 'danger',\n DISABLED = 'disabled',\n}\n\nconst BadgeSpan = styled.span<BadgeProps>`\n background-color: ${(props) => {\n switch (props.type) {\n case BADGE_TYPE.SUCCESS:\n return getThemeValue(THEME_NAME.SUCCESS);\n\n case BADGE_TYPE.WARNING:\n return getThemeValue(THEME_NAME.WARNING);\n\n case BADGE_TYPE.DANGER:\n return getThemeValue(THEME_NAME.ERROR);\n\n case BADGE_TYPE.DISABLED:\n return getThemeValue(THEME_NAME.DISABLED);\n\n default:\n return getThemeValue(THEME_NAME.PRIMARY);\n }\n }};\n color: ${getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT)};\n border-radius: 10px;\n padding: ${(props) => (props.children ? '3px 10px' : '4px')};\n display: inline-block;\n min-height: 4px;\n min-width: 4px;\n font-size: 12px;\n margin: ${(props) => (props.inline ? '0 5px' : '0')};\n\n ${(props) =>\n !props.inline && 'position: absolute; top: 0; right: 0; transform: translate(50%, -50%);'};\n`;\n\ntype BadgeProps = {\n /**\n * Display badge inline or overlay on parent component\n * @default false\n */\n inline?: boolean;\n /** Type of badge\n * @default BADGE_TYPE.PRIMARY\n */\n type?: BADGE_TYPE;\n} & React.HTMLAttributes<HTMLSpanElement>;\n\n/**\n * Badge Component\n * @param props - Component props\n * @param ref - Ref forwarded to the underlying HTMLSpanElement\n */\nfunction BadgeComponent(props: BadgeProps, ref: React.Ref<HTMLSpanElement>) {\n return <BadgeSpan {...props} ref={ref} />;\n}\n\nconst Badge = React.forwardRef<HTMLSpanElement, React.PropsWithChildren<BadgeProps>>(\n BadgeComponent,\n);\n\nexport default Badge;\n"],"names":["BADGE_TYPE","BadgeSpan","styled","props","type","getThemeValue","THEME_NAME","SUCCESS","WARNING","ERROR","DISABLED","PRIMARY","TEXT_COLOR_LIGHT","children","inline","BadgeComponent","ref","_jsx","Badge","React","forwardRef"],"mappings":";;;;;AAIO,IAAA,UAAKA,iBAAAA,SAAAA,UAAAA,EAAAA;;;;;;AAAAA,IAAAA,OAAAA,UAAAA;AAMX,CAAA,CAAA,EAAA;AAED,MAAMC,SAAAA,iBAAYC,MAAAA,CAAAA,MAAAA,EAAAA;;;wBACM,CAACC,KAAAA,GAAAA;AACjB,IAAA,OAAQA,MAAMC,IAAI;AACd,QAAA,KAAA,SAAA;YACI,OAAOC,aAAAA,CAAcC,WAAWC,OAAO,CAAA;AAE3C,QAAA,KAAA,SAAA;YACI,OAAOF,aAAAA,CAAcC,WAAWE,OAAO,CAAA;AAE3C,QAAA,KAAA,QAAA;YACI,OAAOH,aAAAA,CAAcC,WAAWG,KAAK,CAAA;AAEzC,QAAA,KAAA,UAAA;YACI,OAAOJ,aAAAA,CAAcC,WAAWI,QAAQ,CAAA;AAE5C,QAAA;YACI,OAAOL,aAAAA,CAAcC,WAAWK,OAAO,CAAA;AAC/C;AACJ,CAAA,EAAA,SAAA,EACSN,aAAAA,CAAcC,WAAWM,gBAAgB,CAAA,EAAA,8BAAA,EAEvC,CAACT,KAAAA,GAAWA,KAAAA,CAAMU,QAAQ,GAAG,UAAA,GAAa,KAAA,EAAA,2EAAA,EAK3C,CAACV,KAAAA,GAAWA,KAAAA,CAAMW,MAAM,GAAG,OAAA,GAAU,GAAA,EAAA,GAAA,EAE7C,CAACX,KAAAA,GACC,CAACA,KAAAA,CAAMW,MAAM,IAAI,wEAAA,EAAA,GAAA,CAAA;AAezB;;;;AAIC,IACD,SAASC,cAAAA,CAAeZ,KAAiB,EAAEa,GAA+B,EAAA;AACtE,IAAA,qBAAOC,GAAA,CAAChB,SAAAA,EAAAA;AAAW,QAAA,GAAGE,KAAK;QAAEa,GAAAA,EAAKA;;AACtC;AAEA,MAAME,KAAAA,iBAAQC,KAAAA,CAAMC,UAAU,CAC1BL,cAAAA;;;;"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const ActionButton: React.ForwardRefExoticComponent<{
|
|
3
|
+
/**
|
|
4
|
+
* Type of Action Button
|
|
5
|
+
* @default 'button'
|
|
6
|
+
*/
|
|
7
|
+
type?: "button" | "submit" | "reset";
|
|
8
|
+
} & React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
|
|
9
|
+
export default ActionButton;
|
|
@@ -1,9 +1,25 @@
|
|
|
1
|
+
import { jsx } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import React from 'react';
|
|
1
3
|
import styled from '@emotion/styled';
|
|
2
4
|
import { getThemeValue, THEME_NAME } from '../../shared/constants.js';
|
|
3
5
|
|
|
4
|
-
|
|
5
|
-
target: "
|
|
6
|
-
label: ""
|
|
7
|
-
})("border:1px solid ", getThemeValue(THEME_NAME.PRIMARY), ";background-color:", getThemeValue(THEME_NAME.PRIMARY), ";color:", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";border-radius:5px;height:32px;min-width:100px;font-size:14px;text-align:center;padding:0 12px;cursor:pointer;margin:5px;position:relative;display:inline-flex;align-items:center;justify-content:center;& svg{vertical-align:middle;height:24px;width:24px;fill:currentColor;margin-left:-6px;}&:enabled:hover{box-shadow:", getThemeValue(THEME_NAME.HOVER_SHADOW), ";}&:focus{box-shadow:0 0 0 4px ", getThemeValue(THEME_NAME.PRIMARY_LIGHT), ";}&:disabled{border:1px solid ", getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR), ";background-color:", getThemeValue(THEME_NAME.DISABLED_BACKGROUND), ";color:", getThemeValue(THEME_NAME.DISABLED), ";}"
|
|
6
|
+
const StyledActionButton = /*#__PURE__*/ styled("button", {
|
|
7
|
+
target: "ec49rx60",
|
|
8
|
+
label: "StyledActionButton"
|
|
9
|
+
})("border:1px solid ", getThemeValue(THEME_NAME.PRIMARY), ";background-color:", getThemeValue(THEME_NAME.PRIMARY), ";color:", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";border-radius:5px;height:32px;min-width:100px;font-size:14px;text-align:center;padding:0 12px;cursor:pointer;margin:5px;position:relative;display:inline-flex;align-items:center;justify-content:center;& svg{vertical-align:middle;height:24px;width:24px;fill:currentColor;margin-left:-6px;}&:enabled:hover{box-shadow:", getThemeValue(THEME_NAME.HOVER_SHADOW), ";}&:focus{box-shadow:0 0 0 4px ", getThemeValue(THEME_NAME.PRIMARY_LIGHT), ";}&:disabled{border:1px solid ", getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR), ";background-color:", getThemeValue(THEME_NAME.DISABLED_BACKGROUND), ";color:", getThemeValue(THEME_NAME.DISABLED), ";}");
|
|
10
|
+
/**
|
|
11
|
+
* ActionButton Component
|
|
12
|
+
* @param props - Component props
|
|
13
|
+
* @param ref - Ref forwarded to the underlying HTMLButtonElement
|
|
14
|
+
*/ function ActionButtonComponent(props, ref) {
|
|
15
|
+
const { type = 'button', ...rest } = props;
|
|
16
|
+
return /*#__PURE__*/ jsx(StyledActionButton, {
|
|
17
|
+
ref: ref,
|
|
18
|
+
type: type,
|
|
19
|
+
...rest
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const ActionButton = /*#__PURE__*/ React.forwardRef(ActionButtonComponent);
|
|
8
23
|
|
|
9
24
|
export { ActionButton as default };
|
|
25
|
+
//# sourceMappingURL=ActionButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionButton.js","sources":["../../../src/components/Button/ActionButton.tsx"],"sourcesContent":["import React from 'react';\nimport styled from '@emotion/styled';\nimport { THEME_NAME, getThemeValue } from '../../shared/constants';\n\nconst StyledActionButton = styled.button`\n border: 1px solid ${getThemeValue(THEME_NAME.PRIMARY)};\n background-color: ${getThemeValue(THEME_NAME.PRIMARY)};\n color: ${getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT)};\n border-radius: 5px;\n height: 32px;\n min-width: 100px;\n font-size: 14px;\n text-align: center;\n padding: 0 12px;\n cursor: pointer;\n margin: 5px;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n & svg {\n vertical-align: middle;\n height: 24px;\n width: 24px;\n fill: currentColor;\n margin-left: -6px;\n }\n\n &:enabled:hover {\n box-shadow: ${getThemeValue(THEME_NAME.HOVER_SHADOW)};\n }\n\n &:focus {\n box-shadow: 0 0 0 4px ${getThemeValue(THEME_NAME.PRIMARY_LIGHT)};\n }\n\n &:disabled {\n border: 1px solid ${getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR)};\n background-color: ${getThemeValue(THEME_NAME.DISABLED_BACKGROUND)};\n color: ${getThemeValue(THEME_NAME.DISABLED)};\n }\n`;\n\ntype ActionButtonProps = {\n /**\n * Type of Action Button\n * @default 'button'\n */\n type?: 'button' | 'submit' | 'reset';\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\n/**\n * ActionButton Component\n * @param props - Component props\n * @param ref - Ref forwarded to the underlying HTMLButtonElement\n */\nfunction ActionButtonComponent(props: ActionButtonProps, ref: React.Ref<HTMLButtonElement>) {\n const { type = 'button', ...rest } = props;\n\n return <StyledActionButton ref={ref} type={type} {...rest} />;\n}\n\nconst ActionButton = React.forwardRef<HTMLButtonElement, ActionButtonProps>(ActionButtonComponent);\n\nexport default ActionButton;\n"],"names":["StyledActionButton","styled","getThemeValue","THEME_NAME","PRIMARY","TEXT_COLOR_LIGHT","HOVER_SHADOW","PRIMARY_LIGHT","BORDER_LIGHT_COLOR","DISABLED_BACKGROUND","DISABLED","ActionButtonComponent","props","ref","type","rest","_jsx","ActionButton","React","forwardRef"],"mappings":";;;;;AAIA,MAAMA,kBAAAA,iBAAqBC,MAAAA,CAAAA,QAAAA,EAAAA;;;AACHC,CAAAA,CAAAA,CAAAA,mBAAAA,EAAAA,aAAAA,CAAcC,UAAAA,CAAWC,OAAO,CAAA,EAAA,oBAAA,EAChCF,aAAAA,CAAcC,UAAAA,CAAWC,OAAO,CAAA,EAAA,SAAA,EAC3CF,aAAAA,CAAcC,UAAAA,CAAWE,gBAAgB,CAAA,EAAA,6TAAA,EAuBhCH,aAAAA,CAAcC,UAAAA,CAAWG,YAAY,CAAA,EAAA,iCAAA,EAI3BJ,aAAAA,CAAcC,UAAAA,CAAWI,aAAa,CAAA,EAAA,gCAAA,EAI1CL,aAAAA,CAAcC,UAAAA,CAAWK,kBAAkB,CAAA,EAAA,oBAAA,EAC3CN,aAAAA,CAAcC,UAAAA,CAAWM,mBAAmB,CAAA,EAAA,SAAA,EACvDP,aAAAA,CAAcC,WAAWO,QAAQ,CAAA,EAAA,IAAA,CAAA;AAYlD;;;;AAIC,IACD,SAASC,qBAAAA,CAAsBC,KAAwB,EAAEC,GAAiC,EAAA;AACtF,IAAA,MAAM,EAAEC,IAAAA,GAAO,QAAQ,EAAE,GAAGC,MAAM,GAAGH,KAAAA;AAErC,IAAA,qBAAOI,GAAA,CAAChB,kBAAAA,EAAAA;QAAmBa,GAAAA,EAAKA,GAAAA;QAAKC,IAAAA,EAAMA,IAAAA;AAAO,QAAA,GAAGC;;AACzD;AAEA,MAAME,YAAAA,iBAAeC,KAAAA,CAAMC,UAAU,CAAuCR,qBAAAA;;;;"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const Button: React.ForwardRefExoticComponent<{
|
|
3
|
+
/**
|
|
4
|
+
* Type of Button
|
|
5
|
+
* @default 'button'
|
|
6
|
+
*/
|
|
7
|
+
type?: "button" | "submit" | "reset";
|
|
8
|
+
} & React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
|
|
9
|
+
export default Button;
|