@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.
Files changed (140) hide show
  1. package/README.md +135 -135
  2. package/dist/Accordion/Accordion.js +8 -8
  3. package/dist/Accordion/Accordion.stories.js +114 -114
  4. package/dist/Accordion/Accordion.test.js +54 -54
  5. package/dist/Accordion/Accordion.types.js +1 -1
  6. package/dist/Accordion/index.js +1 -1
  7. package/dist/Alert/Alert.js +33 -33
  8. package/dist/Alert/Alert.stories.js +51 -51
  9. package/dist/Alert/Alert.test.js +50 -50
  10. package/dist/Alert/Alert.types.js +1 -1
  11. package/dist/Alert/index.js +1 -1
  12. package/dist/Button/Button.js +91 -91
  13. package/dist/Button/Button.stories.js +99 -99
  14. package/dist/Button/Button.test.js +48 -48
  15. package/dist/Button/Button.types.js +4 -4
  16. package/dist/Button/index.js +1 -1
  17. package/dist/ButtonGroup/ButtonGroup.js +32 -32
  18. package/dist/ButtonGroup/ButtonGroup.stories.js +384 -384
  19. package/dist/ButtonGroup/ButtonGroup.test.js +66 -66
  20. package/dist/ButtonGroup/ButtonGroup.types.js +1 -1
  21. package/dist/ButtonGroup/index.js +1 -1
  22. package/dist/ButtonWithDropdown/ButtonWithDropdown.js +59 -59
  23. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +142 -142
  24. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js +92 -92
  25. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +1 -1
  26. package/dist/ButtonWithDropdown/index.js +1 -1
  27. package/dist/ButtonWithPopover/ButtonWithPopover.js +61 -61
  28. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +74 -74
  29. package/dist/ButtonWithPopover/ButtonWithPopover.test.js +81 -81
  30. package/dist/ButtonWithPopover/ButtonWithPopover.types.js +1 -1
  31. package/dist/ButtonWithPopover/index.js +1 -1
  32. package/dist/Carousel/Carousel.js +66 -66
  33. package/dist/Carousel/Carousel.stories.js +114 -114
  34. package/dist/Carousel/Carousel.test.js +47 -47
  35. package/dist/Carousel/Carousel.types.js +1 -1
  36. package/dist/Carousel/index.js +1 -1
  37. package/dist/Checkbox/Checkbox.js +25 -25
  38. package/dist/Checkbox/Checkbox.stories.js +33 -33
  39. package/dist/Checkbox/Checkbox.test.js +93 -93
  40. package/dist/Checkbox/Checkbox.types.js +1 -1
  41. package/dist/Checkbox/index.js +1 -1
  42. package/dist/Collapse/Collapse.js +17 -17
  43. package/dist/Collapse/Collapse.stories.js +36 -36
  44. package/dist/Collapse/Collapse.test.js +18 -18
  45. package/dist/Collapse/Collapse.types.js +1 -1
  46. package/dist/Collapse/index.js +1 -1
  47. package/dist/Icon/Icon.js +54 -54
  48. package/dist/Icon/Icon.stories.js +46 -46
  49. package/dist/Icon/Icon.test.js +54 -54
  50. package/dist/Icon/Icon.types.js +15 -15
  51. package/dist/Icon/index.js +1 -1
  52. package/dist/InputGroup/InputGroup.js +31 -31
  53. package/dist/InputGroup/InputGroup.stories.js +167 -167
  54. package/dist/InputGroup/InputGroup.test.js +42 -42
  55. package/dist/InputGroup/InputGroup.types.js +1 -1
  56. package/dist/InputGroup/index.js +1 -1
  57. package/dist/Modal/Modal.js +99 -99
  58. package/dist/Modal/Modal.js.map +1 -1
  59. package/dist/Modal/Modal.stories.js +126 -126
  60. package/dist/Modal/Modal.test.js +107 -107
  61. package/dist/Modal/Modal.types.js +1 -1
  62. package/dist/Modal/index.js +1 -1
  63. package/dist/ProgressBar/ProgressBar.js +49 -29
  64. package/dist/ProgressBar/ProgressBar.js.map +1 -1
  65. package/dist/ProgressBar/ProgressBar.stories.js +80 -72
  66. package/dist/ProgressBar/ProgressBar.stories.js.map +1 -1
  67. package/dist/ProgressBar/ProgressBar.test.js +43 -37
  68. package/dist/ProgressBar/ProgressBar.test.js.map +1 -1
  69. package/dist/ProgressBar/ProgressBar.types.d.ts +2 -0
  70. package/dist/ProgressBar/ProgressBar.types.js +1 -1
  71. package/dist/ProgressBar/index.js +1 -1
  72. package/dist/SeeqActionDropdown/SeeqActionDropdown.js +47 -47
  73. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js +79 -79
  74. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js +72 -72
  75. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js +1 -1
  76. package/dist/SeeqActionDropdown/index.js +1 -1
  77. package/dist/SeeqActionDropdown/variants.js +22 -22
  78. package/dist/Select/Select.js +173 -173
  79. package/dist/Select/Select.stories.js +79 -79
  80. package/dist/Select/Select.test.js +181 -181
  81. package/dist/Select/Select.types.js +1 -1
  82. package/dist/Select/index.js +2 -2
  83. package/dist/Slider/Slider.js +12 -12
  84. package/dist/Slider/Slider.stories.js +57 -57
  85. package/dist/Slider/Slider.test.js +32 -32
  86. package/dist/Slider/Slider.types.js +1 -1
  87. package/dist/Slider/index.js +1 -1
  88. package/dist/Tabs/Tabs.js +21 -21
  89. package/dist/Tabs/Tabs.stories.js +90 -90
  90. package/dist/Tabs/Tabs.test.js +90 -90
  91. package/dist/Tabs/Tabs.types.js +1 -1
  92. package/dist/Tabs/index.js +1 -1
  93. package/dist/TextArea/TextArea.js +24 -24
  94. package/dist/TextArea/TextArea.stories.js +45 -45
  95. package/dist/TextArea/TextArea.test.js +67 -67
  96. package/dist/TextArea/TextArea.types.js +1 -1
  97. package/dist/TextArea/index.js +1 -1
  98. package/dist/TextField/TextField.js +78 -78
  99. package/dist/TextField/TextField.stories.js +69 -69
  100. package/dist/TextField/TextField.test.js +38 -38
  101. package/dist/TextField/TextField.types.js +1 -1
  102. package/dist/TextField/index.js +1 -1
  103. package/dist/ToolbarButton/ToolbarButton.js +74 -74
  104. package/dist/ToolbarButton/ToolbarButton.stories.js +93 -93
  105. package/dist/ToolbarButton/ToolbarButton.test.js +92 -92
  106. package/dist/ToolbarButton/ToolbarButton.types.js +1 -1
  107. package/dist/ToolbarButton/index.js +1 -1
  108. package/dist/Tooltip/QTip.stories.js +44 -44
  109. package/dist/Tooltip/QTip.types.js +1 -1
  110. package/dist/Tooltip/QTipPerformance.stories.js +29 -29
  111. package/dist/Tooltip/Qtip.js +167 -167
  112. package/dist/Tooltip/Tooltip.js +35 -35
  113. package/dist/Tooltip/Tooltip.stories.js +31 -31
  114. package/dist/Tooltip/Tooltip.types.js +2 -2
  115. package/dist/Tooltip/TooltipPerformance.stories.js +29 -29
  116. package/dist/Tooltip/index.js +2 -2
  117. package/dist/Tooltip/qTip.utilities.js +10 -10
  118. package/dist/example/.eslintrc.cjs +14 -14
  119. package/dist/example/README.md +33 -33
  120. package/dist/example/index.html +13 -13
  121. package/dist/example/package.json +30 -30
  122. package/dist/example/src/ComplexSelectExample.tsx +81 -81
  123. package/dist/example/src/Example.tsx +408 -408
  124. package/dist/example/src/index.css +102 -102
  125. package/dist/example/src/main.tsx +10 -10
  126. package/dist/example/src/vite-env.d.ts +1 -1
  127. package/dist/example/tsconfig.json +33 -33
  128. package/dist/example/tsconfig.node.json +12 -12
  129. package/dist/example/vite.config.ts +12 -12
  130. package/dist/index.esm.js +1229 -31
  131. package/dist/index.esm.js.map +1 -1
  132. package/dist/index.js +1229 -31
  133. package/dist/index.js.map +1 -1
  134. package/dist/styles.css +3714 -3709
  135. package/dist/types.js +1 -1
  136. package/dist/utils/browserId.js +28 -28
  137. package/dist/utils/svg.js +19 -19
  138. package/dist/utils/validateStyleDimension.js +13 -13
  139. package/dist/utils/validateStyleDimension.test.js +19 -19
  140. package/package.json +88 -86
