@seeqdev/qomponents 0.0.157 → 0.0.158

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 (428) hide show
  1. package/dist/Accordion/Accordion.js +7 -0
  2. package/dist/Accordion/Accordion.js.map +1 -0
  3. package/dist/Accordion/Accordion.stories.js +75 -0
  4. package/dist/Accordion/Accordion.stories.js.map +1 -0
  5. package/dist/Accordion/Accordion.test.js +55 -0
  6. package/dist/Accordion/Accordion.test.js.map +1 -0
  7. package/dist/Accordion/Accordion.types.js +2 -0
  8. package/dist/Accordion/Accordion.types.js.map +1 -0
  9. package/dist/Accordion/index.js +2 -0
  10. package/dist/Accordion/index.js.map +1 -0
  11. package/dist/Alert/Alert.js +32 -0
  12. package/dist/Alert/Alert.js.map +1 -0
  13. package/dist/Alert/Alert.stories.js +57 -0
  14. package/dist/Alert/Alert.stories.js.map +1 -0
  15. package/dist/Alert/Alert.test.js +50 -0
  16. package/dist/Alert/Alert.test.js.map +1 -0
  17. package/dist/Alert/Alert.types.js +2 -0
  18. package/dist/Alert/Alert.types.js.map +1 -0
  19. package/dist/Alert/index.js +2 -0
  20. package/dist/Alert/index.js.map +1 -0
  21. package/dist/Button/Button.js +89 -0
  22. package/dist/Button/Button.js.map +1 -0
  23. package/dist/Button/Button.stories.js +25 -0
  24. package/dist/Button/Button.stories.js.map +1 -0
  25. package/dist/Button/Button.test.js +47 -0
  26. package/dist/Button/Button.test.js.map +1 -0
  27. package/dist/Button/Button.types.js +5 -0
  28. package/dist/Button/Button.types.js.map +1 -0
  29. package/dist/Button/index.js +2 -0
  30. package/dist/Button/index.js.map +1 -0
  31. package/dist/ButtonGroup/ButtonGroup.js +35 -0
  32. package/dist/ButtonGroup/ButtonGroup.js.map +1 -0
  33. package/dist/ButtonGroup/ButtonGroup.stories.js +317 -0
  34. package/dist/ButtonGroup/ButtonGroup.stories.js.map +1 -0
  35. package/dist/ButtonGroup/ButtonGroup.test.js +66 -0
  36. package/dist/ButtonGroup/ButtonGroup.test.js.map +1 -0
  37. package/dist/ButtonGroup/ButtonGroup.types.js +2 -0
  38. package/dist/ButtonGroup/ButtonGroup.types.js.map +1 -0
  39. package/dist/ButtonGroup/index.js +2 -0
  40. package/dist/ButtonGroup/index.js.map +1 -0
  41. package/dist/ButtonWithDropdown/ButtonWithDropdown.js +36 -0
  42. package/dist/ButtonWithDropdown/ButtonWithDropdown.js.map +1 -0
  43. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +104 -0
  44. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js.map +1 -0
  45. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js +93 -0
  46. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js.map +1 -0
  47. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +2 -0
  48. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js.map +1 -0
  49. package/dist/ButtonWithDropdown/index.js +2 -0
  50. package/dist/ButtonWithDropdown/index.js.map +1 -0
  51. package/dist/ButtonWithPopover/ButtonWithPopover.js +55 -0
  52. package/dist/ButtonWithPopover/ButtonWithPopover.js.map +1 -0
  53. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +25 -0
  54. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js.map +1 -0
  55. package/dist/ButtonWithPopover/ButtonWithPopover.test.js +81 -0
  56. package/dist/ButtonWithPopover/ButtonWithPopover.test.js.map +1 -0
  57. package/dist/ButtonWithPopover/ButtonWithPopover.types.js +2 -0
  58. package/dist/ButtonWithPopover/ButtonWithPopover.types.js.map +1 -0
  59. package/dist/ButtonWithPopover/index.js +2 -0
  60. package/dist/ButtonWithPopover/index.js.map +1 -0
  61. package/dist/Carousel/Carousel.js +75 -0
  62. package/dist/Carousel/Carousel.js.map +1 -0
  63. package/dist/Carousel/Carousel.stories.js +63 -0
  64. package/dist/Carousel/Carousel.stories.js.map +1 -0
  65. package/dist/Carousel/Carousel.test.js +48 -0
  66. package/dist/Carousel/Carousel.test.js.map +1 -0
  67. package/dist/Carousel/Carousel.types.js +2 -0
  68. package/dist/Carousel/Carousel.types.js.map +1 -0
  69. package/dist/Carousel/index.js +2 -0
  70. package/dist/Carousel/index.js.map +1 -0
  71. package/dist/Checkbox/Checkbox.js +24 -0
  72. package/dist/Checkbox/Checkbox.js.map +1 -0
  73. package/dist/Checkbox/Checkbox.stories.js +12 -0
  74. package/dist/Checkbox/Checkbox.stories.js.map +1 -0
  75. package/dist/Checkbox/Checkbox.test.js +94 -0
  76. package/dist/Checkbox/Checkbox.test.js.map +1 -0
  77. package/dist/Checkbox/Checkbox.types.js +2 -0
  78. package/dist/Checkbox/Checkbox.types.js.map +1 -0
  79. package/dist/Checkbox/index.js +2 -0
  80. package/dist/Checkbox/index.js.map +1 -0
  81. package/dist/Collapse/Collapse.js +17 -0
  82. package/dist/Collapse/Collapse.js.map +1 -0
  83. package/dist/Collapse/Collapse.stories.js +15 -0
  84. package/dist/Collapse/Collapse.stories.js.map +1 -0
  85. package/dist/Collapse/Collapse.test.js +17 -0
  86. package/dist/Collapse/Collapse.test.js.map +1 -0
  87. package/dist/Collapse/Collapse.types.js +2 -0
  88. package/dist/Collapse/Collapse.types.js.map +1 -0
  89. package/dist/Collapse/index.js +2 -0
  90. package/dist/Collapse/index.js.map +1 -0
  91. package/dist/Icon/Icon.js +55 -0
  92. package/dist/Icon/Icon.js.map +1 -0
  93. package/dist/Icon/Icon.stories.js +15 -0
  94. package/dist/Icon/Icon.stories.js.map +1 -0
  95. package/dist/Icon/Icon.test.js +55 -0
  96. package/dist/Icon/Icon.test.js.map +1 -0
  97. package/dist/Icon/Icon.types.js +16 -0
  98. package/dist/Icon/Icon.types.js.map +1 -0
  99. package/dist/Icon/index.js +2 -0
  100. package/dist/Icon/index.js.map +1 -0
  101. package/dist/InputGroup/InputGroup.js +34 -0
  102. package/dist/InputGroup/InputGroup.js.map +1 -0
  103. package/dist/InputGroup/InputGroup.stories.js +129 -0
  104. package/dist/InputGroup/InputGroup.stories.js.map +1 -0
  105. package/dist/InputGroup/InputGroup.test.js +42 -0
  106. package/dist/InputGroup/InputGroup.test.js.map +1 -0
  107. package/dist/InputGroup/InputGroup.types.js +2 -0
  108. package/dist/InputGroup/InputGroup.types.js.map +1 -0
  109. package/dist/InputGroup/index.js +2 -0
  110. package/dist/InputGroup/index.js.map +1 -0
  111. package/dist/Modal/Modal.js +76 -0
  112. package/dist/Modal/Modal.js.map +1 -0
  113. package/dist/Modal/Modal.stories.js +44 -0
  114. package/dist/Modal/Modal.stories.js.map +1 -0
  115. package/dist/Modal/Modal.test.js +108 -0
  116. package/dist/Modal/Modal.test.js.map +1 -0
  117. package/dist/Modal/Modal.types.js +2 -0
  118. package/dist/Modal/Modal.types.js.map +1 -0
  119. package/dist/Modal/index.js +2 -0
  120. package/dist/Modal/index.js.map +1 -0
  121. package/dist/ProgressBar/ProgressBar.js +72 -0
  122. package/dist/ProgressBar/ProgressBar.js.map +1 -0
  123. package/dist/ProgressBar/ProgressBar.stories.js +35 -0
  124. package/dist/ProgressBar/ProgressBar.stories.js.map +1 -0
  125. package/dist/ProgressBar/ProgressBar.test.js +43 -0
  126. package/dist/ProgressBar/ProgressBar.test.js.map +1 -0
  127. package/dist/ProgressBar/ProgressBar.types.js +2 -0
  128. package/dist/ProgressBar/ProgressBar.types.js.map +1 -0
  129. package/dist/ProgressBar/index.js +2 -0
  130. package/dist/ProgressBar/index.js.map +1 -0
  131. package/dist/SeeqActionDropdown/SeeqActionDropdown.js +39 -0
  132. package/dist/SeeqActionDropdown/SeeqActionDropdown.js.map +1 -0
  133. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js +56 -0
  134. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js.map +1 -0
  135. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js +73 -0
  136. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js.map +1 -0
  137. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js +2 -0
  138. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js.map +1 -0
  139. package/dist/SeeqActionDropdown/index.js +2 -0
  140. package/dist/SeeqActionDropdown/index.js.map +1 -0
  141. package/dist/SeeqActionDropdown/variants.js +29 -0
  142. package/dist/SeeqActionDropdown/variants.js.map +1 -0
  143. package/dist/Select/Select.js +177 -0
  144. package/dist/Select/Select.js.map +1 -0
  145. package/dist/Select/Select.stories.js +40 -0
  146. package/dist/Select/Select.stories.js.map +1 -0
  147. package/dist/Select/Select.test.js +175 -0
  148. package/dist/Select/Select.test.js.map +1 -0
  149. package/dist/Select/Select.types.js +2 -0
  150. package/dist/Select/Select.types.js.map +1 -0
  151. package/dist/Select/index.js +3 -0
  152. package/dist/Select/index.js.map +1 -0
  153. package/dist/Slider/Slider.js +10 -0
  154. package/dist/Slider/Slider.js.map +1 -0
  155. package/dist/Slider/Slider.stories.js +14 -0
  156. package/dist/Slider/Slider.stories.js.map +1 -0
  157. package/dist/Slider/Slider.test.js +32 -0
  158. package/dist/Slider/Slider.test.js.map +1 -0
  159. package/dist/Slider/Slider.types.js +2 -0
  160. package/dist/Slider/Slider.types.js.map +1 -0
  161. package/dist/Slider/index.js +2 -0
  162. package/dist/Slider/index.js.map +1 -0
  163. package/dist/SvgIcon/SvgIcon.js +28 -0
  164. package/dist/SvgIcon/SvgIcon.js.map +1 -0
  165. package/dist/SvgIcon/SvgIcon.stories.js +18 -0
  166. package/dist/SvgIcon/SvgIcon.stories.js.map +1 -0
  167. package/dist/SvgIcon/SvgIcon.test.js +41 -0
  168. package/dist/SvgIcon/SvgIcon.test.js.map +1 -0
  169. package/dist/SvgIcon/SvgIcon.types.js +6 -0
  170. package/dist/SvgIcon/SvgIcon.types.js.map +1 -0
  171. package/dist/SvgIcon/index.js +2 -0
  172. package/dist/SvgIcon/index.js.map +1 -0
  173. package/dist/Tabs/Tabs.js +17 -0
  174. package/dist/Tabs/Tabs.js.map +1 -0
  175. package/dist/Tabs/Tabs.stories.js +73 -0
  176. package/dist/Tabs/Tabs.stories.js.map +1 -0
  177. package/dist/Tabs/Tabs.test.js +86 -0
  178. package/dist/Tabs/Tabs.test.js.map +1 -0
  179. package/dist/Tabs/Tabs.types.js +2 -0
  180. package/dist/Tabs/Tabs.types.js.map +1 -0
  181. package/dist/Tabs/index.js +2 -0
  182. package/dist/Tabs/index.js.map +1 -0
  183. package/dist/TextArea/TextArea.js +25 -0
  184. package/dist/TextArea/TextArea.js.map +1 -0
  185. package/dist/TextArea/TextArea.stories.js +10 -0
  186. package/dist/TextArea/TextArea.stories.js.map +1 -0
  187. package/dist/TextArea/TextArea.test.js +68 -0
  188. package/dist/TextArea/TextArea.test.js.map +1 -0
  189. package/dist/TextArea/TextArea.types.js +2 -0
  190. package/dist/TextArea/TextArea.types.js.map +1 -0
  191. package/dist/TextArea/index.js +2 -0
  192. package/dist/TextArea/index.js.map +1 -0
  193. package/dist/TextField/TextField.js +85 -0
  194. package/dist/TextField/TextField.js.map +1 -0
  195. package/dist/TextField/TextField.stories.js +11 -0
  196. package/dist/TextField/TextField.stories.js.map +1 -0
  197. package/dist/TextField/TextField.test.js +41 -0
  198. package/dist/TextField/TextField.test.js.map +1 -0
  199. package/dist/TextField/TextField.types.js +2 -0
  200. package/dist/TextField/TextField.types.js.map +1 -0
  201. package/dist/TextField/index.js +2 -0
  202. package/dist/TextField/index.js.map +1 -0
  203. package/dist/ToolbarButton/ToolbarButton.js +57 -0
  204. package/dist/ToolbarButton/ToolbarButton.js.map +1 -0
  205. package/dist/ToolbarButton/ToolbarButton.stories.js +28 -0
  206. package/dist/ToolbarButton/ToolbarButton.stories.js.map +1 -0
  207. package/dist/ToolbarButton/ToolbarButton.test.js +85 -0
  208. package/dist/ToolbarButton/ToolbarButton.test.js.map +1 -0
  209. package/dist/ToolbarButton/ToolbarButton.types.js +2 -0
  210. package/dist/ToolbarButton/ToolbarButton.types.js.map +1 -0
  211. package/dist/ToolbarButton/index.js +2 -0
  212. package/dist/ToolbarButton/index.js.map +1 -0
  213. package/dist/Tooltip/QTip.stories.js +18 -0
  214. package/dist/Tooltip/QTip.stories.js.map +1 -0
  215. package/dist/Tooltip/QTip.types.js +2 -0
  216. package/dist/Tooltip/QTip.types.js.map +1 -0
  217. package/dist/Tooltip/QTipPerformance.stories.js +26 -0
  218. package/dist/Tooltip/QTipPerformance.stories.js.map +1 -0
  219. package/dist/Tooltip/Qtip.js +168 -0
  220. package/dist/Tooltip/Qtip.js.map +1 -0
  221. package/dist/Tooltip/Tooltip.js +34 -0
  222. package/dist/Tooltip/Tooltip.js.map +1 -0
  223. package/dist/Tooltip/Tooltip.stories.js +15 -0
  224. package/dist/Tooltip/Tooltip.stories.js.map +1 -0
  225. package/dist/Tooltip/Tooltip.types.js +3 -0
  226. package/dist/Tooltip/Tooltip.types.js.map +1 -0
  227. package/dist/Tooltip/TooltipPerformance.stories.js +26 -0
  228. package/dist/Tooltip/TooltipPerformance.stories.js.map +1 -0
  229. package/dist/Tooltip/index.js +3 -0
  230. package/dist/Tooltip/index.js.map +1 -0
  231. package/dist/Tooltip/qTip.utilities.js +11 -0
  232. package/dist/Tooltip/qTip.utilities.js.map +1 -0
  233. package/dist/example/package.json +15 -13
  234. package/dist/example/src/Example.tsx +269 -39
  235. package/dist/example/src/index.css +1 -0
  236. package/dist/example/vite.config.ts +2 -1
  237. package/dist/index.esm.js +2710 -2706
  238. package/dist/index.esm.js.map +1 -1
  239. package/dist/index.js +2710 -2706
  240. package/dist/index.js.map +1 -1
  241. package/dist/setupTests.d.ts +1 -0
  242. package/dist/setupTests.js +6 -0
  243. package/dist/setupTests.js.map +1 -0
  244. package/dist/{Accordion → src/Accordion}/Accordion.d.ts +4 -4
  245. package/dist/src/Accordion/Accordion.stories.d.ts +5 -0
  246. package/dist/{Accordion → src/Accordion}/Accordion.test.d.ts +1 -1
  247. package/dist/src/Accordion/Accordion.types.d.ts +86 -0
  248. package/dist/{Accordion → src/Accordion}/index.d.ts +1 -1
  249. package/dist/{Alert → src/Alert}/Alert.d.ts +7 -7
  250. package/dist/src/Alert/Alert.stories.d.ts +5 -0
  251. package/dist/src/Alert/Alert.test.d.ts +1 -0
  252. package/dist/src/Alert/Alert.types.d.ts +63 -0
  253. package/dist/{Alert → src/Alert}/index.d.ts +1 -1
  254. package/dist/{Button → src/Button}/Button.d.ts +10 -10
  255. package/dist/src/Button/Button.stories.d.ts +8 -0
  256. package/dist/{Button → src/Button}/Button.test.d.ts +1 -1
  257. package/dist/src/Button/Button.types.d.ts +148 -0
  258. package/dist/{Button → src/Button}/index.d.ts +1 -1
  259. package/dist/{ButtonGroup → src/ButtonGroup}/ButtonGroup.d.ts +7 -7
  260. package/dist/src/ButtonGroup/ButtonGroup.stories.d.ts +5 -0
  261. package/dist/src/ButtonGroup/ButtonGroup.test.d.ts +1 -0
  262. package/dist/src/ButtonGroup/ButtonGroup.types.d.ts +81 -0
  263. package/dist/{ButtonGroup → src/ButtonGroup}/index.d.ts +1 -1
  264. package/dist/{ButtonWithDropdown → src/ButtonWithDropdown}/ButtonWithDropdown.d.ts +4 -4
  265. package/dist/src/ButtonWithDropdown/ButtonWithDropdown.stories.d.ts +5 -0
  266. package/dist/{ButtonWithDropdown → src/ButtonWithDropdown}/ButtonWithDropdown.test.d.ts +1 -1
  267. package/dist/src/ButtonWithDropdown/ButtonWithDropdown.types.d.ts +233 -0
  268. package/dist/{ButtonWithDropdown → src/ButtonWithDropdown}/index.d.ts +1 -1
  269. package/dist/{ButtonWithPopover → src/ButtonWithPopover}/ButtonWithPopover.d.ts +4 -4
  270. package/dist/src/ButtonWithPopover/ButtonWithPopover.stories.d.ts +5 -0
  271. package/dist/{ButtonWithPopover → src/ButtonWithPopover}/ButtonWithPopover.test.d.ts +1 -1
  272. package/dist/src/ButtonWithPopover/ButtonWithPopover.types.d.ts +134 -0
  273. package/dist/{ButtonWithPopover → src/ButtonWithPopover}/index.d.ts +1 -1
  274. package/dist/{Carousel → src/Carousel}/Carousel.d.ts +9 -9
  275. package/dist/src/Carousel/Carousel.stories.d.ts +5 -0
  276. package/dist/{Carousel → src/Carousel}/Carousel.test.d.ts +1 -1
  277. package/dist/src/Carousel/Carousel.types.d.ts +86 -0
  278. package/dist/{Carousel → src/Carousel}/index.d.ts +1 -1
  279. package/dist/{Checkbox → src/Checkbox}/Checkbox.d.ts +7 -7
  280. package/dist/src/Checkbox/Checkbox.stories.d.ts +5 -0
  281. package/dist/{Checkbox → src/Checkbox}/Checkbox.test.d.ts +1 -1
  282. package/dist/src/Checkbox/Checkbox.types.d.ts +92 -0
  283. package/dist/{Checkbox → src/Checkbox}/index.d.ts +1 -1
  284. package/dist/{Collapse → src/Collapse}/Collapse.d.ts +4 -4
  285. package/dist/src/Collapse/Collapse.stories.d.ts +5 -0
  286. package/dist/{Collapse → src/Collapse}/Collapse.test.d.ts +1 -1
  287. package/dist/src/Collapse/Collapse.types.d.ts +19 -0
  288. package/dist/{Collapse → src/Collapse}/index.d.ts +1 -1
  289. package/dist/{Icon → src/Icon}/Icon.d.ts +10 -10
  290. package/dist/src/Icon/Icon.stories.d.ts +5 -0
  291. package/dist/{Icon → src/Icon}/Icon.test.d.ts +1 -1
  292. package/dist/src/Icon/Icon.types.d.ts +87 -0
  293. package/dist/{Icon → src/Icon}/index.d.ts +1 -1
  294. package/dist/{InputGroup → src/InputGroup}/InputGroup.d.ts +7 -7
  295. package/dist/src/InputGroup/InputGroup.stories.d.ts +5 -0
  296. package/dist/src/InputGroup/InputGroup.test.d.ts +1 -0
  297. package/dist/src/InputGroup/InputGroup.types.d.ts +62 -0
  298. package/dist/{InputGroup → src/InputGroup}/index.d.ts +2 -2
  299. package/dist/{Modal → src/Modal}/Modal.d.ts +5 -5
  300. package/dist/{Modal → src/Modal}/Modal.stories.d.ts +10 -10
  301. package/dist/{Modal → src/Modal}/Modal.test.d.ts +1 -1
  302. package/dist/src/Modal/Modal.types.d.ts +244 -0
  303. package/dist/{Modal → src/Modal}/index.d.ts +1 -1
  304. package/dist/{ProgressBar → src/ProgressBar}/ProgressBar.d.ts +4 -4
  305. package/dist/src/ProgressBar/ProgressBar.stories.d.ts +5 -0
  306. package/dist/src/ProgressBar/ProgressBar.test.d.ts +1 -0
  307. package/dist/src/ProgressBar/ProgressBar.types.d.ts +77 -0
  308. package/dist/{ProgressBar → src/ProgressBar}/index.d.ts +1 -1
  309. package/dist/{SeeqActionDropdown → src/SeeqActionDropdown}/SeeqActionDropdown.d.ts +4 -4
  310. package/dist/src/SeeqActionDropdown/SeeqActionDropdown.stories.d.ts +5 -0
  311. package/dist/{SeeqActionDropdown → src/SeeqActionDropdown}/SeeqActionDropdown.test.d.ts +1 -1
  312. package/dist/src/SeeqActionDropdown/SeeqActionDropdown.types.d.ts +160 -0
  313. package/dist/{SeeqActionDropdown → src/SeeqActionDropdown}/index.d.ts +1 -1
  314. package/dist/{SeeqActionDropdown → src/SeeqActionDropdown}/variants.d.ts +5 -5
  315. package/dist/{Select → src/Select}/Select.d.ts +15 -15
  316. package/dist/src/Select/Select.stories.d.ts +5 -0
  317. package/dist/{Select → src/Select}/Select.test.d.ts +1 -1
  318. package/dist/src/Select/Select.types.d.ts +220 -0
  319. package/dist/{Select → src/Select}/index.d.ts +2 -2
  320. package/dist/{Slider → src/Slider}/Slider.d.ts +6 -6
  321. package/dist/src/Slider/Slider.stories.d.ts +5 -0
  322. package/dist/src/Slider/Slider.test.d.ts +1 -0
  323. package/dist/src/Slider/Slider.types.d.ts +85 -0
  324. package/dist/{Slider → src/Slider}/index.d.ts +1 -1
  325. package/dist/{SvgIcon → src/SvgIcon}/SvgIcon.d.ts +20 -20
  326. package/dist/src/SvgIcon/SvgIcon.stories.d.ts +5 -0
  327. package/dist/{SvgIcon → src/SvgIcon}/SvgIcon.test.d.ts +1 -1
  328. package/dist/src/SvgIcon/SvgIcon.types.d.ts +76 -0
  329. package/dist/{SvgIcon → src/SvgIcon}/index.d.ts +1 -1
  330. package/dist/{Tabs → src/Tabs}/Tabs.d.ts +4 -4
  331. package/dist/src/Tabs/Tabs.stories.d.ts +5 -0
  332. package/dist/{Tabs → src/Tabs}/Tabs.test.d.ts +1 -1
  333. package/dist/src/Tabs/Tabs.types.d.ts +95 -0
  334. package/dist/{Tabs → src/Tabs}/index.d.ts +1 -1
  335. package/dist/{TextArea → src/TextArea}/TextArea.d.ts +7 -7
  336. package/dist/src/TextArea/TextArea.stories.d.ts +5 -0
  337. package/dist/{TextArea → src/TextArea}/TextArea.test.d.ts +1 -1
  338. package/dist/src/TextArea/TextArea.types.d.ts +105 -0
  339. package/dist/{TextArea → src/TextArea}/index.d.ts +1 -1
  340. package/dist/{TextField → src/TextField}/TextField.d.ts +7 -7
  341. package/dist/src/TextField/TextField.stories.d.ts +5 -0
  342. package/dist/{TextField → src/TextField}/TextField.test.d.ts +1 -1
  343. package/dist/src/TextField/TextField.types.d.ts +199 -0
  344. package/dist/{TextField → src/TextField}/index.d.ts +1 -1
  345. package/dist/{ToolbarButton → src/ToolbarButton}/ToolbarButton.d.ts +3 -3
  346. package/dist/src/ToolbarButton/ToolbarButton.stories.d.ts +5 -0
  347. package/dist/{ToolbarButton → src/ToolbarButton}/ToolbarButton.test.d.ts +1 -1
  348. package/dist/src/ToolbarButton/ToolbarButton.types.d.ts +124 -0
  349. package/dist/{ToolbarButton → src/ToolbarButton}/index.d.ts +1 -1
  350. package/dist/src/Tooltip/QTip.stories.d.ts +5 -0
  351. package/dist/{Tooltip → src/Tooltip}/QTip.types.d.ts +13 -13
  352. package/dist/src/Tooltip/QTipPerformance.stories.d.ts +5 -0
  353. package/dist/{Tooltip → src/Tooltip}/Qtip.d.ts +26 -26
  354. package/dist/{Tooltip → src/Tooltip}/Tooltip.d.ts +13 -13
  355. package/dist/src/Tooltip/Tooltip.stories.d.ts +5 -0
  356. package/dist/{Tooltip → src/Tooltip}/Tooltip.types.d.ts +22 -22
  357. package/dist/src/Tooltip/TooltipPerformance.stories.d.ts +5 -0
  358. package/dist/{Tooltip → src/Tooltip}/index.d.ts +2 -2
  359. package/dist/{Tooltip → src/Tooltip}/qTip.utilities.d.ts +3 -3
  360. package/dist/{index.d.ts → src/index.d.ts} +45 -45
  361. package/dist/src/setupTests.d.ts +1 -0
  362. package/dist/{types.d.ts → src/types.d.ts} +2 -2
  363. package/dist/{utils → src/utils}/browserId.d.ts +9 -9
  364. package/dist/{utils → src/utils}/svg.d.ts +15 -15
  365. package/dist/{utils → src/utils}/validateStyleDimension.d.ts +2 -2
  366. package/dist/{utils → src/utils}/validateStyleDimension.test.d.ts +1 -1
  367. package/dist/styles.css +98 -67
  368. package/dist/types.js +2 -0
  369. package/dist/types.js.map +1 -0
  370. package/dist/utils/browserId.js +29 -0
  371. package/dist/utils/browserId.js.map +1 -0
  372. package/dist/utils/svg.js +20 -0
  373. package/dist/utils/svg.js.map +1 -0
  374. package/dist/utils/validateStyleDimension.js +14 -0
  375. package/dist/utils/validateStyleDimension.js.map +1 -0
  376. package/dist/utils/validateStyleDimension.test.js +20 -0
  377. package/dist/utils/validateStyleDimension.test.js.map +1 -0
  378. package/package.json +20 -20
  379. package/dist/Accordion/Accordion.stories.d.ts +0 -6
  380. package/dist/Accordion/Accordion.types.d.ts +0 -20
  381. package/dist/Alert/Alert.stories.d.ts +0 -6
  382. package/dist/Alert/Alert.test.d.ts +0 -1
  383. package/dist/Alert/Alert.types.d.ts +0 -14
  384. package/dist/Button/Button.stories.d.ts +0 -9
  385. package/dist/Button/Button.types.d.ts +0 -53
  386. package/dist/ButtonGroup/ButtonGroup.stories.d.ts +0 -6
  387. package/dist/ButtonGroup/ButtonGroup.test.d.ts +0 -1
  388. package/dist/ButtonGroup/ButtonGroup.types.d.ts +0 -40
  389. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.d.ts +0 -6
  390. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.d.ts +0 -90
  391. package/dist/ButtonWithPopover/ButtonWithPopover.stories.d.ts +0 -6
  392. package/dist/ButtonWithPopover/ButtonWithPopover.types.d.ts +0 -48
  393. package/dist/Carousel/Carousel.stories.d.ts +0 -6
  394. package/dist/Carousel/Carousel.types.d.ts +0 -24
  395. package/dist/Checkbox/Checkbox.stories.d.ts +0 -6
  396. package/dist/Checkbox/Checkbox.types.d.ts +0 -20
  397. package/dist/Collapse/Collapse.stories.d.ts +0 -6
  398. package/dist/Collapse/Collapse.types.d.ts +0 -5
  399. package/dist/Icon/Icon.stories.d.ts +0 -6
  400. package/dist/Icon/Icon.types.d.ts +0 -31
  401. package/dist/InputGroup/InputGroup.stories.d.ts +0 -6
  402. package/dist/InputGroup/InputGroup.test.d.ts +0 -1
  403. package/dist/InputGroup/InputGroup.types.d.ts +0 -36
  404. package/dist/Modal/Modal.types.d.ts +0 -48
  405. package/dist/ProgressBar/ProgressBar.stories.d.ts +0 -6
  406. package/dist/ProgressBar/ProgressBar.test.d.ts +0 -1
  407. package/dist/ProgressBar/ProgressBar.types.d.ts +0 -30
  408. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.d.ts +0 -6
  409. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.d.ts +0 -58
  410. package/dist/Select/Select.stories.d.ts +0 -6
  411. package/dist/Select/Select.types.d.ts +0 -89
  412. package/dist/Slider/Slider.stories.d.ts +0 -6
  413. package/dist/Slider/Slider.test.d.ts +0 -1
  414. package/dist/Slider/Slider.types.d.ts +0 -17
  415. package/dist/SvgIcon/SvgIcon.stories.d.ts +0 -6
  416. package/dist/SvgIcon/SvgIcon.types.d.ts +0 -25
  417. package/dist/Tabs/Tabs.stories.d.ts +0 -6
  418. package/dist/Tabs/Tabs.types.d.ts +0 -21
  419. package/dist/TextArea/TextArea.stories.d.ts +0 -6
  420. package/dist/TextArea/TextArea.types.d.ts +0 -35
  421. package/dist/TextField/TextField.stories.d.ts +0 -6
  422. package/dist/TextField/TextField.types.d.ts +0 -40
  423. package/dist/ToolbarButton/ToolbarButton.stories.d.ts +0 -6
  424. package/dist/ToolbarButton/ToolbarButton.types.d.ts +0 -53
  425. package/dist/Tooltip/QTip.stories.d.ts +0 -6
  426. package/dist/Tooltip/QTipPerformance.stories.d.ts +0 -6
  427. package/dist/Tooltip/Tooltip.stories.d.ts +0 -6
  428. package/dist/Tooltip/TooltipPerformance.stories.d.ts +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextField.types.js","sourceRoot":"","sources":["../../src/TextField/TextField.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { TextField as default } from './TextField';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TextField/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
