@seeqdev/qomponents 0.0.146 → 0.0.147
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/dist/Accordion/Accordion.js +9 -0
- package/dist/Accordion/Accordion.js.map +1 -0
- package/dist/Accordion/Accordion.stories.js +115 -0
- package/dist/Accordion/Accordion.stories.js.map +1 -0
- package/dist/Accordion/Accordion.test.js +55 -0
- package/dist/Accordion/Accordion.test.js.map +1 -0
- package/dist/Accordion/Accordion.types.js +2 -0
- package/dist/Accordion/Accordion.types.js.map +1 -0
- package/dist/Accordion/index.js +2 -0
- package/dist/Accordion/index.js.map +1 -0
- package/dist/Alert/Alert.js +34 -0
- package/dist/Alert/Alert.js.map +1 -0
- package/dist/Alert/Alert.stories.js +52 -0
- package/dist/Alert/Alert.stories.js.map +1 -0
- package/dist/Alert/Alert.test.js +51 -0
- package/dist/Alert/Alert.test.js.map +1 -0
- package/dist/Alert/Alert.types.js +2 -0
- package/dist/Alert/Alert.types.js.map +1 -0
- package/dist/Alert/index.js +2 -0
- package/dist/Alert/index.js.map +1 -0
- package/dist/Button/Button.js +92 -0
- package/dist/Button/Button.js.map +1 -0
- package/dist/Button/Button.stories.js +100 -0
- package/dist/Button/Button.stories.js.map +1 -0
- package/dist/Button/Button.test.js +49 -0
- package/dist/Button/Button.test.js.map +1 -0
- package/dist/Button/Button.types.js +5 -0
- package/dist/Button/Button.types.js.map +1 -0
- package/dist/Button/index.js +2 -0
- package/dist/Button/index.js.map +1 -0
- package/dist/ButtonGroup/ButtonGroup.js +35 -0
- package/dist/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/ButtonGroup/ButtonGroup.stories.js +385 -0
- package/dist/ButtonGroup/ButtonGroup.stories.js.map +1 -0
- package/dist/ButtonGroup/ButtonGroup.test.js +67 -0
- package/dist/ButtonGroup/ButtonGroup.test.js.map +1 -0
- package/dist/ButtonGroup/ButtonGroup.types.js +2 -0
- package/dist/ButtonGroup/ButtonGroup.types.js.map +1 -0
- package/dist/ButtonGroup/index.js +2 -0
- package/dist/ButtonGroup/index.js.map +1 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.js +60 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.js.map +1 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +143 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js.map +1 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js +93 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js.map +1 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +2 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js.map +1 -0
- package/dist/ButtonWithDropdown/index.js +2 -0
- package/dist/ButtonWithDropdown/index.js.map +1 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.js +62 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.js.map +1 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +75 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.stories.js.map +1 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.test.js +82 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.test.js.map +1 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.types.js +2 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.types.js.map +1 -0
- package/dist/ButtonWithPopover/index.js +2 -0
- package/dist/ButtonWithPopover/index.js.map +1 -0
- package/dist/Carousel/Carousel.js +67 -0
- package/dist/Carousel/Carousel.js.map +1 -0
- package/dist/Carousel/Carousel.stories.js +115 -0
- package/dist/Carousel/Carousel.stories.js.map +1 -0
- package/dist/Carousel/Carousel.test.js +48 -0
- package/dist/Carousel/Carousel.test.js.map +1 -0
- package/dist/Carousel/Carousel.types.js +2 -0
- package/dist/Carousel/Carousel.types.js.map +1 -0
- package/dist/Carousel/index.js +2 -0
- package/dist/Carousel/index.js.map +1 -0
- package/dist/Checkbox/Checkbox.js +26 -0
- package/dist/Checkbox/Checkbox.js.map +1 -0
- package/dist/Checkbox/Checkbox.stories.js +34 -0
- package/dist/Checkbox/Checkbox.stories.js.map +1 -0
- package/dist/Checkbox/Checkbox.test.js +94 -0
- package/dist/Checkbox/Checkbox.test.js.map +1 -0
- package/dist/Checkbox/Checkbox.types.js +2 -0
- package/dist/Checkbox/Checkbox.types.js.map +1 -0
- package/dist/Checkbox/index.js +2 -0
- package/dist/Checkbox/index.js.map +1 -0
- package/dist/Collapse/Collapse.js +18 -0
- package/dist/Collapse/Collapse.js.map +1 -0
- package/dist/Collapse/Collapse.stories.js +37 -0
- package/dist/Collapse/Collapse.stories.js.map +1 -0
- package/dist/Collapse/Collapse.test.js +19 -0
- package/dist/Collapse/Collapse.test.js.map +1 -0
- package/dist/Collapse/Collapse.types.js +2 -0
- package/dist/Collapse/Collapse.types.js.map +1 -0
- package/dist/Collapse/index.js +2 -0
- package/dist/Collapse/index.js.map +1 -0
- package/dist/Icon/Icon.js +55 -0
- package/dist/Icon/Icon.js.map +1 -0
- package/dist/Icon/Icon.stories.js +47 -0
- package/dist/Icon/Icon.stories.js.map +1 -0
- package/dist/Icon/Icon.test.js +55 -0
- package/dist/Icon/Icon.test.js.map +1 -0
- package/dist/Icon/Icon.types.js +16 -0
- package/dist/Icon/Icon.types.js.map +1 -0
- package/dist/Icon/index.js +2 -0
- package/dist/Icon/index.js.map +1 -0
- package/dist/InputGroup/InputGroup.js +35 -0
- package/dist/InputGroup/InputGroup.js.map +1 -0
- package/dist/InputGroup/InputGroup.stories.js +176 -0
- package/dist/InputGroup/InputGroup.stories.js.map +1 -0
- package/dist/InputGroup/InputGroup.test.js +43 -0
- package/dist/InputGroup/InputGroup.test.js.map +1 -0
- package/dist/InputGroup/InputGroup.types.js +2 -0
- package/dist/InputGroup/InputGroup.types.js.map +1 -0
- package/dist/InputGroup/index.js +2 -0
- package/dist/InputGroup/index.js.map +1 -0
- package/dist/Modal/Modal.js +100 -0
- package/dist/Modal/Modal.js.map +1 -0
- package/dist/Modal/Modal.stories.js +127 -0
- package/dist/Modal/Modal.stories.js.map +1 -0
- package/dist/Modal/Modal.test.js +108 -0
- package/dist/Modal/Modal.test.js.map +1 -0
- package/dist/Modal/Modal.types.js +2 -0
- package/dist/Modal/Modal.types.js.map +1 -0
- package/dist/Modal/index.js +2 -0
- package/dist/Modal/index.js.map +1 -0
- package/dist/ProgressBar/ProgressBar.js +70 -0
- package/dist/ProgressBar/ProgressBar.js.map +1 -0
- package/dist/ProgressBar/ProgressBar.stories.js +83 -0
- package/dist/ProgressBar/ProgressBar.stories.js.map +1 -0
- package/dist/ProgressBar/ProgressBar.test.js +44 -0
- package/dist/ProgressBar/ProgressBar.test.js.map +1 -0
- package/dist/ProgressBar/ProgressBar.types.js +2 -0
- package/dist/ProgressBar/ProgressBar.types.js.map +1 -0
- package/dist/ProgressBar/index.js +2 -0
- package/dist/ProgressBar/index.js.map +1 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.js +48 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.js.map +1 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js +87 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js.map +1 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js +73 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js.map +1 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js +2 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js.map +1 -0
- package/dist/SeeqActionDropdown/index.js +2 -0
- package/dist/SeeqActionDropdown/index.js.map +1 -0
- package/dist/SeeqActionDropdown/variants.js +38 -0
- package/dist/SeeqActionDropdown/variants.js.map +1 -0
- package/dist/Select/Select.js +177 -0
- package/dist/Select/Select.js.map +1 -0
- package/dist/Select/Select.stories.js +82 -0
- package/dist/Select/Select.stories.js.map +1 -0
- package/dist/Select/Select.test.js +182 -0
- package/dist/Select/Select.test.js.map +1 -0
- package/dist/Select/Select.types.d.ts +3 -1
- package/dist/Select/Select.types.js +2 -0
- package/dist/Select/Select.types.js.map +1 -0
- package/dist/Select/index.js +3 -0
- package/dist/Select/index.js.map +1 -0
- package/dist/Slider/Slider.js +13 -0
- package/dist/Slider/Slider.js.map +1 -0
- package/dist/Slider/Slider.stories.js +58 -0
- package/dist/Slider/Slider.stories.js.map +1 -0
- package/dist/Slider/Slider.test.js +33 -0
- package/dist/Slider/Slider.test.js.map +1 -0
- package/dist/Slider/Slider.types.js +2 -0
- package/dist/Slider/Slider.types.js.map +1 -0
- package/dist/Slider/index.js +2 -0
- package/dist/Slider/index.js.map +1 -0
- package/dist/SvgIcon/SvgIcon.js +30 -0
- package/dist/SvgIcon/SvgIcon.js.map +1 -0
- package/dist/SvgIcon/SvgIcon.stories.js +42 -0
- package/dist/SvgIcon/SvgIcon.stories.js.map +1 -0
- package/dist/SvgIcon/SvgIcon.test.js +41 -0
- package/dist/SvgIcon/SvgIcon.test.js.map +1 -0
- package/dist/SvgIcon/SvgIcon.types.js +6 -0
- package/dist/SvgIcon/SvgIcon.types.js.map +1 -0
- package/dist/SvgIcon/index.js +2 -0
- package/dist/SvgIcon/index.js.map +1 -0
- package/dist/Tabs/Tabs.js +22 -0
- package/dist/Tabs/Tabs.js.map +1 -0
- package/dist/Tabs/Tabs.stories.js +91 -0
- package/dist/Tabs/Tabs.stories.js.map +1 -0
- package/dist/Tabs/Tabs.test.js +91 -0
- package/dist/Tabs/Tabs.test.js.map +1 -0
- package/dist/Tabs/Tabs.types.js +2 -0
- package/dist/Tabs/Tabs.types.js.map +1 -0
- package/dist/Tabs/index.js +2 -0
- package/dist/Tabs/index.js.map +1 -0
- package/dist/TextArea/TextArea.js +25 -0
- package/dist/TextArea/TextArea.js.map +1 -0
- package/dist/TextArea/TextArea.stories.js +46 -0
- package/dist/TextArea/TextArea.stories.js.map +1 -0
- package/dist/TextArea/TextArea.test.js +68 -0
- package/dist/TextArea/TextArea.test.js.map +1 -0
- package/dist/TextArea/TextArea.types.js +2 -0
- package/dist/TextArea/TextArea.types.js.map +1 -0
- package/dist/TextArea/index.js +2 -0
- package/dist/TextArea/index.js.map +1 -0
- package/dist/TextField/TextField.js +79 -0
- package/dist/TextField/TextField.js.map +1 -0
- package/dist/TextField/TextField.stories.js +70 -0
- package/dist/TextField/TextField.stories.js.map +1 -0
- package/dist/TextField/TextField.test.js +39 -0
- package/dist/TextField/TextField.test.js.map +1 -0
- package/dist/TextField/TextField.types.js +2 -0
- package/dist/TextField/TextField.types.js.map +1 -0
- package/dist/TextField/index.js +2 -0
- package/dist/TextField/index.js.map +1 -0
- package/dist/ToolbarButton/ToolbarButton.js +69 -0
- package/dist/ToolbarButton/ToolbarButton.js.map +1 -0
- package/dist/ToolbarButton/ToolbarButton.stories.js +97 -0
- package/dist/ToolbarButton/ToolbarButton.stories.js.map +1 -0
- package/dist/ToolbarButton/ToolbarButton.test.js +93 -0
- package/dist/ToolbarButton/ToolbarButton.test.js.map +1 -0
- package/dist/ToolbarButton/ToolbarButton.types.js +2 -0
- package/dist/ToolbarButton/ToolbarButton.types.js.map +1 -0
- package/dist/ToolbarButton/index.js +2 -0
- package/dist/ToolbarButton/index.js.map +1 -0
- package/dist/Tooltip/QTip.stories.js +45 -0
- package/dist/Tooltip/QTip.stories.js.map +1 -0
- package/dist/Tooltip/QTip.types.js +2 -0
- package/dist/Tooltip/QTip.types.js.map +1 -0
- package/dist/Tooltip/QTipPerformance.stories.js +30 -0
- package/dist/Tooltip/QTipPerformance.stories.js.map +1 -0
- package/dist/Tooltip/Qtip.js +168 -0
- package/dist/Tooltip/Qtip.js.map +1 -0
- package/dist/Tooltip/Tooltip.js +36 -0
- package/dist/Tooltip/Tooltip.js.map +1 -0
- package/dist/Tooltip/Tooltip.stories.js +32 -0
- package/dist/Tooltip/Tooltip.stories.js.map +1 -0
- package/dist/Tooltip/Tooltip.types.js +3 -0
- package/dist/Tooltip/Tooltip.types.js.map +1 -0
- package/dist/Tooltip/TooltipPerformance.stories.js +30 -0
- package/dist/Tooltip/TooltipPerformance.stories.js.map +1 -0
- package/dist/Tooltip/index.js +3 -0
- package/dist/Tooltip/index.js.map +1 -0
- package/dist/Tooltip/qTip.utilities.js +11 -0
- package/dist/Tooltip/qTip.utilities.js.map +1 -0
- package/dist/index.esm.js +10 -10
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/styles.css +46 -27
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/browserId.js +29 -0
- package/dist/utils/browserId.js.map +1 -0
- package/dist/utils/svg.js +20 -0
- package/dist/utils/svg.js.map +1 -0
- package/dist/utils/validateStyleDimension.js +14 -0
- package/dist/utils/validateStyleDimension.js.map +1 -0
- package/dist/utils/validateStyleDimension.test.js +20 -0
- package/dist/utils/validateStyleDimension.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Select from './Select';
|
|
3
|
+
import TextField from '../TextField';
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Select',
|
|
6
|
+
};
|
|
7
|
+
export const AllSelectVariants = () => {
|
|
8
|
+
const options = [
|
|
9
|
+
{ value: 'a', label: 'Chocolate' },
|
|
10
|
+
{ value: 'b', label: 'Strawberry' },
|
|
11
|
+
{ value: 'c', label: 'Vanilla' },
|
|
12
|
+
{ value: 'd', label: 'Rocky Road' },
|
|
13
|
+
{ value: 'e', label: 'Crazy Cow' },
|
|
14
|
+
{ value: 'f', label: 'Almond Joy' },
|
|
15
|
+
{ value: 'g', label: 'All of the above' },
|
|
16
|
+
];
|
|
17
|
+
const colorOptions = [
|
|
18
|
+
{ value: 'h', label: 'pink' },
|
|
19
|
+
{ value: 'i', label: 'purple' },
|
|
20
|
+
{ value: 'j', label: 'green' },
|
|
21
|
+
{ value: 'k', label: 'red' },
|
|
22
|
+
];
|
|
23
|
+
const groupedOptions = [
|
|
24
|
+
{
|
|
25
|
+
label: 'Ice Cream Flavors',
|
|
26
|
+
options: options,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
label: 'Colors',
|
|
30
|
+
options: colorOptions,
|
|
31
|
+
},
|
|
32
|
+
];
|
|
33
|
+
const customColorOption = (dropdownProps) => {
|
|
34
|
+
return React.createElement("div", { style: { color: dropdownProps.data.label } }, dropdownProps.data.label);
|
|
35
|
+
};
|
|
36
|
+
const allSelects = () => (React.createElement(React.Fragment, null,
|
|
37
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
38
|
+
React.createElement(Select, { id: "hello", onChange: () => { }, options: options, placeholder: "single value" })),
|
|
39
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
40
|
+
React.createElement(Select, { id: "hello", onChange: () => { }, options: options, placeholder: "single value - small", small: true })),
|
|
41
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
42
|
+
React.createElement(Select, { id: "disabled", onChange: () => { }, options: options, placeholder: "disabled", isDisabled: true })),
|
|
43
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
44
|
+
React.createElement(Select, { id: "error", onChange: () => { }, options: options, placeholder: "error", showError: true })),
|
|
45
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
46
|
+
React.createElement(Select, { onChange: () => { }, options: options, placeholder: "stays open", closeMenuOnSelect: false, creatable: true })),
|
|
47
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
48
|
+
React.createElement(Select, { onChange: () => { }, options: groupedOptions, placeholder: "grouped" })),
|
|
49
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
50
|
+
React.createElement(Select, { onChange: () => { }, options: options, creatable: true, placeholder: "create option" })),
|
|
51
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
52
|
+
React.createElement(Select, { onChange: () => { }, options: options, isClearable: true, placeholder: "clearable" })),
|
|
53
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
54
|
+
React.createElement(Select, { onChange: () => { }, options: options, placeholder: "multi-select", isMulti: true, isSearchable: false })),
|
|
55
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
56
|
+
React.createElement(Select, { onChange: () => { }, placeholder: "type to search", options: options, isSearchable: true })),
|
|
57
|
+
React.createElement("div", { className: "tw-p-5 tw-flex tw-flex-row" },
|
|
58
|
+
React.createElement(Select, { onChange: () => { }, placeholder: "type to search", options: options, inputGroup: "left", extraClassNames: "tw-w-[200px]" }),
|
|
59
|
+
React.createElement(TextField, { onChange: () => { }, placeholder: "text goes here", inputGroup: "right" })),
|
|
60
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
61
|
+
React.createElement(Select, { onChange: () => { }, options: colorOptions, placeholder: "custom option", components: { Option: (dropdownProps) => customColorOption(dropdownProps) } })),
|
|
62
|
+
React.createElement("div", { className: "tw-p-5" },
|
|
63
|
+
React.createElement(Select, { onChange: () => { }, options: colorOptions, placeholder: "custom option", controlClassNames: "tw-border-0", components: { Option: (dropdownProps) => customColorOption(dropdownProps) } }))));
|
|
64
|
+
const renderAllVariations = () => (React.createElement(React.Fragment, null,
|
|
65
|
+
React.createElement("div", { className: "tw-grid tw-gap-4" },
|
|
66
|
+
allSelects(),
|
|
67
|
+
React.createElement("div", { className: "tw-dark tw-bg-sq-dark-background" }, allSelects()))));
|
|
68
|
+
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
69
|
+
React.createElement("div", { className: "color_topic" },
|
|
70
|
+
React.createElement("b", null, "Topic Colors"),
|
|
71
|
+
renderAllVariations()),
|
|
72
|
+
React.createElement("div", { className: "color_analysis" },
|
|
73
|
+
React.createElement("b", null, "Analysis Colors"),
|
|
74
|
+
renderAllVariations()),
|
|
75
|
+
React.createElement("div", { className: "color_datalab" },
|
|
76
|
+
React.createElement("b", null, "Datalab Colors"),
|
|
77
|
+
renderAllVariations()),
|
|
78
|
+
React.createElement("div", { className: "color_vantage" },
|
|
79
|
+
React.createElement("b", null, "Vantage Colors"),
|
|
80
|
+
renderAllVariations())));
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=Select.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.stories.js","sourceRoot":"","sources":["../../src/Select/Select.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
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 Select from './Select';
|
|
6
|
+
describe('Select', () => {
|
|
7
|
+
class Context {
|
|
8
|
+
testId = 'selectTestId';
|
|
9
|
+
label = 'button label';
|
|
10
|
+
options = [
|
|
11
|
+
{ label: 'vanilla', value: 'a' },
|
|
12
|
+
{ label: 'chocolate', value: 'b' },
|
|
13
|
+
{ label: 'strawberry', value: 'c' },
|
|
14
|
+
];
|
|
15
|
+
otherOptions = [
|
|
16
|
+
{ label: 'red', value: 'd' },
|
|
17
|
+
{ label: 'green', value: 'e' },
|
|
18
|
+
];
|
|
19
|
+
groupedOptions = [
|
|
20
|
+
{
|
|
21
|
+
label: 'Ice Cream Flavors',
|
|
22
|
+
options: this.options,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
label: 'Colors',
|
|
26
|
+
options: this.otherOptions,
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
props = {
|
|
30
|
+
onChange: jest.fn(),
|
|
31
|
+
options: this.options,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
let tc;
|
|
35
|
+
beforeEach(() => {
|
|
36
|
+
tc = new Context();
|
|
37
|
+
});
|
|
38
|
+
const openSelect = async () => {
|
|
39
|
+
const select = document.querySelector(`.specOpenSelect`);
|
|
40
|
+
await userEvent.click(select);
|
|
41
|
+
};
|
|
42
|
+
const renderSelect = (props) => render(React.createElement("div", { id: "wrapper" },
|
|
43
|
+
React.createElement(Select, { ...props })));
|
|
44
|
+
it('renders the select', () => {
|
|
45
|
+
renderSelect(tc.props);
|
|
46
|
+
expect(document.querySelector('.specSelectControl')).toBeInTheDocument();
|
|
47
|
+
});
|
|
48
|
+
it('displays options', async () => {
|
|
49
|
+
renderSelect(tc.props);
|
|
50
|
+
await openSelect();
|
|
51
|
+
expect(document.querySelectorAll('.specSelectOption')).toHaveLength(3);
|
|
52
|
+
});
|
|
53
|
+
it('displays grouped options', async () => {
|
|
54
|
+
renderSelect({ ...tc.props, options: tc.groupedOptions });
|
|
55
|
+
await openSelect();
|
|
56
|
+
expect(document.querySelectorAll('.specSelectOption')).toHaveLength(5);
|
|
57
|
+
expect(document.querySelectorAll('.specSelectGroupHeading')).toHaveLength(2);
|
|
58
|
+
expect(document.querySelectorAll('.specSelectGroup')).toHaveLength(2);
|
|
59
|
+
});
|
|
60
|
+
it('reflects error state', () => {
|
|
61
|
+
renderSelect({ ...tc.props, showError: true });
|
|
62
|
+
expect(document.querySelector('.specSelectControl')).toHaveClass('tw-border-sq-danger-color');
|
|
63
|
+
});
|
|
64
|
+
it('reflects custom render function for option', async () => {
|
|
65
|
+
const getOptionLabel = (option) => (React.createElement("div", null,
|
|
66
|
+
option.label,
|
|
67
|
+
React.createElement("br", null),
|
|
68
|
+
"custom formatting applied"));
|
|
69
|
+
renderSelect({ ...tc.props, getOptionLabel });
|
|
70
|
+
await openSelect();
|
|
71
|
+
expect(document.querySelectorAll('.specSelectOption')[0]).toHaveTextContent('custom formatting applied');
|
|
72
|
+
});
|
|
73
|
+
it('reflects custom render for selected option', async () => {
|
|
74
|
+
const getSelectedValueLabel = (option) => (React.createElement("div", null,
|
|
75
|
+
option.label,
|
|
76
|
+
React.createElement("br", null),
|
|
77
|
+
"the chosen one"));
|
|
78
|
+
renderSelect({ ...tc.props, getSelectedValueLabel });
|
|
79
|
+
await openSelect();
|
|
80
|
+
await userEvent.click(screen.getByText(tc.options[0].label));
|
|
81
|
+
expect(document.querySelectorAll('.specOpenSelect')[0]).toHaveTextContent('the chosen one');
|
|
82
|
+
});
|
|
83
|
+
it('renders the provided value as selected', () => {
|
|
84
|
+
const value = tc.options[1];
|
|
85
|
+
renderSelect({ ...tc.props, value });
|
|
86
|
+
expect(document.querySelectorAll('.specOpenSelect')[0]).toHaveTextContent(value.label);
|
|
87
|
+
});
|
|
88
|
+
it('renders the provided placeholder', () => {
|
|
89
|
+
const placeholder = 'choose your favorite flavor';
|
|
90
|
+
renderSelect({ ...tc.props, placeholder });
|
|
91
|
+
expect(screen.getByText(placeholder)).toBeInTheDocument();
|
|
92
|
+
});
|
|
93
|
+
it('renders the provided noOptionsMessage', async () => {
|
|
94
|
+
const noOptionsMessage = 'Nothing to see here.';
|
|
95
|
+
renderSelect({ ...tc.props, noOptionsMessage, options: [] });
|
|
96
|
+
await openSelect();
|
|
97
|
+
expect(screen.getByText(noOptionsMessage)).toBeInTheDocument();
|
|
98
|
+
});
|
|
99
|
+
it('supports multi selection', async () => {
|
|
100
|
+
const isMulti = true;
|
|
101
|
+
renderSelect({ ...tc.props, isMulti });
|
|
102
|
+
await openSelect();
|
|
103
|
+
await userEvent.click(screen.getByText(tc.options[0].label));
|
|
104
|
+
await openSelect();
|
|
105
|
+
await userEvent.click(screen.getByText(tc.options[1].label));
|
|
106
|
+
expect(document.querySelectorAll('.specOpenSelect')).toHaveLength(2);
|
|
107
|
+
});
|
|
108
|
+
it('renders isClearable', async () => {
|
|
109
|
+
const isClearable = true;
|
|
110
|
+
const placeholder = 'no worries - you can clear this.';
|
|
111
|
+
renderSelect({ ...tc.props, isClearable, placeholder });
|
|
112
|
+
await openSelect();
|
|
113
|
+
await userEvent.click(screen.getByText(tc.options[0].label));
|
|
114
|
+
expect(document.querySelectorAll('.specOpenSelect')[0]).toHaveTextContent(tc.options[0].label);
|
|
115
|
+
expect(document.querySelector('.specClearSelect')).toBeInTheDocument();
|
|
116
|
+
await userEvent.click(document.querySelector('.specClearSelect'));
|
|
117
|
+
expect(document.querySelectorAll('.specOpenSelect')[0]).toHaveTextContent(placeholder);
|
|
118
|
+
});
|
|
119
|
+
it('supports menuIsOpen', async () => {
|
|
120
|
+
const menuIsOpen = true;
|
|
121
|
+
renderSelect({ ...tc.props, menuIsOpen, menuPortalTarget: document.querySelector('#wrapper') });
|
|
122
|
+
expect(document.querySelectorAll('.specSelectOption')).toHaveLength(tc.options.length);
|
|
123
|
+
});
|
|
124
|
+
it('supports closeMenuOnSelect', async () => {
|
|
125
|
+
const closeMenuOnSelect = false;
|
|
126
|
+
renderSelect({ ...tc.props, closeMenuOnSelect });
|
|
127
|
+
await openSelect();
|
|
128
|
+
await userEvent.click(screen.getByText(tc.options[1].label));
|
|
129
|
+
await userEvent.click(screen.getByText(tc.options[2].label));
|
|
130
|
+
expect(document.querySelectorAll('.specOpenSelect')[0]).toHaveTextContent(tc.options[2].label);
|
|
131
|
+
});
|
|
132
|
+
it('removes selected option from multi-select options list', async () => {
|
|
133
|
+
const closeMenuOnSelect = false;
|
|
134
|
+
renderSelect({ ...tc.props, isMulti: true, closeMenuOnSelect });
|
|
135
|
+
await openSelect();
|
|
136
|
+
await userEvent.click(screen.getByText(tc.options[1].label));
|
|
137
|
+
await userEvent.click(screen.getByText(tc.options[2].label));
|
|
138
|
+
expect(document.querySelectorAll('.specSelectOption')).toHaveLength(tc.options.length - 2);
|
|
139
|
+
});
|
|
140
|
+
it('calls onChange handler', async () => {
|
|
141
|
+
const onChange = jest.fn();
|
|
142
|
+
renderSelect({ ...tc.props, onChange });
|
|
143
|
+
await openSelect();
|
|
144
|
+
await userEvent.click(screen.getByText(tc.options[1].label));
|
|
145
|
+
expect(onChange).toHaveBeenCalledWith(tc.options[1]);
|
|
146
|
+
});
|
|
147
|
+
it('includes inputId', async () => {
|
|
148
|
+
const inputId = 'idMe';
|
|
149
|
+
renderSelect({ ...tc.props, inputId });
|
|
150
|
+
expect(document.querySelector(`#${inputId}`)).toBeInTheDocument();
|
|
151
|
+
});
|
|
152
|
+
it('supports creating options', async () => {
|
|
153
|
+
const inputId = 'idMe';
|
|
154
|
+
const favorite = 'Almond Joy';
|
|
155
|
+
renderSelect({ ...tc.props, creatable: true, inputId });
|
|
156
|
+
await openSelect();
|
|
157
|
+
await userEvent.type(document.querySelector(`#${inputId}`), favorite);
|
|
158
|
+
expect(screen.getByText(`Create "${favorite}"`)).toBeInTheDocument();
|
|
159
|
+
});
|
|
160
|
+
it('supports onMenuOpen', async () => {
|
|
161
|
+
const onMenuOpen = jest.fn();
|
|
162
|
+
renderSelect({ ...tc.props, onMenuOpen });
|
|
163
|
+
await openSelect();
|
|
164
|
+
expect(onMenuOpen).toHaveBeenCalled();
|
|
165
|
+
});
|
|
166
|
+
it('supports onMenuClose', async () => {
|
|
167
|
+
const onMenuClose = jest.fn();
|
|
168
|
+
renderSelect({ ...tc.props, onMenuClose });
|
|
169
|
+
await openSelect();
|
|
170
|
+
await userEvent.click(screen.getByText(tc.options[0].label));
|
|
171
|
+
expect(onMenuClose).toHaveBeenCalled();
|
|
172
|
+
});
|
|
173
|
+
it('supports custom components', async () => {
|
|
174
|
+
const components = {
|
|
175
|
+
DropdownIndicator: () => React.createElement("div", { className: "custom" }, "Custom Dropdown"),
|
|
176
|
+
};
|
|
177
|
+
renderSelect({ ...tc.props, components });
|
|
178
|
+
await openSelect();
|
|
179
|
+
expect(document.querySelector('.custom')).toBeInTheDocument();
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
//# sourceMappingURL=Select.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.test.js","sourceRoot":"","sources":["../../src/Select/Select.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,10 @@ export interface SelectProps {
|
|
|
16
16
|
creatable?: boolean;
|
|
17
17
|
/** set to true to disable the select */
|
|
18
18
|
isDisabled?: boolean;
|
|
19
|
-
/** extra class names to be placed on the select
|
|
19
|
+
/** extra class names to be placed on the select container: this can be used to size the select */
|
|
20
20
|
extraClassNames?: string;
|
|
21
|
+
/** extra class names to be placed on the select control */
|
|
22
|
+
controlClassNames?: string;
|
|
21
23
|
/** custom filter for search */
|
|
22
24
|
filterConfig?: unknown;
|
|
23
25
|
/** formats option labels in the menu and control as React components */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.types.js","sourceRoot":"","sources":["../../src/Select/Select.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import * as RadixSlider from '@radix-ui/react-slider';
|
|
3
|
+
/**
|
|
4
|
+
* Slider .
|
|
5
|
+
*/
|
|
6
|
+
export const Slider = (props) => {
|
|
7
|
+
const { onValueChange, onPointerUp, id, value, name, disabled = false, rootExtraClassNames = '', trackExtraClassNames = '', rangeExtraClassNames = '', thumbExtraClassNames = '', step, min, max, } = props;
|
|
8
|
+
return (React.createElement(RadixSlider.Root, { className: `tw-relative tw-flex tw-h-5 tw-w-full tw-touch-none tw-select-none tw-items-center ${rootExtraClassNames}`, defaultValue: [value], value: [value], onValueChange: (value) => onValueChange && onValueChange(value), onPointerUp: (e) => onPointerUp && onPointerUp(e), name: name, id: id, max: max, min: min, disabled: disabled, step: step },
|
|
9
|
+
React.createElement(RadixSlider.Track, { className: `tw-relative tw-h-[5px] tw-grow tw-rounded-[4px] tw-bg-sq-dark-gray dark:tw-bg-sq-dark-disabled-gray ${trackExtraClassNames}` },
|
|
10
|
+
React.createElement(RadixSlider.Range, { className: `tw-absolute tw-h-full tw-rounded-full ${rangeExtraClassNames}` })),
|
|
11
|
+
React.createElement(RadixSlider.Thumb, { className: `tw-block tw-h-[15px] tw-w-[15px] tw-rounded-full tw-bg-sq-color-dark active:tw-bg-sq-color-dark-dark focus:outline-none focus-visible:tw-outline-none aria-disabled:tw-bg-sq-dark-gray dark:aria-disabled:tw-bg-sq-dark-disabled-gray tw-transition tw-ease-in-out ${thumbExtraClassNames}`, "aria-disabled": disabled })));
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=Slider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.js","sourceRoot":"","sources":["../../src/Slider/Slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAyC,CAAC,KAAK,EAAE,EAAE;IACpE,MAAM,EACJ,aAAa,EACb,WAAW,EACX,EAAE,EACF,KAAK,EACL,IAAI,EACJ,QAAQ,GAAG,KAAK,EAChB,mBAAmB,GAAG,EAAE,EACxB,oBAAoB,GAAG,EAAE,EACzB,oBAAoB,GAAG,EAAE,EACzB,oBAAoB,GAAG,EAAE,EACzB,IAAI,EACJ,GAAG,EACH,GAAG,GACJ,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,oBAAC,WAAW,CAAC,IAAI,IACf,SAAS,EAAE,qFAAqF,mBAAmB,EAAE,EACrH,YAAY,EAAE,CAAC,KAAK,CAAC,EACrB,KAAK,EAAE,CAAC,KAAK,CAAC,EACd,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC,EAC/D,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,EACjD,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,EACN,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI;QACV,oBAAC,WAAW,CAAC,KAAK,IAChB,SAAS,EAAE,uGAAuG,oBAAoB,EAAE;YACxI,oBAAC,WAAW,CAAC,KAAK,IAAC,SAAS,EAAE,yCAAyC,oBAAoB,EAAE,GAAI,CAC/E;QACpB,oBAAC,WAAW,CAAC,KAAK,IAChB,SAAS,EAAE,sQAAsQ,oBAAoB,EAAE,mBACxR,QAAQ,GACvB,CACe,CACpB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Slider } from './Slider';
|
|
3
|
+
import { QTip } from '../Tooltip';
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Slider',
|
|
6
|
+
};
|
|
7
|
+
export const AllSliders = () => {
|
|
8
|
+
const [value1, setValue1] = React.useState(0);
|
|
9
|
+
const [value2, setValue2] = React.useState(0);
|
|
10
|
+
const renderAllVariations = () => (React.createElement(React.Fragment, null,
|
|
11
|
+
React.createElement("div", { className: "tw-p-4 light" },
|
|
12
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
13
|
+
React.createElement(Slider, { min: 0, max: 10, value: 4 })),
|
|
14
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
15
|
+
React.createElement(Slider, { min: 0, max: 10, value: 10 })),
|
|
16
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
17
|
+
React.createElement(Slider, { value: 0, min: 0, max: 10 })),
|
|
18
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
19
|
+
React.createElement("div", null, "1 Step"),
|
|
20
|
+
React.createElement(Slider, { value: value1, min: 0, max: 20, step: 4, onValueChange: (v) => setValue1(v[0]) })),
|
|
21
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
22
|
+
React.createElement("div", null, "10 Steps"),
|
|
23
|
+
React.createElement(Slider, { value: value2, min: 0, max: 20, step: 10, onValueChange: (v) => setValue2(v[0]) })),
|
|
24
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
25
|
+
React.createElement("div", { className: "tw-sq-text-color" }, "Disabled"),
|
|
26
|
+
React.createElement(Slider, { value: 10, min: 0, max: 20, step: 10, disabled: true }))),
|
|
27
|
+
React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
|
|
28
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
29
|
+
React.createElement(Slider, { min: 0, max: 10, value: 4 })),
|
|
30
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
31
|
+
React.createElement(Slider, { min: 0, max: 10, value: 10 })),
|
|
32
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
33
|
+
React.createElement(Slider, { value: 0, min: 0, max: 10 })),
|
|
34
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
35
|
+
React.createElement("div", { className: "dark:tw-text-white" }, "1 Step"),
|
|
36
|
+
React.createElement(Slider, { value: value1, min: 0, max: 20, step: 4, onValueChange: (v) => setValue1(v[0]) })),
|
|
37
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
38
|
+
React.createElement("div", { className: "dark:tw-text-white" }, "10 Steps"),
|
|
39
|
+
React.createElement(Slider, { value: value2, min: 0, max: 20, step: 10, onValueChange: (v) => setValue2(v[0]) })),
|
|
40
|
+
React.createElement("div", { className: "tw-p-4" },
|
|
41
|
+
React.createElement("div", { className: "dark:tw-text-white" }, "Disabled"),
|
|
42
|
+
React.createElement(Slider, { value: 10, min: 0, max: 20, step: 10, disabled: true })))));
|
|
43
|
+
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
44
|
+
React.createElement(QTip, null),
|
|
45
|
+
React.createElement("div", { className: "color_topic" },
|
|
46
|
+
React.createElement("b", null, "Topic Colors"),
|
|
47
|
+
renderAllVariations()),
|
|
48
|
+
React.createElement("div", { className: "color_analysis" },
|
|
49
|
+
React.createElement("b", null, "Analysis Colors"),
|
|
50
|
+
renderAllVariations()),
|
|
51
|
+
React.createElement("div", { className: "color_datalab" },
|
|
52
|
+
React.createElement("b", null, "Datalab Colors"),
|
|
53
|
+
renderAllVariations()),
|
|
54
|
+
React.createElement("div", { className: "color_vantage" },
|
|
55
|
+
React.createElement("b", null, "Vantage Colors"),
|
|
56
|
+
renderAllVariations())));
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=Slider.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.stories.js","sourceRoot":"","sources":["../../src/Slider/Slider.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import '@testing-library/jest-dom/extend-expect';
|
|
4
|
+
import { Slider } from './Slider';
|
|
5
|
+
describe('Slider Component', () => {
|
|
6
|
+
const defaultProps = {
|
|
7
|
+
onValueChange: jest.fn(),
|
|
8
|
+
onPointerUp: jest.fn(),
|
|
9
|
+
id: 'test-slider',
|
|
10
|
+
value: 50,
|
|
11
|
+
name: 'slider',
|
|
12
|
+
disabled: false,
|
|
13
|
+
testId: 'slider',
|
|
14
|
+
step: 1,
|
|
15
|
+
min: 0,
|
|
16
|
+
max: 100,
|
|
17
|
+
};
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
global.ResizeObserver = jest.fn().mockImplementation(() => {
|
|
20
|
+
return { observe: jest.fn(), disconnect: jest.fn(), unobserve: jest.fn() };
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
it('renders without crashing', () => {
|
|
24
|
+
const { getByRole } = render(React.createElement(Slider, { ...defaultProps }));
|
|
25
|
+
expect(getByRole('slider')).toBeInTheDocument();
|
|
26
|
+
});
|
|
27
|
+
it('is disabled when disabled prop is true', () => {
|
|
28
|
+
const { getByRole } = render(React.createElement(Slider, { ...defaultProps, disabled: true }));
|
|
29
|
+
const thumb = getByRole('slider');
|
|
30
|
+
expect(thumb).toHaveAttribute('data-disabled', '');
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=Slider.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.test.js","sourceRoot":"","sources":["../../src/Slider/Slider.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,yCAAyC,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,YAAY,GAAgB;QAChC,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;QACxB,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;QACtB,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,CAAC;QACP,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,GAAG;KACT,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACxD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,MAAM,OAAK,YAAY,GAAI,CAAC,CAAC;QAC3D,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAClD,CAAC,CAAC,CAAC;IAGH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,MAAM,OAAK,YAAY,EAAE,QAAQ,EAAE,IAAI,GAAI,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Slider.types.js","sourceRoot":"","sources":["../../src/Slider/Slider.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Slider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import '../styles.css';
|
|
3
|
+
import { getQTipData } from '../Tooltip/qTip.utilities';
|
|
4
|
+
import { getSvgIconPath } from '../utils/svg';
|
|
5
|
+
/**
|
|
6
|
+
* Renders an icon that has an SVG icon path (see {@link isSvgIcon() })
|
|
7
|
+
*
|
|
8
|
+
* @param onClick - function to call when clicking the icon (takes no parameters)
|
|
9
|
+
* @param id - id that can be placed on the SvgIcon component
|
|
10
|
+
* @param testId - id that will be used in the data-testid attribute on the icon
|
|
11
|
+
* @param customId - id that will be used in the data-customid attribute on the icon. Can be used to identify the icon
|
|
12
|
+
* as the click event target in an event handler
|
|
13
|
+
* @param icon - the SVG icon
|
|
14
|
+
* @param color - used to add a custom color to the icon (required if type="color")
|
|
15
|
+
* @param extraClassNames - extra class names to apply
|
|
16
|
+
* @param [viewBox='0 0 19 19'] - optional SVG view box
|
|
17
|
+
* @param type - default will use dark/light text colors otherwise will use the theme color
|
|
18
|
+
* @param tooltipProps - props to pass to the tooltip
|
|
19
|
+
*/
|
|
20
|
+
const SvgIcon = ({ onClick, icon, color, type = 'default', extraClassNames, viewBox = '0 0 19 19', id, testId, customId, ...tooltipProps }) => {
|
|
21
|
+
const appliedClassNames = `${onClick ? 'tw-cursor-pointer' : ''} ${extraClassNames} focus:tw-outline-none focus-visible:tw-outline-none
|
|
22
|
+
tw-outline-none`;
|
|
23
|
+
const tooltipData = getQTipData(tooltipProps);
|
|
24
|
+
const appliedType = type === 'default' ? 'currentColor' : 'rgb(var(--sq-icon))';
|
|
25
|
+
return (React.createElement("div", { onClick: onClick, ...tooltipData, className: `svgContainer ${appliedClassNames}` },
|
|
26
|
+
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", className: `tw-sq-icon dark:tw-text-white`, viewBox: viewBox, fill: color ? color : appliedType, "data-testid": testId },
|
|
27
|
+
React.createElement("path", { d: getSvgIconPath(icon) }))));
|
|
28
|
+
};
|
|
29
|
+
export default SvgIcon;
|
|
30
|
+
//# sourceMappingURL=SvgIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SvgIcon.js","sourceRoot":"","sources":["../../src/SvgIcon/SvgIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,GAA0C,CAAC,EACtD,OAAO,EACP,IAAI,EACJ,KAAK,EACL,IAAI,GAAG,SAAS,EAChB,eAAe,EACf,OAAO,GAAG,WAAW,EACrB,EAAE,EACF,MAAM,EACN,QAAQ,EACR,GAAG,YAAY,EAChB,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,GACxB,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAClC,IAAI,eAAe;kBACH,CAAC;IACjB,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC;IAEhF,OAAO,CACL,6BAAK,OAAO,EAAE,OAAO,KAAM,WAAW,EAAE,SAAS,EAAE,gBAAgB,iBAAiB,EAAE;QACpF,6BACE,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAE,+BAA+B,EAC1C,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,iBACpB,MAAM;YACnB,8BAAM,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,GAAI,CAC7B,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import SvgIcon from './SvgIcon';
|
|
3
|
+
import { svgIconTypes } from './SvgIcon.types';
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Svg Icons',
|
|
6
|
+
};
|
|
7
|
+
const icon = 'svgpath:M0 8.8153a8.8153 8.8153 90 1117.6306 0A8.8153 8.8153 90 110 8.8153zM9.9172 3.3057a1.1019' +
|
|
8
|
+
' 1.1019 90 10-2.2038 0 1.1019 1.1019 90 102.2038 0zM8.8153 14.3249c1.2155 0 2.2038-.9883 2.2038-2.2038 0-.5992-.2376-1.1398-.6233-1.5358L12.6031 5.5681c.1825-.4167-.0069-.9056-.4235-1.0881s-.9056.0069-1.0881.4235L8.8807 9.9172c-.0207 0-.0448 0-.0654 0-1.2155 0-2.2038.9883-2.2038 2.2038s.9883 2.2038 2.2038 2.2038zM6.0605 4.9586a1.1019 1.1019 90 10-2.2038 0 1.1019 1.1019 90 102.2038 0zM3.3057 9.9172a1.1019 1.1019 90 100-2.2038 1.1019 1.1019 90 100 2.2038zm12.121-1.1019a1.1019 1.1019 90 10-2.2038 0 1.1019 1.1019 90 102.2038 0z';
|
|
9
|
+
export const AllIcons = () => {
|
|
10
|
+
const renderAllVariations = () => {
|
|
11
|
+
const supportedSvgIconTypes = svgIconTypes.filter((type) => type === 'default' || type === 'theme');
|
|
12
|
+
return (React.createElement(React.Fragment, null,
|
|
13
|
+
React.createElement("br", null),
|
|
14
|
+
React.createElement("br", null),
|
|
15
|
+
supportedSvgIconTypes.map((iconType) => {
|
|
16
|
+
return (React.createElement("div", { key: `${iconType}` },
|
|
17
|
+
React.createElement("b", null,
|
|
18
|
+
"type=",
|
|
19
|
+
iconType),
|
|
20
|
+
React.createElement("br", null),
|
|
21
|
+
React.createElement("div", { className: "tw-flex" },
|
|
22
|
+
React.createElement(SvgIcon, { icon: icon, type: iconType, extraClassNames: 'tw-p-2 tw-w-12', onClick: (e) => window.alert('svg clicked') })),
|
|
23
|
+
React.createElement("div", { className: "tw-dark tw-bg-sq-dark-background tw-flex" },
|
|
24
|
+
React.createElement(SvgIcon, { icon: icon, type: iconType, extraClassNames: 'tw-p-2 tw-w-12', onClick: (e) => window.alert('svg clicked') })),
|
|
25
|
+
React.createElement("br", null)));
|
|
26
|
+
})));
|
|
27
|
+
};
|
|
28
|
+
return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
|
|
29
|
+
React.createElement("div", { className: "color_topic" },
|
|
30
|
+
React.createElement("b", null, "Topic Colors"),
|
|
31
|
+
renderAllVariations()),
|
|
32
|
+
React.createElement("div", { className: "color_analysis" },
|
|
33
|
+
React.createElement("b", null, "Analysis Colors"),
|
|
34
|
+
renderAllVariations()),
|
|
35
|
+
React.createElement("div", { className: "color_datalab" },
|
|
36
|
+
React.createElement("b", null, "Datalab Colors"),
|
|
37
|
+
renderAllVariations()),
|
|
38
|
+
React.createElement("div", { className: "color_vantage" },
|
|
39
|
+
React.createElement("b", null, "Vantage Colors"),
|
|
40
|
+
renderAllVariations())));
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=SvgIcon.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SvgIcon.stories.js","sourceRoot":"","sources":["../../src/SvgIcon/SvgIcon.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,eAAe;IACb,KAAK,EAAE,WAAW;CACnB,CAAC;AAEF,MAAM,IAAI,GAAG,kGAAkG;IAC7G,mhBAAmhB,CAAC;AAEthB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,qBAAqB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC;QACpG,OAAO,CACL;YACE,+BAAM;YACN,+BAAM;YACL,qBAAqB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACtC,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG,QAAQ,EAAE;oBACrB;;wBAAS,QAAQ,CAAK;oBACtB,+BAAM;oBACN,6BAAK,SAAS,EAAC,SAAS;wBACtB,oBAAC,OAAO,IACN,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,QAAQ,EACd,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAC3C,CACE;oBACN,6BAAK,SAAS,EAAC,0CAA0C;wBACvD,oBAAC,OAAO,IACN,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,QAAQ,EACd,eAAe,EAAE,gBAAgB,EACjC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAC3C,CACE;oBACN,+BAAM,CACF,CACP,CAAC;YACJ,CAAC,CAAC,CACD,CACJ,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAC,iCAAiC;QAC9C,6BAAK,SAAS,EAAC,aAAa;YAC1B,8CAAmB;YAClB,mBAAmB,EAAE,CAClB;QAEN,6BAAK,SAAS,EAAC,gBAAgB;YAC7B,iDAAsB;YACrB,mBAAmB,EAAE,CAClB;QAEN,6BAAK,SAAS,EAAC,eAAe;YAC5B,gDAAqB;YACpB,mBAAmB,EAAE,CAClB;QAEN,6BAAK,SAAS,EAAC,eAAe;YAC5B,gDAAqB;YACpB,mBAAmB,EAAE,CAClB,CACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import { render, screen } from '@testing-library/react';
|
|
4
|
+
import SvgIcon from './SvgIcon';
|
|
5
|
+
describe('SvgIcon', () => {
|
|
6
|
+
class Context {
|
|
7
|
+
testId = 'svgIconTestId';
|
|
8
|
+
icon = 'svgpath:M0 8.8153a8.8153 8.8153 90 1117.6306 0A8.8153 8.8153 90 110 8.8153zM9.9172 3.3057a1.1019 1.1019' +
|
|
9
|
+
' 90 10-2.2038 0 1.1019 1.1019 90 102.2038 0zM8.8153 14.3249c1.2155 0 2.2038-.9883 2.2038-2.2038' +
|
|
10
|
+
' 0-.5992-.2376-1.1398-.6233-1.5358L12.6031 5.5681c.1825-.4167-.0069-.9056-.4235-1.0881s-.9056.0069-1.0881.4235L8.8807 9.9172c-.0207 0-.0448 0-.0654 0-1.2155 0-2.2038.9883-2.2038 2.2038s.9883 2.2038 2.2038 2.2038zM6.0605 4.9586a1.1019 1.1019 90 10-2.2038 0 1.1019 1.1019 90 102.2038 0zM3.3057 9.9172a1.1019 1.1019 90 100-2.2038 1.1019 1.1019 90 100 2.2038zm12.121-1.1019a1.1019 1.1019 90 10-2.2038 0 1.1019 1.1019 90 102.2038 0z';
|
|
11
|
+
props = {
|
|
12
|
+
icon: this.icon,
|
|
13
|
+
onClick: jest.fn(),
|
|
14
|
+
testId: this.testId,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
let tc;
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
tc = new Context();
|
|
20
|
+
});
|
|
21
|
+
const renderIcon = (props) => render(React.createElement(SvgIcon, { ...props }));
|
|
22
|
+
it('renders svg icon', () => {
|
|
23
|
+
renderIcon(tc.props);
|
|
24
|
+
expect(screen.getByTestId(tc.testId)).toHaveAttribute('fill');
|
|
25
|
+
});
|
|
26
|
+
describe('icon types', () => {
|
|
27
|
+
it('renders the theme type by default', () => {
|
|
28
|
+
renderIcon(tc.props);
|
|
29
|
+
expect(screen.getByTestId(tc.testId)).toHaveClass('tw-sq-icon');
|
|
30
|
+
});
|
|
31
|
+
it('renders the white icon', () => {
|
|
32
|
+
renderIcon({ ...tc.props, color: 'white' });
|
|
33
|
+
expect(screen.getByTestId(tc.testId)).toHaveAttribute('fill', 'white');
|
|
34
|
+
});
|
|
35
|
+
it('renders the color icon', () => {
|
|
36
|
+
renderIcon({ ...tc.props, color: '#AABBFF' });
|
|
37
|
+
expect(screen.getByTestId(tc.testId)).toHaveAttribute('fill', '#AABBFF');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=SvgIcon.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SvgIcon.test.js","sourceRoot":"","sources":["../../src/SvgIcon/SvgIcon.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,OAAO,MAAM,WAAW,CAAC;AAGhC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,OAAO;QACX,MAAM,GAAG,eAAe,CAAC;QACzB,IAAI,GAAI,yGAAyG;YAC/G,iGAAiG;YACjG,6aAA6a,CAAC;QAChb,KAAK,GAAiB;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;KACH;IAED,IAAI,EAAW,CAAC;IAChB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,KAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,oBAAC,OAAO,OAAK,KAAK,GAAI,CAAC,CAAC;IAE3E,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SvgIcon.types.js","sourceRoot":"","sources":["../../src/SvgIcon/SvgIcon.types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAI;IAC3B,GAAG,SAAS;IACZ,SAAS;CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SvgIcon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|