@@ -1,48 +1,48 @@
1
- import React from 'react';
2
- import '@testing-library/jest-dom';
3
- import { act, render, fireEvent, screen } from '@testing-library/react';
4
- import Carousel from './Carousel';
5
- describe('Carousel Component', () => {
6
- const mockOnSlide = jest.fn();
7
- const carouselItems = [React.createElement("div", { key: "1" }, "Slide 1"), React.createElement("div", { key: "2" }, "Slide 2"), React.createElement("div", { key: "3" }, "Slide 3")];
8
- it('renders correctly', () => {
9
- render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems }));
10
- expect(screen.getByTestId('carousel')).toBeInTheDocument();
11
- });
12
- it('shows the correct initial slide', () => {
13
- render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, activeIndex: 1 }));
14
- expect(screen.getByText('Slide 2')).toBeInTheDocument();
15
- });
16
- it('calls onSlide when next button is clicked', () => {
17
- render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, onSlide: mockOnSlide }));
18
- const nextButton = screen.getByTestId('carousel-next');
19
- fireEvent.click(nextButton);
20
- expect(mockOnSlide).toHaveBeenCalledWith(1, 'right');
21
- });
22
- it('calls onSlide when previous button is clicked', () => {
23
- render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, onSlide: mockOnSlide, activeIndex: 1 }));
24
- const prevButton = screen.getByTestId('carousel-prev');
25
- fireEvent.click(prevButton);
26
- expect(mockOnSlide).toHaveBeenCalledWith(0, 'left');
27
- });
28
- it('does not move past the last slide', () => {
29
- render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, activeIndex: 2, continuous: false }));
30
- const nextButton = screen.queryByTestId('carousel-next');
31
- expect(nextButton).toHaveClass('tw-invisible');
32
- });
33
- it('autoSlides correctly', async () => {
34
- jest.useFakeTimers();
35
- render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, autoSlide: true, interval: 1000 }));
36
- expect(screen.getByText('Slide 1')).toBeInTheDocument();
37
- act(() => {
38
- jest.advanceTimersByTime(1000);
39
- });
40
- expect(screen.getByText('Slide 2')).toBeInTheDocument();
41
- act(() => {
42
- jest.advanceTimersByTime(1000);
43
- });
44
- expect(screen.getByText('Slide 3')).toBeInTheDocument();
45
- jest.useRealTimers();
46
- });
47
- });
1
+ import React from 'react';
2
+ import '@testing-library/jest-dom';
3
+ import { act, render, fireEvent, screen } from '@testing-library/react';
4
+ import Carousel from './Carousel';
5
+ describe('Carousel Component', () => {
6
+ const mockOnSlide = jest.fn();
7
+ const carouselItems = [React.createElement("div", { key: "1" }, "Slide 1"), React.createElement("div", { key: "2" }, "Slide 2"), React.createElement("div", { key: "3" }, "Slide 3")];
8
+ it('renders correctly', () => {
9
+ render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems }));
10
+ expect(screen.getByTestId('carousel')).toBeInTheDocument();
11
+ });
12
+ it('shows the correct initial slide', () => {
13
+ render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, activeIndex: 1 }));
14
+ expect(screen.getByText('Slide 2')).toBeInTheDocument();
15
+ });
16
+ it('calls onSlide when next button is clicked', () => {
17
+ render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, onSlide: mockOnSlide }));
18
+ const nextButton = screen.getByTestId('carousel-next');
19
+ fireEvent.click(nextButton);
20
+ expect(mockOnSlide).toHaveBeenCalledWith(1, 'right');
21
+ });
22
+ it('calls onSlide when previous button is clicked', () => {
23
+ render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, onSlide: mockOnSlide, activeIndex: 1 }));
24
+ const prevButton = screen.getByTestId('carousel-prev');
25
+ fireEvent.click(prevButton);
26
+ expect(mockOnSlide).toHaveBeenCalledWith(0, 'left');
27
+ });
28
+ it('does not move past the last slide', () => {
29
+ render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, activeIndex: 2, continuous: false }));
30
+ const nextButton = screen.queryByTestId('carousel-next');
31
+ expect(nextButton).toHaveClass('tw-invisible');
32
+ });
33
+ it('autoSlides correctly', async () => {
34
+ jest.useFakeTimers();
35
+ render(React.createElement(Carousel, { testId: "carousel", carouselItems: carouselItems, autoSlide: true, interval: 1000 }));
36
+ expect(screen.getByText('Slide 1')).toBeInTheDocument();
37
+ act(() => {
38
+ jest.advanceTimersByTime(1000);
39
+ });
40
+ expect(screen.getByText('Slide 2')).toBeInTheDocument();
41
+ act(() => {
42
+ jest.advanceTimersByTime(1000);
43
+ });
44
+ expect(screen.getByText('Slide 3')).toBeInTheDocument();
45
+ jest.useRealTimers();
46
+ });
47
+ });
48
48
  //# sourceMappingURL=Carousel.test.js.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=Carousel.types.js.map