4
+ import Icon from '../Icon';
5
+ import { DEFAULT_TOOL_TIP_DELAY } from '../Tooltip/Tooltip.types';
6
+ import { getSvgIconPath } from '../utils/svg';
7
+ const popoverBorderStyles = [
8
+ 'tw-border-solid',
9
+ 'tw-border',
10
+ 'tw-rounded-md',
11
+ 'tw-border-sq-disabled-gray',
12
+ 'dark:tw-border-gray-500',
13
+ ].join(' ');
14
+ const triggerBackgroundStyles = [
15
+ 'tw-bg-transparent',
16
+ 'hover:tw-bg-sq-worksheetspanel-gray',
17
+ 'active:tw-bg-sq-worksheetspanel-gray',
18
+ 'dark:tw-bg-transparent',
19
+ 'dark:hover:tw-bg-sq-field-disabled-gray',
20
+ 'dark:active:tw-bg-sq-field-disabled-gray',
21
+ ].join(' ');
22
+ const activeBackgroundStyles = [
23
+ 'active',
24
+ 'tw-bg-sq-overlay-gray',
25
+ 'hover:tw-bg-sq-overlay-gray',
26
+ 'active:tw-bg-sq-overlay-gray',
27
+ 'dark:tw-bg-sq-dark-disabled-gray',
28
+ 'dark:hover:tw-border-sq-dark-disabled-gray',
29
+ 'dark:active:tw-bg-sq-dark-disabled-gray',
30
+ ].join(' ');
31
+ const bgStyles = ['tw-bg-sq-white', 'dark:tw-bg-sq-dark-background'].join(' ');
32
+ const disabledClasses = ['tw-opacity-50', 'tw-cursor-not-allowed'].join(' ');
33
+ const PopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (_jsx(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, ...props, asChild: true })));
34
+ export const ToolbarButton = ({ isSmall = false, label, icon, secondIcon, forceSmallIcon = false, tooltipText, id, popoverContent, extraClassNames, testId, tooltipTestId, tooltipOptions, isActive = false, isHtmlTooltip = false, hasArrow = false, disabled = false, isPrimaryAnSvg = false, primaryIconExtraClassNames = false, iconHeight = 24, iconWidth = 24, primaryIconViewbox = '0 0 24 24', onClick, onHide, }) => {
35
+ let tooltipData = undefined;
36
+ if (tooltipText) {
37
+ tooltipData = {
38
+ 'data-qtip-text': tooltipText,
39
+ 'data-qtip-placement': tooltipOptions?.position,
40
+ 'data-qtip-is-html': isHtmlTooltip,
41
+ 'data-qtip-testid': tooltipTestId,
42
+ 'data-qtip-delay': tooltipOptions?.delay ?? DEFAULT_TOOL_TIP_DELAY,
43
+ };
44
+ }
45
+ const onOpenChange = (open) => {
46
+ if (!open) {
47
+ onHide && onHide();
48
+ }
49
+ };
50
+ return (_jsxs(PopoverPrimitive.Root, { defaultOpen: false, onOpenChange: onOpenChange, children: [_jsx(PopoverPrimitive.Trigger, { id: id, className: `tw-border-none tw-mx-[1.5px] first:tw-ml-0 last:tw-mr-0 ${isActive ? 'active' : ''}`, disabled: disabled, "data-testid": testId, onClick: (e) => {
51
+ onClick && onClick(e);
52
+ }, children: _jsxs("div", { ...tooltipData, className: `tw-flex tw-flex-col tw-items-center tw-rounded-md ${isSmall ? 'tw-py-[1px] tw-px-1' : 'tw-px-2 tw-py-[5px]'} ${disabled ? disabledClasses : isActive ? activeBackgroundStyles : triggerBackgroundStyles} ${extraClassNames || ''}`, children: [_jsxs("span", { className: "tw-nowrap", children: [isPrimaryAnSvg ? (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: `tw-text-sq-text-color dark:tw-text-sq-dark-text ${primaryIconExtraClassNames || ''}`, viewBox: primaryIconViewbox, height: `${iconHeight}px`, width: `${iconWidth}px`, fill: "currentColor", "data-testid": testId, children: _jsx("path", { d: getSvgIconPath(icon) }) })) : (_jsx(Icon, { icon: icon, testId: "firstIcon", type: "text", large: !isSmall && !label && !secondIcon && !forceSmallIcon, extraClassNames: `tw-text-sq-text-color dark:tw-text-sq-dark-text` })), secondIcon && _jsx(Icon, { icon: secondIcon, type: "text", testId: "secondIcon" }), popoverContent ? (_jsx(Icon, { icon: "fc-arrow-dropdown", extraClassNames: "tw-text-sq-text-color dark:tw-text-sq-dark-text tw-ml-[3px] tw-text-[0.5rem]", type: "text" })) : undefined] }), !isSmall && (_jsx("small", { className: "tw-text-sq-text-color dark:tw-text-sq-dark-text tw-text-[0.625rem]", children: label }))] }) }), !!popoverContent ? (_jsx(PopoverContent, { sideOffset: 2, align: "start", children: _jsxs("div", { className: bgStyles +
53
+ ' tw-relative tw-z-[1000] tw-min-w-6 tw-p-[0.5rem] focus-visible:tw-outline-none tw-outline-none data-[state=open]:animate-in data-[state=closed]:animate-out' +
54
+ ' data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2' +
55
+ popoverBorderStyles, children: [hasArrow && (_jsx(PopoverPrimitive.Arrow, { asChild: true, children: _jsx("div", { className: " tw-fill-transparent tw-bg-white tw-w-[15px] tw-h-[15px] tw-mt-[-7px] tw-rotate-45 dark:tw-bg-sq-dark-background tw-border-b tw-border-r tw-border-sq-disabled-gray dark:tw-border-gray-500" }) })), popoverContent] }) })) : undefined] }));
56
+ };
57
+ //# sourceMappingURL=ToolbarButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarButton.js","sourceRoot":"","sources":["../../src/ToolbarButton/ToolbarButton.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ToolbarButton } from './ToolbarButton';
3
+ import Icon from '../Icon';
4
+ import { QTip } from '../Tooltip/Qtip';
5
+ export default {
6
+ title: 'Toolbar Button',
7
+ };
8
+ export const AllToolbarButtonVariants = () => {
9
+ const options = [
10
+ { value: 'a', label: 'Chocolate' },
11
+ { value: 'b', label: 'Strawberry' },
12
+ { value: 'c', label: 'Vanilla' },
13
+ { value: 'd', label: 'Rocky Road' },
14
+ { value: 'e', label: 'Crazy Cow' },
15
+ { value: 'f', label: 'Almond Joy' },
16
+ { value: 'g', label: 'All of the above' },
17
+ ];
18
+ const colorOptions = [
19
+ { value: 'h', label: 'pink' },
20
+ { value: 'i', label: 'purple' },
21
+ { value: 'j', label: 'green' },
22
+ { value: 'k', label: 'red' },
23
+ ];
24
+ const allToolbarButtons = (isDark) => (_jsxs("div", { className: isDark ? 'tw-dark tw-bg-sq-dark-background' : '', children: [_jsx("div", { className: "tw-p-5 ", children: _jsx(ToolbarButton, { icon: "fc-y-axis", label: "Popover", testId: "basic-popover1", tooltipText: "This is a small popover.", tooltipOptions: { position: 'top', delay: 0 }, isHtmlTooltip: false, isSmall: true, popoverContent: _jsxs("div", { className: "tw-text-sm dark:tw-text-white", children: [_jsx("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2", children: "Flavors" }), options.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value))), _jsx("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2", children: "Colors" }), colorOptions.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value)))] }) }) }), _jsx("div", { className: "tw-p-5 ", children: _jsx(ToolbarButton, { icon: "fc-y-axis", label: "Normal", testId: "basic-popover1", tooltipText: "This is a normal popover.", tooltipOptions: { position: 'top', delay: 0 }, isHtmlTooltip: false, popoverContent: _jsxs("div", { className: "tw-text-sm dark:tw-text-white", children: [_jsx("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2", children: "Flavors" }), options.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value))), _jsx("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2", children: "Colors" }), colorOptions.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value)))] }) }) }), _jsxs("div", { className: "tw-p-5 tw-flex", children: [_jsx(ToolbarButton, { icon: "fc-y-axis", label: "With arrow", testId: "basic-popover1", tooltipText: "This is a normal popover.", tooltipOptions: { position: 'top', delay: 0 }, hasArrow: true, isHtmlTooltip: false, popoverContent: _jsxs("div", { className: "tw-text-sm dark:tw-text-white", children: [_jsx("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2", children: "Flavors" }), options.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value))), _jsx("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2", children: "Colors" }), colorOptions.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value)))] }) }), _jsx(ToolbarButton, { icon: "fc-y-axis", tooltipText: "This is a large popover icon", tooltipOptions: { position: 'top', delay: 0 }, testId: "basic-popover4", isHtmlTooltip: false })] }), _jsxs("div", { className: "tw-p-5 ", children: [_jsx("p", { className: "tw-text-sq-color-dark tw-text-[0.625rem]", children: "Without popup" }), _jsx(ToolbarButton, { icon: "fc-y-axis", label: "Button", testId: "basic-popover3", isHtmlTooltip: false })] }), _jsx("div", { className: "tw-p-5 tw-flex", children: _jsx(ToolbarButton, { icon: "fc-y-axis", label: "Disabled", testId: "basic-popover2", tooltipText: "This is a popover.", tooltipOptions: { position: 'top' }, isHtmlTooltip: false, disabled: true, popoverContent: _jsxs("div", { className: "tw-border tw-border-gray-100 tw-p-2 tw-rounded-sm tw-text-sm dark:tw-bg-sq-dark-background", children: [_jsx("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2", children: "Flavors" }), options.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value))), _jsx("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2", children: "Colors" }), colorOptions.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value)))] }) }) }), _jsx("div", { className: "tw-p-5 ", children: _jsx(ToolbarButton, { id: "scatterPlotFlipXY", isActive: false, disabled: true, testId: "scatterPlotFlipXY", label: "", icon: "fc-grab-window", tooltipText: "This is a large disabled popover.", tooltipOptions: { position: 'top' }, extraClassNames: "no-border ml5" }) }), _jsx("div", { className: "tw-p-5 ", children: _jsx(ToolbarButton, { icon: "fc-y-axis", tooltipText: "This is a large popover icon", tooltipOptions: { position: 'top', delay: 0 }, testId: "basic-popover4", isHtmlTooltip: false }) }), _jsx("div", { className: "tw-p-5 ", children: _jsx(ToolbarButton, { icon: "fc-y-axis", label: "Active", testId: "basic-popover5", tooltipText: "This is a button.", tooltipOptions: { position: 'top', delay: 0 }, isHtmlTooltip: false, isActive: true }) }), _jsx("div", { className: "tw-p-5 ", children: _jsx(ToolbarButton, { isPrimaryAnSvg: true, iconHeight: 13, iconWidth: 13, icon: "svgpath:M 19 2.76 L 18.016 4.066 L 7.678 17.765 L 6.745 19 L 5.812 17.765 L 0.984 11.373 L 0 10.067 L 1.867 7.307 L 2.851 8.613 L 6.745 13.771 L 16.149 1.306 L 17.133 0 L 19 2.76 Z", label: "Active", testId: "basic-popover5", tooltipText: "This is a button.", tooltipOptions: { position: 'top', delay: 0 }, isHtmlTooltip: false, isActive: true }) })] }));
25
+ const renderAllVariations = () => (_jsxs("div", { className: "tw-grid tw-grid-cols-2 tw-gap-4 tw-p-4", children: [allToolbarButtons(), allToolbarButtons(true)] }));
26
+ return (_jsxs("div", { children: [_jsxs("div", { className: "tw-grid tw-grid-cols-2 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: "tw-grid tw-grid-cols-2 tw-gap-4", children: [_jsxs("div", { className: "color_datalab", children: [_jsx("b", { children: "Datalab Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_vantage", children: [_jsx("b", { children: "Vantage Colors" }), renderAllVariations()] })] })] }));
27
+ };
28
+ //# sourceMappingURL=ToolbarButton.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarButton.stories.js","sourceRoot":"","sources":["../../src/ToolbarButton/ToolbarButton.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } 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 { ToolbarButton } from './ToolbarButton';
6
+ import Icon from '../Icon';
7
+ describe('ToolbarButton', () => {
8
+ const options = [
9
+ { value: 'a', label: 'Chocolate' },
10
+ { value: 'b', label: 'Strawberry' },
11
+ { value: 'c', label: 'Vanilla' },
12
+ { value: 'd', label: 'Rocky Road' },
13
+ { value: 'e', label: 'Crazy Cow' },
14
+ { value: 'f', label: 'Almond Joy' },
15
+ { value: 'g', label: 'All of the above' },
16
+ ];
17
+ const colorOptions = [
18
+ { value: 'h', label: 'pink' },
19
+ { value: 'i', label: 'purple' },
20
+ { value: 'j', label: 'green' },
21
+ { value: 'k', label: 'red' },
22
+ ];
23
+ const popoverContent = (_jsxs("div", { className: "tw-text-sm", children: [_jsx("p", { className: "tw-bg-gray-200 tw-p-2", children: "Flavors" }), options.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value))), _jsx("p", { children: "Colors" }), colorOptions.map((option) => (_jsxs("div", { className: "tw-flex tw-items-center tw-p-2", children: [_jsx(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }), _jsx("span", { children: option.label })] }, option.value)))] }));
24
+ const mockOnClick = jest.fn();
25
+ class Context {
26
+ testId = 'popoverTestId';
27
+ label = 'popover label';
28
+ props = {
29
+ label: this.label,
30
+ onClick: mockOnClick,
31
+ testId: this.testId,
32
+ icon: 'fc-y-axis',
33
+ tooltipText: 'This is a popover.',
34
+ tooltipOptions: { position: 'top', delay: 0 },
35
+ isHtmlTooltip: false,
36
+ isSmall: false,
37
+ popoverContent,
38
+ };
39
+ }
40
+ let tc;
41
+ beforeEach(() => {
42
+ tc = new Context();
43
+ jest.clearAllMocks();
44
+ });
45
+ const renderToolbarButton = (props) => render(_jsx(ToolbarButton, { ...props }));
46
+ const openPopover = async () => {
47
+ const popover = screen.getByTestId(tc.testId);
48
+ await userEvent.click(popover);
49
+ };
50
+ it('renders popover icon without label when small', () => {
51
+ tc.props.isSmall = true;
52
+ renderToolbarButton(tc.props);
53
+ const popoverLabel = screen.queryByText(tc.label);
54
+ expect(popoverLabel).not.toBeInTheDocument();
55
+ });
56
+ it('renders popover trigger button', () => {
57
+ renderToolbarButton(tc.props);
58
+ expect(screen.getByText(tc.label)).toBeInTheDocument();
59
+ });
60
+ it('opens popover on click', async () => {
61
+ renderToolbarButton(tc.props);
62
+ await openPopover();
63
+ expect(screen.getByText(options[2].label)).toBeVisible();
64
+ });
65
+ it('renders disabled popover trigger', async () => {
66
+ renderToolbarButton({ ...tc.props, disabled: true });
67
+ await openPopover();
68
+ expect(mockOnClick).not.toHaveBeenCalled();
69
+ });
70
+ it('handles click events', async () => {
71
+ const handleClick = jest.fn();
72
+ tc.props.onClick = handleClick;
73
+ const { getByTestId } = renderToolbarButton(tc.props);
74
+ await userEvent.click(getByTestId(tc.testId));
75
+ expect(handleClick).toHaveBeenCalled();
76
+ });
77
+ it('handles click events within popover and does not close the popover', async () => {
78
+ renderToolbarButton(tc.props);
79
+ expect(screen.queryByText(options[4].label)).not.toBeInTheDocument();
80
+ await openPopover();
81
+ await userEvent.click(screen.getByText(options[3].label));
82
+ expect(screen.getByText(options[4].label)).toBeInTheDocument();
83
+ });
84
+ });
85
+ //# sourceMappingURL=ToolbarButton.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarButton.test.js","sourceRoot":"","sources":["../../src/ToolbarButton/ToolbarButton.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const toolbarButtonVariants = ['outline', 'theme', 'theme-light', 'warning', 'danger', 'no-border'];
2
+ //# sourceMappingURL=ToolbarButton.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarButton.types.js","sourceRoot":"","sources":["../../src/ToolbarButton/ToolbarButton.types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ToolbarButton as default } from './ToolbarButton';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ToolbarButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import Button from '../Button';
3
+ import { tooltipPositions } from './Tooltip.types';
4
+ import { QTip } from './Qtip';
5
+ import Icon from '../Icon';
6
+ export default {
7
+ title: 'Tooltip',
8
+ };
9
+ export const AllQTips = () => {
10
+ const renderSvgWithTooltip = () => tooltipPositions.map((position) => (_jsx("div", { className: "tw-w-full tw-flex tw-justify-center tw-items-center", children: _jsx("div", { "data-qtip-text": "this is a test tooltip", "data-qtip-placement": position, children: _jsx("svg", { viewBox: "0 0 19 19", xmlns: "http://www.w3.org/2000/svg", className: "seeq-icon p2", height: "19", width: "19", children: _jsx("path", { d: "M 2.714 1.188 L 2.714 0 L 0 0 L 0 1.188 L 0 2.375 L 0 13.656 L 0 17.813 L 0 19 L 2.714 19 L 2.714 17.813 L 2.714 13.063 L 5.441 12.465 C 7.184 12.083 9.029 12.261 10.637 12.962 C 12.511 13.782 14.687 13.883 16.646 13.237 L 19 12.469 L 19 0.594 L 16.693 1.603 C 14.729 2.464 12.418 2.464 10.454 1.603 C 8.966 0.95 7.256 0.787 5.641 1.139 L 2.714 1.781 L 2.714 1.188 Z", fill: "red" }) }) }, `${position}_svg`) })));
11
+ const renderButtonsWithTooltip = () => tooltipPositions.map((position) => (_jsx("div", { children: _jsx(Button, { tooltip: `Tooltip on the ${position}`, label: position, tooltipOptions: { position } }) }, `${position}_button`)));
12
+ const renderIconsWithHtmlTooltip = () => tooltipPositions.map((position) => (_jsx("div", { children: _jsx(Icon, { tooltip: "<div><h2>Fancy Tooltip</h2> This is a special tooltip. Why? <br />Because it supports <b>HTML!</b></div>", tooltipPlacement: position, icon: "fc-sun", isHtmlTooltip: true }) }, `${position}_icon`)));
13
+ const renderTextTooltipOnText = () => tooltipPositions.map((position) => (_jsx("div", { children: _jsxs("span", { "data-qtip-text": "Helpful information provided here", "data-qtip-placement": position, children: ["Hover for Tooltip (on the ", position, ")"] }) }, `${position}_text`)));
14
+ const renderTextTooltipOnTextWithDelay = () => tooltipPositions.map((position) => (_jsx("div", { children: _jsxs("span", { "data-qtip-text": "Helpful information provided here", "data-qtip-placement": position, "data-qtip-delay": 1500, children: ["Hover for Tooltip (on the ", position, ") - with delay (1500ms)"] }) }, `${position}_text`)));
15
+ const renderTextTooltipOnOverflowHiddenText = () => tooltipPositions.map((position) => (_jsx("div", { className: "tw-overflow-hidden", children: _jsxs("span", { "data-qtip-text": "Helpful information provided here", "data-qtip-placement": position, children: ["Hover for Tooltip (on the ", position, ")", _jsx("br", {}), "(Overflow set to hidden)"] }) }, `${position}_text`)));
16
+ return (_jsxs(_Fragment, { children: [_jsx(QTip, {}), _jsxs("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4 tw-text-center", children: [renderSvgWithTooltip(), renderButtonsWithTooltip(), renderIconsWithHtmlTooltip(), renderTextTooltipOnText(), renderTextTooltipOnTextWithDelay(), renderTextTooltipOnOverflowHiddenText()] })] }));
17
+ };
18
+ //# sourceMappingURL=QTip.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QTip.stories.js","sourceRoot":"","sources":["../../src/Tooltip/QTip.stories.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,eAAe;IACb,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE;IAC3B,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAChC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,cAAK,SAAS,EAAC,qDAAqD,YAClE,gCAAoB,wBAAwB,yBAAsB,QAAQ,YACxE,cAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B,EAAC,SAAS,EAAC,cAAc,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,YACzG,eACE,CAAC,EAAC,gXAAgX,EAClX,IAAI,EAAC,KAAK,GAAQ,GAChB,IALyE,GAAG,QAAQ,MAAM,CAM5F,GACF,CACP,CAAC,CAAC;IACL,MAAM,wBAAwB,GAAG,GAAG,EAAE,CACpC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,wBACE,KAAC,MAAM,IAAC,OAAO,EAAE,kBAAkB,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,GAAI,IADxF,GAAG,QAAQ,SAAS,CAExB,CACP,CAAC,CAAC;IAEL,MAAM,0BAA0B,GAAG,GAAG,EAAE,CACtC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,wBACE,KAAC,IAAI,IACH,OAAO,EAAC,0GAA0G,EAClH,gBAAgB,EAAE,QAAQ,EAC1B,IAAI,EAAC,QAAQ,EACb,aAAa,EAAE,IAAI,GACnB,IANM,GAAG,QAAQ,OAAO,CAOtB,CACP,CAAC,CAAC;IAEL,MAAM,uBAAuB,GAAG,GAAG,EAAE,CACnC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,wBACE,kCAAqB,mCAAmC,yBAAsB,QAAQ,2CACzD,QAAQ,SAC9B,IAHC,GAAG,QAAQ,OAAO,CAItB,CACP,CAAC,CAAC;IAEL,MAAM,gCAAgC,GAAG,GAAG,EAAE,CAC5C,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,wBACE,kCAAqB,mCAAmC,yBAAsB,QAAQ,qBAAmB,IAAI,2CAChF,QAAQ,+BAC9B,IAHC,GAAG,QAAQ,OAAO,CAItB,CACP,CAAC,CAAC;IAEL,MAAM,qCAAqC,GAAG,GAAG,EAAE,CACjD,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,cAA8B,SAAS,EAAC,oBAAoB,YAC1D,kCAAqB,mCAAmC,yBAAsB,QAAQ,2CACzD,QAAQ,OAAE,cAAM,gCAEtC,IAJC,GAAG,QAAQ,OAAO,CAKtB,CACP,CAAC,CAAC;IAEL,OAAO,CACL,8BACE,KAAC,IAAI,KAAG,EACR,eAAK,SAAS,EAAC,gDAAgD,aAC5D,oBAAoB,EAAE,EACtB,wBAAwB,EAAE,EAC1B,0BAA0B,EAAE,EAC5B,uBAAuB,EAAE,EACzB,gCAAgC,EAAE,EAClC,qCAAqC,EAAE,IACpC,IACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=QTip.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QTip.types.js","sourceRoot":"","sources":["../../src/Tooltip/QTip.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { QTip } from './Qtip';
3
+ import Icon from '../Icon';
4
+ export default {
5
+ title: 'Tooltip',
6
+ };
7
+ const renderManyQTips = () => {
8
+ const colsCount = 100;
9
+ const rowCount = 100;
10
+ const rows = [];
11
+ const getCols = (rowId) => {
12
+ const cols = [];
13
+ for (let i = 0; i < colsCount; i++) {
14
+ cols.push(_jsx("td", { children: _jsx(Icon, { icon: "fc-sun", tooltip: `hello there ${i}` }) }, 'col_' + i + '_row_' + rowId));
15
+ }
16
+ return cols;
17
+ };
18
+ for (let i = 0; i < rowCount; i++) {
19
+ rows.push(_jsxs("tr", { children: [...getCols(i)] }, 'row_' + i));
20
+ }
21
+ return (_jsx("table", { children: _jsx("tbody", { children: rows.map((row) => row) }) }));
22
+ };
23
+ export const QtipPerformance = () => {
24
+ return (_jsxs(_Fragment, { children: [_jsx(QTip, {}), _jsx("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4 tw-text-center", children: renderManyQTips() })] }));
25
+ };
26
+ //# sourceMappingURL=QTipPerformance.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QTipPerformance.stories.js","sourceRoot":"","sources":["../../src/Tooltip/QTipPerformance.stories.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,eAAe;IACb,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC3B,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,MAAM,IAAI,GAAG,EAAE,CAAC;IAEhB,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CACP,uBACE,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,eAAe,CAAC,EAAE,GAAI,IAD5C,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,KAAK,CAEhC,CACN,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,4BAAyB,OAAO,CAAC,CAAC,CAAC,KAA1B,MAAM,GAAG,CAAC,CAAsB,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CACL,0BACE,0BAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAS,GACjC,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,OAAO,CACL,8BACE,KAAC,IAAI,KAAG,EACR,cAAK,SAAS,EAAC,gDAAgD,YAAE,eAAe,EAAE,GAAO,IACxF,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,168 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import DOMPurify from 'dompurify';
3
+ import React, { useEffect, useRef, useState } from 'react';
4
+ import { arrow, computePosition, offset } from '@floating-ui/dom';
5
+ import { useIntervalWhen } from 'rooks';
6
+ import { DEFAULT_TOOL_TIP_DELAY } from './Tooltip.types';
7
+ const getArrowStyle = (position, x, arrowWidth, tooltipHeight, tooltipWidth) => {
8
+ switch (position) {
9
+ case 'bottom':
10
+ return {
11
+ left: `${x}px`,
12
+ top: `${-arrowWidth}px`,
13
+ };
14
+ case 'left':
15
+ return {
16
+ left: `${tooltipWidth - arrowWidth}px`,
17
+ top: `${tooltipHeight / 2 - arrowWidth}px`,
18
+ };
19
+ case 'right':
20
+ return {
21
+ left: `${-arrowWidth}px`,
22
+ top: `${tooltipHeight / 2 - arrowWidth}px`,
23
+ };
24
+ default: // 'top':
25
+ return {
26
+ left: `${x}px`,
27
+ top: `${tooltipHeight - 10 + arrowWidth}px`,
28
+ };
29
+ }
30
+ };
31
+ const HTMLTip = ({ text }) => {
32
+ return React.createElement('div', {
33
+ dangerouslySetInnerHTML: { __html: DOMPurify.sanitize(text) },
34
+ });
35
+ };
36
+ /** Tooltips can cause SystemTests to be flaky, so we suppress them in Playwright and Protractor */
37
+ const suppressTooltip = () => {
38
+ return window.navigator.userAgent === 'Playwright' || window.navigator.userAgent.includes('Protractor');
39
+ };
40
+ /**
41
+ * QTip
42
+ *
43
+ * QTip is a Singleton Tooltip component that guarantees high-performance and reduces component wrappers!
44
+ *
45
+ * QTip is used by all qomponents that support the display of tooltips.
46
+ * If you want to add a Tooltip to your application you can do so by adding the following html data-attributes:
47
+ *
48
+ * 'data-qtip-text': the tooltip text to display; this can also be a string containing valid HTML
49
+ * 'data-qtip-placement': one of TooltipPosition (top, bottom, right, or left)
50
+ * 'data-qtip-is-html': set this to true if you provided a text that contains HTML,
51
+ * 'data-qtip-delay': this can be used to delay the showing of the tooltip. this should be a number representing
52
+ * the # of milliseconds you want to delay the tooltip for. If no delay is provided the DEFAULT_TOOL_TIP_DELAY is
53
+ * applied!
54
+ * 'data-qtip-testid': use this attribute to provide a value for a data-testid of your tooltip; this is useful
55
+ * for tests
56
+ *
57
+ * In order for QTip to be able to display Tooltips you must add the QTip component to your top-most component
58
+ * (often that's App or Application) - simply add:
59
+ *
60
+ * <QTip />
61
+ *
62
+ * and enjoy beautiful & performant tooltips!
63
+ */
64
+ export const QTip = () => {
65
+ const tooltipRef = useRef(null);
66
+ const tooltipTarget = useRef(null);
67
+ const tooltipArrowRef = useRef(null);
68
+ const [tooltipText, setTooltipText] = useState('');
69
+ const [tooltipTargetOriginalPosition, setTooltipTargetOriginalPosition] = useState(null);
70
+ const [show, setShow] = useState(false);
71
+ const [html, setHtml] = useState(false);
72
+ const [tooltipTestId, setTooltipTestId] = useState('');
73
+ const [overTooltip, setOverTooltip] = useState(false);
74
+ // Check every 300ms if the tooltip target position has changed and hide the tooltip if this happens.
75
+ useIntervalWhen(() => {
76
+ const currentPosition = tooltipTarget?.current?.getBoundingClientRect();
77
+ if (overTooltip) {
78
+ return;
79
+ }
80
+ if (tooltipTargetOriginalPosition?.y !== currentPosition?.y ||
81
+ tooltipTargetOriginalPosition?.x !== currentPosition?.x) {
82
+ setShow(false);
83
+ }
84
+ }, 300, show);
85
+ useEffect(() => {
86
+ !suppressTooltip() && document.body.addEventListener('mousemove', onMouseMove);
87
+ return () => {
88
+ !suppressTooltip() && document.removeEventListener('mousemove', onMouseMove);
89
+ };
90
+ }, []);
91
+ const ttTimeout = useRef(null);
92
+ const findTooltipData = (element) => {
93
+ // Traverse up to 8 levels to find the tooltip data
94
+ for (let i = 0; i < 8 && element; i++) {
95
+ if (!element) {
96
+ return null;
97
+ }
98
+ if (element?.dataset?.qtipText) {
99
+ return element.dataset;
100
+ }
101
+ element = element?.parentElement;
102
+ }
103
+ return null;
104
+ };
105
+ const onMouseMove = (e) => {
106
+ if (ttTimeout.current) {
107
+ clearTimeout(ttTimeout.current);
108
+ }
109
+ // Find tooltip data on the current or parent elements
110
+ const target = e.target;
111
+ const dataset = findTooltipData(target);
112
+ if (!dataset) {
113
+ // No tooltip data found
114
+ tooltipTarget.current = null;
115
+ return;
116
+ }
117
+ tooltipTarget.current = target;
118
+ const text = dataset.qtipText;
119
+ if (text) {
120
+ const delay = parseInt(dataset.qtipDelay || `${DEFAULT_TOOL_TIP_DELAY}`, 10);
121
+ const placement = dataset.qtipPlacement || 'top';
122
+ const isHtml = dataset.qtipIsHtml === 'true';
123
+ const testId = dataset.qtipTestid;
124
+ // Debounced tooltip display
125
+ ttTimeout.current = setTimeout(() => {
126
+ makeTooltip(text, placement, isHtml, testId, delay);
127
+ }, delay);
128
+ }
129
+ };
130
+ const makeTooltip = (tooltipText, position = 'top', isHtml, dataTestId, delay) => {
131
+ if (tooltipText && tooltipTarget.current) {
132
+ setHtml(isHtml);
133
+ setTooltipText(tooltipText);
134
+ setTooltipTestId(dataTestId);
135
+ setTooltipTargetOriginalPosition(tooltipTarget.current.getBoundingClientRect());
136
+ const positionTooltip = () => {
137
+ if (tooltipRef.current && tooltipTarget.current) {
138
+ computePosition(tooltipTarget.current, tooltipRef.current, {
139
+ placement: position,
140
+ middleware: [offset(10), arrow({ element: tooltipArrowRef.current })],
141
+ }).then(({ x, y, middlewareData }) => {
142
+ Object.assign(tooltipRef.current?.style, {
143
+ left: `${x}px`,
144
+ top: `${y}px`,
145
+ });
146
+ if (middlewareData.arrow) {
147
+ const { x, y } = middlewareData.arrow;
148
+ const arrowWidth = tooltipArrowRef.current?.offsetHeight / 2;
149
+ const tooltipHeight = tooltipRef.current?.offsetHeight;
150
+ const tooltipWidth = tooltipRef.current?.offsetWidth;
151
+ const style = getArrowStyle(position, x || y, arrowWidth, tooltipHeight, tooltipWidth);
152
+ Object.assign(tooltipArrowRef.current.style, style);
153
+ }
154
+ setShow(true);
155
+ });
156
+ }
157
+ };
158
+ delay > 0
159
+ ? requestAnimationFrame(() => {
160
+ positionTooltip();
161
+ })
162
+ : positionTooltip();
163
+ }
164
+ };
165
+ return (_jsx(_Fragment, { children: _jsxs("div", { onMouseEnter: () => setOverTooltip(true), onMouseLeave: () => setOverTooltip(false), "data-testid": tooltipTestId, ref: tooltipRef, className: 'tw-absolute tw-rounded tw-bg-black tw-p-2 tw-text-xs tw-text-white tw-z-[9999] fade-in ' +
166
+ (show ? 'tw-visible' : 'tw-invisible tw-pointer-events-none'), children: [html ? _jsx(HTMLTip, { text: tooltipText }) : tooltipText, _jsx("div", { className: "tw-absolute tw-w-[10px] tw-h-[10px] tw-rotate-45 tw-bg-black", ref: tooltipArrowRef })] }) }));
167
+ };
168
+ //# sourceMappingURL=Qtip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Qtip.js","sourceRoot":"","sources":["../../src/Tooltip/Qtip.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import '../styles.css';
3
+ import { DEFAULT_TOOL_TIP_DELAY } from './Tooltip.types';
4
+ /**
5
+ * @deprecated
6
+ * Note: Tooltip has been replaced by QTip - a singleton JS tooltip that behaves well even with overflow settings :)
7
+ * See @QTip for more info!
8
+ *
9
+ * This component displays a Tooltip for the provided children. It is a CSS only tooltip that will not display
10
+ * correctly if a parent element has an overflow CSS property assigned. Please use QTip to ensure your tooltips
11
+ * display correctly.
12
+ */
13
+ export const Tooltip = ({ position = 'bottom', children, text, delay = DEFAULT_TOOL_TIP_DELAY, }) => {
14
+ const arrowBaseClasses = 'before:tw-content-[\'\'] before:tw-absolute before:tw-border-8';
15
+ const centerArrowVertically = 'before:tw-top-1/2 before:-tw-translate-y-1/2';
16
+ const centerArrowHorizontally = 'before:tw-left-1/2 before:-tw-translate-x-1/2';
17
+ const arrowRight = `${arrowBaseClasses} ${centerArrowVertically} before:tw-right-[100%] before:tw-border-y-transparent
18
+ before:tw-border-l-transparent before:tw-border-r-black`;
19
+ const arrowLeft = `${arrowBaseClasses} ${centerArrowVertically} before:tw-left-[100%] before:tw-border-y-transparent
20
+ before:tw-border-l-black before:tw-border-r-transparent`;
21
+ const arrowBottom = `${arrowBaseClasses} ${centerArrowHorizontally} before:-tw-top-4 before:tw-border-b-black
22
+ before:tw-border-r-transparent before:tw-border-l-transparent before:tw-border-t-transparent`;
23
+ const arrowTop = `${arrowBaseClasses} ${centerArrowHorizontally} before:-tw-bottom-4 before:tw-border-b-transparent
24
+ before:tw-border-t-black before:tw-border-l-transparent before:tw-border-r-transparent`;
25
+ const placements = {
26
+ top: `-tw-top-2 -tw-translate-y-full tw-left-1/2 -tw-translate-x-1/2 ${arrowTop}`,
27
+ left: `-tw-translate-x-full -tw-left-3 -tw-translate-y-1/2 tw-top-1/2 ${arrowLeft}`,
28
+ right: `tw-translate-x-full -tw-right-3 -tw-translate-y-1/2 tw-top-1/2 ${arrowRight}`,
29
+ bottom: `-tw-bottom-2 tw-translate-y-full tw-left-1/2 -tw-translate-x-1/2 ${arrowBottom}`,
30
+ };
31
+ return (_jsxs("div", { className: "tw-group tw-relative tw-inline-block", children: [children, _jsx("div", { className: `tw-z-50 tw-whitespace-nowrap tw-hidden group-hover:tw-inline-block group-hover:tw-delay-[${delay}ms]
32
+ tw-absolute tw-opacity-0 group-hover:tw-opacity-100 tw-rounded tw-bg-black tw-p-2 tw-text-xs tw-text-white ${placements[position]}`, children: text })] }));
33
+ };
34
+ //# sourceMappingURL=Tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../../src/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AACA,OAAO,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAgB,MAAM,iBAAiB,CAAC;AAEvE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAA0C,CAAC,EAC7D,QAAQ,GAAG,QAAQ,EACnB,QAAQ,EACR,IAAI,EACJ,KAAK,GAAG,sBAAsB,GAC/B,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,gEAAgE,CAAC;IAC1F,MAAM,qBAAqB,GAAG,8CAA8C,CAAC;IAC7E,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;IAChF,MAAM,UAAU,GAAG,GAAG,gBAAgB,IAAI,qBAAqB;0DACP,CAAC;IAEzD,MAAM,SAAS,GAAG,GAAG,gBAAgB,IAAI,qBAAqB;2DACL,CAAC;IAE1D,MAAM,WAAW,GAAG,GAAG,gBAAgB,IAAI,uBAAuB;+FAC2B,CAAC;IAC9F,MAAM,QAAQ,GAAG,GAAG,gBAAgB,IAAI,uBAAuB;yFACwB,CAAC;IAExF,MAAM,UAAU,GAAG;QACjB,GAAG,EAAE,kEAAkE,QAAQ,EAAE;QACjF,IAAI,EAAE,kEAAkE,SAAS,EAAE;QACnF,KAAK,EAAE,kEAAkE,UAAU,EAAE;QACrF,MAAM,EAAE,oEAAoE,WAAW,EAAE;KAC1F,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,sCAAsC,aAClD,QAAQ,EACT,cACE,SAAS,EAAE,4FAA4F,KAAK;qHACC,UAAU,CAAC,QAAQ,CAAC,EAAE,YAClI,IAAI,GACD,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Tooltip } from './Tooltip';
3
+ import Icon from '../Icon';
4
+ import Button from '../Button';
5
+ import { tooltipPositions } from './Tooltip.types';
6
+ export default {
7
+ title: 'Tooltip',
8
+ };
9
+ export const AllTooltips = () => {
10
+ const renderButtonsWithTooltip = () => tooltipPositions.map((position) => (_jsx("div", { children: _jsx(Tooltip, { text: `Tooltip on the ${position}`, position: position, children: _jsx(Button, { label: position }) }) }, `${position}_button`)));
11
+ const renderIconsWithHtmlTooltip = () => tooltipPositions.map((position) => (_jsx("div", { children: _jsx(Tooltip, { text: _jsxs("div", { children: [_jsx("h2", { children: "Fancy Tooltip" }), " This is a special tooltip. Why?", _jsx("br", {}), "Because it supports ", _jsx("b", { children: "HTML!" })] }), position: position, children: _jsx(Icon, { icon: "fc-sun" }) }) }, `${position}_icon`)));
12
+ const renderTextTooltipOnText = () => tooltipPositions.map((position) => (_jsx("div", { children: _jsx(Tooltip, { text: "Helpful information provided here", position: position, children: _jsxs("span", { children: ["Hover for Tooltip (on the ", position, ")"] }) }) }, `${position}_text`)));
13
+ return (_jsxs("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4 tw-text-center", children: [renderButtonsWithTooltip(), renderIconsWithHtmlTooltip(), renderTextTooltipOnText()] }));
14
+ };
15
+ //# sourceMappingURL=Tooltip.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.stories.js","sourceRoot":"","sources":["../../src/Tooltip/Tooltip.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,eAAe;IACb,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,wBAAwB,GAAG,GAAG,EAAE,CACpC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,wBACE,KAAC,OAAO,IAAC,IAAI,EAAE,kBAAkB,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,YAC7D,KAAC,MAAM,IAAC,KAAK,EAAE,QAAQ,GAAI,GACnB,IAHF,GAAG,QAAQ,SAAS,CAIxB,CACP,CAAC,CAAC;IAEL,MAAM,0BAA0B,GAAG,GAAG,EAAE,CACtC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,wBACE,KAAC,OAAO,IACN,IAAI,EACF,0BACE,yCAAsB,sCACtB,cAAM,0BACc,gCAAY,IAC5B,EAER,QAAQ,EAAE,QAAQ,YAClB,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,GACd,IAXF,GAAG,QAAQ,OAAO,CAYtB,CACP,CAAC,CAAC;IAEL,MAAM,uBAAuB,GAAG,GAAG,EAAE,CACnC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,wBACE,KAAC,OAAO,IAAC,IAAI,EAAC,mCAAmC,EAAC,QAAQ,EAAE,QAAQ,YAClE,yDAAiC,QAAQ,SAAS,GAC1C,IAHF,GAAG,QAAQ,OAAO,CAItB,CACP,CAAC,CAAC;IAEL,OAAO,CACL,eAAK,SAAS,EAAC,gDAAgD,aAC5D,wBAAwB,EAAE,EAC1B,0BAA0B,EAAE,EAC5B,uBAAuB,EAAE,IACtB,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const DEFAULT_TOOL_TIP_DELAY = 500;
2
+ export const tooltipPositions = ['top', 'left', 'right', 'bottom'];
3
+ //# sourceMappingURL=Tooltip.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.types.js","sourceRoot":"","sources":["../../src/Tooltip/Tooltip.types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Tooltip } from './Tooltip';
3
+ import Icon from '../Icon';
4
+ export default {
5
+ title: 'Tooltip',
6
+ };
7
+ const renderManyTooltips = () => {
8
+ const colsCount = 100;
9
+ const rowCount = 100;
10
+ const rows = [];
11
+ const getCols = (rowId) => {
12
+ const cols = [];
13
+ for (let i = 0; i < colsCount; i++) {
14
+ cols.push(_jsx("td", { children: _jsx(Tooltip, { text: `hello there ${i}`, children: _jsx(Icon, { icon: "fc-sun" }) }) }, 'col_' + i + '_row_' + rowId));
15
+ }
16
+ return cols;
17
+ };
18
+ for (let i = 0; i < rowCount; i++) {
19
+ rows.push(_jsxs("tr", { children: [...getCols(i)] }, 'row_' + i));
20
+ }
21
+ return (_jsx("table", { children: _jsx("tbody", { children: rows.map((row) => row) }) }));
22
+ };
23
+ export const TooltipPerformance = () => {
24
+ return (_jsx(_Fragment, { children: _jsx("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4 tw-text-center", children: renderManyTooltips() }) }));
25
+ };
26
+ //# sourceMappingURL=TooltipPerformance.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipPerformance.stories.js","sourceRoot":"","sources":["../../src/Tooltip/TooltipPerformance.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,eAAe;IACb,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,MAAM,SAAS,GAAG,GAAG,CAAC;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,MAAM,IAAI,GAAG,EAAE,CAAC;IAEhB,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,EAAE;QAChC,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CACP,uBACE,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,EAAE,YAC/B,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,GACd,IAHH,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,KAAK,CAIhC,CACN,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,4BAAyB,OAAO,CAAC,CAAC,CAAC,KAA1B,MAAM,GAAG,CAAC,CAAsB,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CACL,0BACE,0BAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAS,GACjC,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,OAAO,CACL,4BACE,cAAK,SAAS,EAAC,gDAAgD,YAAE,kBAAkB,EAAE,GAAO,GAC3F,CACJ,CAAC;AACJ,CAAC,CAAC"}