@seeqdev/qomponents 0.0.135 → 0.0.136

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 (243) hide show
  1. package/dist/Accordion/Accordion.js +9 -0
  2. package/dist/Accordion/Accordion.js.map +1 -0
  3. package/dist/Accordion/Accordion.stories.js +115 -0
  4. package/dist/Accordion/Accordion.stories.js.map +1 -0
  5. package/dist/Accordion/Accordion.test.js +55 -0
  6. package/dist/Accordion/Accordion.test.js.map +1 -0
  7. package/dist/Accordion/Accordion.types.js +2 -0
  8. package/dist/Accordion/Accordion.types.js.map +1 -0
  9. package/dist/Accordion/index.js +2 -0
  10. package/dist/Accordion/index.js.map +1 -0
  11. package/dist/Alert/Alert.js +34 -0
  12. package/dist/Alert/Alert.js.map +1 -0
  13. package/dist/Alert/Alert.stories.js +52 -0
  14. package/dist/Alert/Alert.stories.js.map +1 -0
  15. package/dist/Alert/Alert.test.js +51 -0
  16. package/dist/Alert/Alert.test.js.map +1 -0
  17. package/dist/Alert/Alert.types.js +2 -0
  18. package/dist/Alert/Alert.types.js.map +1 -0
  19. package/dist/Alert/index.js +2 -0
  20. package/dist/Alert/index.js.map +1 -0
  21. package/dist/Button/Button.js +92 -0
  22. package/dist/Button/Button.js.map +1 -0
  23. package/dist/Button/Button.stories.js +100 -0
  24. package/dist/Button/Button.stories.js.map +1 -0
  25. package/dist/Button/Button.test.js +49 -0
  26. package/dist/Button/Button.test.js.map +1 -0
  27. package/dist/Button/Button.types.js +5 -0
  28. package/dist/Button/Button.types.js.map +1 -0
  29. package/dist/Button/index.js +2 -0
  30. package/dist/Button/index.js.map +1 -0
  31. package/dist/ButtonGroup/ButtonGroup.js +33 -0
  32. package/dist/ButtonGroup/ButtonGroup.js.map +1 -0
  33. package/dist/ButtonGroup/ButtonGroup.stories.js +385 -0
  34. package/dist/ButtonGroup/ButtonGroup.stories.js.map +1 -0
  35. package/dist/ButtonGroup/ButtonGroup.test.js +67 -0
  36. package/dist/ButtonGroup/ButtonGroup.test.js.map +1 -0
  37. package/dist/ButtonGroup/ButtonGroup.types.js +2 -0
  38. package/dist/ButtonGroup/ButtonGroup.types.js.map +1 -0
  39. package/dist/ButtonGroup/index.js +2 -0
  40. package/dist/ButtonGroup/index.js.map +1 -0
  41. package/dist/ButtonWithDropdown/ButtonWithDropdown.js +60 -0
  42. package/dist/ButtonWithDropdown/ButtonWithDropdown.js.map +1 -0
  43. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +143 -0
  44. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js.map +1 -0
  45. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js +93 -0
  46. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js.map +1 -0
  47. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +2 -0
  48. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js.map +1 -0
  49. package/dist/ButtonWithDropdown/index.js +2 -0
  50. package/dist/ButtonWithDropdown/index.js.map +1 -0
  51. package/dist/ButtonWithPopover/ButtonWithPopover.js +62 -0
  52. package/dist/ButtonWithPopover/ButtonWithPopover.js.map +1 -0
  53. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +75 -0
  54. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js.map +1 -0
  55. package/dist/ButtonWithPopover/ButtonWithPopover.test.js +82 -0
  56. package/dist/ButtonWithPopover/ButtonWithPopover.test.js.map +1 -0
  57. package/dist/ButtonWithPopover/ButtonWithPopover.types.js +2 -0
  58. package/dist/ButtonWithPopover/ButtonWithPopover.types.js.map +1 -0
  59. package/dist/ButtonWithPopover/index.js +2 -0
  60. package/dist/ButtonWithPopover/index.js.map +1 -0
  61. package/dist/Carousel/Carousel.js +70 -0
  62. package/dist/Carousel/Carousel.js.map +1 -0
  63. package/dist/Carousel/Carousel.stories.js +115 -0
  64. package/dist/Carousel/Carousel.stories.js.map +1 -0
  65. package/dist/Carousel/Carousel.test.js +48 -0
  66. package/dist/Carousel/Carousel.test.js.map +1 -0
  67. package/dist/Carousel/Carousel.types.js +2 -0
  68. package/dist/Carousel/Carousel.types.js.map +1 -0
  69. package/dist/Carousel/index.js +2 -0
  70. package/dist/Carousel/index.js.map +1 -0
  71. package/dist/Checkbox/Checkbox.js +26 -0
  72. package/dist/Checkbox/Checkbox.js.map +1 -0
  73. package/dist/Checkbox/Checkbox.stories.js +34 -0
  74. package/dist/Checkbox/Checkbox.stories.js.map +1 -0
  75. package/dist/Checkbox/Checkbox.test.js +94 -0
  76. package/dist/Checkbox/Checkbox.test.js.map +1 -0
  77. package/dist/Checkbox/Checkbox.types.js +2 -0
  78. package/dist/Checkbox/Checkbox.types.js.map +1 -0
  79. package/dist/Checkbox/index.js +2 -0
  80. package/dist/Checkbox/index.js.map +1 -0
  81. package/dist/Collapse/Collapse.js +15 -0
  82. package/dist/Collapse/Collapse.js.map +1 -0
  83. package/dist/Collapse/Collapse.stories.js +37 -0
  84. package/dist/Collapse/Collapse.stories.js.map +1 -0
  85. package/dist/Collapse/Collapse.test.js +19 -0
  86. package/dist/Collapse/Collapse.test.js.map +1 -0
  87. package/dist/Collapse/Collapse.types.js +2 -0
  88. package/dist/Collapse/Collapse.types.js.map +1 -0
  89. package/dist/Collapse/index.js +2 -0
  90. package/dist/Collapse/index.js.map +1 -0
  91. package/dist/Icon/Icon.js +55 -0
  92. package/dist/Icon/Icon.js.map +1 -0
  93. package/dist/Icon/Icon.stories.js +47 -0
  94. package/dist/Icon/Icon.stories.js.map +1 -0
  95. package/dist/Icon/Icon.test.js +55 -0
  96. package/dist/Icon/Icon.test.js.map +1 -0
  97. package/dist/Icon/Icon.types.js +16 -0
  98. package/dist/Icon/Icon.types.js.map +1 -0
  99. package/dist/Icon/index.js +2 -0
  100. package/dist/Icon/index.js.map +1 -0
  101. package/dist/InputGroup/InputGroup.js +32 -0
  102. package/dist/InputGroup/InputGroup.js.map +1 -0
  103. package/dist/InputGroup/InputGroup.stories.js +168 -0
  104. package/dist/InputGroup/InputGroup.stories.js.map +1 -0
  105. package/dist/InputGroup/InputGroup.test.js +43 -0
  106. package/dist/InputGroup/InputGroup.test.js.map +1 -0
  107. package/dist/InputGroup/InputGroup.types.js +2 -0
  108. package/dist/InputGroup/InputGroup.types.js.map +1 -0
  109. package/dist/InputGroup/index.js +2 -0
  110. package/dist/InputGroup/index.js.map +1 -0
  111. package/dist/Modal/Modal.js +100 -0
  112. package/dist/Modal/Modal.js.map +1 -0
  113. package/dist/Modal/Modal.stories.js +127 -0
  114. package/dist/Modal/Modal.stories.js.map +1 -0
  115. package/dist/Modal/Modal.test.js +108 -0
  116. package/dist/Modal/Modal.test.js.map +1 -0
  117. package/dist/Modal/Modal.types.js +2 -0
  118. package/dist/Modal/Modal.types.js.map +1 -0
  119. package/dist/Modal/index.js +2 -0
  120. package/dist/Modal/index.js.map +1 -0
  121. package/dist/ProgressBar/ProgressBar.js +50 -0
  122. package/dist/ProgressBar/ProgressBar.js.map +1 -0
  123. package/dist/ProgressBar/ProgressBar.stories.js +81 -0
  124. package/dist/ProgressBar/ProgressBar.stories.js.map +1 -0
  125. package/dist/ProgressBar/ProgressBar.test.js +44 -0
  126. package/dist/ProgressBar/ProgressBar.test.js.map +1 -0
  127. package/dist/ProgressBar/ProgressBar.types.js +2 -0
  128. package/dist/ProgressBar/ProgressBar.types.js.map +1 -0
  129. package/dist/ProgressBar/index.js +2 -0
  130. package/dist/ProgressBar/index.js.map +1 -0
  131. package/dist/SeeqActionDropdown/SeeqActionDropdown.js +48 -0
  132. package/dist/SeeqActionDropdown/SeeqActionDropdown.js.map +1 -0
  133. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js +80 -0
  134. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js.map +1 -0
  135. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js +73 -0
  136. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js.map +1 -0
  137. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js +2 -0
  138. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js.map +1 -0
  139. package/dist/SeeqActionDropdown/index.js +2 -0
  140. package/dist/SeeqActionDropdown/index.js.map +1 -0
  141. package/dist/SeeqActionDropdown/variants.js +23 -0
  142. package/dist/SeeqActionDropdown/variants.js.map +1 -0
  143. package/dist/Select/Select.js +174 -0
  144. package/dist/Select/Select.js.map +1 -0
  145. package/dist/Select/Select.stories.js +80 -0
  146. package/dist/Select/Select.stories.js.map +1 -0
  147. package/dist/Select/Select.test.js +182 -0
  148. package/dist/Select/Select.test.js.map +1 -0
  149. package/dist/Select/Select.types.js +2 -0
  150. package/dist/Select/Select.types.js.map +1 -0
  151. package/dist/Select/index.js +3 -0
  152. package/dist/Select/index.js.map +1 -0
  153. package/dist/Slider/Slider.js +13 -0
  154. package/dist/Slider/Slider.js.map +1 -0
  155. package/dist/Slider/Slider.stories.js +58 -0
  156. package/dist/Slider/Slider.stories.js.map +1 -0
  157. package/dist/Slider/Slider.test.js +33 -0
  158. package/dist/Slider/Slider.test.js.map +1 -0
  159. package/dist/Slider/Slider.types.js +2 -0
  160. package/dist/Slider/Slider.types.js.map +1 -0
  161. package/dist/Slider/index.js +2 -0
  162. package/dist/Slider/index.js.map +1 -0
  163. package/dist/SvgIcon/SvgIcon.d.ts +20 -0
  164. package/dist/SvgIcon/SvgIcon.stories.d.ts +6 -0
  165. package/dist/SvgIcon/SvgIcon.test.d.ts +1 -0
  166. package/dist/SvgIcon/SvgIcon.types.d.ts +25 -0
  167. package/dist/SvgIcon/index.d.ts +1 -0
  168. package/dist/Tabs/Tabs.js +22 -0
  169. package/dist/Tabs/Tabs.js.map +1 -0
  170. package/dist/Tabs/Tabs.stories.js +91 -0
  171. package/dist/Tabs/Tabs.stories.js.map +1 -0
  172. package/dist/Tabs/Tabs.test.js +91 -0
  173. package/dist/Tabs/Tabs.test.js.map +1 -0
  174. package/dist/Tabs/Tabs.types.js +2 -0
  175. package/dist/Tabs/Tabs.types.js.map +1 -0
  176. package/dist/Tabs/index.js +2 -0
  177. package/dist/Tabs/index.js.map +1 -0
  178. package/dist/TextArea/TextArea.js +25 -0
  179. package/dist/TextArea/TextArea.js.map +1 -0
  180. package/dist/TextArea/TextArea.stories.js +46 -0
  181. package/dist/TextArea/TextArea.stories.js.map +1 -0
  182. package/dist/TextArea/TextArea.test.js +68 -0
  183. package/dist/TextArea/TextArea.test.js.map +1 -0
  184. package/dist/TextArea/TextArea.types.js +2 -0
  185. package/dist/TextArea/TextArea.types.js.map +1 -0
  186. package/dist/TextArea/index.js +2 -0
  187. package/dist/TextArea/index.js.map +1 -0
  188. package/dist/TextField/TextField.js +79 -0
  189. package/dist/TextField/TextField.js.map +1 -0
  190. package/dist/TextField/TextField.stories.js +70 -0
  191. package/dist/TextField/TextField.stories.js.map +1 -0
  192. package/dist/TextField/TextField.test.js +39 -0
  193. package/dist/TextField/TextField.test.js.map +1 -0
  194. package/dist/TextField/TextField.types.js +2 -0
  195. package/dist/TextField/TextField.types.js.map +1 -0
  196. package/dist/TextField/index.js +2 -0
  197. package/dist/TextField/index.js.map +1 -0
  198. package/dist/ToolbarButton/ToolbarButton.js +75 -0
  199. package/dist/ToolbarButton/ToolbarButton.js.map +1 -0
  200. package/dist/ToolbarButton/ToolbarButton.stories.js +94 -0
  201. package/dist/ToolbarButton/ToolbarButton.stories.js.map +1 -0
  202. package/dist/ToolbarButton/ToolbarButton.test.js +93 -0
  203. package/dist/ToolbarButton/ToolbarButton.test.js.map +1 -0
  204. package/dist/ToolbarButton/ToolbarButton.types.js +2 -0
  205. package/dist/ToolbarButton/ToolbarButton.types.js.map +1 -0
  206. package/dist/ToolbarButton/index.js +2 -0
  207. package/dist/ToolbarButton/index.js.map +1 -0
  208. package/dist/Tooltip/QTip.stories.js +45 -0
  209. package/dist/Tooltip/QTip.stories.js.map +1 -0
  210. package/dist/Tooltip/QTip.types.js +2 -0
  211. package/dist/Tooltip/QTip.types.js.map +1 -0
  212. package/dist/Tooltip/QTipPerformance.stories.js +30 -0
  213. package/dist/Tooltip/QTipPerformance.stories.js.map +1 -0
  214. package/dist/Tooltip/Qtip.js +170 -0
  215. package/dist/Tooltip/Qtip.js.map +1 -0
  216. package/dist/Tooltip/Tooltip.js +36 -0
  217. package/dist/Tooltip/Tooltip.js.map +1 -0
  218. package/dist/Tooltip/Tooltip.stories.js +32 -0
  219. package/dist/Tooltip/Tooltip.stories.js.map +1 -0
  220. package/dist/Tooltip/Tooltip.types.js +3 -0
  221. package/dist/Tooltip/Tooltip.types.js.map +1 -0
  222. package/dist/Tooltip/TooltipPerformance.stories.js +30 -0
  223. package/dist/Tooltip/TooltipPerformance.stories.js.map +1 -0
  224. package/dist/Tooltip/index.js +3 -0
  225. package/dist/Tooltip/index.js.map +1 -0
  226. package/dist/Tooltip/qTip.utilities.js +11 -0
  227. package/dist/Tooltip/qTip.utilities.js.map +1 -0
  228. package/dist/index.esm.js +947 -496
  229. package/dist/index.esm.js.map +1 -1
  230. package/dist/index.js +947 -496
  231. package/dist/index.js.map +1 -1
  232. package/dist/styles.css +12 -0
  233. package/dist/types.js +2 -0
  234. package/dist/types.js.map +1 -0
  235. package/dist/utils/browserId.js +29 -0
  236. package/dist/utils/browserId.js.map +1 -0
  237. package/dist/utils/svg.js +20 -0
  238. package/dist/utils/svg.js.map +1 -0
  239. package/dist/utils/validateStyleDimension.js +14 -0
  240. package/dist/utils/validateStyleDimension.js.map +1 -0
  241. package/dist/utils/validateStyleDimension.test.js +20 -0
  242. package/dist/utils/validateStyleDimension.test.js.map +1 -0
  243. package/package.json +49 -48