@@ -1,2 +1,2 @@
1
- export { default } from './Carousel';
1
+ export { default } from './Carousel';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,26 +1,26 @@
1
- import React from 'react';
2
- import '../styles.css';
3
- import { getQTipData } from '../Tooltip/qTip.utilities';
4
- const alignment = 'tw-flex';
5
- const labelClasses = 'tw-ml-1.5 tw-text-sm tw--mt-0.5';
6
- const baseClasses = 'tw-border-1 tw-h-3.5 tw-w-3.5 focus:tw-ring-0 focus:tw-ring-offset-0 tw-outline-none focus:tw-outline-none' +
7
- ' dark:tw-bg-sq-dark-background dark:tw-border-sq-dark-text dark:hover:tw-bg-sq-dark-background' +
8
- ' checked:tw-text-white checked:tw-border-sq-text-color checked:hover:tw-border-sq-color-dark' +
9
- ' checked:active:tw-border-sq-color-dark checked:focus:tw-border-sq-color-dark disabled:tw-border-sq-disabled-gray' +
10
- ' dark:disabled:tw-border-sq-fairly-dark-gray dark:checked:focus:tw-bg-sq-dark-background';
11
- const checkboxClasses = `tw-form-checkbox tw-rounded ${baseClasses}`;
12
- const radioClasses = `tw-form-radio ${baseClasses}`;
13
- /**
14
- * Checkbox and Radio Box Component.
15
- */
16
- export const Checkbox = (props) => {
17
- const { type = 'checkbox', value, disabled = false, label, onChange, onClick, onKeyDown, checked, defaultChecked, id, name, extraClassNames, extraLabelClassNames, testId, ...tooltipProps } = props;
18
- const assignedId = id ?? 'checkbox_' + Math.random();
19
- const tooltipData = getQTipData(tooltipProps);
20
- return (React.createElement("span", { className: `${alignment} ${extraClassNames}` },
21
- React.createElement("input", { value: value, type: type, "data-testid": testId, name: name, id: assignedId, readOnly: !onChange, checked: checked, defaultChecked: defaultChecked, className: `${type === 'checkbox' ? checkboxClasses : radioClasses} ${disabled ? 'tw-cursor-not-allowed' : 'tw-cursor-pointer'}`, disabled: disabled, onClick: onClick, onChange: onChange, onKeyDown: onKeyDown, ...tooltipData }),
22
- React.createElement("label", { htmlFor: assignedId, className: `${labelClasses} ${extraLabelClassNames} ${disabled
23
- ? 'tw-cursor-not-allowed dark:tw-text-sq-fairly-dark-gray tw-text-sq-fairly-dark-gray'
24
- : 'tw-cursor-pointer tw-text-sq-text-color dark:tw-text-sq-dark-text'}` }, label)));
25
- };
1
+ import React from 'react';
2
+ import '../styles.css';
3
+ import { getQTipData } from '../Tooltip/qTip.utilities';
4
+ const alignment = 'tw-flex';
5
+ const labelClasses = 'tw-ml-1.5 tw-text-sm tw--mt-0.5';
6
+ const baseClasses = 'tw-border-1 tw-h-3.5 tw-w-3.5 focus:tw-ring-0 focus:tw-ring-offset-0 tw-outline-none focus:tw-outline-none' +
7
+ ' dark:tw-bg-sq-dark-background dark:tw-border-sq-dark-text dark:hover:tw-bg-sq-dark-background' +
8
+ ' checked:tw-text-white checked:tw-border-sq-text-color checked:hover:tw-border-sq-color-dark' +
9
+ ' checked:active:tw-border-sq-color-dark checked:focus:tw-border-sq-color-dark disabled:tw-border-sq-disabled-gray' +
10
+ ' dark:disabled:tw-border-sq-fairly-dark-gray dark:checked:focus:tw-bg-sq-dark-background';
11
+ const checkboxClasses = `tw-form-checkbox tw-rounded ${baseClasses}`;
12
+ const radioClasses = `tw-form-radio ${baseClasses}`;
13
+ /**
14
+ * Checkbox and Radio Box Component.
15
+ */
16
+ export const Checkbox = (props) => {
17
+ const { type = 'checkbox', value, disabled = false, label, onChange, onClick, onKeyDown, checked, defaultChecked, id, name, extraClassNames, extraLabelClassNames, testId, ...tooltipProps } = props;
18
+ const assignedId = id ?? 'checkbox_' + Math.random();
19
+ const tooltipData = getQTipData(tooltipProps);
20
+ return (React.createElement("span", { className: `${alignment} ${extraClassNames}` },
21
+ React.createElement("input", { value: value, type: type, "data-testid": testId, name: name, id: assignedId, readOnly: !onChange, checked: checked, defaultChecked: defaultChecked, className: `${type === 'checkbox' ? checkboxClasses : radioClasses} ${disabled ? 'tw-cursor-not-allowed' : 'tw-cursor-pointer'}`, disabled: disabled, onClick: onClick, onChange: onChange, onKeyDown: onKeyDown, ...tooltipData }),
22
+ React.createElement("label", { htmlFor: assignedId, className: `${labelClasses} ${extraLabelClassNames} ${disabled
23
+ ? 'tw-cursor-not-allowed dark:tw-text-sq-fairly-dark-gray tw-text-sq-fairly-dark-gray'
24
+ : 'tw-cursor-pointer tw-text-sq-text-color dark:tw-text-sq-dark-text'}` }, label)));
25
+ };
26
26
  //# sourceMappingURL=Checkbox.js.map
