@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,90 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import '../styles.css';
3
+ import { browserIsFirefox } from '../utils/browserId';
4
+ import Icon from '../Icon';
5
+ import { DEFAULT_TOOL_TIP_DELAY } from '../Tooltip/Tooltip.types';
6
+ /**
7
+ * All-in-one Button:
8
+ * - use "variant" to achieve the desired style
9
+ * - include tooltips and/or icons
10
+ */
11
+ const Button = ({ onClick, label, variant = 'outline', type = 'button', size = 'sm', disabled, extraClassNames, id, testId, stopPropagation = true, tooltip, tooltipOptions, iconStyle = 'text', icon, iconColor, iconPosition = 'left', iconPrefix = undefined, preventBlur = false, isHtmlTooltip = false, tooltipTestId, }) => {
12
+ const baseClasses = 'tw:px-2.5 tw:rounded-md tw:focus:ring-0 tw:focus-visible:outline-none tw:cursor-pointer tw:disabled:pointer-events-none';
13
+ const baseClassesByVariant = {
14
+ 'outline': 'tw:disabled:opacity-50 tw:border-solid tw:border',
15
+ 'theme': 'tw:disabled:opacity-50 tw:border-solid tw:border',
16
+ 'danger': 'tw:bg-sq-danger tw:hover:bg-sq-danger-hover/80 tw:disabled:opacity-50 tw:border-solid tw:border ' +
17
+ 'tw:border-sq-danger tw:hover:border-sq-danger-hover/80',
18
+ 'theme-light': 'tw:disabled:opacity-50 tw:border-solid tw:border',
19
+ 'no-border': 'tw:bg-transparent tw:disabled:opacity-50',
20
+ 'warning': 'tw:bg-sq-warning tw:border-solid tw:border tw:border-sq-warning',
21
+ };
22
+ const textClassesByVariantLightTheme = {
23
+ 'outline': 'tw:text-sq-text-color',
24
+ 'theme': 'tw:text-sq-white',
25
+ 'theme-light': 'tw:text-sq-white',
26
+ 'danger': 'tw:text-sq-white',
27
+ 'no-border': 'tw:text-sq-text-color',
28
+ 'warning': 'tw:text-sq-white',
29
+ };
30
+ const textClassesByVariantDarkTheme = {
31
+ 'outline': 'tw:dark:text-sq-dark-text',
32
+ 'theme': 'tw:dark:text-sq-white',
33
+ 'theme-light': 'tw:dark:text-sq-white',
34
+ 'danger': 'tw:dark:text-sq-white',
35
+ 'no-border': 'tw:dark:text-sq-dark-text',
36
+ 'warning': 'tw:dark:text-sq-white',
37
+ };
38
+ const classesByVariantLightTheme = {
39
+ 'outline': 'tw:bg-sq-white tw:dark:bg-sq-dark-background tw:border-sq-disabled-gray tw:hover:bg-sq-light-gray' +
40
+ ' tw:focus:bg-sq-dark-gray tw:active:bg-sq-dark-gray tw:focus:border-sq-color-dark tw:active:border-sq-color-dark',
41
+ 'theme': 'tw:bg-sq-theme-dark tw:hover:bg-sq-theme-highlight tw:border-sq-theme-dark' +
42
+ ' tw:hover:border-sq-theme-highlight',
43
+ 'danger': '',
44
+ 'theme-light': 'tw:bg-sq-theme-icon tw:hover:bg-sq-theme-link tw:border-sq-theme-icon tw:hover:border-sq-theme-link',
45
+ 'no-border': '',
46
+ 'warning': '',
47
+ };
48
+ const classesByVariantDarkTheme = {
49
+ 'outline': 'tw:dark:border-sq-dark-disabled-gray tw:dark:hover:bg-sq-highlight-color-dark' +
50
+ ' tw:dark:focus:bg-sq-multi-gray-dark tw:dark:active:bg-sq-multi-gray-dark tw:dark:focus:border-sq-theme-dark' +
51
+ ' tw:dark:active:border-sq-theme-dark',
52
+ 'theme': 'tw:dark:bg-sq-theme-dark tw:dark:hover:bg-sq-theme-highlight tw:dark:border-sq-theme-dark' +
53
+ ' tw:dark:hover:border-sq-theme-highlight',
54
+ 'danger': '',
55
+ 'theme-light': 'tw:dark:bg-sq-theme-icon tw:dark:hover:bg-sq-link-dark tw:dark:border-sq-icon-dark' +
56
+ ' tw:dark:hover:border-sq-link-dark',
57
+ 'no-border': '',
58
+ 'warning': '',
59
+ };
60
+ const sizeClasses = {
61
+ xs: 'tw:text-xs tw:py-0.5',
62
+ sm: 'tw:text-sm tw:py-1',
63
+ lg: 'tw:text-xl tw:py-1',
64
+ };
65
+ const appliedClasses = `${baseClasses} ${baseClassesByVariant[variant]} ${sizeClasses[size]} ${classesByVariantLightTheme[variant]} ${classesByVariantDarkTheme[variant]} ${textClassesByVariantLightTheme[variant]} ${textClassesByVariantDarkTheme[variant]} ${extraClassNames}`;
66
+ let tooltipData = undefined;
67
+ if (tooltip) {
68
+ tooltipData = {
69
+ 'data-qtip-text': tooltip,
70
+ 'data-qtip-placement': tooltipOptions?.position,
71
+ 'data-qtip-is-html': isHtmlTooltip,
72
+ 'data-qtip-testid': tooltipTestId,
73
+ 'data-qtip-delay': tooltipOptions?.delay ?? DEFAULT_TOOL_TIP_DELAY,
74
+ };
75
+ }
76
+ const iconClass = iconPosition === 'left' ? 'tw:mr-1' : 'tw:ml-1';
77
+ const iconElement = icon && (_jsx(Icon, { icon: icon, iconPrefix: iconPrefix, type: iconStyle, color: iconColor, extraClassNames: label
78
+ ? `${iconClass} ${textClassesByVariantLightTheme[variant]} ${textClassesByVariantDarkTheme[variant]}`
79
+ : '', testId: `${id}_spinner` }));
80
+ return (_jsxs("button", { id: id, ...tooltipData, disabled: disabled, "data-testid": testId, type: type === 'link' || (type === 'submit' && browserIsFirefox) ? 'button' : type, onClick: (e) => {
81
+ stopPropagation && e.stopPropagation();
82
+ onClick && onClick(e);
83
+ }, onMouseDown: (e) => {
84
+ if (preventBlur) {
85
+ e.preventDefault();
86
+ }
87
+ }, className: appliedClasses, children: [iconPosition === 'left' && iconElement, label, iconPosition === 'right' && iconElement] }));
88
+ };
89
+ export default Button;
90
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ declare const _default: {
2
+ title: string;
3
+ };
4
+ export default _default;
5
+ export declare const AllButtonVariants: () => import("react/jsx-runtime").JSX.Element;
6
+ export declare const ButtonWithTooltip: () => import("react/jsx-runtime").JSX.Element;
7
+ export declare const ButtonWithIcon: () => import("react/jsx-runtime").JSX.Element;
8
+ export declare const DisabledButton: () => import("react/jsx-runtime").JSX.Element;
9
+ export declare const ButtonSizes: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import Button from './Button';
3
+ import { buttonVariants, buttonSizes } from './Button.types';
4
+ import { QTip } from '../Tooltip';
5
+ export default {
6
+ title: 'Button',
7
+ };
8
+ export const AllButtonVariants = () => {
9
+ const renderAllVariations = () => (_jsx(_Fragment, { children: buttonVariants.map((variant) => (_jsxs("div", { className: "tw:grid tw:grid-cols-2 tw:gap-4", children: [_jsx("div", { className: "tw:p-4", children: _jsx(Button, { label: `Variant: ${variant}`, onClick: () => { }, variant: variant }) }), _jsx("div", { className: "tw:p-4 tw-dark tw:bg-sq-dark-background", children: _jsx(Button, { label: `Variant: ${variant}`, onClick: () => { }, variant: variant }) })] }, `{variant_${variant}`))) }));
10
+ 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()] })] }));
11
+ };
12
+ export const ButtonWithTooltip = () => {
13
+ const renderButtonWithTooltip = () => (_jsxs(_Fragment, { children: [_jsx("div", { className: "tw:p-4", children: _jsx(Button, { tooltip: "Helpful tooltip", variant: "theme", label: "Hover me" }) }), _jsx("div", { className: "tw:p-4 tw-dark tw:bg-sq-dark-background", children: _jsx(Button, { tooltip: "Helpful tooltip", variant: "theme", label: "Hover me" }) })] }));
14
+ 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" }), renderButtonWithTooltip()] }), _jsxs("div", { className: "color_analysis", children: [_jsx("b", { children: "Analysis Colors" }), renderButtonWithTooltip()] }), _jsxs("div", { className: "color_datalab", children: [_jsx("b", { children: "Datalab Colors" }), renderButtonWithTooltip()] }), _jsxs("div", { className: "color_vantage", children: [_jsx("b", { children: "Vantage Colors" }), renderButtonWithTooltip()] })] }));
15
+ };
16
+ export const ButtonWithIcon = () => {
17
+ const renderButtonWithIcon = () => (_jsxs(_Fragment, { children: [_jsx("div", { className: "tw:p-4", children: _jsx(Button, { icon: "fc-search-power", variant: "theme", label: "With Icon" }) }), _jsx("div", { className: "tw:p-4 tw-dark tw:bg-sq-dark-background", children: _jsx(Button, { icon: "fc-search-power", variant: "theme", label: "With Icon" }) })] }));
18
+ const renderButtonWithIconOnRight = () => (_jsxs(_Fragment, { children: [_jsx("div", { className: "tw:p-4", children: _jsx(Button, { icon: "fc-search-power", iconPosition: "right", variant: "theme", label: "With Icon On Right" }) }), _jsx("div", { className: "tw:p-4 tw-dark tw:bg-sq-dark-background", children: _jsx(Button, { icon: "fc-search-power", iconPosition: "right", variant: "theme", label: "With Icon On Right" }) })] }));
19
+ 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" }), renderButtonWithIcon()] }), _jsxs("div", { className: "color_analysis", children: [_jsx("b", { children: "Analysis Colors" }), renderButtonWithIcon()] }), _jsxs("div", { className: "color_datalab", children: [_jsx("b", { children: "Datalab Colors" }), renderButtonWithIcon()] }), _jsxs("div", { className: "color_vantage", children: [_jsx("b", { children: "Vantage Colors" }), renderButtonWithIcon()] }), _jsx("div", { className: "color_topic", children: renderButtonWithIconOnRight() }), _jsx("div", { className: "color_analysis", children: renderButtonWithIconOnRight() }), _jsx("div", { className: "color_datalab", children: renderButtonWithIconOnRight() }), _jsx("div", { className: "color_vantage", children: renderButtonWithIconOnRight() })] }));
20
+ };
21
+ export const DisabledButton = () => {
22
+ const renderDisabledButton = () => (_jsxs(_Fragment, { children: [_jsxs("div", { className: "tw:p-4", children: [_jsx(Button, { disabled: true, variant: "theme", label: "Disabled Button" }), _jsx(Button, { extraClassNames: "tw:m-5", disabled: true, label: "Disabled Button" })] }), _jsxs("div", { className: "tw:p-4 tw-dark tw:bg-sq-dark-background", children: [_jsx(Button, { disabled: true, variant: "theme", label: "Disabled Button" }), _jsx(Button, { extraClassNames: "tw:m-5", disabled: true, label: "Disabled Button" })] })] }));
23
+ 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" }), renderDisabledButton()] }), _jsxs("div", { className: "color_analysis", children: [_jsx("b", { children: "Analysis Colors" }), renderDisabledButton()] }), _jsxs("div", { className: "color_datalab", children: [_jsx("b", { children: "Datalab Colors" }), renderDisabledButton()] }), _jsxs("div", { className: "color_vantage", children: [_jsx("b", { children: "Vantage Colors" }), renderDisabledButton()] })] }));
24
+ };
25
+ export const ButtonSizes = () => {
26
+ const renderButtonSizes = () => (_jsxs(_Fragment, { children: [_jsx("div", { className: "tw:p-4", children: buttonSizes.map((size) => (_jsx("div", { className: "tw:mb-2", children: _jsx(Button, { size: size, variant: "theme", label: `Size: ${size}` }) }, `size_light_${size}`))) }), _jsx("div", { className: "tw:p-4 tw-dark tw:bg-sq-dark-background", children: buttonSizes.map((size) => (_jsx("div", { className: "tw:mb-2", children: _jsx(Button, { size: size, variant: "theme", label: `Size: ${size}` }) }, `size_dark_${size}`))) })] }));
27
+ 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" }), renderButtonSizes()] }), _jsxs("div", { className: "color_analysis", children: [_jsx("b", { children: "Analysis Colors" }), renderButtonSizes()] }), _jsxs("div", { className: "color_datalab", children: [_jsx("b", { children: "Datalab Colors" }), renderButtonSizes()] }), _jsxs("div", { className: "color_vantage", children: [_jsx("b", { children: "Vantage Colors" }), renderButtonSizes()] })] }));
28
+ };
29
+ //# sourceMappingURL=Button.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.stories.js","sourceRoot":"","sources":["../../src/Button/Button.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -0,0 +1,47 @@
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 userEvent from '@testing-library/user-event';
5
+ import Button from './Button';
6
+ describe('Button', () => {
7
+ class Context {
8
+ testId = 'buttonTestId';
9
+ label = 'button label';
10
+ props = {
11
+ label: this.label,
12
+ onClick: jest.fn(),
13
+ testId: this.testId,
14
+ };
15
+ }
16
+ let tc;
17
+ beforeEach(() => {
18
+ tc = new Context();
19
+ });
20
+ const renderButton = (props) => render(_jsx(Button, { ...props }));
21
+ it('renders button label', () => {
22
+ renderButton(tc.props);
23
+ expect(screen.getByText(tc.label)).toBeInTheDocument();
24
+ });
25
+ it('calls on click', async () => {
26
+ renderButton(tc.props);
27
+ await userEvent.click(screen.getByTestId(tc.testId));
28
+ expect(tc.props.onClick).toHaveBeenCalled();
29
+ });
30
+ it('renders disabled button', () => {
31
+ renderButton({ ...tc.props, disabled: true });
32
+ expect(screen.getByText(tc.label)).toBeDisabled();
33
+ });
34
+ it('respects stopPropagation default', async () => {
35
+ const callOnPropagation = jest.fn();
36
+ render(_jsx("div", { onClick: callOnPropagation, children: _jsx(Button, { ...tc.props }) }));
37
+ await userEvent.click(screen.getByTestId(tc.testId));
38
+ expect(callOnPropagation).not.toHaveBeenCalled();
39
+ });
40
+ it('propagates click event if not told not to', async () => {
41
+ const callOnPropagation = jest.fn();
42
+ render(_jsx("div", { onClick: callOnPropagation, children: _jsx(Button, { ...tc.props, stopPropagation: false }) }));
43
+ await userEvent.click(screen.getByTestId(tc.testId));
44
+ expect(callOnPropagation).toHaveBeenCalled();
45
+ });
46
+ });
47
+ //# sourceMappingURL=Button.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.test.js","sourceRoot":"","sources":["../../src/Button/Button.test.tsx"],"names":[],"mappings":";AACA,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,SAAS,MAAM,6BAA6B,CAAC;AAEpD,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;QACvB,KAAK,GAAgB;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;KACH;IAED,IAAI,EAAW,CAAC;IAChB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAC,MAAM,OAAK,KAAK,GAAI,CAAC,CAAC;IAE3E,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CACJ,cAAK,OAAO,EAAE,iBAAiB,YAC7B,KAAC,MAAM,OAAK,EAAE,CAAC,KAAK,GAAI,GACpB,CACP,CAAC;QACF,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CACJ,cAAK,OAAO,EAAE,iBAAiB,YAC7B,KAAC,MAAM,IAAO,GAAG,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,GAAM,GACnD,CACP,CAAC;QACF,MAAM,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,148 @@
1
+ import { TooltipProps } from '../Tooltip/Tooltip.types';
2
+ import { IconType } from '../Icon/Icon.types';
3
+ import React from 'react';
4
+ export declare const buttonTypes: readonly ["button", "reset", "submit", "link"];
5
+ export declare const buttonSizes: readonly ["xs", "sm", "lg"];
6
+ export declare const buttonVariants: readonly ["outline", "theme", "theme-light", "warning", "danger", "no-border"];
7
+ export declare const iconPositions: string[];
8
+ export type ButtonType = (typeof buttonTypes)[number];
9
+ export type ButtonSize = (typeof buttonSizes)[number];
10
+ export type ButtonVariant = (typeof buttonVariants)[number];
11
+ export type IconPosition = (typeof iconPositions)[number];
12
+ export interface ButtonProps {
13
+ /**
14
+ * Callback function triggered when the button is clicked.
15
+ * Receives the mouse event as a parameter for additional event handling.
16
+ * Use this to define the primary action the button should perform.
17
+ */
18
+ onClick?: (e: React.MouseEvent) => void;
19
+ /**
20
+ * The text, element, or content to display inside the button.
21
+ * Can be a string for simple text, a translation key, or any React element/node
22
+ * for more complex content like formatted text or inline elements.
23
+ */
24
+ label?: string | React.JSX.Element | React.ReactNode;
25
+ /**
26
+ * Visual style variant that determines the button's appearance and color scheme:
27
+ * - `outline`: White background with border, suitable for secondary actions
28
+ * - `theme`: Primary theme colors, typically for main call-to-action buttons
29
+ * - `theme-light`: Lighter version of theme colors for subtle primary actions
30
+ * - `warning`: Yellow/orange styling for caution-related actions
31
+ * - `danger`: Red styling for destructive or critical actions
32
+ * - `no-border`: Borderless styling for minimal, text-like buttons
33
+ * @default 'outline'
34
+ */
35
+ variant?: ButtonVariant;
36
+ /**
37
+ * HTML button type attribute that determines the button's behavior in forms:
38
+ * - `button`: Standard button with no special form behavior (default)
39
+ * - `submit`: Submits the parent form when clicked
40
+ * - `reset`: Resets the parent form fields to their initial values
41
+ * - `link`: Behaves like a button but renders as button type for Firefox compatibility
42
+ * @default 'button'
43
+ */
44
+ type?: ButtonType;
45
+ /**
46
+ * Size variant that controls the button's dimensions and text size:
47
+ * - `sm`: Small button with compact padding and smaller text (default)
48
+ * - `lg`: Large button with generous padding and larger text
49
+ * @default 'sm'
50
+ */
51
+ size?: ButtonSize;
52
+ /**
53
+ * When true, disables the button preventing user interaction.
54
+ * Disabled buttons are visually dimmed and do not respond to clicks or focus.
55
+ * The button will also have `pointer-events: none` applied via CSS.
56
+ */
57
+ disabled?: boolean;
58
+ /**
59
+ * Additional CSS classes to apply to the button element.
60
+ * These classes are combined with the component's built-in styling classes.
61
+ * Use this to customize appearance beyond the standard variants.
62
+ */
63
+ extraClassNames?: string;
64
+ /**
65
+ * Icon class name to display alongside the button text.
66
+ * Typically uses FontAwesome classes (e.g., 'fc-zoom', 'fc-delete').
67
+ * The icon is automatically styled to match the button's text color.
68
+ */
69
+ icon?: string;
70
+ /**
71
+ * Determines how the icon should be styled and colored:
72
+ * - `text`: Uses the button's text color (default)
73
+ * - `white`: Forces white color regardless of button variant
74
+ * - `theme`: Uses theme-specific colors
75
+ * - `color`: Uses a custom color specified in `iconColor`
76
+ * @default 'text'
77
+ */
78
+ iconStyle?: IconType;
79
+ /**
80
+ * Custom color for the icon when `iconStyle` is set to 'color'.
81
+ * Can be any valid CSS color value (hex, rgb, color name, etc.).
82
+ * This property is required when iconStyle is 'color'.
83
+ */
84
+ iconColor?: string;
85
+ /**
86
+ * Position of the icon relative to the button text:
87
+ * - `left`: Icon appears before the text with right margin
88
+ * - `right`: Icon appears after the text with left margin
89
+ * @default 'left'
90
+ */
91
+ iconPosition?: IconPosition;
92
+ /**
93
+ * Custom prefix for the icon class when not using standard FontAwesome icons.
94
+ * By default, icons are prefixed with 'fa-sharp fa-regular', but some icons
95
+ * require different prefixes. Use this to override the default behavior.
96
+ */
97
+ iconPrefix?: string;
98
+ /**
99
+ * HTML ID attribute for the button element.
100
+ * Should be unique across the entire page for proper HTML semantics.
101
+ * Also used as a prefix for the icon's test ID when an icon is present.
102
+ */
103
+ id?: string;
104
+ /**
105
+ * Test ID attribute for the button element used in automated testing.
106
+ * Applied to the `data-testid` attribute for element selection in test suites.
107
+ */
108
+ testId?: string;
109
+ /**
110
+ * Controls whether the click event should stop propagation to parent elements.
111
+ * When true (default), prevents the click from bubbling up the DOM tree.
112
+ * Set to false if you need parent elements to also handle the click event.
113
+ * @default true
114
+ */
115
+ stopPropagation?: boolean;
116
+ /**
117
+ * Tooltip text to display when hovering over the button.
118
+ * When provided, the button will show a tooltip with this text on hover.
119
+ * The tooltip appearance and behavior can be customized with `tooltipOptions`.
120
+ */
121
+ tooltip?: string;
122
+ /**
123
+ * When true, the tooltip text is rendered as HTML allowing for rich content.
124
+ * When false (default), the tooltip text is treated as plain text for security.
125
+ * Only set to true if you trust the tooltip content source.
126
+ * @default false
127
+ */
128
+ isHtmlTooltip?: boolean;
129
+ /**
130
+ * Test ID attribute specifically for the tooltip element.
131
+ * Used for automated testing to identify and interact with the tooltip.
132
+ * Helpful when you need to test tooltip-specific behavior separately from the button.
133
+ */
134
+ tooltipTestId?: string;
135
+ /**
136
+ * Configuration options for customizing tooltip behavior and appearance.
137
+ * Omits the 'text' property since that's handled by the `tooltip` prop.
138
+ * Includes options like position, delay, and other tooltip-specific settings.
139
+ */
140
+ tooltipOptions?: Omit<TooltipProps, 'text'>;
141
+ /**
142
+ * When true, prevents the blur event from occurring on mouse down.
143
+ * Useful when you want to keep focus on the current element after clicking the button.
144
+ * Commonly used in scenarios where button clicks shouldn't interrupt form input focus.
145
+ * @default false
146
+ */
147
+ preventBlur?: boolean;
148
+ }
@@ -0,0 +1,5 @@
1
+ export const buttonTypes = ['button', 'reset', 'submit', 'link'];
2
+ export const buttonSizes = ['xs', 'sm', 'lg'];
3
+ export const buttonVariants = ['outline', 'theme', 'theme-light', 'warning', 'danger', 'no-border'];
4
+ export const iconPositions = ['left', 'right'];
5
+ //# sourceMappingURL=Button.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.types.js","sourceRoot":"","sources":["../../src/Button/Button.types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAC1E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC7G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export { default } from "./Button";
@@ -0,0 +1,2 @@
1
+ export { default } from "./Button";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import '../styles.css';
3
+ import { ButtonGroupProps } from './ButtonGroup.types';
4
+ /**
5
+ * ButtonGroup.
6
+ */
7
+ export declare const ButtonGroup: React.FunctionComponent<ButtonGroupProps>;
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import '../styles.css';
3
+ import { getQTipData } from '../Tooltip/qTip.utilities';
4
+ import Button from '../Button';
5
+ const baseClasses = 'tw:flex tw:outline-none tw:w-full tw:relative tw:flex-wrap';
6
+ const activeClassesByVariantLightTheme = {
7
+ 'outline': 'tw:!bg-sq-disabled-gray tw:border-sq-theme-dark',
8
+ 'theme': 'tw:bg-sq-theme-highlight',
9
+ 'danger': '',
10
+ 'theme-light': '',
11
+ 'no-border': 'tw:!bg-sq-disabled-gray',
12
+ 'warning': '',
13
+ };
14
+ const activeClassesByVariantDarkTheme = {
15
+ 'outline': 'tw:!dark:bg-sq-multi-gray-dark tw:dark:border-sq-theme-dark',
16
+ 'theme': 'tw:dark:bg-sq-theme-highlight',
17
+ 'danger': '',
18
+ 'theme-light': '',
19
+ 'no-border': 'tw:!dark:bg-sq-multi-gray-dark',
20
+ 'warning': '',
21
+ };
22
+ /**
23
+ * ButtonGroup.
24
+ */
25
+ export const ButtonGroup = (props) => {
26
+ const { id, extraClassNames = '', testId, onChange, buttons = [], ...tooltipProps } = props;
27
+ const tooltipData = getQTipData(tooltipProps);
28
+ const appliedClasses = `${baseClasses} ${extraClassNames}`;
29
+ return (_jsx("div", { id: id ? `button-group-${id}` : undefined, "data-testid": testId, className: appliedClasses, ...tooltipData, children: buttons
30
+ .filter(Boolean)
31
+ .map((item, index) => item?.variant === 'button' ? (_jsx(Button, { ...item.buttonProps, extraClassNames: `tw:-ml-sq-1 tw:focus:z-40 tw:outline-none tw:focus:border tw:rounded-none tw:first:rounded-l-md tw:last:rounded-r-md ${item.buttonProps?.isActive
32
+ ? `${activeClassesByVariantLightTheme[item?.buttonProps?.variant ?? 'outline']} ${activeClassesByVariantDarkTheme[item?.buttonProps?.variant ?? 'outline']} `
33
+ : ''} ${item.buttonProps.extraClassNames}`, onClick: () => onChange && onChange(item?.buttonProps?.value) }, index)) : (item?.element)) }));
34
+ };
35
+ //# sourceMappingURL=ButtonGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonGroup.js","sourceRoot":"","sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,MAAM,MAAM,WAAW,CAAC;AAG/B,MAAM,WAAW,GAAG,4DAA4D,CAAC;AAEjF,MAAM,gCAAgC,GAAG;IACvC,SAAS,EAAE,iDAAiD;IAC5D,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE,EAAE;IACZ,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,yBAAyB;IACtC,SAAS,EAAE,EAAE;CACd,CAAC;AAEF,MAAM,+BAA+B,GAAG;IACtC,SAAS,EAAE,6DAA6D;IACxE,OAAO,EAAE,+BAA+B;IACxC,QAAQ,EAAE,EAAE;IACZ,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,gCAAgC;IAC7C,SAAS,EAAE,EAAE;CACd,CAAC;AACF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAA8C,CAAC,KAAK,EAAE,EAAE;IAC9E,MAAM,EAAE,EAAE,EAAE,eAAe,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC;IAC5F,MAAM,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;IAE3D,OAAO,CACL,cAAK,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,iBAAe,MAAM,EAAE,SAAS,EAAE,cAAc,KAAM,WAAW,YAC5G,OAAO;aACL,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnB,IAAI,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC3B,KAAC,MAAM,OAED,IAAI,CAAC,WAAW,EACpB,eAAe,EAAE,wHACf,IAAI,CAAC,WAAW,EAAE,QAAQ;gBACxB,CAAC,CAAC,GAAG,gCAAgC,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,IAAI,SAAS,CAAC,IAC1E,+BAA+B,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,IAAI,SAAS,CACzE,GAAG;gBACL,CAAC,CAAC,EACN,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,IATxD,KAAK,CAUV,CACH,CAAC,CAAC,CAAC,CACF,IAAI,EAAE,OAAO,CACd,CACF,GACC,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ title: string;
3
+ };
4
+ export default _default;
5
+ export declare const AllButtonGroups: () => import("react/jsx-runtime").JSX.Element;