no-frills-ui 0.0.14-alpha.1 → 0.0.14-alpha.11
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 +28 -22
- package/dist/index.js +3418 -2772
- package/dist/index.js.map +1 -1
- package/lib-esm/components/Accordion/Accordion.d.ts +11 -16
- package/lib-esm/components/Accordion/Accordion.js +25 -29
- package/lib-esm/components/Accordion/Accordion.js.map +1 -1
- package/lib-esm/components/Accordion/AccordionStep.d.ts +22 -22
- package/lib-esm/components/Accordion/AccordionStep.js +111 -109
- package/lib-esm/components/Accordion/AccordionStep.js.map +1 -1
- package/lib-esm/components/Badge/Badge.d.ts +13 -16
- package/lib-esm/components/Badge/Badge.js +31 -51
- package/lib-esm/components/Badge/Badge.js.map +1 -1
- package/lib-esm/components/Button/ActionButton.d.ts +9 -5
- package/lib-esm/components/Button/ActionButton.js +18 -38
- package/lib-esm/components/Button/ActionButton.js.map +1 -1
- package/lib-esm/components/Button/Button.d.ts +9 -5
- package/lib-esm/components/Button/Button.js +18 -40
- package/lib-esm/components/Button/Button.js.map +1 -1
- package/lib-esm/components/Button/IconButton.d.ts +9 -5
- package/lib-esm/components/Button/IconButton.js +18 -42
- package/lib-esm/components/Button/IconButton.js.map +1 -1
- package/lib-esm/components/Button/LinkButton.d.ts +9 -5
- package/lib-esm/components/Button/LinkButton.js +18 -32
- package/lib-esm/components/Button/LinkButton.js.map +1 -1
- package/lib-esm/components/Button/RaisedButton.d.ts +9 -5
- package/lib-esm/components/Button/RaisedButton.js +18 -46
- package/lib-esm/components/Button/RaisedButton.js.map +1 -1
- package/lib-esm/components/Card/Card.d.ts +4 -6
- package/lib-esm/components/Card/Card.js +18 -13
- package/lib-esm/components/Card/Card.js.map +1 -1
- package/lib-esm/components/Chip/Chip.d.ts +6 -3
- package/lib-esm/components/Chip/Chip.js +44 -43
- package/lib-esm/components/Chip/Chip.js.map +1 -1
- package/lib-esm/components/ChipInput/ChipInput.d.ts +28 -30
- package/lib-esm/components/ChipInput/ChipInput.js +121 -139
- package/lib-esm/components/ChipInput/ChipInput.js.map +1 -1
- package/lib-esm/components/Dialog/AlertDialog.d.ts +11 -12
- package/lib-esm/components/Dialog/AlertDialog.js +44 -28
- package/lib-esm/components/Dialog/AlertDialog.js.map +1 -1
- package/lib-esm/components/Dialog/ConfirmDialog.d.ts +13 -14
- package/lib-esm/components/Dialog/ConfirmDialog.js +49 -33
- package/lib-esm/components/Dialog/ConfirmDialog.js.map +1 -1
- package/lib-esm/components/Dialog/Dialog.d.ts +40 -18
- package/lib-esm/components/Dialog/Dialog.js +125 -70
- package/lib-esm/components/Dialog/Dialog.js.map +1 -1
- package/lib-esm/components/Dialog/PromptDialog.d.ts +18 -19
- package/lib-esm/components/Dialog/PromptDialog.js +78 -49
- package/lib-esm/components/Dialog/PromptDialog.js.map +1 -1
- package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts +43 -41
- package/lib-esm/components/DragAndDrop/DragAndDrop.js +104 -31
- package/lib-esm/components/DragAndDrop/DragAndDrop.js.map +1 -1
- package/lib-esm/components/DragAndDrop/DragItem.d.ts +5 -1
- package/lib-esm/components/DragAndDrop/DragItem.js +171 -92
- package/lib-esm/components/DragAndDrop/DragItem.js.map +1 -1
- package/lib-esm/components/DragAndDrop/types.d.ts +22 -3
- package/lib-esm/components/DragAndDrop/types.js +9 -6
- package/lib-esm/components/DragAndDrop/types.js.map +1 -1
- package/lib-esm/components/Drawer/Drawer.d.ts +86 -22
- package/lib-esm/components/Drawer/Drawer.js +176 -97
- package/lib-esm/components/Drawer/Drawer.js.map +1 -1
- package/lib-esm/components/Drawer/index.d.ts +1 -1
- package/lib-esm/components/Groups/Group.d.ts +5 -8
- package/lib-esm/components/Groups/Group.js +34 -79
- package/lib-esm/components/Groups/Group.js.map +1 -1
- package/lib-esm/components/Groups/GroupLabel.js +8 -17
- package/lib-esm/components/Groups/GroupLabel.js.map +1 -1
- package/lib-esm/components/Input/Checkbox.d.ts +12 -15
- package/lib-esm/components/Input/Checkbox.js +51 -118
- package/lib-esm/components/Input/Checkbox.js.map +1 -1
- package/lib-esm/components/Input/Dropdown.d.ts +11 -12
- package/lib-esm/components/Input/Dropdown.js +133 -52
- package/lib-esm/components/Input/Dropdown.js.map +1 -1
- package/lib-esm/components/Input/Input.d.ts +3 -3
- package/lib-esm/components/Input/Input.js +61 -109
- package/lib-esm/components/Input/Input.js.map +1 -1
- package/lib-esm/components/Input/Radio.d.ts +4 -8
- package/lib-esm/components/Input/Radio.js +35 -79
- package/lib-esm/components/Input/Radio.js.map +1 -1
- package/lib-esm/components/Input/RadioButton.d.ts +4 -8
- package/lib-esm/components/Input/RadioButton.js +34 -71
- package/lib-esm/components/Input/RadioButton.js.map +1 -1
- package/lib-esm/components/Input/Select.d.ts +6 -13
- package/lib-esm/components/Input/Select.js +75 -122
- package/lib-esm/components/Input/Select.js.map +1 -1
- package/lib-esm/components/Input/TextArea.d.ts +6 -13
- package/lib-esm/components/Input/TextArea.js +64 -108
- package/lib-esm/components/Input/TextArea.js.map +1 -1
- package/lib-esm/components/Input/Toggle.d.ts +4 -9
- package/lib-esm/components/Input/Toggle.js +31 -80
- package/lib-esm/components/Input/Toggle.js.map +1 -1
- package/lib-esm/components/Menu/Menu.d.ts +8 -6
- package/lib-esm/components/Menu/Menu.js +116 -31
- package/lib-esm/components/Menu/Menu.js.map +1 -1
- package/lib-esm/components/Menu/MenuContext.d.ts +11 -5
- package/lib-esm/components/Menu/MenuContext.js +6 -2
- package/lib-esm/components/Menu/MenuContext.js.map +1 -1
- package/lib-esm/components/Menu/MenuItem.d.ts +7 -4
- package/lib-esm/components/Menu/MenuItem.js +46 -47
- package/lib-esm/components/Menu/MenuItem.js.map +1 -1
- package/lib-esm/components/Modal/Modal.d.ts +75 -16
- package/lib-esm/components/Modal/Modal.js +146 -51
- package/lib-esm/components/Modal/Modal.js.map +1 -1
- package/lib-esm/components/Notification/Notification.d.ts +46 -39
- package/lib-esm/components/Notification/Notification.js +80 -87
- package/lib-esm/components/Notification/Notification.js.map +1 -1
- package/lib-esm/components/Notification/NotificationManager.d.ts +19 -5
- package/lib-esm/components/Notification/NotificationManager.js +177 -79
- package/lib-esm/components/Notification/NotificationManager.js.map +1 -1
- package/lib-esm/components/Notification/style.d.ts +6 -3
- package/lib-esm/components/Notification/style.js +64 -140
- package/lib-esm/components/Notification/style.js.map +1 -1
- package/lib-esm/components/Notification/types.d.ts +2 -0
- package/lib-esm/components/Notification/types.js +9 -10
- package/lib-esm/components/Notification/types.js.map +1 -1
- package/lib-esm/components/Popover/Popover.d.ts +21 -20
- package/lib-esm/components/Popover/Popover.js +159 -126
- package/lib-esm/components/Popover/Popover.js.map +1 -1
- package/lib-esm/components/Spinner/Spinner.d.ts +14 -12
- package/lib-esm/components/Spinner/Spinner.js +22 -27
- package/lib-esm/components/Spinner/Spinner.js.map +1 -1
- package/lib-esm/components/Stepper/Step.d.ts +15 -12
- package/lib-esm/components/Stepper/Step.js +18 -25
- package/lib-esm/components/Stepper/Step.js.map +1 -1
- package/lib-esm/components/Stepper/Stepper.d.ts +11 -17
- package/lib-esm/components/Stepper/Stepper.js +104 -102
- package/lib-esm/components/Stepper/Stepper.js.map +1 -1
- package/lib-esm/components/Tabs/Tab.d.ts +10 -16
- package/lib-esm/components/Tabs/Tab.js +9 -15
- package/lib-esm/components/Tabs/Tab.js.map +1 -1
- package/lib-esm/components/Tabs/Tabs.d.ts +11 -22
- package/lib-esm/components/Tabs/Tabs.js +96 -55
- package/lib-esm/components/Tabs/Tabs.js.map +1 -1
- package/lib-esm/components/Toast/Toast.d.ts +34 -7
- package/lib-esm/components/Toast/Toast.js +200 -109
- package/lib-esm/components/Toast/Toast.js.map +1 -1
- 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 +52 -67
- package/lib-esm/components/Tooltip/Tooltip.js.map +1 -1
- package/lib-esm/components/index.d.ts +1 -0
- package/lib-esm/icons/CheckCircle.d.ts +1 -1
- package/lib-esm/icons/CheckCircle.js +22 -4
- package/lib-esm/icons/CheckCircle.js.map +1 -1
- package/lib-esm/icons/Close.d.ts +1 -1
- package/lib-esm/icons/Close.js +22 -4
- package/lib-esm/icons/Close.js.map +1 -1
- package/lib-esm/icons/DragIndicator.d.ts +1 -1
- package/lib-esm/icons/DragIndicator.js +22 -4
- package/lib-esm/icons/DragIndicator.js.map +1 -1
- package/lib-esm/icons/ErrorOutline.d.ts +1 -1
- package/lib-esm/icons/ErrorOutline.js +16 -4
- package/lib-esm/icons/ErrorOutline.js.map +1 -1
- package/lib-esm/icons/ExpandMore.d.ts +1 -1
- package/lib-esm/icons/ExpandMore.js +22 -4
- package/lib-esm/icons/ExpandMore.js.map +1 -1
- package/lib-esm/icons/FiberManualRecord.d.ts +1 -1
- package/lib-esm/icons/FiberManualRecord.js +24 -4
- package/lib-esm/icons/FiberManualRecord.js.map +1 -1
- package/lib-esm/icons/Info.d.ts +1 -1
- package/lib-esm/icons/Info.js +22 -4
- package/lib-esm/icons/Info.js.map +1 -1
- package/lib-esm/icons/ReportProblem.d.ts +1 -1
- package/lib-esm/icons/ReportProblem.js +22 -4
- package/lib-esm/icons/ReportProblem.js.map +1 -1
- package/lib-esm/index.js +43 -2
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/shared/LayerManager.d.ts +34 -4
- package/lib-esm/shared/LayerManager.js +248 -114
- package/lib-esm/shared/LayerManager.js.map +1 -1
- package/lib-esm/shared/constants.d.ts +58 -27
- package/lib-esm/shared/constants.js +62 -26
- package/lib-esm/shared/constants.js.map +1 -1
- package/lib-esm/shared/styles.d.ts +1 -1
- package/lib-esm/shared/styles.js +21 -24
- package/lib-esm/shared/styles.js.map +1 -1
- package/package.json +130 -74
- package/lib-esm/components/Accordion/index.js +0 -3
- package/lib-esm/components/Accordion/index.js.map +0 -1
- package/lib-esm/components/Badge/index.js +0 -2
- package/lib-esm/components/Badge/index.js.map +0 -1
- package/lib-esm/components/Button/index.js +0 -6
- package/lib-esm/components/Button/index.js.map +0 -1
- package/lib-esm/components/Card/index.js +0 -3
- package/lib-esm/components/Card/index.js.map +0 -1
- package/lib-esm/components/Chip/index.js +0 -2
- package/lib-esm/components/Chip/index.js.map +0 -1
- package/lib-esm/components/ChipInput/index.js +0 -2
- package/lib-esm/components/ChipInput/index.js.map +0 -1
- package/lib-esm/components/Dialog/index.js +0 -5
- package/lib-esm/components/Dialog/index.js.map +0 -1
- package/lib-esm/components/DragAndDrop/index.js +0 -3
- package/lib-esm/components/DragAndDrop/index.js.map +0 -1
- package/lib-esm/components/Drawer/index.js +0 -2
- package/lib-esm/components/Drawer/index.js.map +0 -1
- package/lib-esm/components/Groups/index.js +0 -3
- package/lib-esm/components/Groups/index.js.map +0 -1
- package/lib-esm/components/Input/index.js +0 -9
- package/lib-esm/components/Input/index.js.map +0 -1
- package/lib-esm/components/Menu/index.js +0 -3
- package/lib-esm/components/Menu/index.js.map +0 -1
- package/lib-esm/components/Modal/index.js +0 -2
- package/lib-esm/components/Modal/index.js.map +0 -1
- package/lib-esm/components/Notification/index.js +0 -3
- package/lib-esm/components/Notification/index.js.map +0 -1
- package/lib-esm/components/Popover/index.js +0 -2
- package/lib-esm/components/Popover/index.js.map +0 -1
- package/lib-esm/components/Spinner/index.js +0 -2
- package/lib-esm/components/Spinner/index.js.map +0 -1
- package/lib-esm/components/Stepper/index.js +0 -4
- package/lib-esm/components/Stepper/index.js.map +0 -1
- package/lib-esm/components/Tabs/index.js +0 -3
- package/lib-esm/components/Tabs/index.js.map +0 -1
- package/lib-esm/components/Toast/ToastStory.js +0 -35
- package/lib-esm/components/Toast/ToastStory.js.map +0 -1
- package/lib-esm/components/Toast/index.js +0 -2
- package/lib-esm/components/Toast/index.js.map +0 -1
- package/lib-esm/components/Tooltip/index.js +0 -2
- package/lib-esm/components/Tooltip/index.js.map +0 -1
- package/lib-esm/components/index.js +0 -20
- package/lib-esm/components/index.js.map +0 -1
- package/lib-esm/icons/index.js +0 -9
- package/lib-esm/icons/index.js.map +0 -1
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
declare function Accordion(props: AccordionProps
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var defaultProps: {
|
|
13
|
-
active: number;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
type AccordionProps = PropTypes.InferProps<typeof Accordion.propTypes>;
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
declare function Accordion(props: PropsWithChildren<AccordionProps>): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
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
|
+
};
|
|
17
12
|
export default Accordion;
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useState, Children, cloneElement } from 'react';
|
|
3
|
-
|
|
1
|
+
import { jsx, Fragment } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import { useState, Children, isValidElement, cloneElement } from 'react';
|
|
3
|
+
|
|
4
4
|
function Accordion(props) {
|
|
5
5
|
const [active, setActive] = useState(props.active);
|
|
6
|
-
const onStepClick = (index, disabled)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
const onStepClick = (index, disabled)=>()=>{
|
|
7
|
+
if (disabled) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const newIndex = index !== active ? index : -1;
|
|
11
|
+
if (props.onStepClick) {
|
|
12
|
+
props.onStepClick(newIndex);
|
|
13
|
+
} else {
|
|
14
|
+
setActive(newIndex);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
return /*#__PURE__*/ jsx(Fragment, {
|
|
18
|
+
children: Children.map(props.children, (child, index)=>{
|
|
19
|
+
if (!/*#__PURE__*/ isValidElement(child)) {
|
|
20
|
+
return child;
|
|
21
|
+
}
|
|
22
|
+
return /*#__PURE__*/ cloneElement(child, {
|
|
20
23
|
open: active === index,
|
|
21
24
|
onStepClick: onStepClick(index, child.props.disabled)
|
|
22
25
|
});
|
|
23
|
-
})
|
|
26
|
+
})
|
|
27
|
+
});
|
|
24
28
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
/** Handler for click event on a step */
|
|
29
|
-
onStepClick: PropTypes.func
|
|
30
|
-
};
|
|
31
|
-
Accordion.defaultProps = {
|
|
32
|
-
active: -1,
|
|
33
|
-
};
|
|
34
|
-
export default Accordion;
|
|
35
|
-
//# sourceMappingURL=Accordion.js.map
|
|
29
|
+
|
|
30
|
+
export { Accordion as default };
|
|
31
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","
|
|
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 return cloneElement(child, {\n open: active === index,\n onStepClick: onStepClick(index, child.props.disabled),\n } as Partial<typeof child.props>);\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","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,qBAAOE,aAAaF,KAAAA,EAAO;AACvBG,gBAAAA,IAAAA,EAAMf,MAAAA,KAAWI,KAAAA;AACjBD,gBAAAA,WAAAA,EAAaA,WAAAA,CAAYC,KAAAA,EAAOQ,KAAAA,CAAMb,KAAK,CAACM,QAAQ;AACxD,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,113 +1,115 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useState } from 'react';
|
|
1
|
+
import { jsxs, jsx } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import React, { useState, useId, useRef, useEffect } from 'react';
|
|
3
3
|
import styled from '@emotion/styled';
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import { Badge, BADGE_TYPE } from '../Badge';
|
|
11
|
-
const Step = styled(Card) `
|
|
12
|
-
transition: all .6s ease;
|
|
4
|
+
import { getThemeValue, THEME_NAME } from '../../shared/constants.js';
|
|
5
|
+
import { Ellipsis } from '../../shared/styles.js';
|
|
6
|
+
import FiberManualRecord from '../../icons/FiberManualRecord.js';
|
|
7
|
+
import Badge, { BADGE_TYPE } from '../Badge/Badge.js';
|
|
8
|
+
import ExpandMore from '../../icons/ExpandMore.js';
|
|
9
|
+
import Card from '../Card/Card.js';
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
margin-right: 10px;
|
|
48
|
-
fill: ${props => props.open
|
|
49
|
-
? `var(--primary, ${constants.PRIMARY})`
|
|
50
|
-
: props.completed
|
|
51
|
-
? `var(--success, ${constants.SUCCESS})`
|
|
52
|
-
: constants.LIGHT_GREY};
|
|
53
|
-
transform: ${props => props.open ? 'scale(0.8)' : 'scale(0.6)'};
|
|
54
|
-
transition: all .3s ease;
|
|
55
|
-
min-width: 24px;
|
|
56
|
-
}
|
|
57
|
-
`;
|
|
58
|
-
const ExpandContainer = styled.div `
|
|
59
|
-
display: flex;
|
|
60
|
-
align-items: center;
|
|
61
|
-
|
|
62
|
-
& svg {
|
|
63
|
-
vertical-align: top;
|
|
64
|
-
margin-right: 10px;
|
|
65
|
-
transition: all .6s ease;
|
|
66
|
-
fill: currentColor;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
${props => props.open ? `
|
|
70
|
-
& svg {
|
|
71
|
-
transform: rotate(180deg);
|
|
72
|
-
}
|
|
73
|
-
` : ''}
|
|
74
|
-
`;
|
|
75
|
-
const StepBody = styled.div `
|
|
76
|
-
transition: all .6s ease;
|
|
77
|
-
overflow: hidden;
|
|
78
|
-
height: ${props => props.height || 0}px;
|
|
79
|
-
`;
|
|
80
|
-
export const AccordionStepBody = styled.div `
|
|
81
|
-
padding: 20px 15px;
|
|
82
|
-
`;
|
|
83
|
-
export const AccordionStepFooter = styled.div `
|
|
84
|
-
display: flex;
|
|
85
|
-
justify-content: flex-end;
|
|
86
|
-
padding: 10px 15px;
|
|
87
|
-
border-top: 1px solid var(--border-light-color, ${constants.BORDER_LIGHT_COLOR});
|
|
88
|
-
`;
|
|
89
|
-
export default function AccordionStep(props) {
|
|
11
|
+
const Step$1 = /*#__PURE__*/ styled(Card, {
|
|
12
|
+
target: "e9r63nq0",
|
|
13
|
+
label: "Step"
|
|
14
|
+
})("transition:all 0.6s ease;overflow:visible;", (props)=>props.open && `margin: 20px 5px;`);
|
|
15
|
+
const StepHeader = /*#__PURE__*/ styled("button", {
|
|
16
|
+
target: "e9r63nq1",
|
|
17
|
+
label: "StepHeader"
|
|
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)};`);
|
|
19
|
+
const HeaderContainer = /*#__PURE__*/ styled("div", {
|
|
20
|
+
target: "e9r63nq2",
|
|
21
|
+
label: "HeaderContainer"
|
|
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;}");
|
|
23
|
+
const ExpandContainer = /*#__PURE__*/ styled("div", {
|
|
24
|
+
target: "e9r63nq3",
|
|
25
|
+
label: "ExpandContainer"
|
|
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); }` : '');
|
|
27
|
+
const StepBody = /*#__PURE__*/ styled("div", {
|
|
28
|
+
target: "e9r63nq4",
|
|
29
|
+
label: "StepBody"
|
|
30
|
+
})("transition:all 0.6s ease;overflow:hidden;height:", (props)=>props.height || 0, "px;");
|
|
31
|
+
const AccordionBadge = /*#__PURE__*/ styled(Badge, {
|
|
32
|
+
target: "e9r63nq5",
|
|
33
|
+
label: "AccordionBadge"
|
|
34
|
+
})("margin-right:15px;");
|
|
35
|
+
const AccordionStepBody = /*#__PURE__*/ styled("div", {
|
|
36
|
+
target: "e9r63nq6",
|
|
37
|
+
label: "AccordionStepBody"
|
|
38
|
+
})("padding:20px 15px;");
|
|
39
|
+
const AccordionStepFooter = /*#__PURE__*/ styled("div", {
|
|
40
|
+
target: "e9r63nq7",
|
|
41
|
+
label: "AccordionStepFooter"
|
|
42
|
+
})("display:flex;justify-content:flex-end;padding:10px 15px;border-top:1px solid ", getThemeValue(THEME_NAME.BORDER_LIGHT_COLOR), ";");
|
|
43
|
+
function AccordionStepComponent(props, ref) {
|
|
90
44
|
const [height, setHeight] = useState(0);
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
45
|
+
const { open, disabled = false, header, errorText, completed = false, onStepClick, children, ...restProps } = props;
|
|
46
|
+
// Generate unique IDs for ARIA relationships
|
|
47
|
+
const headerId = useId();
|
|
48
|
+
const regionId = useId();
|
|
49
|
+
const contentRef = useRef(null);
|
|
50
|
+
// Measure content height when `open` or children change.
|
|
51
|
+
useEffect(()=>{
|
|
52
|
+
const el = contentRef.current;
|
|
53
|
+
setHeight(el?.scrollHeight || 0);
|
|
54
|
+
}, [
|
|
55
|
+
open,
|
|
56
|
+
children
|
|
57
|
+
]);
|
|
58
|
+
return /*#__PURE__*/ jsxs(Step$1, {
|
|
59
|
+
...restProps,
|
|
60
|
+
ref: ref,
|
|
61
|
+
open: open,
|
|
62
|
+
elevated: open,
|
|
63
|
+
completed: completed,
|
|
64
|
+
children: [
|
|
65
|
+
/*#__PURE__*/ jsxs(StepHeader, {
|
|
66
|
+
open: open,
|
|
67
|
+
disabled: disabled,
|
|
68
|
+
onClick: onStepClick,
|
|
69
|
+
"aria-expanded": open ? 'true' : 'false',
|
|
70
|
+
"aria-controls": regionId,
|
|
71
|
+
id: headerId,
|
|
72
|
+
children: [
|
|
73
|
+
/*#__PURE__*/ jsxs(HeaderContainer, {
|
|
74
|
+
open: open,
|
|
75
|
+
completed: completed,
|
|
76
|
+
children: [
|
|
77
|
+
/*#__PURE__*/ jsx(FiberManualRecord, {
|
|
78
|
+
"aria-hidden": "true"
|
|
79
|
+
}),
|
|
80
|
+
/*#__PURE__*/ jsx(Ellipsis, {
|
|
81
|
+
children: header
|
|
82
|
+
})
|
|
83
|
+
]
|
|
84
|
+
}),
|
|
85
|
+
/*#__PURE__*/ jsxs(ExpandContainer, {
|
|
86
|
+
open: open,
|
|
87
|
+
children: [
|
|
88
|
+
errorText && /*#__PURE__*/ jsx(AccordionBadge, {
|
|
89
|
+
inline: true,
|
|
90
|
+
type: BADGE_TYPE.DANGER,
|
|
91
|
+
children: errorText
|
|
92
|
+
}),
|
|
93
|
+
/*#__PURE__*/ jsx(ExpandMore, {
|
|
94
|
+
"aria-hidden": "true"
|
|
95
|
+
})
|
|
96
|
+
]
|
|
97
|
+
})
|
|
98
|
+
]
|
|
99
|
+
}),
|
|
100
|
+
/*#__PURE__*/ jsx(StepBody, {
|
|
101
|
+
ref: contentRef,
|
|
102
|
+
height: open ? height : 0,
|
|
103
|
+
role: "region",
|
|
104
|
+
id: regionId,
|
|
105
|
+
"aria-labelledby": headerId,
|
|
106
|
+
"aria-hidden": open ? 'false' : 'true',
|
|
107
|
+
children: open && children
|
|
108
|
+
})
|
|
109
|
+
]
|
|
110
|
+
});
|
|
98
111
|
}
|
|
99
|
-
AccordionStep
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
errorText: PropTypes.string,
|
|
104
|
-
/** If steps has been marked as completed */
|
|
105
|
-
completed: PropTypes.bool,
|
|
106
|
-
/** If the step is disabled */
|
|
107
|
-
disabled: PropTypes.bool,
|
|
108
|
-
};
|
|
109
|
-
AccordionStep.defaultProps = {
|
|
110
|
-
completed: false,
|
|
111
|
-
disabled: false
|
|
112
|
-
};
|
|
113
|
-
//# sourceMappingURL=AccordionStep.js.map
|
|
112
|
+
const AccordionStep = /*#__PURE__*/ React.forwardRef(AccordionStepComponent);
|
|
113
|
+
|
|
114
|
+
export { AccordionStepBody, AccordionStepFooter, AccordionStep as default };
|
|
115
|
+
//# sourceMappingURL=AccordionStep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccordionStep.js","
|
|
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\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,60 +1,40 @@
|
|
|
1
|
-
import { jsx
|
|
1
|
+
import { jsx } from '@emotion/react/jsx-runtime';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
import styled from '@emotion/styled';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
(function (BADGE_TYPE) {
|
|
4
|
+
import { getThemeValue, THEME_NAME } from '../../shared/constants.js';
|
|
5
|
+
|
|
6
|
+
var BADGE_TYPE = /*#__PURE__*/ function(BADGE_TYPE) {
|
|
7
7
|
BADGE_TYPE["PRIMARY"] = "primary";
|
|
8
8
|
BADGE_TYPE["SUCCESS"] = "success";
|
|
9
9
|
BADGE_TYPE["WARNING"] = "warning";
|
|
10
10
|
BADGE_TYPE["DANGER"] = "danger";
|
|
11
11
|
BADGE_TYPE["DISABLED"] = "disabled";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
12
|
+
return BADGE_TYPE;
|
|
13
|
+
}({});
|
|
14
|
+
const BadgeSpan = /*#__PURE__*/ styled("span", {
|
|
15
|
+
target: "e1px9hio0",
|
|
16
|
+
label: "BadgeSpan"
|
|
17
|
+
})("background-color:", (props)=>{
|
|
18
|
+
switch(props.type){
|
|
19
|
+
case "success":
|
|
20
|
+
return getThemeValue(THEME_NAME.SUCCESS);
|
|
21
|
+
case "warning":
|
|
22
|
+
return getThemeValue(THEME_NAME.WARNING);
|
|
23
|
+
case "danger":
|
|
24
|
+
return getThemeValue(THEME_NAME.ERROR);
|
|
25
|
+
case "disabled":
|
|
26
|
+
return getThemeValue(THEME_NAME.DISABLED);
|
|
24
27
|
default:
|
|
25
|
-
return
|
|
28
|
+
return getThemeValue(THEME_NAME.PRIMARY);
|
|
26
29
|
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
min-width: 4px;
|
|
34
|
-
font-size: 12px;
|
|
35
|
-
margin: ${props => props.inline ? '0 5px' : '0'};
|
|
36
|
-
|
|
37
|
-
${props => !props.inline && 'position: absolute; top: 0; right: 0; transform: translate(50%, -50%);'};
|
|
38
|
-
`;
|
|
39
|
-
export default function Badge(props) {
|
|
40
|
-
return _jsx(BadgeSpan, Object.assign({}, props));
|
|
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
|
+
function BadgeComponent(props, ref) {
|
|
32
|
+
return /*#__PURE__*/ jsx(BadgeSpan, {
|
|
33
|
+
...props,
|
|
34
|
+
ref: ref
|
|
35
|
+
});
|
|
41
36
|
}
|
|
42
|
-
;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
/** Type of badge */
|
|
47
|
-
type: PropTypes.oneOf([
|
|
48
|
-
BADGE_TYPE.PRIMARY,
|
|
49
|
-
BADGE_TYPE.SUCCESS,
|
|
50
|
-
BADGE_TYPE.WARNING,
|
|
51
|
-
BADGE_TYPE.DANGER,
|
|
52
|
-
BADGE_TYPE.DISABLED,
|
|
53
|
-
]),
|
|
54
|
-
css: PropTypes.any,
|
|
55
|
-
};
|
|
56
|
-
Badge.defaultProps = {
|
|
57
|
-
inline: false,
|
|
58
|
-
type: BADGE_TYPE.PRIMARY,
|
|
59
|
-
};
|
|
60
|
-
//# sourceMappingURL=Badge.js.map
|
|
37
|
+
const Badge = /*#__PURE__*/ React.forwardRef(BadgeComponent);
|
|
38
|
+
|
|
39
|
+
export { BADGE_TYPE, Badge as default };
|
|
40
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","
|
|
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\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,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;
|