@@ -1,34 +1,34 @@
1
- import React from 'react';
2
- import { Checkbox } from './Checkbox';
3
- import { QTip } from '../Tooltip';
4
- export default {
5
- title: 'Checkbox',
6
- };
7
- export const AllCheckboxes = () => {
8
- const getDisplay = (type) => (React.createElement(React.Fragment, null,
9
- React.createElement(QTip, null),
10
- React.createElement("div", { className: "tw-p-4" },
11
- React.createElement(Checkbox, { value: "a", type: type, checked: true, label: 'with Label', tooltip: "Checkbox Tooltip" })),
12
- React.createElement("div", { className: "tw-p-4" },
13
- React.createElement(Checkbox, { value: "d", type: type, checked: false, disabled: true, label: React.createElement("div", null,
14
- "Disabled",
15
- React.createElement("br", null),
16
- "multi-Line"), tooltip: "Checkbox Tooltip" })),
17
- React.createElement("div", { className: "tw-p-4" },
18
- React.createElement(Checkbox, { value: "d", type: type, checked: true, disabled: true, label: "Disabled", tooltip: "Checkbox Tooltip" })),
19
- React.createElement("div", { className: "tw-p-4" },
20
- React.createElement(Checkbox, { value: "b", type: type, checked: true, tooltip: "Checkbox Tooltip" })),
21
- React.createElement("div", { className: "tw-p-4" },
22
- React.createElement(Checkbox, { value: "c", type: type, checked: false, tooltip: "Checkbox Tooltip" }))));
23
- const renderAllVariations = (type) => (React.createElement(React.Fragment, null,
24
- React.createElement("div", { className: "tw-p-4 light" }, getDisplay(type)),
25
- React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" }, getDisplay(type))));
26
- return (React.createElement("div", { className: "tw-grid tw-grid-cols-2 tw-gap-4" },
27
- React.createElement("div", null,
28
- React.createElement("b", null, "Checkbox"),
29
- renderAllVariations('checkbox')),
30
- React.createElement("div", null,
31
- React.createElement("b", null, "Radios"),
32
- renderAllVariations('radio'))));
33
- };
1
+ import React from 'react';
2
+ import { Checkbox } from './Checkbox';
3
+ import { QTip } from '../Tooltip';
4
+ export default {
5
+ title: 'Checkbox',
6
+ };
7
+ export const AllCheckboxes = () => {
8
+ const getDisplay = (type) => (React.createElement(React.Fragment, null,
9
+ React.createElement(QTip, null),
10
+ React.createElement("div", { className: "tw-p-4" },
11
+ React.createElement(Checkbox, { value: "a", type: type, checked: true, label: 'with Label', tooltip: "Checkbox Tooltip" })),
12
+ React.createElement("div", { className: "tw-p-4" },
13
+ React.createElement(Checkbox, { value: "d", type: type, checked: false, disabled: true, label: React.createElement("div", null,
14
+ "Disabled",
15
+ React.createElement("br", null),
16
+ "multi-Line"), tooltip: "Checkbox Tooltip" })),
17
+ React.createElement("div", { className: "tw-p-4" },
18
+ React.createElement(Checkbox, { value: "d", type: type, checked: true, disabled: true, label: "Disabled", tooltip: "Checkbox Tooltip" })),
19
+ React.createElement("div", { className: "tw-p-4" },
20
+ React.createElement(Checkbox, { value: "b", type: type, checked: true, tooltip: "Checkbox Tooltip" })),
21
+ React.createElement("div", { className: "tw-p-4" },
22
+ React.createElement(Checkbox, { value: "c", type: type, checked: false, tooltip: "Checkbox Tooltip" }))));
23
+ const renderAllVariations = (type) => (React.createElement(React.Fragment, null,
24
+ React.createElement("div", { className: "tw-p-4 light" }, getDisplay(type)),
25
+ React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" }, getDisplay(type))));
26
+ return (React.createElement("div", { className: "tw-grid tw-grid-cols-2 tw-gap-4" },
27
+ React.createElement("div", null,
28
+ React.createElement("b", null, "Checkbox"),
29
+ renderAllVariations('checkbox')),
30
+ React.createElement("div", null,
31
+ React.createElement("b", null, "Radios"),
32
+ renderAllVariations('radio'))));
33
+ };
34
34
  //# sourceMappingURL=Checkbox.stories.js.map
@@ -1,94 +1,94 @@
1
- import React from 'react';
2
- import '@testing-library/jest-dom';
3
- import { render, screen } from '@testing-library/react';
4
- import { Checkbox } from './Checkbox';
5
- import userEvent from '@testing-library/user-event';
6
- describe('Checkbox', () => {
7
- class Context {
8
- testId = 'checkboxTestId';
9
- props = {
10
- onChange: jest.fn(),
11
- checked: false,
12
- testId: this.testId,
13
- };
14
- }
15
- let tc;
16
- beforeEach(() => {
17
- tc = new Context();
18
- });
19
- const renderCheckbox = (props) => render(React.createElement(Checkbox, { ...props }));
20
- it('renders checkbox', () => {
21
- renderCheckbox(tc.props);
22
- expect(screen.getByTestId(tc.testId)).toBeInTheDocument();
23
- });
24
- it('renders radio', () => {
25
- renderCheckbox({ ...tc.props, type: 'radio' });
26
- expect(screen.getByTestId(tc.testId)).toHaveProperty('type', 'radio');
27
- });
28
- it('renders label', () => {
29
- const label = 'look at this checkbox!';
30
- renderCheckbox({ ...tc.props, label });
31
- expect(screen.getByText(label)).toBeInTheDocument();
32
- });
33
- it('respects checked', () => {
34
- renderCheckbox({ ...tc.props, checked: true });
35
- expect(screen.getByTestId(tc.testId)).toBeChecked();
36
- });
37
- it('calls onChange handler', async () => {
38
- const onChange = jest.fn();
39
- renderCheckbox({ ...tc.props, onChange });
40
- await userEvent.click(screen.getByTestId(tc.testId));
41
- expect(onChange).toHaveBeenCalled();
42
- });
43
- it('calls onKeyDown handler', async () => {
44
- const onKeyDown = jest.fn();
45
- renderCheckbox({ ...tc.props, onKeyDown });
46
- await userEvent.type(screen.getByTestId(tc.testId), 'a');
47
- expect(onKeyDown).toHaveBeenCalled();
48
- });
49
- it('calls onClickHandler handler', async () => {
50
- const onClick = jest.fn();
51
- renderCheckbox({ ...tc.props, onClick });
52
- await userEvent.click(screen.getByTestId(tc.testId));
53
- expect(onClick).toHaveBeenCalled();
54
- });
55
- it('respects disabled', () => {
56
- renderCheckbox({ ...tc.props, disabled: true });
57
- expect(screen.getByTestId(tc.testId)).not.toBeEnabled();
58
- });
59
- it('renders label clickable', async () => {
60
- const label = 'amazing checkbox';
61
- const onClick = jest.fn();
62
- renderCheckbox({ ...tc.props, label, onClick });
63
- expect(screen.getByTestId(tc.testId)).not.toBeChecked();
64
- await userEvent.click(screen.getByText(label));
65
- expect(onClick).toHaveBeenCalled();
66
- });
67
- it('respects id', () => {
68
- const id = 'checkboxId';
69
- renderCheckbox({ ...tc.props, id });
70
- expect(screen.getByTestId(tc.testId)).toHaveProperty('id', id);
71
- });
72
- it('respects name', () => {
73
- const name = 'checkboxName';
74
- renderCheckbox({ ...tc.props, name });
75
- expect(screen.getByTestId(tc.testId)).toHaveProperty('name', name);
76
- });
77
- it('respects name', () => {
78
- const value = 'priceless';
79
- renderCheckbox({ ...tc.props, value });
80
- expect(screen.getByTestId(tc.testId)).toHaveProperty('value', value);
81
- });
82
- it('applies extraClassNames', () => {
83
- const extraClassNames = 'extra styling so fancy';
84
- renderCheckbox({ ...tc.props, extraClassNames });
85
- expect(screen.getByTestId(tc.testId).parentNode).toHaveClass(extraClassNames);
86
- });
87
- it('applies extraLabelClassNames', () => {
88
- const extraLabelClassNames = 'special label';
89
- const label = 'amazing checkbox';
90
- renderCheckbox({ ...tc.props, extraLabelClassNames, label });
91
- expect(screen.getByText(label)).toHaveClass(extraLabelClassNames);
92
- });
93
- });
1
+ import React from 'react';
2
+ import '@testing-library/jest-dom';
3
+ import { render, screen } from '@testing-library/react';
4
+ import { Checkbox } from './Checkbox';
5
+ import userEvent from '@testing-library/user-event';
6
+ describe('Checkbox', () => {
7
+ class Context {
8
+ testId = 'checkboxTestId';
9
+ props = {
10
+ onChange: jest.fn(),
11
+ checked: false,
12
+ testId: this.testId,
13
+ };
14
+ }
15
+ let tc;
16
+ beforeEach(() => {
17
+ tc = new Context();
18
+ });
19
+ const renderCheckbox = (props) => render(React.createElement(Checkbox, { ...props }));
20
+ it('renders checkbox', () => {
21
+ renderCheckbox(tc.props);
22
+ expect(screen.getByTestId(tc.testId)).toBeInTheDocument();
23
+ });
24
+ it('renders radio', () => {
25
+ renderCheckbox({ ...tc.props, type: 'radio' });
26
+ expect(screen.getByTestId(tc.testId)).toHaveProperty('type', 'radio');
27
+ });
28
+ it('renders label', () => {
29
+ const label = 'look at this checkbox!';
30
+ renderCheckbox({ ...tc.props, label });
31
+ expect(screen.getByText(label)).toBeInTheDocument();
32
+ });
33
+ it('respects checked', () => {
34
+ renderCheckbox({ ...tc.props, checked: true });
35
+ expect(screen.getByTestId(tc.testId)).toBeChecked();
36
+ });
37
+ it('calls onChange handler', async () => {
38
+ const onChange = jest.fn();
39
+ renderCheckbox({ ...tc.props, onChange });
40
+ await userEvent.click(screen.getByTestId(tc.testId));
41
+ expect(onChange).toHaveBeenCalled();
42
+ });
43
+ it('calls onKeyDown handler', async () => {
44
+ const onKeyDown = jest.fn();
45
+ renderCheckbox({ ...tc.props, onKeyDown });
46
+ await userEvent.type(screen.getByTestId(tc.testId), 'a');
47
+ expect(onKeyDown).toHaveBeenCalled();
48
+ });
49
+ it('calls onClickHandler handler', async () => {
50
+ const onClick = jest.fn();
51
+ renderCheckbox({ ...tc.props, onClick });
52
+ await userEvent.click(screen.getByTestId(tc.testId));
53
+ expect(onClick).toHaveBeenCalled();
54
+ });
55
+ it('respects disabled', () => {
56
+ renderCheckbox({ ...tc.props, disabled: true });
57
+ expect(screen.getByTestId(tc.testId)).not.toBeEnabled();
58
+ });
59
+ it('renders label clickable', async () => {
60
+ const label = 'amazing checkbox';
61
+ const onClick = jest.fn();
62
+ renderCheckbox({ ...tc.props, label, onClick });
63
+ expect(screen.getByTestId(tc.testId)).not.toBeChecked();
64
+ await userEvent.click(screen.getByText(label));
65
+ expect(onClick).toHaveBeenCalled();
66
+ });
67
+ it('respects id', () => {
68
+ const id = 'checkboxId';
69
+ renderCheckbox({ ...tc.props, id });
70
+ expect(screen.getByTestId(tc.testId)).toHaveProperty('id', id);
71
+ });
72
+ it('respects name', () => {
73
+ const name = 'checkboxName';
74
+ renderCheckbox({ ...tc.props, name });
75
+ expect(screen.getByTestId(tc.testId)).toHaveProperty('name', name);
76
+ });
77
+ it('respects name', () => {
78
+ const value = 'priceless';
79
+ renderCheckbox({ ...tc.props, value });
80
+ expect(screen.getByTestId(tc.testId)).toHaveProperty('value', value);
81
+ });
82
+ it('applies extraClassNames', () => {
83
+ const extraClassNames = 'extra styling so fancy';
84
+ renderCheckbox({ ...tc.props, extraClassNames });
85
+ expect(screen.getByTestId(tc.testId).parentNode).toHaveClass(extraClassNames);
86
+ });
87
+ it('applies extraLabelClassNames', () => {
88
+ const extraLabelClassNames = 'special label';
89
+ const label = 'amazing checkbox';
90
+ renderCheckbox({ ...tc.props, extraLabelClassNames, label });
91
+ expect(screen.getByText(label)).toHaveClass(extraLabelClassNames);
92
+ });
93
+ });
94
94
  //# sourceMappingURL=Checkbox.test.js.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=Checkbox.types.js.map
@@ -1,2 +1,2 @@
1
- export { Checkbox as default } from './Checkbox';
1
+ export { Checkbox as default } from './Checkbox';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,18 +1,18 @@
1
- import React, { useRef, useEffect, useState } from 'react';
2
- import { animated, useSpring } from '@react-spring/web';
3
- const Collapse = ({ isVisible, children }) => {
4
- const contentRef = useRef(null);
5
- const [contentHeight, setContentHeight] = useState(contentRef.current?.scrollHeight);
6
- useEffect(() => {
7
- if (contentRef.current) {
8
- setContentHeight(contentRef.current?.scrollHeight ?? 0);
9
- }
10
- }, [children]);
11
- const styles = useSpring({
12
- opacity: isVisible ? 1 : 0,
13
- height: isVisible ? contentHeight : 0,
14
- });
15
- return React.createElement(animated.div, { style: styles }, isVisible ? React.createElement("div", { ref: contentRef }, children) : undefined);
16
- };
17
- export default Collapse;
1
+ import React, { useRef, useEffect, useState } from 'react';
2
+ import { animated, useSpring } from '@react-spring/web';
3
+ const Collapse = ({ isVisible, children }) => {
4
+ const contentRef = useRef(null);
5
+ const [contentHeight, setContentHeight] = useState(contentRef.current?.scrollHeight);
6
+ useEffect(() => {
7
+ if (contentRef.current) {
8
+ setContentHeight(contentRef.current?.scrollHeight ?? 0);
9
+ }
10
+ }, [children]);
11
+ const styles = useSpring({
12
+ opacity: isVisible ? 1 : 0,
13
+ height: isVisible ? contentHeight : 0,
14
+ });
15
+ return React.createElement(animated.div, { style: styles }, isVisible ? React.createElement("div", { ref: contentRef }, children) : undefined);
16
+ };
17
+ export default Collapse;
18
18
  //# sourceMappingURL=Collapse.js.map
@@ -1,37 +1,37 @@
1
- import React from 'react';
2
- import Collapse from './Collapse';
3
- import { QTip } from '../Tooltip';
4
- import Button from '../Button';
5
- export default {
6
- title: 'Collapse',
7
- };
8
- export const AllCollapses = () => {
9
- const [isVisible, setIsVisible] = React.useState(true);
10
- const renderChild = () => (React.createElement("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white" },
11
- React.createElement("p", { className: "tw-mb-5 tw-text-[15px] tw-leading-normal" }, "This is a content to be shown when the collapse is visible. Click the button above to toggle it"),
12
- React.createElement(Button, { variant: "outline", label: "Save data" })));
13
- const renderAllVariations = () => (React.createElement(React.Fragment, null,
14
- React.createElement("div", { className: "tw-p-4 light" },
15
- React.createElement("div", { className: "tw-p-4" },
16
- React.createElement(Button, { variant: "theme", label: "Toggle Collapse", onClick: () => setIsVisible(!isVisible) }),
17
- React.createElement(Collapse, { isVisible: isVisible }, renderChild()))),
18
- React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
19
- React.createElement("div", { className: "tw-p-4" },
20
- React.createElement(Button, { variant: "theme", label: "Toggle Collapse", onClick: () => setIsVisible(!isVisible) }),
21
- React.createElement(Collapse, { isVisible: isVisible }, renderChild())))));
22
- return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
23
- React.createElement(QTip, null),
24
- React.createElement("div", { className: "color_topic" },
25
- React.createElement("b", null, "Topic Colors"),
26
- renderAllVariations()),
27
- React.createElement("div", { className: "color_analysis" },
28
- React.createElement("b", null, "Analysis Colors"),
29
- renderAllVariations()),
30
- React.createElement("div", { className: "color_datalab" },
31
- React.createElement("b", null, "Datalab Colors"),
32
- renderAllVariations()),
33
- React.createElement("div", { className: "color_vantage" },
34
- React.createElement("b", null, "Vantage Colors"),
35
- renderAllVariations())));
36
- };
1
+ import React from 'react';
2
+ import Collapse from './Collapse';
3
+ import { QTip } from '../Tooltip';
4
+ import Button from '../Button';
5
+ export default {
6
+ title: 'Collapse',
7
+ };
8
+ export const AllCollapses = () => {
9
+ const [isVisible, setIsVisible] = React.useState(true);
10
+ const renderChild = () => (React.createElement("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white" },
11
+ React.createElement("p", { className: "tw-mb-5 tw-text-[15px] tw-leading-normal" }, "This is a content to be shown when the collapse is visible. Click the button above to toggle it"),
12
+ React.createElement(Button, { variant: "outline", label: "Save data" })));
13
+ const renderAllVariations = () => (React.createElement(React.Fragment, null,
14
+ React.createElement("div", { className: "tw-p-4 light" },
15
+ React.createElement("div", { className: "tw-p-4" },
16
+ React.createElement(Button, { variant: "theme", label: "Toggle Collapse", onClick: () => setIsVisible(!isVisible) }),
17
+ React.createElement(Collapse, { isVisible: isVisible }, renderChild()))),
18
+ React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background" },
19
+ React.createElement("div", { className: "tw-p-4" },
20
+ React.createElement(Button, { variant: "theme", label: "Toggle Collapse", onClick: () => setIsVisible(!isVisible) }),
21
+ React.createElement(Collapse, { isVisible: isVisible }, renderChild())))));
22
+ return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" },
23
+ React.createElement(QTip, null),
24
+ React.createElement("div", { className: "color_topic" },
25
+ React.createElement("b", null, "Topic Colors"),
26
+ renderAllVariations()),
27
+ React.createElement("div", { className: "color_analysis" },
28
+ React.createElement("b", null, "Analysis Colors"),
29
+ renderAllVariations()),
30
+ React.createElement("div", { className: "color_datalab" },
31
+ React.createElement("b", null, "Datalab Colors"),
32
+ renderAllVariations()),
33
+ React.createElement("div", { className: "color_vantage" },
34
+ React.createElement("b", null, "Vantage Colors"),
35
+ renderAllVariations())));
36
+ };
37
37
  //# sourceMappingURL=Collapse.stories.js.map