@@ -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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AACpD,OAAO,MAAM,MAAM,UAAU,CAAC;AAG9B,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,MAAM,OAAO;QACX,MAAM,GAAG,cAAc,CAAC;QACxB,KAAK,GAAG,cAAc,CAAC;QAEvB,OAAO,GAAG;YACR,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;YAChC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE;YAClC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE;SACpC,CAAC;QAEF,YAAY,GAAG;YACb,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;YAC5B,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;SAC/B,CAAC;QACF,cAAc,GAAG;YACf;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B;SACF,CAAC;QACF,KAAK,GAAgB;YACnB,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,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,KAAK,IAAI,EAAE;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAE,CAAC;QAC1D,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAE,EAAE,CAC1C,MAAM,CACJ,6BAAK,EAAE,EAAC,SAAS;QACf,oBAAC,MAAM,OAAK,KAAK,GAAI,CACjB,CACP,CAAC;IAEJ,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;QAC1D,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,cAAc,GAAG,CAAC,MAAW,EAAE,EAAE,CAAC,CACtC;YACG,MAAM,CAAC,KAAK;YACb,+BAAM;wCAEF,CACP,CAAC;QACF,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAC9C,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IAC3G,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,qBAAqB,GAAG,CAAC,MAAW,EAAE,EAAE,CAAC,CAC7C;YACG,MAAM,CAAC,KAAK;YACb,+BAAM;6BAEF,CACP,CAAC;QACF,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACrD,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,WAAW,GAAG,6BAA6B,CAAC;QAClD,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;QAChD,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC;QACzB,MAAM,WAAW,GAAG,kCAAkC,CAAC;QACvD,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/F,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QACvE,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAE,CAAC,CAAC;QACnE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAmB,EAAE,CAAC,CAAC;QAClH,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,iBAAiB,GAAG,KAAK,CAAC;QAChC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACjD,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,iBAAiB,GAAG,KAAK,CAAC;QAChC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAChE,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC3B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,OAAO,GAAG,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC;QACvB,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC9B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACxD,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,OAAO,EAAE,CAAE,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,QAAQ,GAAG,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC7B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1C,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,WAAW,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,UAAU,GAAG;YACjB,iBAAiB,EAAE,GAAG,EAAE,CAAC,6BAAK,SAAS,EAAC,QAAQ,sBAAsB;SACvE,CAAC;QACF,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1C,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Select.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.types.js","sourceRoot":"","sources":["../../src/Select/Select.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { default } from './Select';
2
+ export { components as SelectCompoents } from 'react-select';
3
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Slider.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Slider.types.js","sourceRoot":"","sources":["../../src/Slider/Slider.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { Slider as default } from './Slider';
2
+ //# sourceMappingURL=index.js.map
@@ -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,20 @@
1
+ import React from 'react';
2
+ import '../styles.css';
3
+ import { SvgIconProps } from './SvgIcon.types';
4
+ /**
5
+ * Renders an icon that has an SVG icon path (see {@link isSvgIcon() })
6
+ *
7
+ * @param onClick - function to call when clicking the icon (takes no parameters)
8
+ * @param id - id that can be placed on the SvgIcon component
9
+ * @param testId - id that will be used in the data-testid attribute on the icon
10
+ * @param customId - id that will be used in the data-customid attribute on the icon. Can be used to identify the icon
11
+ * as the click event target in an event handler
12
+ * @param icon - the SVG icon
13
+ * @param color - used to add a custom color to the icon (required if type="color")
14
+ * @param extraClassNames - extra class names to apply
15
+ * @param [viewBox='0 0 19 19'] - optional SVG view box
16
+ * @param type - default will use dark/light text colors otherwise will use the theme color
17
+ * @param tooltipProps - props to pass to the tooltip
18
+ */
19
+ declare const SvgIcon: React.FunctionComponent<SvgIconProps>;
20
+ export default SvgIcon;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ declare const _default: {
3
+ title: string;
4
+ };
5
+ export default _default;
6
+ export declare const AllIcons: () => React.JSX.Element;
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,25 @@
1
+ /// <reference types="react" />
2
+ import { TooltipComponentProps } from '../Tooltip/Tooltip.types';
3
+ export declare const svgIconTypes: readonly ["theme", "white", "dark-gray", "darkish-gray", "gray", "color", "info", "text", "warning", "inherit", "danger", "theme-light", "success", "default"];
4
+ export type SvgIconType = (typeof svgIconTypes)[number];
5
+ export interface SvgIconProps extends TooltipComponentProps {
6
+ /** icon class to be used (i.e. fc-zoom) */
7
+ icon: string;
8
+ /** default will use dark/light text colors otherwise will use the theme color */
9
+ type?: SvgIconType;
10
+ /** used to add a custom color to the icon (required if type="color") */
11
+ color?: string;
12
+ /** function to call when clicking the icon (takes no parameters) */
13
+ onClick?: (e?: React.MouseEvent<HTMLElement, MouseEvent>) => any;
14
+ /** extra class names to be placed on the SvgIcon component */
15
+ extraClassNames?: string;
16
+ /** id that can be placed on the SvgIcon component */
17
+ id?: string;
18
+ /** id that will be used in the data-testid attribute on the icon */
19
+ testId?: string;
20
+ /** id that will be used in the data-customid attribute on the icon.
21
+ * Can be used to identify the icon as the click event target in an event handler */
22
+ customId?: string;
23
+ /** optional SVG view box */
24
+ viewBox?: string;
25
+ }
@@ -0,0 +1 @@
1
+ export { default } from './SvgIcon';
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import { Content, List, Root, Trigger } from '@radix-ui/react-tabs';
3
+ import Icon from '../Icon';
4
+ const Tabs = ({ tabs, defaultActiveTab, activeTab, onTabSelect, extraClassNames, testId, id, stretchTabs = false, }) => {
5
+ const handleTabSelect = (tabId) => {
6
+ if (activeTab === tabId)
7
+ return;
8
+ onTabSelect && onTabSelect(tabId);
9
+ };
10
+ return (React.createElement(Root, { className: `tw-flex tw-flex-col tw-min-w-[300px] tw-max-w-full tw-flex-grow focus-visible:tw-outline-none ${extraClassNames || ''}`, defaultValue: defaultActiveTab, "data-testid": testId, id: id, value: activeTab, onValueChange: handleTabSelect },
11
+ React.createElement(List, { className: `tw-flex tw-flex-row tw-flex-wrap tw-z-[1001]` }, tabs.map(({ id, icon, label, tabExtraClassNames, testId: tabsTestId, disabled }, index) => (React.createElement(Trigger, { className: `tw-bg-sq-white dark:tw-bg-sq-dark-background tw-h-[45px] focus-visible:tw-outline-none tw-min-w-[100px] tw-px-4 tw-border-solid dark:tw-border-gray-700 tw-flex tw-flex-1 tw-justify-center tw-items-center tw-border-r-[2px] last:tw-border-r-0 ${stretchTabs ? '' : 'tw-max-w-max tw-min-w-fit'} ${tabExtraClassNames || ''} ${activeTab === id
12
+ ? 'tw-border-b-sq-color-dark dark:tw-border-b-sq-color-dark tw-border-b-[3px]'
13
+ : 'hover:tw-bg-sq-light-gray tw-border-b-[1px] hover:dark:tw-bg-gray-700'}`, "data-testid": tabsTestId, disabled: disabled, key: `${label}-${id}-${index}`, value: id },
14
+ React.createElement("span", null,
15
+ icon && React.createElement(Icon, { icon: icon, testId: `${id}_tab-icon`, extraClassNames: "tw-text-[15px] tw-mr-[7px]" }),
16
+ React.createElement("span", { className: `tw-text-[14px] tw-font-medium ${activeTab === id
17
+ ? 'dark:tw-text-sq-dark-text tw-text-gray-500'
18
+ : 'dark:tw-text-sq-color-dark-dark tw-text-sq-color-dark'}` }, label)))))),
19
+ tabs.map((tab, index) => (React.createElement(Content, { className: `tw-bg-sq-white dark:tw-bg-sq-dark-background tw-overflow-y-auto -tw-mt-[1px] tw-border-t-[1px] dark:tw-border-gray-700 tw-z-[500] tw-flex tw-flex-col tw-flex-grow focus-visible:tw-outline-none ${tab.tabContentExtraClassNames || ''}`, key: `${tab.label}_${index}_content`, value: tab.id }, tab.content)))));
20
+ };
21
+ export default Tabs;
22
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../src/Tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,IAAI,GAAuC,CAAC,EAChD,IAAI,EACJ,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,eAAe,EACf,MAAM,EACN,EAAE,EACF,WAAW,GAAG,KAAK,GACpB,EAAE,EAAE;IACH,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;QACxC,IAAI,SAAS,KAAK,KAAK;YAAE,OAAO;QAChC,WAAW,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,IAAI,IACH,SAAS,EAAE,iGACT,eAAe,IAAI,EACrB,EAAE,EACF,YAAY,EAAE,gBAAgB,iBACjB,MAAM,EACnB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,eAAe;QAC9B,oBAAC,IAAI,IAAC,SAAS,EAAE,8CAA8C,IAC5D,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1F,oBAAC,OAAO,IACN,SAAS,EAAE,oPACT,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BACrB,IAAI,kBAAkB,IAAI,EAAE,IAC1B,SAAS,KAAK,EAAE;gBACd,CAAC,CAAC,4EAA4E;gBAC9E,CAAC,CAAC,uEACN,EAAE,iBACW,UAAU,EACvB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,KAAK,IAAI,EAAE,IAAI,KAAK,EAAE,EAC9B,KAAK,EAAE,EAAE;YACT;gBACG,IAAI,IAAI,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAC,4BAA4B,GAAG;gBACpG,8BACE,SAAS,EAAE,iCACT,SAAS,KAAK,EAAE;wBACd,CAAC,CAAC,4CAA4C;wBAC9C,CAAC,CAAC,uDACN,EAAE,IACD,KAAK,CACD,CACF,CACC,CACX,CAAC,CACG;QACN,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,oBAAC,OAAO,IACN,SAAS,EAAE,oMACT,GAAG,CAAC,yBAAyB,IAAI,EACnC,EAAE,EACF,GAAG,EAAE,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,UAAU,EACpC,KAAK,EAAE,GAAG,CAAC,EAAE,IACZ,GAAG,CAAC,OAAO,CACJ,CACX,CAAC,CACG,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,91 @@
1
+ import React from 'react';
2
+ import Tabs from './Tabs';
3
+ import Button from '../Button';
4
+ export default {
5
+ title: 'Tabs',
6
+ };
7
+ const renderData = () => (React.createElement("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white" },
8
+ React.createElement("p", { className: "tw-mb-5 tw-text-[15px] tw-leading-normal" }, "This is a data tab to show details about your data. You can make changes to your account"),
9
+ React.createElement(Button, { variant: "outline", label: "Save data" })));
10
+ const renderTools = () => (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" }, "Make changes to your account here. Click save when you're done."),
12
+ React.createElement(Button, { variant: "outline", label: "Save tools" })));
13
+ const renderJournal = () => (React.createElement("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white" },
14
+ React.createElement("p", { className: "tw-mb-5 tw-text-[15px] tw-leading-normal" }, "Make changes to your account here. Click save when you're done."),
15
+ React.createElement(Button, { variant: "outline", label: "Save journal" })));
16
+ const tabsList = [
17
+ {
18
+ id: 'data',
19
+ label: 'Data',
20
+ icon: 'fc-data',
21
+ content: renderData(),
22
+ },
23
+ {
24
+ id: 'tools',
25
+ label: 'Tools',
26
+ icon: 'fc-gears-2',
27
+ content: renderTools(),
28
+ },
29
+ {
30
+ id: 'journal',
31
+ label: 'Journal',
32
+ icon: 'fc-workbook-lock',
33
+ content: renderJournal(),
34
+ },
35
+ ];
36
+ const extraTabsList = [
37
+ {
38
+ id: 'data',
39
+ label: 'Data',
40
+ icon: 'fc-data',
41
+ content: renderData(),
42
+ },
43
+ {
44
+ id: 'tools',
45
+ label: 'Tools',
46
+ icon: 'fc-gears-2',
47
+ content: renderTools(),
48
+ },
49
+ {
50
+ id: 'journal',
51
+ label: 'Journal',
52
+ icon: 'fc-workbook-lock',
53
+ content: renderJournal(),
54
+ },
55
+ {
56
+ id: 'journal2',
57
+ label: 'Journal',
58
+ icon: 'fc-workbook-lock',
59
+ disabled: true,
60
+ content: renderJournal(),
61
+ },
62
+ {
63
+ id: 'data3',
64
+ label: 'Data 2',
65
+ icon: 'fc-data',
66
+ disabled: true,
67
+ content: renderData(),
68
+ },
69
+ ];
70
+ const colors = ['topic', 'analysis', 'datalab', 'vantage'];
71
+ export const AllTabsVariants = () => {
72
+ const [activeTab, setActiveTab] = React.useState('data');
73
+ const renderAllVariations = (color) => (React.createElement("div", { key: color + '_wrapper' },
74
+ React.createElement("div", { className: "tw-p-4" },
75
+ React.createElement(Tabs, { stretchTabs: true, activeTab: activeTab, onTabSelect: setActiveTab, defaultActiveTab: "data", tabs: tabsList })),
76
+ React.createElement("div", { className: "tw-p-4" },
77
+ React.createElement(Tabs, { activeTab: activeTab, onTabSelect: (tabId) => setActiveTab(tabId), defaultActiveTab: "tool", tabs: extraTabsList.map((tab) => ({ ...tab, icon: undefined, tabExtraClassNames: 'tw-max-w-max' })) })),
78
+ React.createElement("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background " },
79
+ React.createElement("p", { className: "tw-text-sq-color-dark dark:tw-text-sq-color-dark-dark tw-mb-8" },
80
+ color[0].toUpperCase() + color.slice(1),
81
+ " Dark mode"),
82
+ React.createElement(Tabs, { activeTab: activeTab, onTabSelect: (tabId) => setActiveTab(tabId), defaultActiveTab: "tools", tabs: tabsList.map((tab) => ({ ...tab, icon: undefined })) }))));
83
+ return (React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4" }, colors.map((color) => {
84
+ return (React.createElement("div", { key: color, className: `color_${color}` },
85
+ React.createElement("b", null,
86
+ color[0].toUpperCase() + color.slice(1),
87
+ " Colors"),
88
+ renderAllVariations(color)));
89
+ })));
90
+ };
91
+ //# sourceMappingURL=Tabs.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.stories.js","sourceRoot":"","sources":["../../src/Tabs/Tabs.stories.tsx"],"names":[],"mappings":"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"}