@seeqdev/qomponents 0.0.175 → 0.0.177

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 (376) hide show
  1. package/README.md +9 -0
  2. package/dist/Accordion/Accordion.d.ts +4 -0
  3. package/dist/Accordion/Accordion.js +7 -0
  4. package/dist/Accordion/Accordion.js.map +1 -0
  5. package/dist/Accordion/Accordion.stories.d.ts +5 -0
  6. package/dist/Accordion/Accordion.stories.js +75 -0
  7. package/dist/Accordion/Accordion.stories.js.map +1 -0
  8. package/dist/Accordion/Accordion.test.d.ts +1 -0
  9. package/dist/Accordion/Accordion.test.js +55 -0
  10. package/dist/Accordion/Accordion.test.js.map +1 -0
  11. package/dist/Accordion/Accordion.types.d.ts +86 -0
  12. package/dist/Accordion/Accordion.types.js +2 -0
  13. package/dist/Accordion/Accordion.types.js.map +1 -0
  14. package/dist/Accordion/index.d.ts +1 -0
  15. package/dist/Accordion/index.js +2 -0
  16. package/dist/Accordion/index.js.map +1 -0
  17. package/dist/Alert/Alert.d.ts +7 -0
  18. package/dist/Alert/Alert.js +34 -0
  19. package/dist/Alert/Alert.js.map +1 -0
  20. package/dist/Alert/Alert.stories.d.ts +6 -0
  21. package/dist/Alert/Alert.stories.js +65 -0
  22. package/dist/Alert/Alert.stories.js.map +1 -0
  23. package/dist/Alert/Alert.test.d.ts +1 -0
  24. package/dist/Alert/Alert.test.js +50 -0
  25. package/dist/Alert/Alert.test.js.map +1 -0
  26. package/dist/Alert/Alert.types.d.ts +62 -0
  27. package/dist/Alert/Alert.types.js +2 -0
  28. package/dist/Alert/Alert.types.js.map +1 -0
  29. package/dist/Alert/index.d.ts +1 -0
  30. package/dist/Alert/index.js +2 -0
  31. package/dist/Alert/index.js.map +1 -0
  32. package/dist/Button/Button.d.ts +10 -0
  33. package/dist/Button/Button.js +90 -0
  34. package/dist/Button/Button.js.map +1 -0
  35. package/dist/Button/Button.stories.d.ts +9 -0
  36. package/dist/Button/Button.stories.js +29 -0
  37. package/dist/Button/Button.stories.js.map +1 -0
  38. package/dist/Button/Button.test.d.ts +1 -0
  39. package/dist/Button/Button.test.js +47 -0
  40. package/dist/Button/Button.test.js.map +1 -0
  41. package/dist/Button/Button.types.d.ts +148 -0
  42. package/dist/Button/Button.types.js +5 -0
  43. package/dist/Button/Button.types.js.map +1 -0
  44. package/dist/Button/index.d.ts +1 -0
  45. package/dist/Button/index.js +2 -0
  46. package/dist/Button/index.js.map +1 -0
  47. package/dist/ButtonGroup/ButtonGroup.d.ts +7 -0
  48. package/dist/ButtonGroup/ButtonGroup.js +35 -0
  49. package/dist/ButtonGroup/ButtonGroup.js.map +1 -0
  50. package/dist/ButtonGroup/ButtonGroup.stories.d.ts +5 -0
  51. package/dist/ButtonGroup/ButtonGroup.stories.js +317 -0
  52. package/dist/ButtonGroup/ButtonGroup.stories.js.map +1 -0
  53. package/dist/ButtonGroup/ButtonGroup.test.d.ts +1 -0
  54. package/dist/ButtonGroup/ButtonGroup.test.js +66 -0
  55. package/dist/ButtonGroup/ButtonGroup.test.js.map +1 -0
  56. package/dist/ButtonGroup/ButtonGroup.types.d.ts +80 -0
  57. package/dist/ButtonGroup/ButtonGroup.types.js +2 -0
  58. package/dist/ButtonGroup/ButtonGroup.types.js.map +1 -0
  59. package/dist/ButtonGroup/index.d.ts +1 -0
  60. package/dist/ButtonGroup/index.js +2 -0
  61. package/dist/ButtonGroup/index.js.map +1 -0
  62. package/dist/ButtonWithDropdown/ButtonWithDropdown.d.ts +4 -0
  63. package/dist/ButtonWithDropdown/ButtonWithDropdown.js +36 -0
  64. package/dist/ButtonWithDropdown/ButtonWithDropdown.js.map +1 -0
  65. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.d.ts +5 -0
  66. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +104 -0
  67. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js.map +1 -0
  68. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.d.ts +1 -0
  69. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js +93 -0
  70. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js.map +1 -0
  71. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.d.ts +232 -0
  72. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +2 -0
  73. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js.map +1 -0
  74. package/dist/ButtonWithDropdown/index.d.ts +1 -0
  75. package/dist/ButtonWithDropdown/index.js +2 -0
  76. package/dist/ButtonWithDropdown/index.js.map +1 -0
  77. package/dist/ButtonWithPopover/ButtonWithPopover.d.ts +4 -0
  78. package/dist/ButtonWithPopover/ButtonWithPopover.js +55 -0
  79. package/dist/ButtonWithPopover/ButtonWithPopover.js.map +1 -0
  80. package/dist/ButtonWithPopover/ButtonWithPopover.stories.d.ts +5 -0
  81. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +25 -0
  82. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js.map +1 -0
  83. package/dist/ButtonWithPopover/ButtonWithPopover.test.d.ts +1 -0
  84. package/dist/ButtonWithPopover/ButtonWithPopover.test.js +81 -0
  85. package/dist/ButtonWithPopover/ButtonWithPopover.test.js.map +1 -0
  86. package/dist/ButtonWithPopover/ButtonWithPopover.types.d.ts +134 -0
  87. package/dist/ButtonWithPopover/ButtonWithPopover.types.js +2 -0
  88. package/dist/ButtonWithPopover/ButtonWithPopover.types.js.map +1 -0
  89. package/dist/ButtonWithPopover/index.d.ts +1 -0
  90. package/dist/ButtonWithPopover/index.js +2 -0
  91. package/dist/ButtonWithPopover/index.js.map +1 -0
  92. package/dist/Carousel/Carousel.d.ts +9 -0
  93. package/dist/Carousel/Carousel.js +76 -0
  94. package/dist/Carousel/Carousel.js.map +1 -0
  95. package/dist/Carousel/Carousel.stories.d.ts +5 -0
  96. package/dist/Carousel/Carousel.stories.js +63 -0
  97. package/dist/Carousel/Carousel.stories.js.map +1 -0
  98. package/dist/Carousel/Carousel.test.d.ts +1 -0
  99. package/dist/Carousel/Carousel.test.js +48 -0
  100. package/dist/Carousel/Carousel.test.js.map +1 -0
  101. package/dist/Carousel/Carousel.types.d.ts +85 -0
  102. package/dist/Carousel/Carousel.types.js +2 -0
  103. package/dist/Carousel/Carousel.types.js.map +1 -0
  104. package/dist/Carousel/index.d.ts +1 -0
  105. package/dist/Carousel/index.js +2 -0
  106. package/dist/Carousel/index.js.map +1 -0
  107. package/dist/Checkbox/Checkbox.d.ts +7 -0
  108. package/dist/Checkbox/Checkbox.js +24 -0
  109. package/dist/Checkbox/Checkbox.js.map +1 -0
  110. package/dist/Checkbox/Checkbox.stories.d.ts +5 -0
  111. package/dist/Checkbox/Checkbox.stories.js +12 -0
  112. package/dist/Checkbox/Checkbox.stories.js.map +1 -0
  113. package/dist/Checkbox/Checkbox.test.d.ts +1 -0
  114. package/dist/Checkbox/Checkbox.test.js +94 -0
  115. package/dist/Checkbox/Checkbox.test.js.map +1 -0
  116. package/dist/Checkbox/Checkbox.types.d.ts +91 -0
  117. package/dist/Checkbox/Checkbox.types.js +2 -0
  118. package/dist/Checkbox/Checkbox.types.js.map +1 -0
  119. package/dist/Checkbox/index.d.ts +1 -0
  120. package/dist/Checkbox/index.js +2 -0
  121. package/dist/Checkbox/index.js.map +1 -0
  122. package/dist/Collapse/Collapse.d.ts +4 -0
  123. package/dist/Collapse/Collapse.js +17 -0
  124. package/dist/Collapse/Collapse.js.map +1 -0
  125. package/dist/Collapse/Collapse.stories.d.ts +5 -0
  126. package/dist/Collapse/Collapse.stories.js +15 -0
  127. package/dist/Collapse/Collapse.stories.js.map +1 -0
  128. package/dist/Collapse/Collapse.test.d.ts +1 -0
  129. package/dist/Collapse/Collapse.test.js +17 -0
  130. package/dist/Collapse/Collapse.test.js.map +1 -0
  131. package/dist/Collapse/Collapse.types.d.ts +18 -0
  132. package/dist/Collapse/Collapse.types.js +2 -0
  133. package/dist/Collapse/Collapse.types.js.map +1 -0
  134. package/dist/Collapse/index.d.ts +1 -0
  135. package/dist/Collapse/index.js +2 -0
  136. package/dist/Collapse/index.js.map +1 -0
  137. package/dist/Icon/Icon.d.ts +10 -0
  138. package/dist/Icon/Icon.js +56 -0
  139. package/dist/Icon/Icon.js.map +1 -0
  140. package/dist/Icon/Icon.stories.d.ts +5 -0
  141. package/dist/Icon/Icon.stories.js +15 -0
  142. package/dist/Icon/Icon.stories.js.map +1 -0
  143. package/dist/Icon/Icon.test.d.ts +1 -0
  144. package/dist/Icon/Icon.test.js +55 -0
  145. package/dist/Icon/Icon.test.js.map +1 -0
  146. package/dist/Icon/Icon.types.d.ts +90 -0
  147. package/dist/Icon/Icon.types.js +16 -0
  148. package/dist/Icon/Icon.types.js.map +1 -0
  149. package/dist/Icon/index.d.ts +1 -0
  150. package/dist/Icon/index.js +2 -0
  151. package/dist/Icon/index.js.map +1 -0
  152. package/dist/InputGroup/InputGroup.d.ts +7 -0
  153. package/dist/InputGroup/InputGroup.js +36 -0
  154. package/dist/InputGroup/InputGroup.js.map +1 -0
  155. package/dist/InputGroup/InputGroup.stories.d.ts +5 -0
  156. package/dist/InputGroup/InputGroup.stories.js +129 -0
  157. package/dist/InputGroup/InputGroup.stories.js.map +1 -0
  158. package/dist/InputGroup/InputGroup.test.d.ts +1 -0
  159. package/dist/InputGroup/InputGroup.test.js +42 -0
  160. package/dist/InputGroup/InputGroup.test.js.map +1 -0
  161. package/dist/InputGroup/InputGroup.types.d.ts +61 -0
  162. package/dist/InputGroup/InputGroup.types.js +2 -0
  163. package/dist/InputGroup/InputGroup.types.js.map +1 -0
  164. package/dist/InputGroup/index.d.ts +2 -0
  165. package/dist/InputGroup/index.js +2 -0
  166. package/dist/InputGroup/index.js.map +1 -0
  167. package/dist/Modal/Modal.d.ts +5 -0
  168. package/dist/Modal/Modal.js +76 -0
  169. package/dist/Modal/Modal.js.map +1 -0
  170. package/dist/Modal/Modal.stories.d.ts +10 -0
  171. package/dist/Modal/Modal.stories.js +44 -0
  172. package/dist/Modal/Modal.stories.js.map +1 -0
  173. package/dist/Modal/Modal.test.d.ts +1 -0
  174. package/dist/Modal/Modal.test.js +108 -0
  175. package/dist/Modal/Modal.test.js.map +1 -0
  176. package/dist/Modal/Modal.types.d.ts +244 -0
  177. package/dist/Modal/Modal.types.js +2 -0
  178. package/dist/Modal/Modal.types.js.map +1 -0
  179. package/dist/Modal/index.d.ts +1 -0
  180. package/dist/Modal/index.js +2 -0
  181. package/dist/Modal/index.js.map +1 -0
  182. package/dist/ProgressBar/ProgressBar.d.ts +4 -0
  183. package/dist/ProgressBar/ProgressBar.js +72 -0
  184. package/dist/ProgressBar/ProgressBar.js.map +1 -0
  185. package/dist/ProgressBar/ProgressBar.stories.d.ts +5 -0
  186. package/dist/ProgressBar/ProgressBar.stories.js +35 -0
  187. package/dist/ProgressBar/ProgressBar.stories.js.map +1 -0
  188. package/dist/ProgressBar/ProgressBar.test.d.ts +1 -0
  189. package/dist/ProgressBar/ProgressBar.test.js +43 -0
  190. package/dist/ProgressBar/ProgressBar.test.js.map +1 -0
  191. package/dist/ProgressBar/ProgressBar.types.d.ts +77 -0
  192. package/dist/ProgressBar/ProgressBar.types.js +2 -0
  193. package/dist/ProgressBar/ProgressBar.types.js.map +1 -0
  194. package/dist/ProgressBar/index.d.ts +1 -0
  195. package/dist/ProgressBar/index.js +2 -0
  196. package/dist/ProgressBar/index.js.map +1 -0
  197. package/dist/SeeqActionDropdown/SeeqActionDropdown.d.ts +4 -0
  198. package/dist/SeeqActionDropdown/SeeqActionDropdown.js +39 -0
  199. package/dist/SeeqActionDropdown/SeeqActionDropdown.js.map +1 -0
  200. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.d.ts +5 -0
  201. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js +58 -0
  202. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js.map +1 -0
  203. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.d.ts +1 -0
  204. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js +73 -0
  205. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js.map +1 -0
  206. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.d.ts +164 -0
  207. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js +2 -0
  208. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js.map +1 -0
  209. package/dist/SeeqActionDropdown/index.d.ts +1 -0
  210. package/dist/SeeqActionDropdown/index.js +2 -0
  211. package/dist/SeeqActionDropdown/index.js.map +1 -0
  212. package/dist/SeeqActionDropdown/variants.d.ts +5 -0
  213. package/dist/SeeqActionDropdown/variants.js +23 -0
  214. package/dist/SeeqActionDropdown/variants.js.map +1 -0
  215. package/dist/Select/Select.d.ts +15 -0
  216. package/dist/Select/Select.js +179 -0
  217. package/dist/Select/Select.js.map +1 -0
  218. package/dist/Select/Select.stories.d.ts +5 -0
  219. package/dist/Select/Select.stories.js +40 -0
  220. package/dist/Select/Select.stories.js.map +1 -0
  221. package/dist/Select/Select.test.d.ts +1 -0
  222. package/dist/Select/Select.test.js +175 -0
  223. package/dist/Select/Select.test.js.map +1 -0
  224. package/dist/Select/Select.types.d.ts +220 -0
  225. package/dist/Select/Select.types.js +2 -0
  226. package/dist/Select/Select.types.js.map +1 -0
  227. package/dist/Select/index.d.ts +2 -0
  228. package/dist/Select/index.js +3 -0
  229. package/dist/Select/index.js.map +1 -0
  230. package/dist/Slider/Slider.d.ts +6 -0
  231. package/dist/Slider/Slider.js +10 -0
  232. package/dist/Slider/Slider.js.map +1 -0
  233. package/dist/Slider/Slider.stories.d.ts +5 -0
  234. package/dist/Slider/Slider.stories.js +14 -0
  235. package/dist/Slider/Slider.stories.js.map +1 -0
  236. package/dist/Slider/Slider.test.d.ts +1 -0
  237. package/dist/Slider/Slider.test.js +32 -0
  238. package/dist/Slider/Slider.test.js.map +1 -0
  239. package/dist/Slider/Slider.types.d.ts +84 -0
  240. package/dist/Slider/Slider.types.js +2 -0
  241. package/dist/Slider/Slider.types.js.map +1 -0
  242. package/dist/Slider/index.d.ts +1 -0
  243. package/dist/Slider/index.js +2 -0
  244. package/dist/Slider/index.js.map +1 -0
  245. package/dist/SvgIcon/SvgIcon.d.ts +20 -0
  246. package/dist/SvgIcon/SvgIcon.js +28 -0
  247. package/dist/SvgIcon/SvgIcon.js.map +1 -0
  248. package/dist/SvgIcon/SvgIcon.stories.d.ts +5 -0
  249. package/dist/SvgIcon/SvgIcon.stories.js +18 -0
  250. package/dist/SvgIcon/SvgIcon.stories.js.map +1 -0
  251. package/dist/SvgIcon/SvgIcon.test.d.ts +1 -0
  252. package/dist/SvgIcon/SvgIcon.test.js +41 -0
  253. package/dist/SvgIcon/SvgIcon.test.js.map +1 -0
  254. package/dist/SvgIcon/SvgIcon.types.d.ts +75 -0
  255. package/dist/SvgIcon/SvgIcon.types.js +3 -0
  256. package/dist/SvgIcon/SvgIcon.types.js.map +1 -0
  257. package/dist/SvgIcon/index.d.ts +1 -0
  258. package/dist/SvgIcon/index.js +2 -0
  259. package/dist/SvgIcon/index.js.map +1 -0
  260. package/dist/Tabs/Tabs.d.ts +4 -0
  261. package/dist/Tabs/Tabs.js +17 -0
  262. package/dist/Tabs/Tabs.js.map +1 -0
  263. package/dist/Tabs/Tabs.stories.d.ts +5 -0
  264. package/dist/Tabs/Tabs.stories.js +73 -0
  265. package/dist/Tabs/Tabs.stories.js.map +1 -0
  266. package/dist/Tabs/Tabs.test.d.ts +1 -0
  267. package/dist/Tabs/Tabs.test.js +86 -0
  268. package/dist/Tabs/Tabs.test.js.map +1 -0
  269. package/dist/Tabs/Tabs.types.d.ts +100 -0
  270. package/dist/Tabs/Tabs.types.js +2 -0
  271. package/dist/Tabs/Tabs.types.js.map +1 -0
  272. package/dist/Tabs/index.d.ts +1 -0
  273. package/dist/Tabs/index.js +2 -0
  274. package/dist/Tabs/index.js.map +1 -0
  275. package/dist/TextArea/TextArea.d.ts +7 -0
  276. package/dist/TextArea/TextArea.js +55 -0
  277. package/dist/TextArea/TextArea.js.map +1 -0
  278. package/dist/TextArea/TextArea.stories.d.ts +5 -0
  279. package/dist/TextArea/TextArea.stories.js +10 -0
  280. package/dist/TextArea/TextArea.stories.js.map +1 -0
  281. package/dist/TextArea/TextArea.test.d.ts +1 -0
  282. package/dist/TextArea/TextArea.test.js +130 -0
  283. package/dist/TextArea/TextArea.test.js.map +1 -0
  284. package/dist/TextArea/TextArea.types.d.ts +115 -0
  285. package/dist/TextArea/TextArea.types.js +2 -0
  286. package/dist/TextArea/TextArea.types.js.map +1 -0
  287. package/dist/TextArea/index.d.ts +1 -0
  288. package/dist/TextArea/index.js +2 -0
  289. package/dist/TextArea/index.js.map +1 -0
  290. package/dist/TextField/TextField.d.ts +7 -0
  291. package/dist/TextField/TextField.js +85 -0
  292. package/dist/TextField/TextField.js.map +1 -0
  293. package/dist/TextField/TextField.stories.d.ts +5 -0
  294. package/dist/TextField/TextField.stories.js +11 -0
  295. package/dist/TextField/TextField.stories.js.map +1 -0
  296. package/dist/TextField/TextField.test.d.ts +1 -0
  297. package/dist/TextField/TextField.test.js +41 -0
  298. package/dist/TextField/TextField.test.js.map +1 -0
  299. package/dist/TextField/TextField.types.d.ts +198 -0
  300. package/dist/TextField/TextField.types.js +2 -0
  301. package/dist/TextField/TextField.types.js.map +1 -0
  302. package/dist/TextField/index.d.ts +1 -0
  303. package/dist/TextField/index.js +2 -0
  304. package/dist/TextField/index.js.map +1 -0
  305. package/dist/ToolbarButton/ToolbarButton.d.ts +3 -0
  306. package/dist/ToolbarButton/ToolbarButton.js +56 -0
  307. package/dist/ToolbarButton/ToolbarButton.js.map +1 -0
  308. package/dist/ToolbarButton/ToolbarButton.stories.d.ts +5 -0
  309. package/dist/ToolbarButton/ToolbarButton.stories.js +28 -0
  310. package/dist/ToolbarButton/ToolbarButton.stories.js.map +1 -0
  311. package/dist/ToolbarButton/ToolbarButton.test.d.ts +1 -0
  312. package/dist/ToolbarButton/ToolbarButton.test.js +85 -0
  313. package/dist/ToolbarButton/ToolbarButton.test.js.map +1 -0
  314. package/dist/ToolbarButton/ToolbarButton.types.d.ts +122 -0
  315. package/dist/ToolbarButton/ToolbarButton.types.js +2 -0
  316. package/dist/ToolbarButton/ToolbarButton.types.js.map +1 -0
  317. package/dist/ToolbarButton/index.d.ts +1 -0
  318. package/dist/ToolbarButton/index.js +2 -0
  319. package/dist/ToolbarButton/index.js.map +1 -0
  320. package/dist/Tooltip/QTip.stories.d.ts +5 -0
  321. package/dist/Tooltip/QTip.stories.js +19 -0
  322. package/dist/Tooltip/QTip.stories.js.map +1 -0
  323. package/dist/Tooltip/QTip.types.d.ts +13 -0
  324. package/dist/Tooltip/QTip.types.js +2 -0
  325. package/dist/Tooltip/QTip.types.js.map +1 -0
  326. package/dist/Tooltip/QTipPerformance.stories.d.ts +5 -0
  327. package/dist/Tooltip/QTipPerformance.stories.js +26 -0
  328. package/dist/Tooltip/QTipPerformance.stories.js.map +1 -0
  329. package/dist/Tooltip/Qtip.d.ts +26 -0
  330. package/dist/Tooltip/Qtip.js +168 -0
  331. package/dist/Tooltip/Qtip.js.map +1 -0
  332. package/dist/Tooltip/Tooltip.d.ts +13 -0
  333. package/dist/Tooltip/Tooltip.js +34 -0
  334. package/dist/Tooltip/Tooltip.js.map +1 -0
  335. package/dist/Tooltip/Tooltip.stories.d.ts +5 -0
  336. package/dist/Tooltip/Tooltip.stories.js +15 -0
  337. package/dist/Tooltip/Tooltip.stories.js.map +1 -0
  338. package/dist/Tooltip/Tooltip.types.d.ts +22 -0
  339. package/dist/Tooltip/Tooltip.types.js +3 -0
  340. package/dist/Tooltip/Tooltip.types.js.map +1 -0
  341. package/dist/Tooltip/TooltipPerformance.stories.d.ts +5 -0
  342. package/dist/Tooltip/TooltipPerformance.stories.js +26 -0
  343. package/dist/Tooltip/TooltipPerformance.stories.js.map +1 -0
  344. package/dist/Tooltip/index.d.ts +2 -0
  345. package/dist/Tooltip/index.js +3 -0
  346. package/dist/Tooltip/index.js.map +1 -0
  347. package/dist/Tooltip/qTip.utilities.d.ts +3 -0
  348. package/dist/Tooltip/qTip.utilities.js +11 -0
  349. package/dist/Tooltip/qTip.utilities.js.map +1 -0
  350. package/dist/example/package.json +1 -1
  351. package/dist/index.d.ts +46 -0
  352. package/dist/index.esm.js +5180 -5017
  353. package/dist/index.esm.js.map +1 -1
  354. package/dist/index.js +5180 -5017
  355. package/dist/index.js.map +1 -1
  356. package/dist/setupTests.d.ts +1 -0
  357. package/dist/setupTests.js +6 -0
  358. package/dist/setupTests.js.map +1 -0
  359. package/dist/src/SeeqActionDropdown/SeeqActionDropdown.types.d.ts +5 -0
  360. package/dist/styles.css +79 -95
  361. package/dist/types.d.ts +27 -0
  362. package/dist/types.js +26 -0
  363. package/dist/types.js.map +1 -0
  364. package/dist/utils/browserId.d.ts +9 -0
  365. package/dist/utils/browserId.js +29 -0
  366. package/dist/utils/browserId.js.map +1 -0
  367. package/dist/utils/svg.d.ts +15 -0
  368. package/dist/utils/svg.js +20 -0
  369. package/dist/utils/svg.js.map +1 -0
  370. package/dist/utils/validateStyleDimension.d.ts +2 -0
  371. package/dist/utils/validateStyleDimension.js +14 -0
  372. package/dist/utils/validateStyleDimension.js.map +1 -0
  373. package/dist/utils/validateStyleDimension.test.d.ts +1 -0
  374. package/dist/utils/validateStyleDimension.test.js +20 -0
  375. package/dist/utils/validateStyleDimension.test.js.map +1 -0
  376. package/package.json +2 -2
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
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:appearance-none tw:border tw:h-3.5 tw:w-3.5 tw:focus:ring-0 tw:focus:ring-offset-0 tw:outline-none tw:focus:outline-none' +
7
+ ' tw:dark:bg-sq-dark-background tw:dark:border-sq-dark-text tw:dark:hover:bg-sq-dark-background' +
8
+ ' tw:checked:text-white tw:checked:border-sq-text-color tw:checked:hover:border-sq-theme-dark' +
9
+ ' tw:checked:active:border-sq-theme-darker tw:checked:focus:border-sq-theme-dark tw:disabled:border-sq-disabled-gray' +
10
+ ' tw:dark:disabled:border-sq-fairly-dark-gray tw:dark:checked:focus:bg-sq-dark-background';
11
+ const checkboxClasses = `tw:form-checkbox tw:rounded ${baseClasses}`;
12
+ const radioClasses = `tw:form-radio tw:rounded-full ${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 (_jsxs("span", { className: `${alignment} ${extraClassNames}`, children: [_jsx("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 }), label && (_jsx("label", { htmlFor: assignedId, className: `${labelClasses} ${extraLabelClassNames} ${disabled
21
+ ? 'tw:cursor-not-allowed tw:dark:text-sq-fairly-dark-gray tw:text-sq-fairly-dark-gray'
22
+ : 'tw:cursor-pointer tw:text-sq-text-color tw:dark:text-sq-dark-text'}`, children: label }))] }));
23
+ };
24
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../src/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAEA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B,MAAM,YAAY,GAAG,iCAAiC,CAAC;AAEvD,MAAM,WAAW,GACf,6HAA6H;IAC7H,iGAAiG;IACjG,8FAA8F;IAC9F,qHAAqH;IACrH,0FAA0F,CAAC;AAE7F,MAAM,eAAe,GAAG,+BAA+B,WAAW,EAAE,CAAC;AAErE,MAAM,YAAY,GAAG,iCAAiC,WAAW,EAAE,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA2C,CAAC,KAAK,EAAE,EAAE;IACxE,MAAM,EACJ,IAAI,GAAG,UAAU,EACjB,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,cAAc,EACd,EAAE,EACF,IAAI,EACJ,eAAe,EACf,oBAAoB,EACpB,MAAM,EACN,GAAG,YAAY,EAChB,GAAG,KAAK,CAAC;IAEV,MAAM,UAAU,GAAG,EAAE,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAE9C,OAAO,CACL,gBAAM,SAAS,EAAE,GAAG,SAAS,IAAI,eAAe,EAAE,aAChD,gBACE,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,iBACG,MAAM,EACnB,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,CAAC,QAAQ,EACnB,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,IAChE,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBACvC,EAAE,EACF,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,KAChB,WAAW,GACf,EACD,KAAK,IAAI,CACR,gBACE,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,GAAG,YAAY,IAAI,oBAAoB,IAChD,QAAQ;oBACN,CAAC,CAAC,oFAAoF;oBACtF,CAAC,CAAC,mEACN,EAAE,YACD,KAAK,GACA,CACT,IACI,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ title: string;
3
+ };
4
+ export default _default;
5
+ export declare const AllCheckboxes: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
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) => (_jsxs(_Fragment, { children: [_jsx(QTip, {}), _jsx("div", { className: "tw:p-4", children: _jsx(Checkbox, { value: "a", type: type, checked: true, label: 'with Label', tooltip: "Checkbox Tooltip" }) }), _jsx("div", { className: "tw:p-4", children: _jsx(Checkbox, { value: "d", type: type, checked: false, disabled: true, label: _jsxs("div", { children: ["Disabled", _jsx("br", {}), "multi-Line"] }), tooltip: "Checkbox Tooltip" }) }), _jsx("div", { className: "tw:p-4", children: _jsx(Checkbox, { value: "d", type: type, checked: true, disabled: true, label: "Disabled", tooltip: "Checkbox Tooltip" }) }), _jsx("div", { className: "tw:p-4", children: _jsx(Checkbox, { value: "b", type: type, checked: true, tooltip: "Checkbox Tooltip" }) }), _jsx("div", { className: "tw:p-4", children: _jsx(Checkbox, { value: "c", type: type, checked: false, tooltip: "Checkbox Tooltip" }) })] }));
9
+ const renderAllVariations = (type) => (_jsxs(_Fragment, { children: [_jsx("div", { className: "tw:p-4 light", children: getDisplay(type) }), _jsx("div", { className: "tw:p-4 tw-dark tw:bg-sq-dark-background", children: getDisplay(type) })] }));
10
+ return (_jsxs("div", { className: "tw:grid tw:grid-cols-2 tw:gap-4 color_topic", children: [_jsxs("div", { children: [_jsx("b", { children: "Checkbox" }), renderAllVariations('checkbox')] }), _jsxs("div", { children: [_jsx("b", { children: "Radios" }), renderAllVariations('radio')] })] }));
11
+ };
12
+ //# sourceMappingURL=Checkbox.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.stories.js","sourceRoot":"","sources":["../../src/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,eAAe;IACb,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,UAAU,GAAG,CAAC,IAA0B,EAAE,EAAE,CAAC,CACjD,8BACE,KAAC,IAAI,KAAG,EACR,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAC,kBAAkB,GAAG,GAC7F,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IACP,KAAK,EAAC,GAAG,EACT,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,IAAI,EACd,KAAK,EACH,sCAEE,cAAM,kBAEF,EAER,OAAO,EAAC,kBAAkB,GAC1B,GACE,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAC,UAAU,EAAC,OAAO,EAAC,kBAAkB,GAAG,GACzG,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,kBAAkB,GAAG,GACxE,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAC,kBAAkB,GAAG,GACzE,IACL,CACJ,CAAC;IACF,MAAM,mBAAmB,GAAG,CAAC,IAA0B,EAAE,EAAE,CAAC,CAC1D,8BACE,cAAK,SAAS,EAAC,cAAc,YAAE,UAAU,CAAC,IAAI,CAAC,GAAO,EACtD,cAAK,SAAS,EAAC,yCAAyC,YAAE,UAAU,CAAC,IAAI,CAAC,GAAO,IAChF,CACJ,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,6CAA6C,aAC1D,0BACE,mCAAe,EACd,mBAAmB,CAAC,UAAU,CAAC,IAC5B,EAEN,0BACE,iCAAa,EACZ,mBAAmB,CAAC,OAAO,CAAC,IACzB,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,94 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
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(_jsx(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
+ //# sourceMappingURL=Checkbox.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.test.js","sourceRoot":"","sources":["../../src/Checkbox/Checkbox.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { TooltipComponentProps } from '../Tooltip/Tooltip.types';
2
+ type FormControlElement = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
3
+ export interface CheckboxProps extends TooltipComponentProps {
4
+ /**
5
+ * Additional CSS classes to apply to the checkbox container.
6
+ * These classes are combined with the component's built-in styling.
7
+ * Use this to customize the overall appearance of the checkbox wrapper.
8
+ */
9
+ extraClassNames?: string;
10
+ /**
11
+ * Additional CSS classes to apply specifically to the label element.
12
+ * Use this to customize the styling of the text label that appears next to the checkbox.
13
+ * Does not affect the input element itself.
14
+ */
15
+ extraLabelClassNames?: string;
16
+ /**
17
+ * Determines the type of input control to render:
18
+ * - `checkbox`: Standard checkbox that can be checked/unchecked independently
19
+ * - `radio`: Radio button that is typically part of a group where only one can be selected
20
+ * @default 'checkbox'
21
+ */
22
+ type?: 'radio' | 'checkbox';
23
+ /**
24
+ * HTML ID attribute for the input element.
25
+ * Should be unique across the entire page for proper HTML semantics and accessibility.
26
+ * If not provided, a random ID will be generated automatically.
27
+ * Used for associating the label with the input for accessibility.
28
+ */
29
+ id?: string;
30
+ /**
31
+ * Name attribute for the input element, used for form submission and grouping.
32
+ * For radio buttons, all options in the same group should share the same name.
33
+ * For checkboxes, this identifies the field when the form is submitted.
34
+ */
35
+ name?: string;
36
+ /**
37
+ * Controls whether the checkbox/radio button is currently checked.
38
+ * Use this for controlled components where you manage the state externally.
39
+ * When provided, the component becomes controlled and you must handle state changes via `onChange`.
40
+ */
41
+ checked?: boolean;
42
+ /**
43
+ * Sets the initial checked state for uncontrolled components.
44
+ * Only used when `checked` is not provided (uncontrolled mode).
45
+ * The component will manage its own state after the initial render.
46
+ */
47
+ defaultChecked?: boolean;
48
+ /**
49
+ * The value associated with this checkbox/radio button.
50
+ * This is the value that will be submitted with the form when the input is checked.
51
+ * For radio buttons, each option in a group should have a unique value.
52
+ */
53
+ value?: string | number;
54
+ /**
55
+ * The text or content to display as the label next to the checkbox/radio button.
56
+ * Can be a simple string or any React element for more complex label content.
57
+ * Clicking on this label will toggle the input due to proper accessibility association.
58
+ */
59
+ label?: string | React.ReactNode;
60
+ /**
61
+ * Callback function triggered when the checkbox/radio button state changes.
62
+ * Receives the change event which contains the new checked state and value.
63
+ * Use this to update your component state when in controlled mode.
64
+ */
65
+ onChange?: React.ChangeEventHandler<FormControlElement>;
66
+ /**
67
+ * Callback function triggered when a key is pressed while the input has focus.
68
+ * Useful for implementing custom keyboard navigation or shortcuts.
69
+ * Receives the keyboard event with details about the pressed key.
70
+ */
71
+ onKeyDown?: React.KeyboardEventHandler<FormControlElement>;
72
+ /**
73
+ * Callback function triggered when the input element is clicked.
74
+ * This fires before the onChange event and can be used for additional click handling.
75
+ * Note that clicking the associated label will also trigger this event.
76
+ */
77
+ onClick?: React.MouseEventHandler<FormControlElement>;
78
+ /**
79
+ * When true, disables the checkbox/radio button preventing user interaction.
80
+ * Disabled inputs appear visually dimmed and do not respond to user actions.
81
+ * The input will not be included in form submissions when disabled.
82
+ */
83
+ disabled?: boolean;
84
+ /**
85
+ * Test ID attribute for the input element used in automated testing.
86
+ * Applied to the `data-testid` attribute for element selection in test suites.
87
+ * Helps identify this specific checkbox/radio button in tests.
88
+ */
89
+ testId?: string;
90
+ }
91
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Checkbox.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.types.js","sourceRoot":"","sources":["../../src/Checkbox/Checkbox.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { Checkbox as default } from './Checkbox';
@@ -0,0 +1,2 @@
1
+ export { Checkbox as default } from './Checkbox';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Checkbox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { CollapseProps } from './Collapse.types';
3
+ declare const Collapse: React.FunctionComponent<CollapseProps>;
4
+ export default Collapse;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { AnimatePresence, motion } from 'framer-motion';
4
+ const Collapse = ({ isVisible, children }) => {
5
+ const contentRef = useRef(null);
6
+ const [contentHeight, setContentHeight] = useState(0);
7
+ useEffect(() => {
8
+ if (contentRef.current) {
9
+ setTimeout(() => {
10
+ setContentHeight((contentRef.current?.scrollHeight ?? 0) + 5);
11
+ }, 0);
12
+ }
13
+ }, [children]);
14
+ return (_jsx(AnimatePresence, { initial: false, children: isVisible && (_jsx(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height: contentHeight, opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { type: 'spring', damping: 20, stiffness: 100 }, children: _jsx("div", { ref: contentRef, children: children }) })) }));
15
+ };
16
+ export default Collapse;
17
+ //# sourceMappingURL=Collapse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collapse.js","sourceRoot":"","sources":["../../src/Collapse/Collapse.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGxD,MAAM,QAAQ,GAA2C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;IACnF,MAAM,UAAU,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAChD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,UAAU,CAAC,GAAG,EAAE;gBACd,gBAAgB,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChE,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,KAAC,eAAe,IAAC,OAAO,EAAE,KAAK,YAC5B,SAAS,IAAI,CACZ,KAAC,MAAM,CAAC,GAAG,IACT,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAClC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,EAC9C,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,YAE3D,cAAK,GAAG,EAAE,UAAU,YAAG,QAAQ,GAAO,GAC3B,CACd,GACe,CACnB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ title: string;
3
+ };
4
+ export default _default;
5
+ export declare const AllCollapses: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import Collapse from './Collapse';
4
+ import { QTip } from '../Tooltip';
5
+ import Button from '../Button';
6
+ export default {
7
+ title: 'Collapse',
8
+ };
9
+ export const AllCollapses = () => {
10
+ const [isVisible, setIsVisible] = React.useState(true);
11
+ const renderChild = () => (_jsxs("div", { className: "tw:text-sq-text-color tw:dark:text-sq-white", children: [_jsx("p", { className: "tw:mb-5 tw:text-sq-15 tw:leading-normal", children: "This is a content to be shown when the collapse is visible. Click the button above to toggle it" }), _jsx(Button, { variant: "outline", label: "Save data" })] }));
12
+ const renderAllVariations = () => (_jsxs(_Fragment, { children: [_jsx("div", { className: "tw:p-4 light", children: _jsxs("div", { className: "tw:p-4", children: [_jsx(Button, { variant: "theme", label: "Toggle Collapse", onClick: () => setIsVisible(!isVisible) }), _jsx(Collapse, { isVisible: isVisible, children: renderChild() })] }) }), _jsx("div", { className: "tw:p-4 tw-dark tw:bg-sq-dark-background", children: _jsxs("div", { className: "tw:p-4", children: [_jsx(Button, { variant: "theme", label: "Toggle Collapse", onClick: () => setIsVisible(!isVisible) }), _jsx(Collapse, { isVisible: isVisible, children: renderChild() })] }) })] }));
13
+ return (_jsxs("div", { className: "tw:grid tw:grid-cols-4 tw:gap-4", children: [_jsx(QTip, {}), _jsxs("div", { className: "color_topic", children: [_jsx("b", { children: "Topic Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_analysis", children: [_jsx("b", { children: "Analysis Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_datalab", children: [_jsx("b", { children: "Datalab Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_vantage", children: [_jsx("b", { children: "Vantage Colors" }), renderAllVariations()] })] }));
14
+ };
15
+ //# sourceMappingURL=Collapse.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collapse.stories.js","sourceRoot":"","sources":["../../src/Collapse/Collapse.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAe;IACb,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvD,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CACxB,eAAK,SAAS,EAAC,6CAA6C,aAC1D,YAAG,SAAS,EAAC,yCAAyC,gHAElD,EACJ,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,WAAW,GAAG,IAC1C,CACP,CAAC;IACF,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAChC,8BACE,cAAK,SAAS,EAAC,cAAc,YAC3B,eAAK,SAAS,EAAC,QAAQ,aACrB,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,iBAAiB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAI,EAC3F,KAAC,QAAQ,IAAC,SAAS,EAAE,SAAS,YAAG,WAAW,EAAE,GAAY,IACtD,GACF,EAEN,cAAK,SAAS,EAAC,yCAAyC,YACtD,eAAK,SAAS,EAAC,QAAQ,aACrB,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,KAAK,EAAC,iBAAiB,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAI,EAC3F,KAAC,QAAQ,IAAC,SAAS,EAAE,SAAS,YAAG,WAAW,EAAE,GAAY,IACtD,GACF,IACL,CACJ,CAAC;IACF,OAAO,CACL,eAAK,SAAS,EAAC,iCAAiC,aAC9C,KAAC,IAAI,KAAG,EACR,eAAK,SAAS,EAAC,aAAa,aAC1B,uCAAmB,EAClB,mBAAmB,EAAE,IAClB,EAEN,eAAK,SAAS,EAAC,gBAAgB,aAC7B,0CAAsB,EACrB,mBAAmB,EAAE,IAClB,EAEN,eAAK,SAAS,EAAC,eAAe,aAC5B,yCAAqB,EACpB,mBAAmB,EAAE,IAClB,EAEN,eAAK,SAAS,EAAC,eAAe,aAC5B,yCAAqB,EACpB,mBAAmB,EAAE,IAClB,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
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(_jsx(Collapse, { isVisible: true, children: _jsx("div", { "data-testid": "content", children: "Content" }) }));
8
+ await waitFor(() => {
9
+ expect(screen.getByTestId('content')).toBeVisible();
10
+ });
11
+ });
12
+ test('does not render children when not visible', async () => {
13
+ render(_jsx(Collapse, { isVisible: false, children: _jsx("div", { "data-testid": "content", children: "Content" }) }));
14
+ expect(screen.queryByTestId('content')).not.toBeInTheDocument();
15
+ });
16
+ });
17
+ //# sourceMappingURL=Collapse.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collapse.test.js","sourceRoot":"","sources":["../../src/Collapse/Collapse.test.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,2BAA2B,CAAC;AACnC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,CACJ,KAAC,QAAQ,IAAC,SAAS,EAAE,IAAI,YACvB,6BAAiB,SAAS,wBAAc,GAC/B,CACZ,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,CACJ,KAAC,QAAQ,IAAC,SAAS,EAAE,KAAK,YACxB,6BAAiB,SAAS,wBAAc,GAC/B,CACZ,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Props for the Collapse component that creates smooth expand/collapse animations.
3
+ */
4
+ export interface CollapseProps {
5
+ /**
6
+ * Controls whether the collapse content is visible and expanded.
7
+ * When true, the content smoothly expands to full height.
8
+ * When false, the content smoothly collapses to zero height.
9
+ * Use this to control the collapse state from parent components.
10
+ */
11
+ isVisible: boolean;
12
+ /**
13
+ * Content to display inside the collapsible area.
14
+ * Can be any React elements that you want to show/hide with animation.
15
+ * The content will be measured and animated when expanding or collapsing.
16
+ */
17
+ children: React.ReactNode;
18
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Collapse.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Collapse.types.js","sourceRoot":"","sources":["../../src/Collapse/Collapse.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { default } from './Collapse';
@@ -0,0 +1,2 @@
1
+ export { default } from './Collapse';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Collapse/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import '../styles.css';
3
+ import { IconProps } from './Icon.types';
4
+ /**
5
+ * Icon:
6
+ * - access to Seeq custom icons by providing the desired icon
7
+ * - leverage "type" to style your icon
8
+ */
9
+ declare const Icon: React.FunctionComponent<IconProps>;
10
+ export default Icon;
@@ -0,0 +1,56 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import '../styles.css';
3
+ import { getQTipData } from '../Tooltip/qTip.utilities';
4
+ const colorClassesThemeLight = {
5
+ 'theme': 'tw:text-sq-theme-dark',
6
+ 'white': 'tw:text-sq-white',
7
+ 'dark-gray': 'tw:text-sq-fairly-dark-gray',
8
+ 'warning': 'tw:text-sq-warning',
9
+ 'darkish-gray': 'tw:text-sq-darkish-gray',
10
+ 'gray': 'tw:text-sq-disabled-gray',
11
+ 'color': '',
12
+ 'info': 'tw:text-sq-theme-link',
13
+ 'text': 'tw:text-sq-text-color',
14
+ 'inherit': '',
15
+ 'danger': 'tw:text-sq-danger',
16
+ 'theme-light': 'tw:text-sq-theme-light',
17
+ 'success': 'tw:text-sq-success',
18
+ };
19
+ const colorClassesThemeDark = {
20
+ 'theme': 'tw:dark:text-sq-theme-darker',
21
+ 'white': '',
22
+ 'dark-gray': 'tw:text-sq-fairly-dark-gray',
23
+ 'warning': '',
24
+ 'darkish-gray': 'tw:text-sq-darkish-gray',
25
+ 'gray': 'tw:dark:text-sq-dark-disabled-gray',
26
+ 'color': '',
27
+ 'info': 'tw:dark:text-sq-theme-link',
28
+ 'text': 'tw:dark:text-sq-dark-text',
29
+ 'inherit': '',
30
+ 'danger': 'tw:text-sq-danger',
31
+ 'theme-light': 'tw:text-sq-theme-light',
32
+ 'success': 'tw:text-sq-success',
33
+ };
34
+ /**
35
+ * Icon:
36
+ * - access to Seeq custom icons by providing the desired icon
37
+ * - leverage "type" to style your icon
38
+ */
39
+ const Icon = ({ onClick, icon, iconPrefix = undefined, type = 'theme', extraClassNames, id, large, small, size, color, testId, customId, number, ...tooltipProps }) => {
40
+ if ((type === 'color' && (color === undefined || color === '')) || (color && type !== 'color')) {
41
+ const errorMessage = color === undefined || color === ''
42
+ ? 'Icon with type="color" must have prop color specified.'
43
+ : 'Icon with prop color must have type="color".';
44
+ return _jsx("div", { className: "tw:text-sq-danger-color", children: errorMessage });
45
+ }
46
+ const fontAwesomePrefix = iconPrefix ? iconPrefix : 'fa-sharp fa-regular';
47
+ const iconPrefixString = icon.startsWith('fc') ? 'fc' : fontAwesomePrefix;
48
+ const style = type === 'color' && color ? { color } : {};
49
+ const sizeClass = size ? `fa-${size}` : small ? 'fa-sm' : large ? 'fa-lg' : '';
50
+ const appliedClassNames = `${iconPrefixString} ${icon} ${sizeClass}
51
+ ${colorClassesThemeLight[type]} ${colorClassesThemeDark[type]} ${onClick ? 'tw:cursor-pointer' : ''} ${extraClassNames} tw:focus:outline-none tw:focus-visible:outline-none tw:outline-none`;
52
+ const tooltipData = getQTipData(tooltipProps);
53
+ return (_jsx("i", { className: appliedClassNames, style: style, onClick: onClick, "data-testid": testId, "data-customid": customId, id: id, "data-number": number, ...tooltipData }));
54
+ };
55
+ export default Icon;
56
+ //# sourceMappingURL=Icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../src/Icon/Icon.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ title: string;
3
+ };
4
+ export default _default;
5
+ export declare const AllIcons: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import Icon from './Icon';
3
+ import { iconTypes } from './Icon.types';
4
+ export default {
5
+ title: 'Icons',
6
+ };
7
+ export const AllIcons = () => {
8
+ const renderAllVariations = () => {
9
+ return (_jsxs(_Fragment, { children: [_jsx("br", {}), _jsx("br", {}), iconTypes.map((iconType) => {
10
+ return (_jsxs("div", { children: [_jsxs("b", { children: ["type=", iconType] }), _jsx("br", {}), _jsxs("div", { children: [_jsx(Icon, { icon: "fc-genai-chat", small: true, extraClassNames: 'tw:p-2', type: iconType, color: iconType === 'color' ? 'purple' : undefined }), _jsx(Icon, { icon: "fc-formula-ai", extraClassNames: 'tw:p-2', type: iconType, color: iconType === 'color' ? '#928378' : undefined }), _jsx(Icon, { icon: "fc-datalab-ai", extraClassNames: 'tw:p-2', type: iconType, color: iconType === 'color' ? 'pink' : undefined }), _jsx(Icon, { icon: "fc-genai-agent-q", extraClassNames: 'tw:p-2', type: iconType, color: iconType === 'color' ? 'pink' : undefined }), _jsx(Icon, { icon: "fc-workbook-ai", extraClassNames: 'tw:p-2', type: iconType, color: iconType === 'color' ? 'pink' : undefined }), _jsx(Icon, { icon: "fc-vantage", extraClassNames: 'tw:p-2', type: iconType, color: iconType === 'color' ? 'pink' : undefined })] }), _jsxs("div", { children: [_jsx(Icon, { icon: "fc-statistics-menu", extraClassNames: 'tw-p-2', type: iconType, color: iconType === 'color' ? 'pink' : undefined }), _jsx(Icon, { icon: "fc-statistic-summary", extraClassNames: 'tw-p-2', type: iconType, color: iconType === 'color' ? 'pink' : undefined }), _jsx(Icon, { icon: "fc-create-summary", extraClassNames: 'tw-p-2', type: iconType, color: iconType === 'color' ? '#928378' : undefined }), _jsx(Icon, { icon: "fc-view-summaries", extraClassNames: 'tw-p-2', type: iconType, color: iconType === 'color' ? 'pink' : undefined })] }), _jsx("b", { children: "Sizes" }), _jsx("br", {}), _jsxs("div", { className: "tw:flex tw:flex-row tw:flex-wrap tw:gap-1 tw:py-6", children: [_jsx(Icon, { icon: "fc-pca", size: "2xs", type: iconType, color: iconType === 'color' ? 'purple' : undefined }), _jsx(Icon, { icon: "fc-pca", size: "xs", type: iconType, color: iconType === 'color' ? 'purple' : undefined }), _jsx(Icon, { icon: "fc-pca", size: "sm", type: iconType, color: iconType === 'color' ? 'purple' : undefined }), _jsx(Icon, { icon: "fc-pca", size: "lg", type: iconType, color: iconType === 'color' ? 'purple' : undefined }), _jsx(Icon, { icon: "fc-pca", size: "xl", type: iconType, color: iconType === 'color' ? 'purple' : undefined }), _jsx(Icon, { icon: "fc-pca", size: "2xl", type: iconType, color: iconType === 'color' ? 'purple' : undefined })] }), _jsxs("div", { className: "tw-dark tw:bg-sq-dark-background", children: [_jsx(Icon, { icon: "fc-announcements", extraClassNames: 'tw:p-2', type: iconType, color: iconType === 'color' ? 'purple' : undefined }), _jsx(Icon, { icon: "fc-announcements", extraClassNames: 'tw:p-2', type: iconType, color: iconType === 'color' ? '#928378' : undefined }), _jsx(Icon, { icon: "fc-announcements", large: true, extraClassNames: 'tw:p-2', type: iconType, color: iconType === 'color' ? 'pink' : undefined })] }), _jsx("br", {})] }, `${iconType}`));
11
+ })] }));
12
+ };
13
+ return (_jsxs("div", { className: "tw:grid tw:grid-cols-4 tw:gap-4", children: [_jsxs("div", { className: "color_topic", children: [_jsx("b", { children: "Topic Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_analysis", children: [_jsx("b", { children: "Analysis Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_datalab", children: [_jsx("b", { children: "Datalab Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_vantage", children: [_jsx("b", { children: "Vantage Colors" }), renderAllVariations()] })] }));
14
+ };
15
+ //# sourceMappingURL=Icon.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.stories.js","sourceRoot":"","sources":["../../src/Icon/Icon.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,55 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import '@testing-library/jest-dom';
3
+ import { render, screen } from '@testing-library/react';
4
+ import Icon from './Icon';
5
+ describe('Icon', () => {
6
+ class Context {
7
+ testId = 'iconTestId';
8
+ icon = 'testIcon';
9
+ props = {
10
+ icon: this.icon,
11
+ onClick: jest.fn(),
12
+ testId: this.testId,
13
+ };
14
+ }
15
+ let tc;
16
+ beforeEach(() => {
17
+ tc = new Context();
18
+ });
19
+ const renderIcon = (props) => render(_jsx(Icon, { ...props }));
20
+ it('renders icon', () => {
21
+ renderIcon(tc.props);
22
+ expect(screen.getByTestId(tc.testId)).toHaveClass(tc.icon);
23
+ });
24
+ it('renders large icon', () => {
25
+ renderIcon({ ...tc.props, large: true });
26
+ expect(screen.getByTestId(tc.testId)).toHaveClass('fa-lg');
27
+ });
28
+ it('renders small icon', () => {
29
+ renderIcon({ ...tc.props, small: true });
30
+ expect(screen.getByTestId(tc.testId)).toHaveClass('fa-sm');
31
+ });
32
+ describe('icon types', () => {
33
+ it('renders the theme type by default', () => {
34
+ renderIcon(tc.props);
35
+ expect(screen.getByTestId(tc.testId)).toHaveClass('tw:text-sq-theme-dark');
36
+ });
37
+ it('renders the white icon', () => {
38
+ renderIcon({ ...tc.props, type: 'white' });
39
+ expect(screen.getByTestId(tc.testId)).toHaveClass('tw:text-sq-white');
40
+ });
41
+ it('renders the text-type icon', () => {
42
+ renderIcon({ ...tc.props, type: 'text' });
43
+ expect(screen.getByTestId(tc.testId)).toHaveClass('tw:text-sq-text-color');
44
+ });
45
+ it('renders the color-type icon', () => {
46
+ renderIcon({ ...tc.props, type: 'color', color: '#AABBFF' });
47
+ expect(screen.getByTestId(tc.testId)).toHaveStyle('color: #AABBFF');
48
+ });
49
+ it('renders a warning if type=color and no color is provided', () => {
50
+ renderIcon({ ...tc.props, type: 'color' });
51
+ expect(screen.getByText('Icon with type="color" must have prop color specified.')).toBeInTheDocument();
52
+ });
53
+ });
54
+ });
55
+ //# sourceMappingURL=Icon.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.test.js","sourceRoot":"","sources":["../../src/Icon/Icon.test.tsx"],"names":[],"mappings":"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"}