@seeqdev/qomponents 0.0.155-react-19-v10 → 0.0.155

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 (304) hide show
  1. package/README.md +135 -135
  2. package/dist/Accordion/Accordion.stories.d.ts +1 -2
  3. package/dist/Alert/Alert.stories.d.ts +1 -2
  4. package/dist/Alert/Alert.types.d.ts +0 -1
  5. package/dist/Button/Button.stories.d.ts +4 -5
  6. package/dist/Button/Button.types.d.ts +1 -1
  7. package/dist/ButtonGroup/ButtonGroup.stories.d.ts +1 -2
  8. package/dist/ButtonGroup/ButtonGroup.types.d.ts +0 -1
  9. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.d.ts +1 -2
  10. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.d.ts +0 -1
  11. package/dist/ButtonWithPopover/ButtonWithPopover.stories.d.ts +1 -2
  12. package/dist/Carousel/Carousel.stories.d.ts +1 -2
  13. package/dist/Carousel/Carousel.types.d.ts +0 -1
  14. package/dist/Checkbox/Checkbox.stories.d.ts +1 -2
  15. package/dist/Checkbox/Checkbox.types.d.ts +0 -1
  16. package/dist/Collapse/Collapse.stories.d.ts +1 -2
  17. package/dist/Collapse/Collapse.types.d.ts +0 -1
  18. package/dist/Icon/Icon.stories.d.ts +1 -2
  19. package/dist/Icon/Icon.types.d.ts +0 -1
  20. package/dist/InputGroup/InputGroup.stories.d.ts +1 -2
  21. package/dist/InputGroup/InputGroup.types.d.ts +0 -1
  22. package/dist/ProgressBar/ProgressBar.stories.d.ts +3 -2
  23. package/dist/ProgressBar/ProgressBar.types.d.ts +10 -0
  24. package/dist/ProgressBar/index.d.ts +1 -0
  25. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.d.ts +1 -2
  26. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.d.ts +0 -1
  27. package/dist/Select/Select.stories.d.ts +1 -2
  28. package/dist/Slider/Slider.stories.d.ts +1 -2
  29. package/dist/Slider/Slider.types.d.ts +0 -1
  30. package/dist/SvgIcon/SvgIcon.stories.d.ts +1 -2
  31. package/dist/SvgIcon/SvgIcon.types.d.ts +0 -1
  32. package/dist/Tabs/Tabs.stories.d.ts +1 -2
  33. package/dist/Tabs/Tabs.types.d.ts +1 -2
  34. package/dist/TextArea/TextArea.stories.d.ts +1 -2
  35. package/dist/TextArea/TextArea.types.d.ts +0 -1
  36. package/dist/TextField/TextField.stories.d.ts +1 -2
  37. package/dist/TextField/TextField.types.d.ts +0 -1
  38. package/dist/ToolbarButton/ToolbarButton.stories.d.ts +1 -2
  39. package/dist/Tooltip/QTip.stories.d.ts +1 -2
  40. package/dist/Tooltip/QTipPerformance.stories.d.ts +1 -2
  41. package/dist/Tooltip/Tooltip.stories.d.ts +1 -2
  42. package/dist/Tooltip/Tooltip.types.d.ts +2 -3
  43. package/dist/Tooltip/TooltipPerformance.stories.d.ts +1 -2
  44. package/dist/example/.eslintrc.cjs +14 -14
  45. package/dist/example/README.md +33 -33
  46. package/dist/example/index.html +13 -13
  47. package/dist/example/package.json +30 -30
  48. package/dist/example/src/ComplexSelectExample.tsx +81 -81
  49. package/dist/example/src/Example.tsx +408 -408
  50. package/dist/example/src/index.css +102 -102
  51. package/dist/example/src/main.tsx +10 -10
  52. package/dist/example/src/vite-env.d.ts +1 -1
  53. package/dist/example/tsconfig.json +33 -33
  54. package/dist/example/tsconfig.node.json +12 -12
  55. package/dist/example/vite.config.ts +12 -12
  56. package/dist/index.d.ts +1 -0
  57. package/dist/index.esm.js +7896 -14347
  58. package/dist/index.esm.js.map +1 -1
  59. package/dist/index.js +7889 -14340
  60. package/dist/index.js.map +1 -1
  61. package/dist/styles.css +4006 -3819
  62. package/package.json +88 -91
  63. package/dist/Accordion/Accordion.js +0 -9
  64. package/dist/Accordion/Accordion.js.map +0 -1
  65. package/dist/Accordion/Accordion.stories.js +0 -115
  66. package/dist/Accordion/Accordion.stories.js.map +0 -1
  67. package/dist/Accordion/Accordion.test.js +0 -55
  68. package/dist/Accordion/Accordion.test.js.map +0 -1
  69. package/dist/Accordion/Accordion.types.js +0 -2
  70. package/dist/Accordion/Accordion.types.js.map +0 -1
  71. package/dist/Accordion/index.js +0 -2
  72. package/dist/Accordion/index.js.map +0 -1
  73. package/dist/Alert/Alert.js +0 -34
  74. package/dist/Alert/Alert.js.map +0 -1
  75. package/dist/Alert/Alert.stories.js +0 -52
  76. package/dist/Alert/Alert.stories.js.map +0 -1
  77. package/dist/Alert/Alert.test.js +0 -51
  78. package/dist/Alert/Alert.test.js.map +0 -1
  79. package/dist/Alert/Alert.types.js +0 -2
  80. package/dist/Alert/Alert.types.js.map +0 -1
  81. package/dist/Alert/index.js +0 -2
  82. package/dist/Alert/index.js.map +0 -1
  83. package/dist/Button/Button.js +0 -92
  84. package/dist/Button/Button.js.map +0 -1
  85. package/dist/Button/Button.stories.js +0 -100
  86. package/dist/Button/Button.stories.js.map +0 -1
  87. package/dist/Button/Button.test.js +0 -49
  88. package/dist/Button/Button.test.js.map +0 -1
  89. package/dist/Button/Button.types.js +0 -5
  90. package/dist/Button/Button.types.js.map +0 -1
  91. package/dist/Button/index.js +0 -2
  92. package/dist/Button/index.js.map +0 -1
  93. package/dist/ButtonGroup/ButtonGroup.js +0 -35
  94. package/dist/ButtonGroup/ButtonGroup.js.map +0 -1
  95. package/dist/ButtonGroup/ButtonGroup.stories.js +0 -385
  96. package/dist/ButtonGroup/ButtonGroup.stories.js.map +0 -1
  97. package/dist/ButtonGroup/ButtonGroup.test.js +0 -67
  98. package/dist/ButtonGroup/ButtonGroup.test.js.map +0 -1
  99. package/dist/ButtonGroup/ButtonGroup.types.js +0 -2
  100. package/dist/ButtonGroup/ButtonGroup.types.js.map +0 -1
  101. package/dist/ButtonGroup/index.js +0 -2
  102. package/dist/ButtonGroup/index.js.map +0 -1
  103. package/dist/ButtonWithDropdown/ButtonWithDropdown.js +0 -60
  104. package/dist/ButtonWithDropdown/ButtonWithDropdown.js.map +0 -1
  105. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +0 -143
  106. package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js.map +0 -1
  107. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js +0 -93
  108. package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js.map +0 -1
  109. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +0 -2
  110. package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js.map +0 -1
  111. package/dist/ButtonWithDropdown/index.js +0 -2
  112. package/dist/ButtonWithDropdown/index.js.map +0 -1
  113. package/dist/ButtonWithPopover/ButtonWithPopover.js +0 -62
  114. package/dist/ButtonWithPopover/ButtonWithPopover.js.map +0 -1
  115. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +0 -75
  116. package/dist/ButtonWithPopover/ButtonWithPopover.stories.js.map +0 -1
  117. package/dist/ButtonWithPopover/ButtonWithPopover.test.js +0 -82
  118. package/dist/ButtonWithPopover/ButtonWithPopover.test.js.map +0 -1
  119. package/dist/ButtonWithPopover/ButtonWithPopover.types.js +0 -2
  120. package/dist/ButtonWithPopover/ButtonWithPopover.types.js.map +0 -1
  121. package/dist/ButtonWithPopover/index.js +0 -2
  122. package/dist/ButtonWithPopover/index.js.map +0 -1
  123. package/dist/Carousel/Carousel.js +0 -70
  124. package/dist/Carousel/Carousel.js.map +0 -1
  125. package/dist/Carousel/Carousel.stories.js +0 -115
  126. package/dist/Carousel/Carousel.stories.js.map +0 -1
  127. package/dist/Carousel/Carousel.test.js +0 -48
  128. package/dist/Carousel/Carousel.test.js.map +0 -1
  129. package/dist/Carousel/Carousel.types.js +0 -2
  130. package/dist/Carousel/Carousel.types.js.map +0 -1
  131. package/dist/Carousel/index.js +0 -2
  132. package/dist/Carousel/index.js.map +0 -1
  133. package/dist/Checkbox/Checkbox.js +0 -26
  134. package/dist/Checkbox/Checkbox.js.map +0 -1
  135. package/dist/Checkbox/Checkbox.stories.js +0 -34
  136. package/dist/Checkbox/Checkbox.stories.js.map +0 -1
  137. package/dist/Checkbox/Checkbox.test.js +0 -94
  138. package/dist/Checkbox/Checkbox.test.js.map +0 -1
  139. package/dist/Checkbox/Checkbox.types.js +0 -2
  140. package/dist/Checkbox/Checkbox.types.js.map +0 -1
  141. package/dist/Checkbox/index.js +0 -2
  142. package/dist/Checkbox/index.js.map +0 -1
  143. package/dist/Collapse/Collapse.js +0 -15
  144. package/dist/Collapse/Collapse.js.map +0 -1
  145. package/dist/Collapse/Collapse.stories.js +0 -37
  146. package/dist/Collapse/Collapse.stories.js.map +0 -1
  147. package/dist/Collapse/Collapse.test.js +0 -19
  148. package/dist/Collapse/Collapse.test.js.map +0 -1
  149. package/dist/Collapse/Collapse.types.js +0 -2
  150. package/dist/Collapse/Collapse.types.js.map +0 -1
  151. package/dist/Collapse/index.js +0 -2
  152. package/dist/Collapse/index.js.map +0 -1
  153. package/dist/Icon/Icon.js +0 -55
  154. package/dist/Icon/Icon.js.map +0 -1
  155. package/dist/Icon/Icon.stories.js +0 -49
  156. package/dist/Icon/Icon.stories.js.map +0 -1
  157. package/dist/Icon/Icon.test.js +0 -55
  158. package/dist/Icon/Icon.test.js.map +0 -1
  159. package/dist/Icon/Icon.types.js +0 -16
  160. package/dist/Icon/Icon.types.js.map +0 -1
  161. package/dist/Icon/index.js +0 -2
  162. package/dist/Icon/index.js.map +0 -1
  163. package/dist/InputGroup/InputGroup.js +0 -35
  164. package/dist/InputGroup/InputGroup.js.map +0 -1
  165. package/dist/InputGroup/InputGroup.stories.js +0 -176
  166. package/dist/InputGroup/InputGroup.stories.js.map +0 -1
  167. package/dist/InputGroup/InputGroup.test.js +0 -43
  168. package/dist/InputGroup/InputGroup.test.js.map +0 -1
  169. package/dist/InputGroup/InputGroup.types.js +0 -2
  170. package/dist/InputGroup/InputGroup.types.js.map +0 -1
  171. package/dist/InputGroup/index.js +0 -2
  172. package/dist/InputGroup/index.js.map +0 -1
  173. package/dist/Modal/Modal.js +0 -102
  174. package/dist/Modal/Modal.js.map +0 -1
  175. package/dist/Modal/Modal.stories.js +0 -127
  176. package/dist/Modal/Modal.stories.js.map +0 -1
  177. package/dist/Modal/Modal.test.js +0 -108
  178. package/dist/Modal/Modal.test.js.map +0 -1
  179. package/dist/Modal/Modal.types.js +0 -2
  180. package/dist/Modal/Modal.types.js.map +0 -1
  181. package/dist/Modal/index.js +0 -2
  182. package/dist/Modal/index.js.map +0 -1
  183. package/dist/ProgressBar/ProgressBar.js +0 -70
  184. package/dist/ProgressBar/ProgressBar.js.map +0 -1
  185. package/dist/ProgressBar/ProgressBar.stories.js +0 -83
  186. package/dist/ProgressBar/ProgressBar.stories.js.map +0 -1
  187. package/dist/ProgressBar/ProgressBar.test.js +0 -44
  188. package/dist/ProgressBar/ProgressBar.test.js.map +0 -1
  189. package/dist/ProgressBar/ProgressBar.types.js +0 -2
  190. package/dist/ProgressBar/ProgressBar.types.js.map +0 -1
  191. package/dist/ProgressBar/index.js +0 -2
  192. package/dist/ProgressBar/index.js.map +0 -1
  193. package/dist/SeeqActionDropdown/SeeqActionDropdown.js +0 -48
  194. package/dist/SeeqActionDropdown/SeeqActionDropdown.js.map +0 -1
  195. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js +0 -87
  196. package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js.map +0 -1
  197. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js +0 -73
  198. package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js.map +0 -1
  199. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js +0 -2
  200. package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js.map +0 -1
  201. package/dist/SeeqActionDropdown/index.js +0 -2
  202. package/dist/SeeqActionDropdown/index.js.map +0 -1
  203. package/dist/SeeqActionDropdown/variants.js +0 -38
  204. package/dist/SeeqActionDropdown/variants.js.map +0 -1
  205. package/dist/Select/Select.js +0 -177
  206. package/dist/Select/Select.js.map +0 -1
  207. package/dist/Select/Select.stories.js +0 -82
  208. package/dist/Select/Select.stories.js.map +0 -1
  209. package/dist/Select/Select.test.js +0 -182
  210. package/dist/Select/Select.test.js.map +0 -1
  211. package/dist/Select/Select.types.js +0 -2
  212. package/dist/Select/Select.types.js.map +0 -1
  213. package/dist/Select/index.js +0 -3
  214. package/dist/Select/index.js.map +0 -1
  215. package/dist/Slider/Slider.js +0 -13
  216. package/dist/Slider/Slider.js.map +0 -1
  217. package/dist/Slider/Slider.stories.js +0 -58
  218. package/dist/Slider/Slider.stories.js.map +0 -1
  219. package/dist/Slider/Slider.test.js +0 -33
  220. package/dist/Slider/Slider.test.js.map +0 -1
  221. package/dist/Slider/Slider.types.js +0 -2
  222. package/dist/Slider/Slider.types.js.map +0 -1
  223. package/dist/Slider/index.js +0 -2
  224. package/dist/Slider/index.js.map +0 -1
  225. package/dist/SvgIcon/SvgIcon.js +0 -30
  226. package/dist/SvgIcon/SvgIcon.js.map +0 -1
  227. package/dist/SvgIcon/SvgIcon.stories.js +0 -42
  228. package/dist/SvgIcon/SvgIcon.stories.js.map +0 -1
  229. package/dist/SvgIcon/SvgIcon.test.js +0 -41
  230. package/dist/SvgIcon/SvgIcon.test.js.map +0 -1
  231. package/dist/SvgIcon/SvgIcon.types.js +0 -6
  232. package/dist/SvgIcon/SvgIcon.types.js.map +0 -1
  233. package/dist/SvgIcon/index.js +0 -2
  234. package/dist/SvgIcon/index.js.map +0 -1
  235. package/dist/Tabs/Tabs.js +0 -22
  236. package/dist/Tabs/Tabs.js.map +0 -1
  237. package/dist/Tabs/Tabs.stories.js +0 -91
  238. package/dist/Tabs/Tabs.stories.js.map +0 -1
  239. package/dist/Tabs/Tabs.test.js +0 -91
  240. package/dist/Tabs/Tabs.test.js.map +0 -1
  241. package/dist/Tabs/Tabs.types.js +0 -2
  242. package/dist/Tabs/Tabs.types.js.map +0 -1
  243. package/dist/Tabs/index.js +0 -2
  244. package/dist/Tabs/index.js.map +0 -1
  245. package/dist/TextArea/TextArea.js +0 -25
  246. package/dist/TextArea/TextArea.js.map +0 -1
  247. package/dist/TextArea/TextArea.stories.js +0 -46
  248. package/dist/TextArea/TextArea.stories.js.map +0 -1
  249. package/dist/TextArea/TextArea.test.js +0 -68
  250. package/dist/TextArea/TextArea.test.js.map +0 -1
  251. package/dist/TextArea/TextArea.types.js +0 -2
  252. package/dist/TextArea/TextArea.types.js.map +0 -1
  253. package/dist/TextArea/index.js +0 -2
  254. package/dist/TextArea/index.js.map +0 -1
  255. package/dist/TextField/TextField.js +0 -86
  256. package/dist/TextField/TextField.js.map +0 -1
  257. package/dist/TextField/TextField.stories.js +0 -70
  258. package/dist/TextField/TextField.stories.js.map +0 -1
  259. package/dist/TextField/TextField.test.js +0 -41
  260. package/dist/TextField/TextField.test.js.map +0 -1
  261. package/dist/TextField/TextField.types.js +0 -2
  262. package/dist/TextField/TextField.types.js.map +0 -1
  263. package/dist/TextField/index.js +0 -2
  264. package/dist/TextField/index.js.map +0 -1
  265. package/dist/ToolbarButton/ToolbarButton.js +0 -69
  266. package/dist/ToolbarButton/ToolbarButton.js.map +0 -1
  267. package/dist/ToolbarButton/ToolbarButton.stories.js +0 -97
  268. package/dist/ToolbarButton/ToolbarButton.stories.js.map +0 -1
  269. package/dist/ToolbarButton/ToolbarButton.test.js +0 -93
  270. package/dist/ToolbarButton/ToolbarButton.test.js.map +0 -1
  271. package/dist/ToolbarButton/ToolbarButton.types.js +0 -2
  272. package/dist/ToolbarButton/ToolbarButton.types.js.map +0 -1
  273. package/dist/ToolbarButton/index.js +0 -2
  274. package/dist/ToolbarButton/index.js.map +0 -1
  275. package/dist/Tooltip/QTip.stories.js +0 -45
  276. package/dist/Tooltip/QTip.stories.js.map +0 -1
  277. package/dist/Tooltip/QTip.types.js +0 -2
  278. package/dist/Tooltip/QTip.types.js.map +0 -1
  279. package/dist/Tooltip/QTipPerformance.stories.js +0 -30
  280. package/dist/Tooltip/QTipPerformance.stories.js.map +0 -1
  281. package/dist/Tooltip/Qtip.js +0 -170
  282. package/dist/Tooltip/Qtip.js.map +0 -1
  283. package/dist/Tooltip/Tooltip.js +0 -36
  284. package/dist/Tooltip/Tooltip.js.map +0 -1
  285. package/dist/Tooltip/Tooltip.stories.js +0 -32
  286. package/dist/Tooltip/Tooltip.stories.js.map +0 -1
  287. package/dist/Tooltip/Tooltip.types.js +0 -3
  288. package/dist/Tooltip/Tooltip.types.js.map +0 -1
  289. package/dist/Tooltip/TooltipPerformance.stories.js +0 -30
  290. package/dist/Tooltip/TooltipPerformance.stories.js.map +0 -1
  291. package/dist/Tooltip/index.js +0 -3
  292. package/dist/Tooltip/index.js.map +0 -1
  293. package/dist/Tooltip/qTip.utilities.js +0 -11
  294. package/dist/Tooltip/qTip.utilities.js.map +0 -1
  295. package/dist/types.js +0 -2
  296. package/dist/types.js.map +0 -1
  297. package/dist/utils/browserId.js +0 -29
  298. package/dist/utils/browserId.js.map +0 -1
  299. package/dist/utils/svg.js +0 -20
  300. package/dist/utils/svg.js.map +0 -1
  301. package/dist/utils/validateStyleDimension.js +0 -14
  302. package/dist/utils/validateStyleDimension.js.map +0 -1
  303. package/dist/utils/validateStyleDimension.test.js +0 -20
  304. package/dist/utils/validateStyleDimension.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextField.types.js","sourceRoot":"","sources":["../../src/TextField/TextField.types.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export { TextField as default } from './TextField';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TextField/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -1,69 +0,0 @@
