carbon-react 110.1.1 → 110.2.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/esm/__internal__/form-field/form-field.component.d.ts +5 -1
- package/esm/__internal__/form-field/form-field.component.js +8 -5
- package/esm/__internal__/utils/helpers/tags/tags.d.ts +5 -2
- package/esm/__spec_helper__/mock-match-media.d.ts +3 -1
- package/esm/__spec_helper__/test-utils.d.ts +3 -2
- package/esm/__spec_helper__/test-utils.js +17 -1
- package/esm/components/box/box.component.d.ts +4 -2
- package/esm/components/box/box.component.js +2 -1
- package/esm/components/button-toggle/button-toggle-icon.component.d.ts +15 -0
- package/esm/components/button-toggle/button-toggle-icon.component.js +19 -16
- package/esm/components/button-toggle/button-toggle-input.component.d.ts +25 -0
- package/esm/components/button-toggle/button-toggle-input.component.js +13 -25
- package/esm/components/button-toggle/button-toggle.component.d.ts +24 -0
- package/esm/components/button-toggle/button-toggle.component.js +23 -59
- package/esm/components/button-toggle/button-toggle.style.d.ts +26 -0
- package/esm/components/button-toggle/button-toggle.style.js +3 -8
- package/esm/components/button-toggle/index.d.ts +2 -2
- package/esm/components/content/content.style.js +0 -1
- package/esm/components/date/__internal__/utils.js +1 -1
- package/esm/components/dismissible-box/dismissible-box.component.js +398 -0
- package/esm/components/loader/index.d.ts +2 -1
- package/esm/components/loader/loader-square.style.d.ts +9 -1
- package/esm/components/loader/loader-square.style.js +4 -11
- package/esm/components/loader/loader.component.d.ts +9 -0
- package/esm/components/loader/loader.component.js +162 -24
- package/esm/components/loader/loader.config.d.ts +1 -1
- package/esm/components/loader/loader.style.d.ts +2 -0
- package/esm/components/loader-bar/index.d.ts +2 -1
- package/esm/components/loader-bar/loader-bar.component.d.ts +7 -0
- package/esm/components/loader-bar/loader-bar.component.js +156 -7
- package/esm/components/loader-bar/loader-bar.config.d.ts +1 -0
- package/esm/components/loader-bar/loader-bar.style.d.ts +10 -0
- package/esm/components/loader-bar/loader-bar.style.js +14 -25
- package/esm/components/pod/pod.component.js +1 -0
- package/esm/components/pod/pod.style.js +8 -4
- package/esm/components/portal/portal.d.ts +15 -12
- package/esm/components/portal/portal.js +3 -13
- package/esm/components/portrait/index.d.ts +2 -1
- package/esm/components/portrait/portrait-gravatar.component.d.ts +16 -0
- package/esm/components/portrait/portrait-gravatar.component.js +9 -24
- package/esm/components/portrait/portrait-initials.component.d.ts +16 -0
- package/esm/components/portrait/portrait-initials.component.js +22 -33
- package/esm/components/portrait/portrait.component.d.ts +50 -0
- package/esm/components/portrait/portrait.component.js +178 -72
- package/esm/components/portrait/portrait.config.d.ts +32 -0
- package/esm/components/portrait/portrait.style.d.ts +28 -0
- package/esm/components/portrait/portrait.style.js +7 -55
- package/esm/components/profile/profile.style.d.ts +2 -2
- package/esm/components/show-edit-pod/show-edit-pod.style.js +1 -8
- package/esm/style/fonts.css +19 -12
- package/esm/style/utils/filter-out-position-props.d.ts +3 -0
- package/esm/style/utils/filter-out-position-props.js +5 -0
- package/lib/__internal__/form-field/form-field.component.d.ts +5 -1
- package/lib/__internal__/form-field/form-field.component.js +8 -5
- package/lib/__internal__/utils/helpers/tags/tags.d.ts +5 -2
- package/lib/__spec_helper__/mock-match-media.d.ts +3 -1
- package/lib/__spec_helper__/test-utils.d.ts +3 -2
- package/lib/__spec_helper__/test-utils.js +20 -2
- package/lib/components/box/box.component.d.ts +4 -2
- package/lib/components/box/box.component.js +1 -0
- package/lib/components/button-toggle/button-toggle-icon.component.d.ts +15 -0
- package/lib/components/button-toggle/button-toggle-icon.component.js +19 -16
- package/lib/components/button-toggle/button-toggle-input.component.d.ts +25 -0
- package/lib/components/button-toggle/button-toggle-input.component.js +13 -25
- package/lib/components/button-toggle/button-toggle.component.d.ts +24 -0
- package/lib/components/button-toggle/button-toggle.component.js +24 -60
- package/lib/components/button-toggle/button-toggle.style.d.ts +26 -0
- package/lib/components/button-toggle/button-toggle.style.js +6 -12
- package/lib/components/button-toggle/index.d.ts +2 -2
- package/lib/components/content/content.style.js +0 -1
- package/lib/components/date/__internal__/utils.js +1 -1
- package/lib/components/dismissible-box/dismissible-box.component.js +398 -0
- package/lib/components/loader/index.d.ts +2 -1
- package/lib/components/loader/loader-square.style.d.ts +9 -1
- package/lib/components/loader/loader-square.style.js +4 -15
- package/lib/components/loader/loader.component.d.ts +9 -0
- package/lib/components/loader/loader.component.js +163 -28
- package/lib/components/loader/loader.config.d.ts +1 -1
- package/lib/components/loader/loader.style.d.ts +2 -0
- package/lib/components/loader-bar/index.d.ts +2 -1
- package/lib/components/loader-bar/loader-bar.component.d.ts +7 -0
- package/lib/components/loader-bar/loader-bar.component.js +156 -10
- package/lib/components/loader-bar/loader-bar.config.d.ts +1 -0
- package/lib/components/loader-bar/loader-bar.style.d.ts +10 -0
- package/lib/components/loader-bar/loader-bar.style.js +13 -27
- package/lib/components/pod/pod.component.js +1 -0
- package/lib/components/pod/pod.style.js +8 -4
- package/lib/components/portal/portal.d.ts +15 -12
- package/lib/components/portal/portal.js +3 -14
- package/lib/components/portrait/index.d.ts +2 -1
- package/lib/components/portrait/portrait-gravatar.component.d.ts +16 -0
- package/lib/components/portrait/portrait-gravatar.component.js +9 -24
- package/lib/components/portrait/portrait-initials.component.d.ts +16 -0
- package/lib/components/portrait/portrait-initials.component.js +22 -33
- package/lib/components/portrait/portrait.component.d.ts +50 -0
- package/lib/components/portrait/portrait.component.js +179 -75
- package/lib/components/portrait/portrait.config.d.ts +32 -0
- package/lib/components/portrait/portrait.style.d.ts +28 -0
- package/lib/components/portrait/portrait.style.js +9 -59
- package/lib/components/profile/profile.style.d.ts +2 -2
- package/lib/components/show-edit-pod/show-edit-pod.style.js +1 -12
- package/lib/style/fonts.css +19 -12
- package/lib/style/utils/filter-out-position-props.d.ts +3 -0
- package/lib/style/utils/filter-out-position-props.js +18 -0
- package/package.json +4 -3
- package/esm/components/button-toggle/button-toggle-types.d.ts +0 -1
- package/esm/components/button-toggle/button-toggle.d.ts +0 -45
- package/esm/components/loader/loader.d.ts +0 -16
- package/esm/components/loader-bar/loader-bar.d.ts +0 -10
- package/esm/components/portrait/portrait-gravatar.d.ts +0 -18
- package/esm/components/portrait/portrait-initials.d.ts +0 -18
- package/esm/components/portrait/portrait.d.ts +0 -54
- package/lib/components/button-toggle/button-toggle-types.d.ts +0 -1
- package/lib/components/button-toggle/button-toggle.d.ts +0 -45
- package/lib/components/loader/loader.d.ts +0 -16
- package/lib/components/loader-bar/loader-bar.d.ts +0 -10
- package/lib/components/portrait/portrait-gravatar.d.ts +0 -18
- package/lib/components/portrait/portrait-initials.d.ts +0 -18
- package/lib/components/portrait/portrait.d.ts +0 -54
|
@@ -32,6 +32,10 @@ interface CommonFormFieldProps extends MarginProps, ValidationProps {
|
|
|
32
32
|
reverse?: boolean;
|
|
33
33
|
/** Id of the validation icon */
|
|
34
34
|
validationIconId?: string;
|
|
35
|
+
/**
|
|
36
|
+
* @private @ignore
|
|
37
|
+
* Flag dedicating if latest validation design should be used */
|
|
38
|
+
validationRedesignOptIn?: boolean;
|
|
35
39
|
}
|
|
36
40
|
export interface FormFieldProps extends CommonFormFieldProps, TagProps {
|
|
37
41
|
/** Breakpoint for adaptive label (inline labels change to top aligned). Enables the adaptive behaviour when set */
|
|
@@ -53,7 +57,7 @@ export interface FormFieldProps extends CommonFormFieldProps, TagProps {
|
|
|
53
57
|
useValidationIcon?: boolean;
|
|
54
58
|
}
|
|
55
59
|
declare const FormField: {
|
|
56
|
-
({ children, disabled, fieldHelp: fieldHelpContent, fieldHelpInline, error, warning, info, tooltipId, fieldHelpId, label, labelId, labelAlign, labelHelp, labelHelpIcon, labelInline, labelSpacing, labelWidth, id, reverse, isOptional, useValidationIcon, adaptiveLabelBreakpoint, isRequired, validationIconId, ...rest }: FormFieldProps): JSX.Element;
|
|
60
|
+
({ children, "data-component": dataComponent, disabled, fieldHelp: fieldHelpContent, fieldHelpInline, error, warning, info, tooltipId, fieldHelpId, label, labelId, labelAlign, labelHelp, labelHelpIcon, labelInline, labelSpacing, labelWidth, id, reverse, isOptional, useValidationIcon, adaptiveLabelBreakpoint, isRequired, validationIconId, validationRedesignOptIn, ...rest }: FormFieldProps): JSX.Element;
|
|
57
61
|
displayName: string;
|
|
58
62
|
};
|
|
59
63
|
export default FormField;
|
|
@@ -13,6 +13,7 @@ import useIsAboveBreakpoint from "../../hooks/__internal__/useIsAboveBreakpoint"
|
|
|
13
13
|
|
|
14
14
|
const FormField = ({
|
|
15
15
|
children,
|
|
16
|
+
"data-component": dataComponent,
|
|
16
17
|
disabled,
|
|
17
18
|
fieldHelp: fieldHelpContent,
|
|
18
19
|
fieldHelpInline,
|
|
@@ -36,6 +37,7 @@ const FormField = ({
|
|
|
36
37
|
adaptiveLabelBreakpoint,
|
|
37
38
|
isRequired,
|
|
38
39
|
validationIconId,
|
|
40
|
+
validationRedesignOptIn,
|
|
39
41
|
...rest
|
|
40
42
|
}) => {
|
|
41
43
|
const invalidValidationProp = useMemo(() => {
|
|
@@ -71,15 +73,15 @@ const FormField = ({
|
|
|
71
73
|
labelWidth: labelWidth,
|
|
72
74
|
id: fieldHelpId
|
|
73
75
|
}, fieldHelpContent) : null;
|
|
74
|
-
return /*#__PURE__*/React.createElement(FormFieldStyle, _extends({}, tagComponent(
|
|
76
|
+
return /*#__PURE__*/React.createElement(FormFieldStyle, _extends({}, tagComponent(dataComponent, rest), marginProps), /*#__PURE__*/React.createElement(FieldLineStyle, {
|
|
75
77
|
inline: inlineLabel
|
|
76
78
|
}, reverse && children, label && /*#__PURE__*/React.createElement(Label, {
|
|
77
79
|
labelId: labelId,
|
|
78
80
|
align: labelAlign,
|
|
79
81
|
disabled: disabled,
|
|
80
|
-
error: !
|
|
81
|
-
warning: !
|
|
82
|
-
info: !
|
|
82
|
+
error: !validationRedesignOptIn && error,
|
|
83
|
+
warning: !validationRedesignOptIn && warning,
|
|
84
|
+
info: !validationRedesignOptIn && info,
|
|
83
85
|
help: labelHelp,
|
|
84
86
|
tooltipId: tooltipId,
|
|
85
87
|
htmlFor: id,
|
|
@@ -98,7 +100,7 @@ const FormField = ({
|
|
|
98
100
|
FormField.propTypes = {
|
|
99
101
|
"adaptiveLabelBreakpoint": PropTypes.number,
|
|
100
102
|
"children": PropTypes.node,
|
|
101
|
-
"data-component": PropTypes.string
|
|
103
|
+
"data-component": PropTypes.string,
|
|
102
104
|
"data-element": PropTypes.string,
|
|
103
105
|
"data-role": PropTypes.string,
|
|
104
106
|
"disabled": PropTypes.bool,
|
|
@@ -276,6 +278,7 @@ FormField.propTypes = {
|
|
|
276
278
|
"tooltipId": PropTypes.string,
|
|
277
279
|
"useValidationIcon": PropTypes.bool,
|
|
278
280
|
"validationIconId": PropTypes.string,
|
|
281
|
+
"validationRedesignOptIn": PropTypes.bool,
|
|
279
282
|
"warning": PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
|
|
280
283
|
};
|
|
281
284
|
FormField.displayName = "FormField";
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
interface DataProps {
|
|
2
|
+
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
2
3
|
"data-element"?: string;
|
|
4
|
+
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
3
5
|
"data-role"?: string;
|
|
4
6
|
[restKeys: string]: any;
|
|
5
7
|
}
|
|
6
8
|
export interface TagProps extends DataProps {
|
|
7
|
-
|
|
9
|
+
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
10
|
+
"data-component"?: string;
|
|
8
11
|
}
|
|
9
12
|
/**
|
|
10
13
|
* Builds props object containing top level data tags
|
|
11
14
|
*/
|
|
12
|
-
declare function tagComponent(componentName: string, props: DataProps): TagProps;
|
|
15
|
+
declare function tagComponent(componentName: string | undefined, props: DataProps): TagProps;
|
|
13
16
|
export default tagComponent;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ReactWrapper, ShallowWrapper } from "enzyme";
|
|
3
|
-
import { LayoutProps, FlexboxProps, BackgroundProps } from "styled-system";
|
|
3
|
+
import { LayoutProps, FlexboxProps, BackgroundProps, PositionProps } from "styled-system";
|
|
4
4
|
import { ReactTestRendererJSON } from "react-test-renderer";
|
|
5
5
|
import { mockMatchMedia } from "./mock-match-media";
|
|
6
6
|
declare const toCSSCase: (str: string) => string;
|
|
@@ -47,5 +47,6 @@ declare const testStyledSystemWidth: (component: (widthProperties?: {
|
|
|
47
47
|
declare const testStyledSystemLayout: (component: (layoutProperties?: LayoutProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined) => JSX.Element, styleContainer?: ((wrapper: ReactWrapper) => ReactWrapper) | undefined) => void;
|
|
48
48
|
declare const testStyledSystemFlexBox: (component: (flexboxProperties?: FlexboxProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined) => JSX.Element, styleContainer?: ((wrapper: ReactWrapper) => ReactWrapper) | undefined) => void;
|
|
49
49
|
declare const testStyledSystemBackground: (component: (backgroundProperties?: BackgroundProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, import("csstype").Property.Background<import("styled-system").TLengthStyledSystem>> | undefined) => JSX.Element, styleContainer?: ((wrapper: ReactWrapper) => ReactWrapper) | undefined) => void;
|
|
50
|
+
declare const testStyledSystemPosition: (component: (positionProperties?: PositionProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined) => JSX.Element, styleContainer?: ((wrapper: ReactWrapper) => ReactWrapper) | undefined) => void;
|
|
50
51
|
declare const expectConsoleOutput: (message: string, type?: "warn" | "error") => () => void;
|
|
51
|
-
export { assertStyleMatch, toCSSCase, hoverList, selectedItemOf, childrenFrom, makeArrayKeys, keyboard, assertKeyboardTraversal, assertHoverTraversal, listFrom, click, simulate, carbonThemesJestTable, mockMatchMedia, testStyledSystemSpacing, testStyledSystemMargin, testStyledSystemPadding, testStyledSystemColor, testStyledSystemWidth, testStyledSystemLayout, testStyledSystemFlexBox, testStyledSystemBackground, expectConsoleOutput, };
|
|
52
|
+
export { assertStyleMatch, toCSSCase, hoverList, selectedItemOf, childrenFrom, makeArrayKeys, keyboard, assertKeyboardTraversal, assertHoverTraversal, listFrom, click, simulate, carbonThemesJestTable, mockMatchMedia, testStyledSystemSpacing, testStyledSystemMargin, testStyledSystemPadding, testStyledSystemColor, testStyledSystemWidth, testStyledSystemLayout, testStyledSystemFlexBox, testStyledSystemBackground, testStyledSystemPosition, expectConsoleOutput, };
|
|
@@ -109,6 +109,7 @@ const widthProps = ["width", "width", "200px"];
|
|
|
109
109
|
const layoutProps = [widthProps, ["height", "height", "200px"], ["minWidth", "min-width", "120px"], ["maxWidth", "max-width", "120px"], ["minHeight", "min-height", "120px"], ["maxHeight", "max-height", "120px"], ["size", "width", "120px"], ["size", "height", "120px"], ["display", "display", "inline-block"], ["verticalAlign", "vertical-align", "baseline"], ["overflow", "overflow", "hidden"], ["overflowX", "overflow-x", "hidden"], ["overflowY", "overflow-y", "hidden"]];
|
|
110
110
|
const flexBoxProps = [["alignItems", "alignItems", "center"], ["alignContent", "alignContent", "center"], ["justifyItems", "justifyItems", "center"], ["justifyContent", "justifyContent", "center"], ["flexWrap", "flexWrap", "wrap"], ["flexDirection", "flexDirection", "row-reverse"], ["flex", "flex", "1"], ["flexGrow", "flexGrow", "1"], ["flexShrink", "flexShrink", "1"], ["flexBasis", "flexBasis", "100px"], ["justifySelf", "justifySelf", "center"], ["alignSelf", "alignSelf", "center"], ["order", "order", "1"]];
|
|
111
111
|
const backgroundProps = [["background", "background", "lightblue url('foo.jpg') no-repeat fixed center"], ["backgroundImage", "background-image", "url(foo.jpg)"], ["backgroundSize", "background-size", "center"], ["backgroundRepeat", "background-repeat", "no-repeat"]];
|
|
112
|
+
const positionProps = [["top", "0px"], ["bottom", "0px"], ["right", "0px"], ["left", "0px"], ["position", "fixed"], ["position", "sticky"], ["position", "absolute"], ["position", "static"], ["position", "relative"]];
|
|
112
113
|
export const getDefaultValue = value => {
|
|
113
114
|
const spaceArrayLength = space.length - 1;
|
|
114
115
|
if (value === undefined) return value;
|
|
@@ -302,6 +303,21 @@ const testStyledSystemBackground = (component, styleContainer) => {
|
|
|
302
303
|
}, styleContainer ? styleContainer(wrapper) : wrapper);
|
|
303
304
|
});
|
|
304
305
|
});
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
const testStyledSystemPosition = (component, styleContainer) => {
|
|
309
|
+
describe.each(positionProps)('when a prop is specified using the "%s" styled system props', (styledSystemProp, value) => {
|
|
310
|
+
it(`then ${styledSystemProp} should have been set correctly`, () => {
|
|
311
|
+
const props = {
|
|
312
|
+
[styledSystemProp]: value
|
|
313
|
+
};
|
|
314
|
+
const wrapper = mount(component({ ...props
|
|
315
|
+
}));
|
|
316
|
+
assertStyleMatch({
|
|
317
|
+
[styledSystemProp]: value
|
|
318
|
+
}, styleContainer ? styleContainer(wrapper) : wrapper);
|
|
319
|
+
});
|
|
320
|
+
});
|
|
305
321
|
}; // this util will catch that a console output occurred without polluting the output when running the unit tests
|
|
306
322
|
|
|
307
323
|
|
|
@@ -335,4 +351,4 @@ const expectConsoleOutput = (message, type = "error") => {
|
|
|
335
351
|
};
|
|
336
352
|
};
|
|
337
353
|
|
|
338
|
-
export { assertStyleMatch, toCSSCase, hoverList, selectedItemOf, childrenFrom, makeArrayKeys, keyboard, assertKeyboardTraversal, assertHoverTraversal, listFrom, click, simulate, carbonThemesJestTable, mockMatchMedia, testStyledSystemSpacing, testStyledSystemMargin, testStyledSystemPadding, testStyledSystemColor, testStyledSystemWidth, testStyledSystemLayout, testStyledSystemFlexBox, testStyledSystemBackground, expectConsoleOutput };
|
|
354
|
+
export { assertStyleMatch, toCSSCase, hoverList, selectedItemOf, childrenFrom, makeArrayKeys, keyboard, assertKeyboardTraversal, assertHoverTraversal, listFrom, click, simulate, carbonThemesJestTable, mockMatchMedia, testStyledSystemSpacing, testStyledSystemMargin, testStyledSystemPadding, testStyledSystemColor, testStyledSystemWidth, testStyledSystemLayout, testStyledSystemFlexBox, testStyledSystemBackground, testStyledSystemPosition, expectConsoleOutput };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { SpaceProps, LayoutProps, FlexboxProps, ColorProps } from "styled-system";
|
|
2
|
+
import { SpaceProps, LayoutProps, FlexboxProps, ColorProps, PositionProps } from "styled-system";
|
|
3
3
|
export declare type OverflowWrap = "break-word" | "anywhere";
|
|
4
4
|
export declare type ScrollVariant = "light" | "dark";
|
|
5
5
|
export declare type BoxSizing = "content-box" | "border-box";
|
|
6
|
-
export interface BoxProps extends SpaceProps, LayoutProps, FlexboxProps, ColorProps {
|
|
6
|
+
export interface BoxProps extends SpaceProps, LayoutProps, FlexboxProps, ColorProps, Omit<PositionProps, "zIndex"> {
|
|
7
7
|
as?: keyof JSX.IntrinsicElements | React.ComponentType<any>;
|
|
8
8
|
/** String to set Box content break strategy. Note "anywhere" is not supported in Safari */
|
|
9
9
|
overflowWrap?: OverflowWrap;
|
|
@@ -11,6 +11,8 @@ export interface BoxProps extends SpaceProps, LayoutProps, FlexboxProps, ColorPr
|
|
|
11
11
|
scrollVariant?: ScrollVariant;
|
|
12
12
|
/** set the box-sizing attribute of the Box component */
|
|
13
13
|
boxSizing?: BoxSizing;
|
|
14
|
+
/** Allows a tabindex to be specified */
|
|
15
|
+
tabIndex?: number | string;
|
|
14
16
|
}
|
|
15
17
|
declare const Box: import("styled-components").StyledComponent<"div", any, BoxProps, never>;
|
|
16
18
|
export default Box;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import styled, { css } from "styled-components";
|
|
2
|
-
import { space, layout, flexbox } from "styled-system";
|
|
2
|
+
import { space, layout, flexbox, position } from "styled-system";
|
|
3
3
|
import BaseTheme from "../../style/themes/base";
|
|
4
4
|
import styledColor from "../../style/utils/color";
|
|
5
5
|
import boxConfig from "./box.config";
|
|
@@ -7,6 +7,7 @@ const Box = styled.div`
|
|
|
7
7
|
${space}
|
|
8
8
|
${layout}
|
|
9
9
|
${flexbox}
|
|
10
|
+
${position}
|
|
10
11
|
${({
|
|
11
12
|
color,
|
|
12
13
|
bg,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { StyledButtonToggleIconProps } from "./button-toggle.style";
|
|
3
|
+
import { IconType } from "../icon";
|
|
4
|
+
export interface ButtonToggleIconProps extends StyledButtonToggleIconProps {
|
|
5
|
+
/**
|
|
6
|
+
* <a href="https://brand.sage.com/d/NdbrveWvNheA/foundations#/icons/icons" target="_blank">List of supported icons</a>
|
|
7
|
+
*
|
|
8
|
+
* buttonIcon to render.
|
|
9
|
+
*/
|
|
10
|
+
buttonIcon: IconType;
|
|
11
|
+
/** Sets the icon in the disabled state */
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare const ButtonToggleIcon: ({ buttonIcon, buttonIconSize, disabled, hasContent, }: ButtonToggleIconProps) => JSX.Element;
|
|
15
|
+
export default ButtonToggleIcon;
|
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
|
|
3
1
|
import React from "react";
|
|
4
2
|
import PropTypes from "prop-types";
|
|
5
3
|
import { StyledButtonToggleIcon } from "./button-toggle.style";
|
|
6
4
|
import Icon from "../icon";
|
|
7
5
|
|
|
8
|
-
const ButtonToggleIcon =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
const ButtonToggleIcon = ({
|
|
7
|
+
buttonIcon,
|
|
8
|
+
buttonIconSize,
|
|
9
|
+
disabled,
|
|
10
|
+
hasContent
|
|
11
|
+
}) => /*#__PURE__*/React.createElement(StyledButtonToggleIcon, {
|
|
12
|
+
buttonIconSize: buttonIconSize,
|
|
13
|
+
hasContent: hasContent
|
|
14
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
15
|
+
"aria-hidden": true,
|
|
16
|
+
type: buttonIcon,
|
|
17
|
+
fontSize: buttonIconSize,
|
|
18
|
+
bgSize: "extra-small",
|
|
19
|
+
disabled: disabled
|
|
20
|
+
}));
|
|
13
21
|
|
|
14
22
|
ButtonToggleIcon.propTypes = {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
*/
|
|
20
|
-
buttonIcon: PropTypes.string,
|
|
21
|
-
|
|
22
|
-
/** Sets the size of the buttonIcon (eg. large) */
|
|
23
|
-
buttonIconSize: PropTypes.oneOf(["small", "large"])
|
|
23
|
+
"buttonIcon": PropTypes.oneOf(["add", "admin", "alert", "analysis", "arrow_down", "arrow_left_boxed", "arrow_left_right_small", "arrow_left_small", "arrow_left", "arrow_right_small", "arrow_right", "arrow_up", "arrow", "attach", "bank", "basket_with_squares", "basket", "bin", "block_arrow_right", "blocked_square", "blocked", "bold", "boxed_shapes", "bulk_destroy", "bullet_list_dotted", "bullet_list_numbers", "bullet_list", "business", "calendar_today", "calendar", "call", "camera", "card_view", "caret_down", "caret_large_down", "caret_large_left", "caret_large_right", "caret_large_up", "caret_left", "caret_right", "caret_up", "cart", "chart_bar", "chart_line", "chart_pie", "chat_notes", "chat", "chevron_down_thick", "chevron_down", "chevron_left_thick", "chevron_left", "chevron_right_thick", "chevron_right", "chevron_up_thick", "chevron_up", "circle_with_dots", "circles_connection", "clock", "close", "coins", "collaborate", "computer_clock", "connect", "contacts", "copy", "create", "credit_card_slash", "credit_card", "cross_circle", "cross", "csv", "delete", "delivery", "disconnect", "disputed", "document_right_align", "document_tick", "document_vertical_lines", "download", "draft", "drag_vertical", "drag", "dropdown", "duplicate", "edit", "edited", "ellipsis_horizontal", "ellipsis_vertical", "email_switch", "email", "entry", "envelope_dollar", "envelope_euro", "error_square", "error", "euro", "expand", "factory", "favourite_lined", "favourite", "fax", "feedback", "file_excel", "file_generic", "file_image", "file_pdf", "file_word", "files_leaning", "filter_new", "filter", "fit_height", "fit_width", "flag", "folder", "gift", "go", "graph", "grid", "help", "hide", "home", "image", "in_progress", "in_transit", "individual", "info", "italic", "key", "ledger_arrow_left", "ledger_arrow_right", "ledger", "lightbulb_off", "lightbulb_on", "link", "list_view", "location", "locked", "logout", "lookup", "marker", "message", "minus_large", "minus", "mobile", "money_bag", "none", "old_warning", "pause_circle", "pause", "pdf", "people_switch", "people", "person_info", "person_tick", "person", "phone", "piggy_bank", "play_circle", "play", "plus_large", "plus", "pound", "print", "progress", "progressed", "question_hollow", "question_mark", "question", "refresh_clock", "refresh", "remove", "sage_coin", "save", "scan", "search", "services", "settings_old", "settings", "share", "shop", "sort_down", "sort_up", "spanner", "split_container", "split", "square_dot", "squares_nine", "stacked_boxes", "stacked_squares", "submitted", "sync", "tag", "talk", "three_boxes", "tick_circle", "tick", "true_tick", "undo", "unlocked", "upload", "uploaded", "video", "view", "warning"]).isRequired,
|
|
24
|
+
"buttonIconSize": PropTypes.oneOf(["large", "small"]),
|
|
25
|
+
"disabled": PropTypes.bool,
|
|
26
|
+
"hasContent": PropTypes.bool
|
|
24
27
|
};
|
|
25
28
|
export default ButtonToggleIcon;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface ButtonToggleInputProps {
|
|
3
|
+
/** Prop to specify the aria-label of the component */
|
|
4
|
+
"aria-label"?: string;
|
|
5
|
+
/** Prop to specify the aria-labelledby property of the component */
|
|
6
|
+
"aria-labelledby"?: string;
|
|
7
|
+
/** Set the checked value of the radio button */
|
|
8
|
+
checked?: boolean;
|
|
9
|
+
/** Disable all user interaction. */
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
/** Unique ID attribute for input */
|
|
12
|
+
guid?: string;
|
|
13
|
+
/** Name used on the hidden radio button. */
|
|
14
|
+
name?: string;
|
|
15
|
+
/** Callback triggered by blur event on the input. */
|
|
16
|
+
onBlur?: (ev: React.FocusEvent<HTMLInputElement>) => void;
|
|
17
|
+
/** Callback triggered by change event on the input. */
|
|
18
|
+
onChange?: (ev: React.ChangeEvent<HTMLInputElement>) => void;
|
|
19
|
+
/** Callback triggered by focus event on the input. */
|
|
20
|
+
onFocus?: (ev: React.FocusEvent<HTMLInputElement>) => void;
|
|
21
|
+
/** Value for the input */
|
|
22
|
+
value?: string;
|
|
23
|
+
}
|
|
24
|
+
declare const ButtonToggleInput: React.ForwardRefExoticComponent<ButtonToggleInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
25
|
+
export default ButtonToggleInput;
|
|
@@ -15,7 +15,7 @@ const ButtonToggleInput = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
|
|
|
15
15
|
props.onBlur(ev);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
if (onBlur) onBlur(
|
|
18
|
+
if (onBlur) onBlur();
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
const handleFocus = ev => {
|
|
@@ -23,7 +23,7 @@ const ButtonToggleInput = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
|
|
|
23
23
|
props.onFocus(ev);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
if (onFocus) onFocus(
|
|
26
|
+
if (onFocus) onFocus();
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
return /*#__PURE__*/React.createElement(StyledButtonToggleInput, _extends({}, props, {
|
|
@@ -35,28 +35,16 @@ const ButtonToggleInput = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
|
|
|
35
35
|
}));
|
|
36
36
|
});
|
|
37
37
|
ButtonToggleInput.propTypes = {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
guid: PropTypes.string,
|
|
49
|
-
|
|
50
|
-
/** Value for the input */
|
|
51
|
-
value: PropTypes.string,
|
|
52
|
-
|
|
53
|
-
/** Callback triggered by change event on the input. */
|
|
54
|
-
onChange: PropTypes.func,
|
|
55
|
-
|
|
56
|
-
/** Callback triggered by blur event on the input. */
|
|
57
|
-
onBlur: PropTypes.func,
|
|
58
|
-
|
|
59
|
-
/** Callback triggered by focus event on the input. */
|
|
60
|
-
onFocus: PropTypes.func
|
|
38
|
+
"aria-label": PropTypes.string,
|
|
39
|
+
"aria-labelledby": PropTypes.string,
|
|
40
|
+
"checked": PropTypes.bool,
|
|
41
|
+
"disabled": PropTypes.bool,
|
|
42
|
+
"guid": PropTypes.string,
|
|
43
|
+
"name": PropTypes.string,
|
|
44
|
+
"onBlur": PropTypes.func,
|
|
45
|
+
"onChange": PropTypes.func,
|
|
46
|
+
"onFocus": PropTypes.func,
|
|
47
|
+
"value": PropTypes.string
|
|
61
48
|
};
|
|
49
|
+
ButtonToggleInput.displayName = "ButtonToggleInput";
|
|
62
50
|
export default ButtonToggleInput;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { StyledButtonToggleLabelProps } from "./button-toggle.style";
|
|
3
|
+
import { ButtonToggleInputProps } from "./button-toggle-input.component";
|
|
4
|
+
export interface ButtonToggleProps extends ButtonToggleInputProps, Partial<StyledButtonToggleLabelProps> {
|
|
5
|
+
/** A required prop. This is the button text. */
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
8
|
+
"data-component"?: string;
|
|
9
|
+
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
10
|
+
"data-element"?: string;
|
|
11
|
+
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
12
|
+
"data-role"?: string;
|
|
13
|
+
/** Set the default value of the Group if component is meant to be used as uncontrolled. */
|
|
14
|
+
defaultChecked?: boolean;
|
|
15
|
+
/** Remove spacing from between buttons. */
|
|
16
|
+
grouped?: boolean;
|
|
17
|
+
/** Callback triggered by click event on the input. */
|
|
18
|
+
onClick?: (ev: React.MouseEvent<HTMLInputElement>) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const ButtonToggle: {
|
|
21
|
+
(props: ButtonToggleProps): JSX.Element;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
export default ButtonToggle;
|
|
@@ -11,7 +11,7 @@ const ButtonToggle = props => {
|
|
|
11
11
|
"aria-label": ariaLabel,
|
|
12
12
|
"aria-labelledby": ariaLabelledBy,
|
|
13
13
|
buttonIcon,
|
|
14
|
-
buttonIconSize,
|
|
14
|
+
buttonIconSize = "small",
|
|
15
15
|
checked,
|
|
16
16
|
children,
|
|
17
17
|
"data-component": dataComponent,
|
|
@@ -23,7 +23,7 @@ const ButtonToggle = props => {
|
|
|
23
23
|
onBlur,
|
|
24
24
|
onChange,
|
|
25
25
|
onFocus,
|
|
26
|
-
size,
|
|
26
|
+
size = "medium",
|
|
27
27
|
value
|
|
28
28
|
} = props;
|
|
29
29
|
const {
|
|
@@ -36,16 +36,17 @@ const ButtonToggle = props => {
|
|
|
36
36
|
|
|
37
37
|
if (buttonIcon) {
|
|
38
38
|
icon = /*#__PURE__*/React.createElement(ButtonToggleIcon, {
|
|
39
|
-
"aria-hidden": true,
|
|
40
39
|
buttonIcon: buttonIcon,
|
|
41
40
|
buttonIconSize: buttonIconSize,
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
disabled: disabled,
|
|
42
|
+
hasContent: !!children
|
|
44
43
|
});
|
|
45
44
|
}
|
|
46
45
|
|
|
47
46
|
function handleClick() {
|
|
48
|
-
|
|
47
|
+
var _inputRef$current;
|
|
48
|
+
|
|
49
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
return /*#__PURE__*/React.createElement(StyledButtonToggle, {
|
|
@@ -79,64 +80,27 @@ const ButtonToggle = props => {
|
|
|
79
80
|
};
|
|
80
81
|
|
|
81
82
|
ButtonToggle.propTypes = {
|
|
82
|
-
/** Prop to specify the aria-label of the component */
|
|
83
83
|
"aria-label": PropTypes.string,
|
|
84
|
-
|
|
85
|
-
/** Prop to specify the aria-labelledby property of the component */
|
|
86
84
|
"aria-labelledby": PropTypes.string,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
checked: PropTypes.bool,
|
|
90
|
-
|
|
91
|
-
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
85
|
+
"buttonIcon": PropTypes.oneOf(["add", "admin", "alert", "analysis", "arrow_down", "arrow_left_boxed", "arrow_left_right_small", "arrow_left_small", "arrow_left", "arrow_right_small", "arrow_right", "arrow_up", "arrow", "attach", "bank", "basket_with_squares", "basket", "bin", "block_arrow_right", "blocked_square", "blocked", "bold", "boxed_shapes", "bulk_destroy", "bullet_list_dotted", "bullet_list_numbers", "bullet_list", "business", "calendar_today", "calendar", "call", "camera", "card_view", "caret_down", "caret_large_down", "caret_large_left", "caret_large_right", "caret_large_up", "caret_left", "caret_right", "caret_up", "cart", "chart_bar", "chart_line", "chart_pie", "chat_notes", "chat", "chevron_down_thick", "chevron_down", "chevron_left_thick", "chevron_left", "chevron_right_thick", "chevron_right", "chevron_up_thick", "chevron_up", "circle_with_dots", "circles_connection", "clock", "close", "coins", "collaborate", "computer_clock", "connect", "contacts", "copy", "create", "credit_card_slash", "credit_card", "cross_circle", "cross", "csv", "delete", "delivery", "disconnect", "disputed", "document_right_align", "document_tick", "document_vertical_lines", "download", "draft", "drag_vertical", "drag", "dropdown", "duplicate", "edit", "edited", "ellipsis_horizontal", "ellipsis_vertical", "email_switch", "email", "entry", "envelope_dollar", "envelope_euro", "error_square", "error", "euro", "expand", "factory", "favourite_lined", "favourite", "fax", "feedback", "file_excel", "file_generic", "file_image", "file_pdf", "file_word", "files_leaning", "filter_new", "filter", "fit_height", "fit_width", "flag", "folder", "gift", "go", "graph", "grid", "help", "hide", "home", "image", "in_progress", "in_transit", "individual", "info", "italic", "key", "ledger_arrow_left", "ledger_arrow_right", "ledger", "lightbulb_off", "lightbulb_on", "link", "list_view", "location", "locked", "logout", "lookup", "marker", "message", "minus_large", "minus", "mobile", "money_bag", "none", "old_warning", "pause_circle", "pause", "pdf", "people_switch", "people", "person_info", "person_tick", "person", "phone", "piggy_bank", "play_circle", "play", "plus_large", "plus", "pound", "print", "progress", "progressed", "question_hollow", "question_mark", "question", "refresh_clock", "refresh", "remove", "sage_coin", "save", "scan", "search", "services", "settings_old", "settings", "share", "shop", "sort_down", "sort_up", "spanner", "split_container", "split", "square_dot", "squares_nine", "stacked_boxes", "stacked_squares", "submitted", "sync", "tag", "talk", "three_boxes", "tick_circle", "tick", "true_tick", "undo", "unlocked", "upload", "uploaded", "video", "view", "warning"]),
|
|
86
|
+
"buttonIconSize": PropTypes.oneOf(["large", "small"]),
|
|
87
|
+
"checked": PropTypes.bool,
|
|
88
|
+
"children": PropTypes.node,
|
|
92
89
|
"data-component": PropTypes.string,
|
|
93
|
-
|
|
94
|
-
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
95
90
|
"data-element": PropTypes.string,
|
|
96
|
-
|
|
97
|
-
/** Identifier used for testing purposes, applied to the root element of the component. */
|
|
98
91
|
"data-role": PropTypes.string,
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
onFocus: PropTypes.func,
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
onBlur: PropTypes.func,
|
|
111
|
-
|
|
112
|
-
/** ButtonToggle size */
|
|
113
|
-
size: PropTypes.oneOf(["small", "medium", "large"]),
|
|
114
|
-
|
|
115
|
-
/** buttonIcon to render. */
|
|
116
|
-
buttonIcon: PropTypes.string,
|
|
117
|
-
|
|
118
|
-
/** Sets the size of the buttonIcon (eg. large) */
|
|
119
|
-
buttonIconSize: PropTypes.oneOf(["small", "large"]),
|
|
120
|
-
|
|
121
|
-
/** Remove spacing from between buttons. */
|
|
122
|
-
grouped: PropTypes.bool,
|
|
123
|
-
|
|
124
|
-
/** Disable all user interaction. */
|
|
125
|
-
disabled: PropTypes.bool,
|
|
126
|
-
|
|
127
|
-
/** A required prop. This is the button text. */
|
|
128
|
-
children: PropTypes.node.isRequired,
|
|
129
|
-
|
|
130
|
-
/** Set the default value of the Group if component is meant to be used as uncontrolled. */
|
|
131
|
-
defaultChecked: PropTypes.bool,
|
|
132
|
-
// eslint-disable-line react/no-unused-prop-types
|
|
133
|
-
|
|
134
|
-
/** Value for the input */
|
|
135
|
-
value: PropTypes.string
|
|
136
|
-
};
|
|
137
|
-
ButtonToggle.defaultProps = {
|
|
138
|
-
size: "medium",
|
|
139
|
-
buttonIconSize: "small"
|
|
92
|
+
"defaultChecked": PropTypes.bool,
|
|
93
|
+
"disabled": PropTypes.bool,
|
|
94
|
+
"grouped": PropTypes.bool,
|
|
95
|
+
"guid": PropTypes.string,
|
|
96
|
+
"name": PropTypes.string,
|
|
97
|
+
"onBlur": PropTypes.func,
|
|
98
|
+
"onChange": PropTypes.func,
|
|
99
|
+
"onClick": PropTypes.func,
|
|
100
|
+
"onFocus": PropTypes.func,
|
|
101
|
+
"size": PropTypes.oneOf(["large", "medium", "small"]),
|
|
102
|
+
"value": PropTypes.string
|
|
140
103
|
};
|
|
104
|
+
export { ButtonToggle };
|
|
141
105
|
ButtonToggle.displayName = "ButtonToggle";
|
|
142
106
|
export default ButtonToggle;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IconType } from "../icon";
|
|
2
|
+
export declare type ButtonToggleIconSizes = "small" | "large";
|
|
3
|
+
declare const StyledButtonToggleContentWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
4
|
+
export interface StyledButtonToggleLabelProps {
|
|
5
|
+
/** buttonIcon to render. */
|
|
6
|
+
buttonIcon?: IconType;
|
|
7
|
+
/** Sets the size of the buttonIcon (eg. large) */
|
|
8
|
+
buttonIconSize?: ButtonToggleIconSizes;
|
|
9
|
+
/** Disable all user interaction. */
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
/** ButtonToggle size */
|
|
12
|
+
size: "small" | "medium" | "large";
|
|
13
|
+
}
|
|
14
|
+
declare const StyledButtonToggleLabel: import("styled-components").StyledComponent<"label", any, StyledButtonToggleLabelProps, never>;
|
|
15
|
+
export interface StyledButtonToggleIconProps {
|
|
16
|
+
/** Sets the size of the buttonIcon (eg. large) */
|
|
17
|
+
buttonIconSize?: ButtonToggleIconSizes;
|
|
18
|
+
hasContent?: boolean;
|
|
19
|
+
}
|
|
20
|
+
declare const StyledButtonToggleIcon: import("styled-components").StyledComponent<"div", any, StyledButtonToggleIconProps, never>;
|
|
21
|
+
export interface StyledButtonToggleProps {
|
|
22
|
+
grouped?: boolean;
|
|
23
|
+
}
|
|
24
|
+
declare const StyledButtonToggle: import("styled-components").StyledComponent<"div", any, StyledButtonToggleProps, never>;
|
|
25
|
+
declare const StyledButtonToggleInput: import("styled-components").StyledComponent<"input", any, {}, never>;
|
|
26
|
+
export { StyledButtonToggle, StyledButtonToggleLabel, StyledButtonToggleIcon, StyledButtonToggleInput, StyledButtonToggleContentWrapper, };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import PropTypes from "prop-types";
|
|
2
1
|
import styled, { css } from "styled-components";
|
|
3
2
|
import StyledIcon from "../icon/icon.style";
|
|
4
3
|
const heightConfig = {
|
|
@@ -107,10 +106,9 @@ const iconFontSizes = {
|
|
|
107
106
|
};
|
|
108
107
|
const StyledButtonToggleIcon = styled.div`
|
|
109
108
|
${({
|
|
110
|
-
|
|
111
|
-
}) =>
|
|
112
|
-
|
|
113
|
-
`}
|
|
109
|
+
hasContent
|
|
110
|
+
}) => hasContent && `margin-right: 8px;`}
|
|
111
|
+
|
|
114
112
|
${({
|
|
115
113
|
buttonIconSize
|
|
116
114
|
}) => buttonIconSize === "large" && css`
|
|
@@ -155,7 +153,4 @@ const StyledButtonToggleInput = styled.input`
|
|
|
155
153
|
height: 0;
|
|
156
154
|
opacity: 0;
|
|
157
155
|
`;
|
|
158
|
-
StyledButtonToggleIcon.propTypes = {
|
|
159
|
-
buttonIconSize: PropTypes.string
|
|
160
|
-
};
|
|
161
156
|
export { StyledButtonToggle, StyledButtonToggleLabel, StyledButtonToggleIcon, StyledButtonToggleInput, StyledButtonToggleContentWrapper };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default } from "./button-toggle";
|
|
2
|
-
export { ButtonToggleProps } from "./button-toggle";
|
|
1
|
+
export { default } from "./button-toggle.component";
|
|
2
|
+
export type { ButtonToggleProps } from "./button-toggle.component";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { format, formatISO, isMatch, parse, parseISO } from "date-fns/fp";
|
|
2
2
|
export function parseDate(formatString, valueString) {
|
|
3
|
-
if (!valueString || !formatString) return
|
|
3
|
+
if (!valueString || !formatString) return null;
|
|
4
4
|
return parse(new Date(), formatString, valueString);
|
|
5
5
|
}
|
|
6
6
|
export function formatToISO(formatString, valueString) {
|