@seeqdev/qomponents 0.0.132 → 0.0.133
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 +135 -135
- package/dist/Accordion/Accordion.js +8 -8
- package/dist/Accordion/Accordion.stories.js +114 -114
- package/dist/Accordion/Accordion.test.js +54 -54
- package/dist/Accordion/Accordion.types.js +1 -1
- package/dist/Accordion/index.js +1 -1
- package/dist/Alert/Alert.js +33 -33
- package/dist/Alert/Alert.stories.js +51 -51
- package/dist/Alert/Alert.test.js +50 -50
- package/dist/Alert/Alert.types.js +1 -1
- package/dist/Alert/index.js +1 -1
- package/dist/Button/Button.js +91 -91
- package/dist/Button/Button.stories.js +99 -99
- package/dist/Button/Button.test.js +48 -48
- package/dist/Button/Button.types.js +4 -4
- package/dist/Button/index.js +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +32 -32
- package/dist/ButtonGroup/ButtonGroup.stories.js +384 -384
- package/dist/ButtonGroup/ButtonGroup.test.js +66 -66
- package/dist/ButtonGroup/ButtonGroup.types.js +1 -1
- package/dist/ButtonGroup/index.js +1 -1
- package/dist/ButtonWithDropdown/ButtonWithDropdown.js +59 -59
- package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +142 -142
- package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js +92 -92
- package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +1 -1
- package/dist/ButtonWithDropdown/index.js +1 -1
- package/dist/ButtonWithPopover/ButtonWithPopover.js +61 -61
- package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +74 -74
- package/dist/ButtonWithPopover/ButtonWithPopover.test.js +81 -81
- package/dist/ButtonWithPopover/ButtonWithPopover.types.js +1 -1
- package/dist/ButtonWithPopover/index.js +1 -1
- package/dist/Carousel/Carousel.js +66 -66
- package/dist/Carousel/Carousel.stories.js +114 -114
- package/dist/Carousel/Carousel.test.js +47 -47
- package/dist/Carousel/Carousel.types.js +1 -1
- package/dist/Carousel/index.js +1 -1
- package/dist/Checkbox/Checkbox.js +25 -25
- package/dist/Checkbox/Checkbox.stories.js +33 -33
- package/dist/Checkbox/Checkbox.test.js +93 -93
- package/dist/Checkbox/Checkbox.types.js +1 -1
- package/dist/Checkbox/index.js +1 -1
- package/dist/Collapse/Collapse.js +17 -17
- package/dist/Collapse/Collapse.stories.js +36 -36
- package/dist/Collapse/Collapse.test.js +18 -18
- package/dist/Collapse/Collapse.types.js +1 -1
- package/dist/Collapse/index.js +1 -1
- package/dist/Icon/Icon.js +54 -54
- package/dist/Icon/Icon.stories.js +46 -46
- package/dist/Icon/Icon.test.js +54 -54
- package/dist/Icon/Icon.types.js +15 -15
- package/dist/Icon/index.js +1 -1
- package/dist/InputGroup/InputGroup.js +31 -31
- package/dist/InputGroup/InputGroup.stories.js +167 -167
- package/dist/InputGroup/InputGroup.test.js +42 -42
- package/dist/InputGroup/InputGroup.types.js +1 -1
- package/dist/InputGroup/index.js +1 -1
- package/dist/Modal/Modal.js +99 -99
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.stories.js +126 -126
- package/dist/Modal/Modal.test.js +107 -107
- package/dist/Modal/Modal.types.js +1 -1
- package/dist/Modal/index.js +1 -1
- package/dist/ProgressBar/ProgressBar.js +49 -29
- package/dist/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/ProgressBar/ProgressBar.stories.js +80 -72
- package/dist/ProgressBar/ProgressBar.stories.js.map +1 -1
- package/dist/ProgressBar/ProgressBar.test.js +43 -37
- package/dist/ProgressBar/ProgressBar.test.js.map +1 -1
- package/dist/ProgressBar/ProgressBar.types.d.ts +2 -0
- package/dist/ProgressBar/ProgressBar.types.js +1 -1
- package/dist/ProgressBar/index.js +1 -1
- package/dist/SeeqActionDropdown/SeeqActionDropdown.js +47 -47
- package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js +79 -79
- package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js +72 -72
- package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js +1 -1
- package/dist/SeeqActionDropdown/index.js +1 -1
- package/dist/SeeqActionDropdown/variants.js +22 -22
- package/dist/Select/Select.js +173 -173
- package/dist/Select/Select.stories.js +79 -79
- package/dist/Select/Select.test.js +181 -181
- package/dist/Select/Select.types.js +1 -1
- package/dist/Select/index.js +2 -2
- package/dist/Slider/Slider.js +12 -12
- package/dist/Slider/Slider.stories.js +57 -57
- package/dist/Slider/Slider.test.js +32 -32
- package/dist/Slider/Slider.types.js +1 -1
- package/dist/Slider/index.js +1 -1
- package/dist/Tabs/Tabs.js +21 -21
- package/dist/Tabs/Tabs.stories.js +90 -90
- package/dist/Tabs/Tabs.test.js +90 -90
- package/dist/Tabs/Tabs.types.js +1 -1
- package/dist/Tabs/index.js +1 -1
- package/dist/TextArea/TextArea.js +24 -24
- package/dist/TextArea/TextArea.stories.js +45 -45
- package/dist/TextArea/TextArea.test.js +67 -67
- package/dist/TextArea/TextArea.types.js +1 -1
- package/dist/TextArea/index.js +1 -1
- package/dist/TextField/TextField.js +78 -78
- package/dist/TextField/TextField.stories.js +69 -69
- package/dist/TextField/TextField.test.js +38 -38
- package/dist/TextField/TextField.types.js +1 -1
- package/dist/TextField/index.js +1 -1
- package/dist/ToolbarButton/ToolbarButton.js +74 -74
- package/dist/ToolbarButton/ToolbarButton.stories.js +93 -93
- package/dist/ToolbarButton/ToolbarButton.test.js +92 -92
- package/dist/ToolbarButton/ToolbarButton.types.js +1 -1
- package/dist/ToolbarButton/index.js +1 -1
- package/dist/Tooltip/QTip.stories.js +44 -44
- package/dist/Tooltip/QTip.types.js +1 -1
- package/dist/Tooltip/QTipPerformance.stories.js +29 -29
- package/dist/Tooltip/Qtip.js +167 -167
- package/dist/Tooltip/Tooltip.js +35 -35
- package/dist/Tooltip/Tooltip.stories.js +31 -31
- package/dist/Tooltip/Tooltip.types.js +2 -2
- package/dist/Tooltip/TooltipPerformance.stories.js +29 -29
- package/dist/Tooltip/index.js +2 -2
- package/dist/Tooltip/qTip.utilities.js +10 -10
- package/dist/example/.eslintrc.cjs +14 -14
- package/dist/example/README.md +33 -33
- package/dist/example/index.html +13 -13
- package/dist/example/package.json +30 -30
- package/dist/example/src/ComplexSelectExample.tsx +81 -81
- package/dist/example/src/Example.tsx +408 -408
- package/dist/example/src/index.css +102 -102
- package/dist/example/src/main.tsx +10 -10
- package/dist/example/src/vite-env.d.ts +1 -1
- package/dist/example/tsconfig.json +33 -33
- package/dist/example/tsconfig.node.json +12 -12
- package/dist/example/vite.config.ts +12 -12
- package/dist/index.esm.js +1229 -31
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1229 -31
- package/dist/index.js.map +1 -1
- package/dist/styles.css +3714 -3709
- package/dist/types.js +1 -1
- package/dist/utils/browserId.js +28 -28
- package/dist/utils/svg.js +19 -19
- package/dist/utils/validateStyleDimension.js +13 -13
- package/dist/utils/validateStyleDimension.test.js +19 -19
- package/package.json +88 -86
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import Button from './Button';
|
|
3
|
-
import { buttonVariants } from './Button.types';
|
|
4
|
-
import { QTip } from '../Tooltip';
|
|
5
|
-
export default {
|
|
6
|
-
title: 'Button',
|
|
7
|
-
};
|
|
8
|
-
export const AllButtonVariants = () => {
|
|
9
|
-
const renderAllVariations = () => (React.createElement(React.Fragment, null, buttonVariants.map((variant) => (React.createElement("div", { key: `{variant_${variant}`, className: "tw-grid tw-grid-cols-2 tw-gap-4" },
|
|
10
|
-
React.createElement("div", { className: "tw-p-4" },
|
|
11
|
-
React.createElement(Button, { label: `Variant: ${variant}`, onClick: () => { }, variant: variant })),
|
|
12
|
-
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
13
|
-
React.createElement(Button, { label: `Variant: ${variant}`, onClick: () => { }, variant: variant })))))));
|
|
14
|
-
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
15
|
-
React.createElement("div", { className: "color_topic" },
|
|
16
|
-
React.createElement("b", null, "Topic Colors"),
|
|
17
|
-
renderAllVariations()),
|
|
18
|
-
React.createElement("div", { className: "color_analysis" },
|
|
19
|
-
React.createElement("b", null, "Analysis Colors"),
|
|
20
|
-
renderAllVariations()),
|
|
21
|
-
React.createElement("div", { className: "color_datalab" },
|
|
22
|
-
React.createElement("b", null, "Datalab Colors"),
|
|
23
|
-
renderAllVariations()),
|
|
24
|
-
React.createElement("div", { className: "color_vantage" },
|
|
25
|
-
React.createElement("b", null, "Vantage Colors"),
|
|
26
|
-
renderAllVariations())));
|
|
27
|
-
};
|
|
28
|
-
export const ButtonWithTooltip = () => {
|
|
29
|
-
const renderButtonWithTooltip = () => (React.createElement(React.Fragment, null,
|
|
30
|
-
React.createElement("div", { className: "tw-p-4" },
|
|
31
|
-
React.createElement(Button, { tooltip: "Helpful tooltip", variant: "theme", label: "Hover me" })),
|
|
32
|
-
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
33
|
-
React.createElement(Button, { tooltip: "Helpful tooltip", variant: "theme", label: "Hover me" }))));
|
|
34
|
-
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
35
|
-
React.createElement(QTip, null),
|
|
36
|
-
React.createElement("div", { className: "color_topic" },
|
|
37
|
-
React.createElement("b", null, "Topic Colors"),
|
|
38
|
-
renderButtonWithTooltip()),
|
|
39
|
-
React.createElement("div", { className: "color_analysis" },
|
|
40
|
-
React.createElement("b", null, "Analysis Colors"),
|
|
41
|
-
renderButtonWithTooltip()),
|
|
42
|
-
React.createElement("div", { className: "color_datalab" },
|
|
43
|
-
React.createElement("b", null, "Datalab Colors"),
|
|
44
|
-
renderButtonWithTooltip()),
|
|
45
|
-
React.createElement("div", { className: "color_vantage" },
|
|
46
|
-
React.createElement("b", null, "Vantage Colors"),
|
|
47
|
-
renderButtonWithTooltip())));
|
|
48
|
-
};
|
|
49
|
-
export const ButtonWithIcon = () => {
|
|
50
|
-
const renderButtonWithIcon = () => (React.createElement(React.Fragment, null,
|
|
51
|
-
React.createElement("div", { className: "tw-p-4" },
|
|
52
|
-
React.createElement(Button, { icon: "fc-search-power", variant: "theme", label: "With Icon" })),
|
|
53
|
-
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
54
|
-
React.createElement(Button, { icon: "fc-search-power", variant: "theme", label: "With Icon" }))));
|
|
55
|
-
const renderButtonWithIconOnRight = () => (React.createElement(React.Fragment, null,
|
|
56
|
-
React.createElement("div", { className: "tw-p-4" },
|
|
57
|
-
React.createElement(Button, { icon: "fc-search-power", iconPosition: "right", variant: "theme", label: "With Icon On Right" })),
|
|
58
|
-
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
59
|
-
React.createElement(Button, { icon: "fc-search-power", iconPosition: "right", variant: "theme", label: "With Icon On Right" }))));
|
|
60
|
-
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
61
|
-
React.createElement("div", { className: "color_topic" },
|
|
62
|
-
React.createElement("b", null, "Topic Colors"),
|
|
63
|
-
renderButtonWithIcon()),
|
|
64
|
-
React.createElement("div", { className: "color_analysis" },
|
|
65
|
-
React.createElement("b", null, "Analysis Colors"),
|
|
66
|
-
renderButtonWithIcon()),
|
|
67
|
-
React.createElement("div", { className: "color_datalab" },
|
|
68
|
-
React.createElement("b", null, "Datalab Colors"),
|
|
69
|
-
renderButtonWithIcon()),
|
|
70
|
-
React.createElement("div", { className: "color_vantage" },
|
|
71
|
-
React.createElement("b", null, "Vantage Colors"),
|
|
72
|
-
renderButtonWithIcon()),
|
|
73
|
-
React.createElement("div", { className: "color_topic" }, renderButtonWithIconOnRight()),
|
|
74
|
-
React.createElement("div", { className: "color_analysis" }, renderButtonWithIconOnRight()),
|
|
75
|
-
React.createElement("div", { className: "color_datalab" }, renderButtonWithIconOnRight()),
|
|
76
|
-
React.createElement("div", { className: "color_vantage" }, renderButtonWithIconOnRight())));
|
|
77
|
-
};
|
|
78
|
-
export const DisabledButton = () => {
|
|
79
|
-
const renderDisabledButton = () => (React.createElement(React.Fragment, null,
|
|
80
|
-
React.createElement("div", { className: "tw-p-4" },
|
|
81
|
-
React.createElement(Button, { disabled: true, variant: "theme", label: "Disabled Button" }),
|
|
82
|
-
React.createElement(Button, { extraClassNames: "tw-m-5", disabled: true, label: "Disabled Button" })),
|
|
83
|
-
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
84
|
-
React.createElement(Button, { disabled: true, variant: "theme", label: "Disabled Button" }),
|
|
85
|
-
React.createElement(Button, { extraClassNames: "tw-m-5", disabled: true, label: "Disabled Button" }))));
|
|
86
|
-
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
87
|
-
React.createElement("div", { className: "color_topic" },
|
|
88
|
-
React.createElement("b", null, "Topic Colors"),
|
|
89
|
-
renderDisabledButton()),
|
|
90
|
-
React.createElement("div", { className: "color_analysis" },
|
|
91
|
-
React.createElement("b", null, "Analysis Colors"),
|
|
92
|
-
renderDisabledButton()),
|
|
93
|
-
React.createElement("div", { className: "color_datalab" },
|
|
94
|
-
React.createElement("b", null, "Datalab Colors"),
|
|
95
|
-
renderDisabledButton()),
|
|
96
|
-
React.createElement("div", { className: "color_vantage" },
|
|
97
|
-
React.createElement("b", null, "Vantage Colors"),
|
|
98
|
-
renderDisabledButton())));
|
|
99
|
-
};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Button from './Button';
|
|
3
|
+
import { buttonVariants } from './Button.types';
|
|
4
|
+
import { QTip } from '../Tooltip';
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Button',
|
|
7
|
+
};
|
|
8
|
+
export const AllButtonVariants = () => {
|
|
9
|
+
const renderAllVariations = () => (React.createElement(React.Fragment, null, buttonVariants.map((variant) => (React.createElement("div", { key: `{variant_${variant}`, className: "tw-grid tw-grid-cols-2 tw-gap-4" },
|
|
10
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
11
|
+
React.createElement(Button, { label: `Variant: ${variant}`, onClick: () => { }, variant: variant })),
|
|
12
|
+
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
13
|
+
React.createElement(Button, { label: `Variant: ${variant}`, onClick: () => { }, variant: variant })))))));
|
|
14
|
+
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
15
|
+
React.createElement("div", { className: "color_topic" },
|
|
16
|
+
React.createElement("b", null, "Topic Colors"),
|
|
17
|
+
renderAllVariations()),
|
|
18
|
+
React.createElement("div", { className: "color_analysis" },
|
|
19
|
+
React.createElement("b", null, "Analysis Colors"),
|
|
20
|
+
renderAllVariations()),
|
|
21
|
+
React.createElement("div", { className: "color_datalab" },
|
|
22
|
+
React.createElement("b", null, "Datalab Colors"),
|
|
23
|
+
renderAllVariations()),
|
|
24
|
+
React.createElement("div", { className: "color_vantage" },
|
|
25
|
+
React.createElement("b", null, "Vantage Colors"),
|
|
26
|
+
renderAllVariations())));
|
|
27
|
+
};
|
|
28
|
+
export const ButtonWithTooltip = () => {
|
|
29
|
+
const renderButtonWithTooltip = () => (React.createElement(React.Fragment, null,
|
|
30
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
31
|
+
React.createElement(Button, { tooltip: "Helpful tooltip", variant: "theme", label: "Hover me" })),
|
|
32
|
+
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
33
|
+
React.createElement(Button, { tooltip: "Helpful tooltip", variant: "theme", label: "Hover me" }))));
|
|
34
|
+
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
35
|
+
React.createElement(QTip, null),
|
|
36
|
+
React.createElement("div", { className: "color_topic" },
|
|
37
|
+
React.createElement("b", null, "Topic Colors"),
|
|
38
|
+
renderButtonWithTooltip()),
|
|
39
|
+
React.createElement("div", { className: "color_analysis" },
|
|
40
|
+
React.createElement("b", null, "Analysis Colors"),
|
|
41
|
+
renderButtonWithTooltip()),
|
|
42
|
+
React.createElement("div", { className: "color_datalab" },
|
|
43
|
+
React.createElement("b", null, "Datalab Colors"),
|
|
44
|
+
renderButtonWithTooltip()),
|
|
45
|
+
React.createElement("div", { className: "color_vantage" },
|
|
46
|
+
React.createElement("b", null, "Vantage Colors"),
|
|
47
|
+
renderButtonWithTooltip())));
|
|
48
|
+
};
|
|
49
|
+
export const ButtonWithIcon = () => {
|
|
50
|
+
const renderButtonWithIcon = () => (React.createElement(React.Fragment, null,
|
|
51
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
52
|
+
React.createElement(Button, { icon: "fc-search-power", variant: "theme", label: "With Icon" })),
|
|
53
|
+
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
54
|
+
React.createElement(Button, { icon: "fc-search-power", variant: "theme", label: "With Icon" }))));
|
|
55
|
+
const renderButtonWithIconOnRight = () => (React.createElement(React.Fragment, null,
|
|
56
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
57
|
+
React.createElement(Button, { icon: "fc-search-power", iconPosition: "right", variant: "theme", label: "With Icon On Right" })),
|
|
58
|
+
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
59
|
+
React.createElement(Button, { icon: "fc-search-power", iconPosition: "right", variant: "theme", label: "With Icon On Right" }))));
|
|
60
|
+
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
61
|
+
React.createElement("div", { className: "color_topic" },
|
|
62
|
+
React.createElement("b", null, "Topic Colors"),
|
|
63
|
+
renderButtonWithIcon()),
|
|
64
|
+
React.createElement("div", { className: "color_analysis" },
|
|
65
|
+
React.createElement("b", null, "Analysis Colors"),
|
|
66
|
+
renderButtonWithIcon()),
|
|
67
|
+
React.createElement("div", { className: "color_datalab" },
|
|
68
|
+
React.createElement("b", null, "Datalab Colors"),
|
|
69
|
+
renderButtonWithIcon()),
|
|
70
|
+
React.createElement("div", { className: "color_vantage" },
|
|
71
|
+
React.createElement("b", null, "Vantage Colors"),
|
|
72
|
+
renderButtonWithIcon()),
|
|
73
|
+
React.createElement("div", { className: "color_topic" }, renderButtonWithIconOnRight()),
|
|
74
|
+
React.createElement("div", { className: "color_analysis" }, renderButtonWithIconOnRight()),
|
|
75
|
+
React.createElement("div", { className: "color_datalab" }, renderButtonWithIconOnRight()),
|
|
76
|
+
React.createElement("div", { className: "color_vantage" }, renderButtonWithIconOnRight())));
|
|
77
|
+
};
|
|
78
|
+
export const DisabledButton = () => {
|
|
79
|
+
const renderDisabledButton = () => (React.createElement(React.Fragment, null,
|
|
80
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
81
|
+
React.createElement(Button, { disabled: true, variant: "theme", label: "Disabled Button" }),
|
|
82
|
+
React.createElement(Button, { extraClassNames: "tw-m-5", disabled: true, label: "Disabled Button" })),
|
|
83
|
+
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
84
|
+
React.createElement(Button, { disabled: true, variant: "theme", label: "Disabled Button" }),
|
|
85
|
+
React.createElement(Button, { extraClassNames: "tw-m-5", disabled: true, label: "Disabled Button" }))));
|
|
86
|
+
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
87
|
+
React.createElement("div", { className: "color_topic" },
|
|
88
|
+
React.createElement("b", null, "Topic Colors"),
|
|
89
|
+
renderDisabledButton()),
|
|
90
|
+
React.createElement("div", { className: "color_analysis" },
|
|
91
|
+
React.createElement("b", null, "Analysis Colors"),
|
|
92
|
+
renderDisabledButton()),
|
|
93
|
+
React.createElement("div", { className: "color_datalab" },
|
|
94
|
+
React.createElement("b", null, "Datalab Colors"),
|
|
95
|
+
renderDisabledButton()),
|
|
96
|
+
React.createElement("div", { className: "color_vantage" },
|
|
97
|
+
React.createElement("b", null, "Vantage Colors"),
|
|
98
|
+
renderDisabledButton())));
|
|
99
|
+
};
|
|
100
100
|
//# sourceMappingURL=Button.stories.js.map
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import '@testing-library/jest-dom';
|
|
3
|
-
import { render, screen } from '@testing-library/react';
|
|
4
|
-
import userEvent from '@testing-library/user-event';
|
|
5
|
-
import Button from './Button';
|
|
6
|
-
describe('Button', () => {
|
|
7
|
-
class Context {
|
|
8
|
-
testId = 'buttonTestId';
|
|
9
|
-
label = 'button label';
|
|
10
|
-
props = {
|
|
11
|
-
label: this.label,
|
|
12
|
-
onClick: jest.fn(),
|
|
13
|
-
testId: this.testId,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
let tc;
|
|
17
|
-
beforeEach(() => {
|
|
18
|
-
tc = new Context();
|
|
19
|
-
});
|
|
20
|
-
const renderButton = (props) => render(React.createElement(Button, { ...props }));
|
|
21
|
-
it('renders button label', () => {
|
|
22
|
-
renderButton(tc.props);
|
|
23
|
-
expect(screen.getByText(tc.label)).toBeInTheDocument();
|
|
24
|
-
});
|
|
25
|
-
it('calls on click', async () => {
|
|
26
|
-
renderButton(tc.props);
|
|
27
|
-
await userEvent.click(screen.getByTestId(tc.testId));
|
|
28
|
-
expect(tc.props.onClick).toHaveBeenCalled();
|
|
29
|
-
});
|
|
30
|
-
it('renders disabled button', () => {
|
|
31
|
-
renderButton({ ...tc.props, disabled: true });
|
|
32
|
-
expect(screen.getByText(tc.label)).toBeDisabled();
|
|
33
|
-
});
|
|
34
|
-
it('respects stopPropagation default', async () => {
|
|
35
|
-
const callOnPropagation = jest.fn();
|
|
36
|
-
render(React.createElement("div", { onClick: callOnPropagation },
|
|
37
|
-
React.createElement(Button, { ...tc.props })));
|
|
38
|
-
await userEvent.click(screen.getByTestId(tc.testId));
|
|
39
|
-
expect(callOnPropagation).not.toHaveBeenCalled();
|
|
40
|
-
});
|
|
41
|
-
it('propagates click event if not told not to', async () => {
|
|
42
|
-
const callOnPropagation = jest.fn();
|
|
43
|
-
render(React.createElement("div", { onClick: callOnPropagation },
|
|
44
|
-
React.createElement(Button, { ...{ ...tc.props, stopPropagation: false } })));
|
|
45
|
-
await userEvent.click(screen.getByTestId(tc.testId));
|
|
46
|
-
expect(callOnPropagation).toHaveBeenCalled();
|
|
47
|
-
});
|
|
48
|
-
});
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import { render, screen } from '@testing-library/react';
|
|
4
|
+
import userEvent from '@testing-library/user-event';
|
|
5
|
+
import Button from './Button';
|
|
6
|
+
describe('Button', () => {
|
|
7
|
+
class Context {
|
|
8
|
+
testId = 'buttonTestId';
|
|
9
|
+
label = 'button label';
|
|
10
|
+
props = {
|
|
11
|
+
label: this.label,
|
|
12
|
+
onClick: jest.fn(),
|
|
13
|
+
testId: this.testId,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
let tc;
|
|
17
|
+
beforeEach(() => {
|
|
18
|
+
tc = new Context();
|
|
19
|
+
});
|
|
20
|
+
const renderButton = (props) => render(React.createElement(Button, { ...props }));
|
|
21
|
+
it('renders button label', () => {
|
|
22
|
+
renderButton(tc.props);
|
|
23
|
+
expect(screen.getByText(tc.label)).toBeInTheDocument();
|
|
24
|
+
});
|
|
25
|
+
it('calls on click', async () => {
|
|
26
|
+
renderButton(tc.props);
|
|
27
|
+
await userEvent.click(screen.getByTestId(tc.testId));
|
|
28
|
+
expect(tc.props.onClick).toHaveBeenCalled();
|
|
29
|
+
});
|
|
30
|
+
it('renders disabled button', () => {
|
|
31
|
+
renderButton({ ...tc.props, disabled: true });
|
|
32
|
+
expect(screen.getByText(tc.label)).toBeDisabled();
|
|
33
|
+
});
|
|
34
|
+
it('respects stopPropagation default', async () => {
|
|
35
|
+
const callOnPropagation = jest.fn();
|
|
36
|
+
render(React.createElement("div", { onClick: callOnPropagation },
|
|
37
|
+
React.createElement(Button, { ...tc.props })));
|
|
38
|
+
await userEvent.click(screen.getByTestId(tc.testId));
|
|
39
|
+
expect(callOnPropagation).not.toHaveBeenCalled();
|
|
40
|
+
});
|
|
41
|
+
it('propagates click event if not told not to', async () => {
|
|
42
|
+
const callOnPropagation = jest.fn();
|
|
43
|
+
render(React.createElement("div", { onClick: callOnPropagation },
|
|
44
|
+
React.createElement(Button, { ...{ ...tc.props, stopPropagation: false } })));
|
|
45
|
+
await userEvent.click(screen.getByTestId(tc.testId));
|
|
46
|
+
expect(callOnPropagation).toHaveBeenCalled();
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
49
|
//# sourceMappingURL=Button.test.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const buttonTypes = ['button', 'reset', 'submit', 'link'];
|
|
2
|
-
export const buttonSizes = ['sm', 'lg'];
|
|
3
|
-
export const buttonVariants = ['outline', 'theme', 'theme-light', 'warning', 'danger', 'no-border'];
|
|
4
|
-
export const iconPositions = ['left', 'right'];
|
|
1
|
+
export const buttonTypes = ['button', 'reset', 'submit', 'link'];
|
|
2
|
+
export const buttonSizes = ['sm', 'lg'];
|
|
3
|
+
export const buttonVariants = ['outline', 'theme', 'theme-light', 'warning', 'danger', 'no-border'];
|
|
4
|
+
export const iconPositions = ['left', 'right'];
|
|
5
5
|
//# sourceMappingURL=Button.types.js.map
|
package/dist/Button/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default } from "./Button";
|
|
1
|
+
export { default } from "./Button";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import '../styles.css';
|
|
3
|
-
import { getQTipData } from '../Tooltip/qTip.utilities';
|
|
4
|
-
import Button from '../Button';
|
|
5
|
-
const baseClasses = 'tw-flex tw-outline-none tw-rounded-sm tw-w-full tw-relative tw-flex-wrap';
|
|
6
|
-
const activeClassesByVariantLightTheme = {
|
|
7
|
-
'outline': '!tw-bg-sq-disabled-gray tw-border-sq-color-dark',
|
|
8
|
-
'theme': 'tw-bg-sq-color-highlight',
|
|
9
|
-
'danger': '',
|
|
10
|
-
'theme-light': '',
|
|
11
|
-
'no-border': '!tw-bg-sq-disabled-gray',
|
|
12
|
-
'warning': '',
|
|
13
|
-
};
|
|
14
|
-
const activeClassesByVariantDarkTheme = {
|
|
15
|
-
'outline': 'dark:!tw-bg-sq-multi-gray-dark dark:tw-border-sq-color-dark',
|
|
16
|
-
'theme': 'dark:tw-bg-sq-color-highlight',
|
|
17
|
-
'danger': '',
|
|
18
|
-
'theme-light': '',
|
|
19
|
-
'no-border': 'dark:!tw-bg-sq-multi-gray-dark',
|
|
20
|
-
'warning': '',
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* ButtonGroup.
|
|
24
|
-
*/
|
|
25
|
-
export const ButtonGroup = (props) => {
|
|
26
|
-
const { id, extraClassNames, testId, onChange, buttons = [], ...tooltipProps } = props;
|
|
27
|
-
const tooltipData = getQTipData(tooltipProps);
|
|
28
|
-
const appliedClasses = `${baseClasses} ${extraClassNames}`;
|
|
29
|
-
return (React.createElement("div", { id: id ? `button-group-${id}` : undefined, "data-testid": testId, className: appliedClasses, ...tooltipData }, buttons.filter(Boolean).map((item, index) => item?.variant === 'button' ? (React.createElement(Button, { key: index, ...item.buttonProps, extraClassNames: `tw-ml-[-1px] focus:tw-z-40 tw-outline-none focus:tw-border tw-rounded-r-none tw-rounded-l-none last:tw-rounded-r-sm first:tw-rounded-l-sm ${item.buttonProps?.isActive
|
|
30
|
-
? `${activeClassesByVariantLightTheme[item?.buttonProps?.variant ?? 'outline']} ${activeClassesByVariantDarkTheme[item?.buttonProps?.variant ?? 'outline']} `
|
|
31
|
-
: ''} ${item.buttonProps.extraClassNames}`, onClick: () => onChange && onChange(item?.buttonProps?.value) })) : (React.createElement("div", { key: index, className: ` tw-flex tw-items-center tw-justify-center tw-rounded-none tw-ml-[-1px] active:tw-z-30 ${item?.extraClassNames || ''}` }, item?.element)))));
|
|
32
|
-
};
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import '../styles.css';
|
|
3
|
+
import { getQTipData } from '../Tooltip/qTip.utilities';
|
|
4
|
+
import Button from '../Button';
|
|
5
|
+
const baseClasses = 'tw-flex tw-outline-none tw-rounded-sm tw-w-full tw-relative tw-flex-wrap';
|
|
6
|
+
const activeClassesByVariantLightTheme = {
|
|
7
|
+
'outline': '!tw-bg-sq-disabled-gray tw-border-sq-color-dark',
|
|
8
|
+
'theme': 'tw-bg-sq-color-highlight',
|
|
9
|
+
'danger': '',
|
|
10
|
+
'theme-light': '',
|
|
11
|
+
'no-border': '!tw-bg-sq-disabled-gray',
|
|
12
|
+
'warning': '',
|
|
13
|
+
};
|
|
14
|
+
const activeClassesByVariantDarkTheme = {
|
|
15
|
+
'outline': 'dark:!tw-bg-sq-multi-gray-dark dark:tw-border-sq-color-dark',
|
|
16
|
+
'theme': 'dark:tw-bg-sq-color-highlight',
|
|
17
|
+
'danger': '',
|
|
18
|
+
'theme-light': '',
|
|
19
|
+
'no-border': 'dark:!tw-bg-sq-multi-gray-dark',
|
|
20
|
+
'warning': '',
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* ButtonGroup.
|
|
24
|
+
*/
|
|
25
|
+
export const ButtonGroup = (props) => {
|
|
26
|
+
const { id, extraClassNames, testId, onChange, buttons = [], ...tooltipProps } = props;
|
|
27
|
+
const tooltipData = getQTipData(tooltipProps);
|
|
28
|
+
const appliedClasses = `${baseClasses} ${extraClassNames}`;
|
|
29
|
+
return (React.createElement("div", { id: id ? `button-group-${id}` : undefined, "data-testid": testId, className: appliedClasses, ...tooltipData }, buttons.filter(Boolean).map((item, index) => item?.variant === 'button' ? (React.createElement(Button, { key: index, ...item.buttonProps, extraClassNames: `tw-ml-[-1px] focus:tw-z-40 tw-outline-none focus:tw-border tw-rounded-r-none tw-rounded-l-none last:tw-rounded-r-sm first:tw-rounded-l-sm ${item.buttonProps?.isActive
|
|
30
|
+
? `${activeClassesByVariantLightTheme[item?.buttonProps?.variant ?? 'outline']} ${activeClassesByVariantDarkTheme[item?.buttonProps?.variant ?? 'outline']} `
|
|
31
|
+
: ''} ${item.buttonProps.extraClassNames}`, onClick: () => onChange && onChange(item?.buttonProps?.value) })) : (React.createElement("div", { key: index, className: ` tw-flex tw-items-center tw-justify-center tw-rounded-none tw-ml-[-1px] active:tw-z-30 ${item?.extraClassNames || ''}` }, item?.element)))));
|
|
32
|
+
};
|
|
33
33
|
//# sourceMappingURL=ButtonGroup.js.map
|