1
- import * as React from 'react';
2
- import * as PopoverPrimitive from '@radix-ui/react-popover';
3
- import Icon from '../Icon';
4
- import { DEFAULT_TOOL_TIP_DELAY } from '../Tooltip/Tooltip.types';
5
- import { getSvgIconPath } from '../utils/svg';
6
- const popoverBorderStyles = [
7
- 'tw-border-solid',
8
- 'tw-border',
9
- 'tw-rounded-md',
10
- 'tw-border-sq-disabled-gray',
11
- 'dark:tw-border-gray-500',
12
- ].join(' ');
13
- const triggerBackgroundStyles = [
14
- 'tw-bg-transparent',
15
- 'hover:tw-bg-sq-worksheetspanel-gray',
16
- 'active:tw-bg-sq-worksheetspanel-gray',
17
- 'dark:tw-bg-transparent',
18
- 'dark:hover:tw-bg-sq-field-disabled-gray',
19
- 'dark:active:tw-bg-sq-field-disabled-gray',
20
- ].join(' ');
21
- const activeBackgroundStyles = [
22
- 'active',
23
- 'tw-bg-sq-overlay-gray',
24
- 'hover:tw-bg-sq-overlay-gray',
25
- 'active:tw-bg-sq-overlay-gray',
26
- 'dark:tw-bg-sq-dark-disabled-gray',
27
- 'dark:hover:tw-border-sq-dark-disabled-gray',
28
- 'dark:active:tw-bg-sq-dark-disabled-gray',
29
- ].join(' ');
30
- const bgStyles = ['tw-bg-sq-white', 'dark:tw-bg-sq-dark-background'].join(' ');
31
- const disabledClasses = ['tw-opacity-50', 'tw-cursor-not-allowed'].join(' ');
32
- const PopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (React.createElement(PopoverPrimitive.Content, { ref: ref, align: align, sideOffset: sideOffset, ...props, asChild: true })));
33
- 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, }) => {
34
- let tooltipData = undefined;
35
- if (tooltipText) {
36
- tooltipData = {
37
- 'data-qtip-text': tooltipText,
38
- 'data-qtip-placement': tooltipOptions?.position,
39
- 'data-qtip-is-html': isHtmlTooltip,
40
- 'data-qtip-testid': tooltipTestId,
41
- 'data-qtip-delay': tooltipOptions?.delay ?? DEFAULT_TOOL_TIP_DELAY,
42
- };
43
- }
44
- const onOpenChange = (open) => {
45
- if (!open) {
46
- onHide && onHide();
47
- }
48
- };
49
- return (React.createElement(PopoverPrimitive.Root, { defaultOpen: false, onOpenChange: onOpenChange },
50
- React.createElement(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
- } },
53
- React.createElement("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 || ''}` },
54
- React.createElement("span", { className: "tw-nowrap" },
55
- isPrimaryAnSvg ? (React.createElement("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 },
56
- React.createElement("path", { d: getSvgIconPath(icon) }))) : (React.createElement(Icon, { icon: icon, testId: "firstIcon", type: "text", large: !isSmall && !label && !secondIcon && !forceSmallIcon, extraClassNames: `tw-text-sq-text-color dark:tw-text-sq-dark-text` })),
57
- secondIcon && React.createElement(Icon, { icon: secondIcon, type: "text", testId: "secondIcon" }),
58
- popoverContent ? (React.createElement(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),
59
- !isSmall && (React.createElement("small", { className: "tw-text-sq-text-color dark:tw-text-sq-dark-text tw-text-[0.625rem]" }, label)))),
60
- !!popoverContent ? (React.createElement(PopoverContent, { sideOffset: 2, align: "start" },
61
- React.createElement("div", { className: bgStyles +
62
- ' 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' +
63
- ' 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' +
64
- popoverBorderStyles },
65
- hasArrow && (React.createElement(PopoverPrimitive.Arrow, { asChild: true },
66
- React.createElement("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" }))),
67
- popoverContent))) : undefined));
68
- };
69
- //# sourceMappingURL=ToolbarButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolbarButton.js","sourceRoot":"","sources":["../../src/ToolbarButton/ToolbarButton.tsx"],"names":[],"mappings":"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"}
@@ -1,97 +0,0 @@
1
- import React from 'react';
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) => (React.createElement("div", { className: isDark ? 'tw-dark tw-bg-sq-dark-background' : '' },
25
- React.createElement("div", { className: "tw-p-5 " },
26
- React.createElement(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: React.createElement("div", { className: "tw-text-sm dark:tw-text-white" },
27
- React.createElement("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2" }, "Flavors"),
28
- options.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500" },
29
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
30
- React.createElement("span", null, option.label)))),
31
- React.createElement("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2" }, "Colors"),
32
- colorOptions.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2" },
33
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
34
- React.createElement("span", null, option.label))))) })),
35
- React.createElement("div", { className: "tw-p-5 " },
36
- React.createElement(ToolbarButton, { icon: "fc-y-axis", label: "Normal", testId: "basic-popover1", tooltipText: "This is a normal popover.", tooltipOptions: { position: 'top', delay: 0 }, isHtmlTooltip: false, popoverContent: React.createElement("div", { className: "tw-text-sm dark:tw-text-white" },
37
- React.createElement("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2" }, "Flavors"),
38
- options.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500" },
39
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
40
- React.createElement("span", null, option.label)))),
41
- React.createElement("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2" }, "Colors"),
42
- colorOptions.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2" },
43
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
44
- React.createElement("span", null, option.label))))) })),
45
- React.createElement("div", { className: "tw-p-5 tw-flex" },
46
- React.createElement(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: React.createElement("div", { className: "tw-text-sm dark:tw-text-white" },
47
- React.createElement("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2" }, "Flavors"),
48
- options.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500" },
49
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
50
- React.createElement("span", null, option.label)))),
51
- React.createElement("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2" }, "Colors"),
52
- colorOptions.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2" },
53
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
54
- React.createElement("span", null, option.label))))) }),
55
- React.createElement(ToolbarButton, { icon: "fc-y-axis", tooltipText: "This is a large popover icon", tooltipOptions: { position: 'top', delay: 0 }, testId: "basic-popover4", isHtmlTooltip: false })),
56
- React.createElement("div", { className: "tw-p-5 " },
57
- React.createElement("p", { className: "tw-text-sq-color-dark tw-text-[0.625rem]" }, "Without popup"),
58
- React.createElement(ToolbarButton, { icon: "fc-y-axis", label: "Button", testId: "basic-popover3", isHtmlTooltip: false })),
59
- React.createElement("div", { className: "tw-p-5 tw-flex" },
60
- React.createElement(ToolbarButton, { icon: "fc-y-axis", label: "Disabled", testId: "basic-popover2", tooltipText: "This is a popover.", tooltipOptions: { position: 'top' }, isHtmlTooltip: false, disabled: true, popoverContent: React.createElement("div", { className: "tw-border tw-border-gray-100 tw-p-2 tw-rounded-sm tw-text-sm dark:tw-bg-sq-dark-background" },
61
- React.createElement("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2" }, "Flavors"),
62
- options.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500" },
63
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
64
- React.createElement("span", null, option.label)))),
65
- React.createElement("p", { className: "tw-bg-gray-200 dark:tw-bg-gray-700 tw-p-2" }, "Colors"),
66
- colorOptions.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2" },
67
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
68
- React.createElement("span", null, option.label))))) })),
69
- React.createElement("div", { className: "tw-p-5 " },
70
- React.createElement(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" })),
71
- React.createElement("div", { className: "tw-p-5 " },
72
- React.createElement(ToolbarButton, { icon: "fc-y-axis", tooltipText: "This is a large popover icon", tooltipOptions: { position: 'top', delay: 0 }, testId: "basic-popover4", isHtmlTooltip: false })),
73
- React.createElement("div", { className: "tw-p-5 " },
74
- React.createElement(ToolbarButton, { icon: "fc-y-axis", label: "Active", testId: "basic-popover5", tooltipText: "This is a button.", tooltipOptions: { position: 'top', delay: 0 }, isHtmlTooltip: false, isActive: true })),
75
- React.createElement("div", { className: "tw-p-5 " },
76
- React.createElement(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 }))));
77
- const renderAllVariations = () => (React.createElement("div", { className: "tw-grid tw-grid-cols-2 tw-gap-4 tw-p-4" },
78
- allToolbarButtons(),
79
- allToolbarButtons(true)));
80
- return (React.createElement("div", null,
81
- React.createElement("div", { className: "tw-grid tw-grid-cols-2 tw-gap-4" },
82
- React.createElement(QTip, null),
83
- React.createElement("div", { className: "color_topic" },
84
- React.createElement("b", null, "Topic Colors"),
85
- renderAllVariations()),
86
- React.createElement("div", { className: "color_analysis" },
87
- React.createElement("b", null, "Analysis Colors"),
88
- renderAllVariations())),
89
- React.createElement("div", { className: "tw-grid tw-grid-cols-2 tw-gap-4" },
90
- React.createElement("div", { className: "color_datalab" },
91
- React.createElement("b", null, "Datalab Colors"),
92
- renderAllVariations()),
93
- React.createElement("div", { className: "color_vantage" },
94
- React.createElement("b", null, "Vantage Colors"),
95
- renderAllVariations()))));
96
- };
97
- //# sourceMappingURL=ToolbarButton.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolbarButton.stories.js","sourceRoot":"","sources":["../../src/ToolbarButton/ToolbarButton.stories.tsx"],"names":[],"mappings":"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"}
@@ -1,93 +0,0 @@
1
- import React from 'react';
2
- import '@testing-library/jest-dom';
3
- import { render, screen } from '@testing-library/react';
4
- import userEvent from '@testing-library/user-event';
5
- import { 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 = (React.createElement("div", { className: "tw-text-sm" },
24
- React.createElement("p", { className: "tw-bg-gray-200 tw-p-2" }, "Flavors"),
25
- options.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2 hover:tw-bg-green-500" },
26
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
27
- React.createElement("span", null, option.label)))),
28
- React.createElement("p", null, "Colors"),
29
- colorOptions.map((option) => (React.createElement("div", { key: option.value, className: "tw-flex tw-items-center tw-p-2" },
30
- React.createElement(Icon, { type: "color", color: "green", icon: "fc-check", extraClassNames: "tw-mr-2" }),
31
- React.createElement("span", null, option.label))))));
32
- const mockOnClick = jest.fn();
33
- class Context {
34
- testId = 'popoverTestId';
35
- label = 'popover label';
36
- props = {
37
- label: this.label,
38
- onClick: mockOnClick,
39
- testId: this.testId,
40
- icon: 'fc-y-axis',
41
- tooltipText: 'This is a popover.',
42
- tooltipOptions: { position: 'top', delay: 0 },
43
- isHtmlTooltip: false,
44
- isSmall: false,
45
- popoverContent,
46
- };
47
- }
48
- let tc;
49
- beforeEach(() => {
50
- tc = new Context();
51
- jest.clearAllMocks();
52
- });
53
- const renderToolbarButton = (props) => render(React.createElement(ToolbarButton, { ...props }));
54
- const openPopover = async () => {
55
- const popover = screen.getByTestId(tc.testId);
56
- await userEvent.click(popover);
57
- };
58
- it('renders popover icon without label when small', () => {
59
- tc.props.isSmall = true;
60
- renderToolbarButton(tc.props);
61
- const popoverLabel = screen.queryByText(tc.label);
62
- expect(popoverLabel).not.toBeInTheDocument();
63
- });
64
- it('renders popover trigger button', () => {
65
- renderToolbarButton(tc.props);
66
- expect(screen.getByText(tc.label)).toBeInTheDocument();
67
- });
68
- it('opens popover on click', async () => {
69
- renderToolbarButton(tc.props);
70
- await openPopover();
71
- expect(screen.getByText(options[2].label)).toBeVisible();
72
- });
73
- it('renders disabled popover trigger', async () => {
74
- renderToolbarButton({ ...tc.props, disabled: true });
75
- await openPopover();
76
- expect(mockOnClick).not.toHaveBeenCalled();
77
- });
78
- it('handles click events', async () => {
79
- const handleClick = jest.fn();
80
- tc.props.onClick = handleClick;
81
- const { getByTestId } = renderToolbarButton(tc.props);
82
- await userEvent.click(getByTestId(tc.testId));
83
- expect(handleClick).toHaveBeenCalled();
84
- });
85
- it('handles click events within popover and does not close the popover', async () => {
86
- renderToolbarButton(tc.props);
87
- expect(screen.queryByText(options[4].label)).not.toBeInTheDocument();
88
- await openPopover();
89
- await userEvent.click(screen.getByText(options[3].label));
90
- expect(screen.getByText(options[4].label)).toBeInTheDocument();
91
- });
92
- });
93
- //# sourceMappingURL=ToolbarButton.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToolbarButton.test.js","sourceRoot":"","sources":["../../src/ToolbarButton/ToolbarButton.test.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export const toolbarButtonVariants = ['outline', 'theme', 'theme-light', 'warning', 'danger', 'no-border'];
2
- //# sourceMappingURL=ToolbarButton.types.js.map
@@ -1 +0,0 @@
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"}
@@ -1,2 +0,0 @@
1
- export { ToolbarButton as default } from './ToolbarButton';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ToolbarButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,45 +0,0 @@
1
- import React from 'react';
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) => (React.createElement("div", { className: "tw-w-full tw-flex tw-justify-center tw-items-center" },
11
- React.createElement("div", { "data-qtip-text": "this is a test tooltip", "data-qtip-placement": position, key: `${position}_svg` },
12
- React.createElement("svg", { viewBox: "0 0 19 19", xmlns: "http://www.w3.org/2000/svg", className: "seeq-icon p2", height: "19", width: "19" },
13
- React.createElement("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" }))))));
14
- const renderButtonsWithTooltip = () => tooltipPositions.map((position) => (React.createElement("div", { key: `${position}_button` },
15
- React.createElement(Button, { tooltip: `Tooltip on the ${position}`, label: position, tooltipOptions: { position } }))));
16
- const renderIconsWithHtmlTooltip = () => tooltipPositions.map((position) => (React.createElement("div", { key: `${position}_icon` },
17
- React.createElement(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 }))));
18
- const renderTextTooltipOnText = () => tooltipPositions.map((position) => (React.createElement("div", { key: `${position}_text` },
19
- React.createElement("span", { "data-qtip-text": "Helpful information provided here", "data-qtip-placement": position },
20
- "Hover for Tooltip (on the ",
21
- position,
22
- ")"))));
23
- const renderTextTooltipOnTextWithDelay = () => tooltipPositions.map((position) => (React.createElement("div", { key: `${position}_text` },
24
- React.createElement("span", { "data-qtip-text": "Helpful information provided here", "data-qtip-placement": position, "data-qtip-delay": 1500 },
25
- "Hover for Tooltip (on the ",
26
- position,
27
- ") - with delay (1500ms)"))));
28
- const renderTextTooltipOnOverflowHiddenText = () => tooltipPositions.map((position) => (React.createElement("div", { key: `${position}_text`, className: "tw-overflow-hidden" },
29
- React.createElement("span", { "data-qtip-text": "Helpful information provided here", "data-qtip-placement": position },
30
- "Hover for Tooltip (on the ",
31
- position,
32
- ")",
33
- React.createElement("br", null),
34
- "(Overflow set to hidden)"))));
35
- return (React.createElement(React.Fragment, null,
36
- React.createElement(QTip, null),
37
- React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4 tw-text-center" },
38
- renderSvgWithTooltip(),
39
- renderButtonsWithTooltip(),
40
- renderIconsWithHtmlTooltip(),
41
- renderTextTooltipOnText(),
42
- renderTextTooltipOnTextWithDelay(),
43
- renderTextTooltipOnOverflowHiddenText())));
44
- };
45
- //# sourceMappingURL=QTip.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QTip.stories.js","sourceRoot":"","sources":["../../src/Tooltip/QTip.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,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,6BAAK,SAAS,EAAC,qDAAqD;QAClE,+CAAoB,wBAAwB,yBAAsB,QAAQ,EAAE,GAAG,EAAE,GAAG,QAAQ,MAAM;YAChG,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B,EAAC,SAAS,EAAC,cAAc,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI;gBACzG,8BACE,CAAC,EAAC,gXAAgX,EAClX,IAAI,EAAC,KAAK,GAAQ,CAChB,CACF,CACF,CACP,CAAC,CAAC;IACL,MAAM,wBAAwB,GAAG,GAAG,EAAE,CACpC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,6BAAK,GAAG,EAAE,GAAG,QAAQ,SAAS;QAC5B,oBAAC,MAAM,IAAC,OAAO,EAAE,kBAAkB,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,GAAI,CAC5F,CACP,CAAC,CAAC;IAEL,MAAM,0BAA0B,GAAG,GAAG,EAAE,CACtC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,6BAAK,GAAG,EAAE,GAAG,QAAQ,OAAO;QAC1B,oBAAC,IAAI,IACH,OAAO,EAAC,0GAA0G,EAClH,gBAAgB,EAAE,QAAQ,EAC1B,IAAI,EAAC,QAAQ,EACb,aAAa,EAAE,IAAI,GACnB,CACE,CACP,CAAC,CAAC;IAEL,MAAM,uBAAuB,GAAG,GAAG,EAAE,CACnC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,6BAAK,GAAG,EAAE,GAAG,QAAQ,OAAO;QAC1B,gDAAqB,mCAAmC,yBAAsB,QAAQ;;YACzD,QAAQ;gBAC9B,CACH,CACP,CAAC,CAAC;IAEL,MAAM,gCAAgC,GAAG,GAAG,EAAE,CAC5C,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,6BAAK,GAAG,EAAE,GAAG,QAAQ,OAAO;QAC1B,gDAAqB,mCAAmC,yBAAsB,QAAQ,qBAAmB,IAAI;;YAChF,QAAQ;sCAC9B,CACH,CACP,CAAC,CAAC;IAEL,MAAM,qCAAqC,GAAG,GAAG,EAAE,CACjD,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CACjC,6BAAK,GAAG,EAAE,GAAG,QAAQ,OAAO,EAAE,SAAS,EAAC,oBAAoB;QAC1D,gDAAqB,mCAAmC,yBAAsB,QAAQ;;YACzD,QAAQ;;YAAE,+BAAM;uCAEtC,CACH,CACP,CAAC,CAAC;IAEL,OAAO,CACL;QACE,oBAAC,IAAI,OAAG;QACR,6BAAK,SAAS,EAAC,gDAAgD;YAC5D,oBAAoB,EAAE;YACtB,wBAAwB,EAAE;YAC1B,0BAA0B,EAAE;YAC5B,uBAAuB,EAAE;YACzB,gCAAgC,EAAE;YAClC,qCAAqC,EAAE,CACpC,CACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=QTip.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QTip.types.js","sourceRoot":"","sources":["../../src/Tooltip/QTip.types.ts"],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import React from 'react';
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(React.createElement("td", { key: 'col_' + i + '_row_' + rowId },
15
- React.createElement(Icon, { icon: "fc-sun", tooltip: `hello there ${i}` })));
16
- }
17
- return cols;
18
- };
19
- for (let i = 0; i < rowCount; i++) {
20
- rows.push(React.createElement("tr", { key: 'row_' + i }, ...getCols(i)));
21
- }
22
- return (React.createElement("table", null,
23
- React.createElement("tbody", null, rows.map((row) => row))));
24
- };
25
- export const QtipPerformance = () => {
26
- return (React.createElement(React.Fragment, null,
27
- React.createElement(QTip, null),
28
- React.createElement("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4 tw-text-center" }, renderManyQTips())));
29
- };
30
- //# sourceMappingURL=QTipPerformance.stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QTipPerformance.stories.js","sourceRoot":"","sources":["../../src/Tooltip/QTipPerformance.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,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;YAClC,IAAI,CAAC,IAAI,CACP,4BAAI,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,KAAK;gBACnC,oBAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,eAAe,CAAC,EAAE,GAAI,CAChD,CACN,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;QACjC,IAAI,CAAC,IAAI,CAAC,4BAAI,GAAG,EAAE,MAAM,GAAG,CAAC,OAAM,OAAO,CAAC,CAAC,CAAC,CAAM,CAAC,CAAC;KACtD;IACD,OAAO,CACL;QACE,mCAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAS,CACjC,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,OAAO,CACL;QACE,oBAAC,IAAI,OAAG;QACR,6BAAK,SAAS,EAAC,gDAAgD,IAAE,eAAe,EAAE,CAAO,CACxF,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -1,170 +0,0 @@
1
- import DOMPurify from 'dompurify';
2
- import React, { useEffect, useRef, useState } from 'react';
3
- import { arrow, computePosition, offset } from '@floating-ui/dom';
4
- import { useIntervalWhen } from 'rooks';
5
- import { DEFAULT_TOOL_TIP_DELAY } from './Tooltip.types';
6
- const getArrowStyle = (position, x, arrowWidth, tooltipHeight, tooltipWidth) => {
7
- switch (position) {
8
- case 'bottom':
9
- return {
10
- left: `${x}px`,
11
- top: `${-arrowWidth}px`,
12
- };
13
- case 'left':
14
- return {
15
- left: `${tooltipWidth - arrowWidth}px`,
16
- top: `${tooltipHeight / 2 - arrowWidth}px`,
17
- };
18
- case 'right':
19
- return {
20
- left: `${-arrowWidth}px`,
21
- top: `${tooltipHeight / 2 - arrowWidth}px`,
22
- };
23
- default: // 'top':
24
- return {
25
- left: `${x}px`,
26
- top: `${tooltipHeight - 10 + arrowWidth}px`,
27
- };
28
- }
29
- };
30
- const HTMLTip = ({ text }) => {
31
- return React.createElement('div', {
32
- dangerouslySetInnerHTML: { __html: DOMPurify.sanitize(text) },
33
- });
34
- };
35
- /** Tooltips can cause SystemTests to be flaky, so we suppress them in Playwright and Protractor */
36
- const suppressTooltip = () => {
37
- return window.navigator.userAgent === 'Playwright' || window.navigator.userAgent.includes('Protractor');
38
- };
39
- /**
40
- * QTip
41
- *
42
- * QTip is a Singleton Tooltip component that guarantees high-performance and reduces component wrappers!
43
- *
44
- * QTip is used by all qomponents that support the display of tooltips.
45
- * If you want to add a Tooltip to your application you can do so by adding the following html data-attributes:
46
- *
47
- * 'data-qtip-text': the tooltip text to display; this can also be a string containing valid HTML
48
- * 'data-qtip-placement': one of TooltipPosition (top, bottom, right, or left)
49
- * 'data-qtip-is-html': set this to true if you provided a text that contains HTML,
50
- * 'data-qtip-delay': this can be used to delay the showing of the tooltip. this should be a number representing
51
- * the # of milliseconds you want to delay the tooltip for. If no delay is provided the DEFAULT_TOOL_TIP_DELAY is
52
- * applied!
53
- * 'data-qtip-testid': use this attribute to provide a value for a data-testid of your tooltip; this is useful
54
- * for tests
55
- *
56
- * In order for QTip to be able to display Tooltips you must add the QTip component to your top-most component
57
- * (often that's App or Application) - simply add:
58
- *
59
- * <QTip />
60
- *
61
- * and enjoy beautiful & performant tooltips!
62
- */
63
- export const QTip = () => {
64
- const tooltipRef = useRef(null);
65
- const tooltipTarget = useRef(null);
66
- const tooltipArrowRef = useRef(null);
67
- const [tooltipText, setTooltipText] = useState('');
68
- const [tooltipTargetOriginalPosition, setTooltipTargetOriginalPosition] = useState(null);
69
- const [show, setShow] = useState(false);
70
- const [html, setHtml] = useState(false);
71
- const [tooltipTestId, setTooltipTestId] = useState('');
72
- const [overTooltip, setOverTooltip] = useState(false);
73
- // Check every 300ms if the tooltip target position has changed and hide the tooltip if this happens.
74
- useIntervalWhen(() => {
75
- const currentPosition = tooltipTarget?.current?.getBoundingClientRect();
76
- if (overTooltip) {
77
- return;
78
- }
79
- if (tooltipTargetOriginalPosition?.y !== currentPosition?.y ||
80
- tooltipTargetOriginalPosition?.x !== currentPosition?.x) {
81
- setShow(false);
82
- }
83
- }, 300, show);
84
- useEffect(() => {
85
- !suppressTooltip() && document.body.addEventListener('mousemove', onMouseMove);
86
- return () => {
87
- !suppressTooltip() && document.removeEventListener('mousemove', onMouseMove);
88
- };
89
- }, []);
90
- const ttTimeout = useRef(null);
91
- const findTooltipData = (element) => {
92
- // Traverse up to 8 levels to find the tooltip data
93
- for (let i = 0; i < 8 && element; i++) {
94
- if (!element) {
95
- return null;
96
- }
97
- if (element?.dataset?.qtipText) {
98
- return element.dataset;
99
- }
100
- element = element?.parentElement;
101
- }
102
- return null;
103
- };
104
- const onMouseMove = (e) => {
105
- if (ttTimeout.current) {
106
- clearTimeout(ttTimeout.current);
107
- }
108
- // Find tooltip data on the current or parent elements
109
- const target = e.target;
110
- const dataset = findTooltipData(target);
111
- if (!dataset) {
112
- // No tooltip data found
113
- tooltipTarget.current = null;
114
- return;
115
- }
116
- tooltipTarget.current = target;
117
- const text = dataset.qtipText;
118
- if (text) {
119
- const delay = parseInt(dataset.qtipDelay || `${DEFAULT_TOOL_TIP_DELAY}`, 10);
120
- const placement = dataset.qtipPlacement || 'top';
121
- const isHtml = dataset.qtipIsHtml === 'true';
122
- const testId = dataset.qtipTestid;
123
- // Debounced tooltip display
124
- ttTimeout.current = setTimeout(() => {
125
- makeTooltip(text, placement, isHtml, testId, delay);
126
- }, delay);
127
- }
128
- };
129
- const makeTooltip = (tooltipText, position = 'top', isHtml, dataTestId, delay) => {
130
- if (tooltipText && tooltipTarget.current) {
131
- setHtml(isHtml);
132
- setTooltipText(tooltipText);
133
- setTooltipTestId(dataTestId);
134
- setTooltipTargetOriginalPosition(tooltipTarget.current.getBoundingClientRect());
135
- const positionTooltip = () => {
136
- if (tooltipRef.current && tooltipTarget.current) {
137
- computePosition(tooltipTarget.current, tooltipRef.current, {
138
- placement: position,
139
- middleware: [offset(10), arrow({ element: tooltipArrowRef.current })],
140
- }).then(({ x, y, middlewareData }) => {
141
- Object.assign(tooltipRef.current?.style, {
142
- left: `${x}px`,
143
- top: `${y}px`,
144
- });
145
- if (middlewareData.arrow) {
146
- const { x, y } = middlewareData.arrow;
147
- const arrowWidth = tooltipArrowRef.current?.offsetHeight / 2;
148
- const tooltipHeight = tooltipRef.current?.offsetHeight;
149
- const tooltipWidth = tooltipRef.current?.offsetWidth;
150
- const style = getArrowStyle(position, x || y, arrowWidth, tooltipHeight, tooltipWidth);
151
- Object.assign(tooltipArrowRef.current.style, style);
152
- }
153
- setShow(true);
154
- });
155
- }
156
- };
157
- delay > 0
158
- ? requestAnimationFrame(() => {
159
- positionTooltip();
160
- })
161
- : positionTooltip();
162
- }
163
- };
164
- return (React.createElement(React.Fragment, null,
165
- React.createElement("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') },
167
- html ? React.createElement(HTMLTip, { text: tooltipText }) : tooltipText,
168
- React.createElement("div", { className: "tw-absolute tw-w-[10px] tw-h-[10px] tw-rotate-45 tw-bg-black", ref: tooltipArrowRef }))));
169
- };
170
- //# sourceMappingURL=Qtip.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Qtip.js","sourceRoot":"","sources":["../../src/Tooltip/Qtip.tsx"],"names":[],"mappings":"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"}