@@ -1,19 +1,19 @@
1
- import React from 'react';
2
- import { render, screen, waitFor } from '@testing-library/react';
3
- import '@testing-library/jest-dom';
4
- import Collapse from './Collapse';
5
- describe('Collapse component', () => {
6
- test('renders children when visible', async () => {
7
- render(React.createElement(Collapse, { isVisible: true },
8
- React.createElement("div", { "data-testid": "content" }, "Content")));
9
- await waitFor(() => {
10
- expect(screen.getByTestId('content')).toBeVisible();
11
- });
12
- });
13
- test('does not render children when not visible', async () => {
14
- render(React.createElement(Collapse, { isVisible: false },
15
- React.createElement("div", { "data-testid": "content" }, "Content")));
16
- expect(screen.queryByTestId('content')).not.toBeInTheDocument();
17
- });
18
- });
1
+ import React from 'react';
2
+ import { render, screen, waitFor } from '@testing-library/react';
3
+ import '@testing-library/jest-dom';
4
+ import Collapse from './Collapse';
5
+ describe('Collapse component', () => {
6
+ test('renders children when visible', async () => {
7
+ render(React.createElement(Collapse, { isVisible: true },
8
+ React.createElement("div", { "data-testid": "content" }, "Content")));
9
+ await waitFor(() => {
10
+ expect(screen.getByTestId('content')).toBeVisible();
11
+ });
12
+ });
13
+ test('does not render children when not visible', async () => {
14
+ render(React.createElement(Collapse, { isVisible: false },
15
+ React.createElement("div", { "data-testid": "content" }, "Content")));
16
+ expect(screen.queryByTestId('content')).not.toBeInTheDocument();
17
+ });
18
+ });
19
19
  //# sourceMappingURL=Collapse.test.js.map
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=Collapse.types.js.map
@@ -1,2 +1,2 @@
1
- export { default } from './Collapse';
1
+ export { default } from './Collapse';
2
2
  //# sourceMappingURL=index.js.map