@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.
- package/dist/Accordion/Accordion.js +7 -0
- package/dist/Accordion/Accordion.js.map +1 -0
- package/dist/Accordion/Accordion.stories.js +75 -0
- package/dist/Accordion/Accordion.stories.js.map +1 -0
- package/dist/Accordion/Accordion.test.js +55 -0
- package/dist/Accordion/Accordion.test.js.map +1 -0
- package/dist/Accordion/Accordion.types.js +2 -0
- package/dist/Accordion/Accordion.types.js.map +1 -0
- package/dist/Accordion/index.js +2 -0
- package/dist/Accordion/index.js.map +1 -0
- package/dist/Alert/Alert.js +32 -0
- package/dist/Alert/Alert.js.map +1 -0
- package/dist/Alert/Alert.stories.js +57 -0
- package/dist/Alert/Alert.stories.js.map +1 -0
- package/dist/Alert/Alert.test.js +50 -0
- package/dist/Alert/Alert.test.js.map +1 -0
- package/dist/Alert/Alert.types.js +2 -0
- package/dist/Alert/Alert.types.js.map +1 -0
- package/dist/Alert/index.js +2 -0
- package/dist/Alert/index.js.map +1 -0
- package/dist/Button/Button.js +89 -0
- package/dist/Button/Button.js.map +1 -0
- package/dist/Button/Button.stories.js +25 -0
- package/dist/Button/Button.stories.js.map +1 -0
- package/dist/Button/Button.test.js +47 -0
- package/dist/Button/Button.test.js.map +1 -0
- package/dist/Button/Button.types.js +5 -0
- package/dist/Button/Button.types.js.map +1 -0
- package/dist/Button/index.js +2 -0
- package/dist/Button/index.js.map +1 -0
- package/dist/ButtonGroup/ButtonGroup.js +35 -0
- package/dist/ButtonGroup/ButtonGroup.js.map +1 -0
- package/dist/ButtonGroup/ButtonGroup.stories.js +317 -0
- package/dist/ButtonGroup/ButtonGroup.stories.js.map +1 -0
- package/dist/ButtonGroup/ButtonGroup.test.js +66 -0
- package/dist/ButtonGroup/ButtonGroup.test.js.map +1 -0
- package/dist/ButtonGroup/ButtonGroup.types.js +2 -0
- package/dist/ButtonGroup/ButtonGroup.types.js.map +1 -0
- package/dist/ButtonGroup/index.js +2 -0
- package/dist/ButtonGroup/index.js.map +1 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.js +36 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.js.map +1 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js +104 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.js.map +1 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js +93 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.test.js.map +1 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js +2 -0
- package/dist/ButtonWithDropdown/ButtonWithDropdown.types.js.map +1 -0
- package/dist/ButtonWithDropdown/index.js +2 -0
- package/dist/ButtonWithDropdown/index.js.map +1 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.js +55 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.js.map +1 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.stories.js +25 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.stories.js.map +1 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.test.js +81 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.test.js.map +1 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.types.js +2 -0
- package/dist/ButtonWithPopover/ButtonWithPopover.types.js.map +1 -0
- package/dist/ButtonWithPopover/index.js +2 -0
- package/dist/ButtonWithPopover/index.js.map +1 -0
- package/dist/Carousel/Carousel.js +75 -0
- package/dist/Carousel/Carousel.js.map +1 -0
- package/dist/Carousel/Carousel.stories.js +63 -0
- package/dist/Carousel/Carousel.stories.js.map +1 -0
- package/dist/Carousel/Carousel.test.js +48 -0
- package/dist/Carousel/Carousel.test.js.map +1 -0
- package/dist/Carousel/Carousel.types.js +2 -0
- package/dist/Carousel/Carousel.types.js.map +1 -0
- package/dist/Carousel/index.js +2 -0
- package/dist/Carousel/index.js.map +1 -0
- package/dist/Checkbox/Checkbox.js +24 -0
- package/dist/Checkbox/Checkbox.js.map +1 -0
- package/dist/Checkbox/Checkbox.stories.js +12 -0
- package/dist/Checkbox/Checkbox.stories.js.map +1 -0
- package/dist/Checkbox/Checkbox.test.js +94 -0
- package/dist/Checkbox/Checkbox.test.js.map +1 -0
- package/dist/Checkbox/Checkbox.types.js +2 -0
- package/dist/Checkbox/Checkbox.types.js.map +1 -0
- package/dist/Checkbox/index.js +2 -0
- package/dist/Checkbox/index.js.map +1 -0
- package/dist/Collapse/Collapse.js +17 -0
- package/dist/Collapse/Collapse.js.map +1 -0
- package/dist/Collapse/Collapse.stories.js +15 -0
- package/dist/Collapse/Collapse.stories.js.map +1 -0
- package/dist/Collapse/Collapse.test.js +17 -0
- package/dist/Collapse/Collapse.test.js.map +1 -0
- package/dist/Collapse/Collapse.types.js +2 -0
- package/dist/Collapse/Collapse.types.js.map +1 -0
- package/dist/Collapse/index.js +2 -0
- package/dist/Collapse/index.js.map +1 -0
- package/dist/Icon/Icon.js +55 -0
- package/dist/Icon/Icon.js.map +1 -0
- package/dist/Icon/Icon.stories.js +15 -0
- package/dist/Icon/Icon.stories.js.map +1 -0
- package/dist/Icon/Icon.test.js +55 -0
- package/dist/Icon/Icon.test.js.map +1 -0
- package/dist/Icon/Icon.types.js +16 -0
- package/dist/Icon/Icon.types.js.map +1 -0
- package/dist/Icon/index.js +2 -0
- package/dist/Icon/index.js.map +1 -0
- package/dist/InputGroup/InputGroup.js +34 -0
- package/dist/InputGroup/InputGroup.js.map +1 -0
- package/dist/InputGroup/InputGroup.stories.js +129 -0
- package/dist/InputGroup/InputGroup.stories.js.map +1 -0
- package/dist/InputGroup/InputGroup.test.js +42 -0
- package/dist/InputGroup/InputGroup.test.js.map +1 -0
- package/dist/InputGroup/InputGroup.types.js +2 -0
- package/dist/InputGroup/InputGroup.types.js.map +1 -0
- package/dist/InputGroup/index.js +2 -0
- package/dist/InputGroup/index.js.map +1 -0
- package/dist/Modal/Modal.js +76 -0
- package/dist/Modal/Modal.js.map +1 -0
- package/dist/Modal/Modal.stories.js +44 -0
- package/dist/Modal/Modal.stories.js.map +1 -0
- package/dist/Modal/Modal.test.js +108 -0
- package/dist/Modal/Modal.test.js.map +1 -0
- package/dist/Modal/Modal.types.js +2 -0
- package/dist/Modal/Modal.types.js.map +1 -0
- package/dist/Modal/index.js +2 -0
- package/dist/Modal/index.js.map +1 -0
- package/dist/ProgressBar/ProgressBar.js +72 -0
- package/dist/ProgressBar/ProgressBar.js.map +1 -0
- package/dist/ProgressBar/ProgressBar.stories.js +35 -0
- package/dist/ProgressBar/ProgressBar.stories.js.map +1 -0
- package/dist/ProgressBar/ProgressBar.test.js +43 -0
- package/dist/ProgressBar/ProgressBar.test.js.map +1 -0
- package/dist/ProgressBar/ProgressBar.types.js +2 -0
- package/dist/ProgressBar/ProgressBar.types.js.map +1 -0
- package/dist/ProgressBar/index.js +2 -0
- package/dist/ProgressBar/index.js.map +1 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.js +39 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.js.map +1 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js +56 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.js.map +1 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js +73 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.test.js.map +1 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js +2 -0
- package/dist/SeeqActionDropdown/SeeqActionDropdown.types.js.map +1 -0
- package/dist/SeeqActionDropdown/index.js +2 -0
- package/dist/SeeqActionDropdown/index.js.map +1 -0
- package/dist/SeeqActionDropdown/variants.js +29 -0
- package/dist/SeeqActionDropdown/variants.js.map +1 -0
- package/dist/Select/Select.js +177 -0
- package/dist/Select/Select.js.map +1 -0
- package/dist/Select/Select.stories.js +40 -0
- package/dist/Select/Select.stories.js.map +1 -0
- package/dist/Select/Select.test.js +175 -0
- package/dist/Select/Select.test.js.map +1 -0
- package/dist/Select/Select.types.js +2 -0
- package/dist/Select/Select.types.js.map +1 -0
- package/dist/Select/index.js +3 -0
- package/dist/Select/index.js.map +1 -0
- package/dist/Slider/Slider.js +10 -0
- package/dist/Slider/Slider.js.map +1 -0
- package/dist/Slider/Slider.stories.js +14 -0
- package/dist/Slider/Slider.stories.js.map +1 -0
- package/dist/Slider/Slider.test.js +32 -0
- package/dist/Slider/Slider.test.js.map +1 -0
- package/dist/Slider/Slider.types.js +2 -0
- package/dist/Slider/Slider.types.js.map +1 -0
- package/dist/Slider/index.js +2 -0
- package/dist/Slider/index.js.map +1 -0
- package/dist/SvgIcon/SvgIcon.js +28 -0
- package/dist/SvgIcon/SvgIcon.js.map +1 -0
- package/dist/SvgIcon/SvgIcon.stories.js +18 -0
- package/dist/SvgIcon/SvgIcon.stories.js.map +1 -0
- package/dist/SvgIcon/SvgIcon.test.js +41 -0
- package/dist/SvgIcon/SvgIcon.test.js.map +1 -0
- package/dist/SvgIcon/SvgIcon.types.js +6 -0
- package/dist/SvgIcon/SvgIcon.types.js.map +1 -0
- package/dist/SvgIcon/index.js +2 -0
- package/dist/SvgIcon/index.js.map +1 -0
- package/dist/Tabs/Tabs.js +17 -0
- package/dist/Tabs/Tabs.js.map +1 -0
- package/dist/Tabs/Tabs.stories.js +73 -0
- package/dist/Tabs/Tabs.stories.js.map +1 -0
- package/dist/Tabs/Tabs.test.js +86 -0
- package/dist/Tabs/Tabs.test.js.map +1 -0
- package/dist/Tabs/Tabs.types.js +2 -0
- package/dist/Tabs/Tabs.types.js.map +1 -0
- package/dist/Tabs/index.js +2 -0
- package/dist/Tabs/index.js.map +1 -0
- package/dist/TextArea/TextArea.js +25 -0
- package/dist/TextArea/TextArea.js.map +1 -0
- package/dist/TextArea/TextArea.stories.js +10 -0
- package/dist/TextArea/TextArea.stories.js.map +1 -0
- package/dist/TextArea/TextArea.test.js +68 -0
- package/dist/TextArea/TextArea.test.js.map +1 -0
- package/dist/TextArea/TextArea.types.js +2 -0
- package/dist/TextArea/TextArea.types.js.map +1 -0
- package/dist/TextArea/index.js +2 -0
- package/dist/TextArea/index.js.map +1 -0
- package/dist/TextField/TextField.js +85 -0
- package/dist/TextField/TextField.js.map +1 -0
- package/dist/TextField/TextField.stories.js +11 -0
- package/dist/TextField/TextField.stories.js.map +1 -0
- package/dist/TextField/TextField.test.js +41 -0
- package/dist/TextField/TextField.test.js.map +1 -0
- package/dist/TextField/TextField.types.js +2 -0
- package/dist/TextField/TextField.types.js.map +1 -0
- package/dist/TextField/index.js +2 -0
- package/dist/TextField/index.js.map +1 -0
- package/dist/ToolbarButton/ToolbarButton.js +57 -0
- package/dist/ToolbarButton/ToolbarButton.js.map +1 -0
- package/dist/ToolbarButton/ToolbarButton.stories.js +28 -0
- package/dist/ToolbarButton/ToolbarButton.stories.js.map +1 -0
- package/dist/ToolbarButton/ToolbarButton.test.js +85 -0
- package/dist/ToolbarButton/ToolbarButton.test.js.map +1 -0
- package/dist/ToolbarButton/ToolbarButton.types.js +2 -0
- package/dist/ToolbarButton/ToolbarButton.types.js.map +1 -0
- package/dist/ToolbarButton/index.js +2 -0
- package/dist/ToolbarButton/index.js.map +1 -0
- package/dist/Tooltip/QTip.stories.js +18 -0
- package/dist/Tooltip/QTip.stories.js.map +1 -0
- package/dist/Tooltip/QTip.types.js +2 -0
- package/dist/Tooltip/QTip.types.js.map +1 -0
- package/dist/Tooltip/QTipPerformance.stories.js +26 -0
- package/dist/Tooltip/QTipPerformance.stories.js.map +1 -0
- package/dist/Tooltip/Qtip.js +168 -0
- package/dist/Tooltip/Qtip.js.map +1 -0
- package/dist/Tooltip/Tooltip.js +34 -0
- package/dist/Tooltip/Tooltip.js.map +1 -0
- package/dist/Tooltip/Tooltip.stories.js +15 -0
- package/dist/Tooltip/Tooltip.stories.js.map +1 -0
- package/dist/Tooltip/Tooltip.types.js +3 -0
- package/dist/Tooltip/Tooltip.types.js.map +1 -0
- package/dist/Tooltip/TooltipPerformance.stories.js +26 -0
- package/dist/Tooltip/TooltipPerformance.stories.js.map +1 -0
- package/dist/Tooltip/index.js +3 -0
- package/dist/Tooltip/index.js.map +1 -0
- package/dist/Tooltip/qTip.utilities.js +11 -0
- package/dist/Tooltip/qTip.utilities.js.map +1 -0
- package/dist/example/package.json +15 -13
- package/dist/example/src/Example.tsx +269 -39
- package/dist/example/src/index.css +1 -0
- package/dist/example/vite.config.ts +2 -1
- package/dist/index.esm.js +2710 -2706
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +2710 -2706
- package/dist/index.js.map +1 -1
- package/dist/setupTests.d.ts +1 -0
- package/dist/setupTests.js +6 -0
- package/dist/setupTests.js.map +1 -0
- package/dist/{Accordion → src/Accordion}/Accordion.d.ts +4 -4
- package/dist/src/Accordion/Accordion.stories.d.ts +5 -0
- package/dist/{Accordion → src/Accordion}/Accordion.test.d.ts +1 -1
- package/dist/src/Accordion/Accordion.types.d.ts +86 -0
- package/dist/{Accordion → src/Accordion}/index.d.ts +1 -1
- package/dist/{Alert → src/Alert}/Alert.d.ts +7 -7
- package/dist/src/Alert/Alert.stories.d.ts +5 -0
- package/dist/src/Alert/Alert.test.d.ts +1 -0
- package/dist/src/Alert/Alert.types.d.ts +63 -0
- package/dist/{Alert → src/Alert}/index.d.ts +1 -1
- package/dist/{Button → src/Button}/Button.d.ts +10 -10
- package/dist/src/Button/Button.stories.d.ts +8 -0
- package/dist/{Button → src/Button}/Button.test.d.ts +1 -1
- package/dist/src/Button/Button.types.d.ts +148 -0
- package/dist/{Button → src/Button}/index.d.ts +1 -1
- package/dist/{ButtonGroup → src/ButtonGroup}/ButtonGroup.d.ts +7 -7
- package/dist/src/ButtonGroup/ButtonGroup.stories.d.ts +5 -0
- package/dist/src/ButtonGroup/ButtonGroup.test.d.ts +1 -0
- package/dist/src/ButtonGroup/ButtonGroup.types.d.ts +81 -0
- package/dist/{ButtonGroup → src/ButtonGroup}/index.d.ts +1 -1
- package/dist/{ButtonWithDropdown → src/ButtonWithDropdown}/ButtonWithDropdown.d.ts +4 -4
- package/dist/src/ButtonWithDropdown/ButtonWithDropdown.stories.d.ts +5 -0
- package/dist/{ButtonWithDropdown → src/ButtonWithDropdown}/ButtonWithDropdown.test.d.ts +1 -1
- package/dist/src/ButtonWithDropdown/ButtonWithDropdown.types.d.ts +233 -0
- package/dist/{ButtonWithDropdown → src/ButtonWithDropdown}/index.d.ts +1 -1
- package/dist/{ButtonWithPopover → src/ButtonWithPopover}/ButtonWithPopover.d.ts +4 -4
- package/dist/src/ButtonWithPopover/ButtonWithPopover.stories.d.ts +5 -0
- package/dist/{ButtonWithPopover → src/ButtonWithPopover}/ButtonWithPopover.test.d.ts +1 -1
- package/dist/src/ButtonWithPopover/ButtonWithPopover.types.d.ts +134 -0
- package/dist/{ButtonWithPopover → src/ButtonWithPopover}/index.d.ts +1 -1
- package/dist/{Carousel → src/Carousel}/Carousel.d.ts +9 -9
- package/dist/src/Carousel/Carousel.stories.d.ts +5 -0
- package/dist/{Carousel → src/Carousel}/Carousel.test.d.ts +1 -1
- package/dist/src/Carousel/Carousel.types.d.ts +86 -0
- package/dist/{Carousel → src/Carousel}/index.d.ts +1 -1
- package/dist/{Checkbox → src/Checkbox}/Checkbox.d.ts +7 -7
- package/dist/src/Checkbox/Checkbox.stories.d.ts +5 -0
- package/dist/{Checkbox → src/Checkbox}/Checkbox.test.d.ts +1 -1
- package/dist/src/Checkbox/Checkbox.types.d.ts +92 -0
- package/dist/{Checkbox → src/Checkbox}/index.d.ts +1 -1
- package/dist/{Collapse → src/Collapse}/Collapse.d.ts +4 -4
- package/dist/src/Collapse/Collapse.stories.d.ts +5 -0
- package/dist/{Collapse → src/Collapse}/Collapse.test.d.ts +1 -1
- package/dist/src/Collapse/Collapse.types.d.ts +19 -0
- package/dist/{Collapse → src/Collapse}/index.d.ts +1 -1
- package/dist/{Icon → src/Icon}/Icon.d.ts +10 -10
- package/dist/src/Icon/Icon.stories.d.ts +5 -0
- package/dist/{Icon → src/Icon}/Icon.test.d.ts +1 -1
- package/dist/src/Icon/Icon.types.d.ts +87 -0
- package/dist/{Icon → src/Icon}/index.d.ts +1 -1
- package/dist/{InputGroup → src/InputGroup}/InputGroup.d.ts +7 -7
- package/dist/src/InputGroup/InputGroup.stories.d.ts +5 -0
- package/dist/src/InputGroup/InputGroup.test.d.ts +1 -0
- package/dist/src/InputGroup/InputGroup.types.d.ts +62 -0
- package/dist/{InputGroup → src/InputGroup}/index.d.ts +2 -2
- package/dist/{Modal → src/Modal}/Modal.d.ts +5 -5
- package/dist/{Modal → src/Modal}/Modal.stories.d.ts +10 -10
- package/dist/{Modal → src/Modal}/Modal.test.d.ts +1 -1
- package/dist/src/Modal/Modal.types.d.ts +244 -0
- package/dist/{Modal → src/Modal}/index.d.ts +1 -1
- package/dist/{ProgressBar → src/ProgressBar}/ProgressBar.d.ts +4 -4
- package/dist/src/ProgressBar/ProgressBar.stories.d.ts +5 -0
- package/dist/src/ProgressBar/ProgressBar.test.d.ts +1 -0
- package/dist/src/ProgressBar/ProgressBar.types.d.ts +77 -0
- package/dist/{ProgressBar → src/ProgressBar}/index.d.ts +1 -1
- package/dist/{SeeqActionDropdown → src/SeeqActionDropdown}/SeeqActionDropdown.d.ts +4 -4
- package/dist/src/SeeqActionDropdown/SeeqActionDropdown.stories.d.ts +5 -0
- package/dist/{SeeqActionDropdown → src/SeeqActionDropdown}/SeeqActionDropdown.test.d.ts +1 -1
- package/dist/src/SeeqActionDropdown/SeeqActionDropdown.types.d.ts +160 -0
- package/dist/{SeeqActionDropdown → src/SeeqActionDropdown}/index.d.ts +1 -1
- package/dist/{SeeqActionDropdown → src/SeeqActionDropdown}/variants.d.ts +5 -5
- package/dist/{Select → src/Select}/Select.d.ts +15 -15
- package/dist/src/Select/Select.stories.d.ts +5 -0
- package/dist/{Select → src/Select}/Select.test.d.ts +1 -1
- package/dist/src/Select/Select.types.d.ts +220 -0
- package/dist/{Select → src/Select}/index.d.ts +2 -2
- package/dist/{Slider → src/Slider}/Slider.d.ts +6 -6
- package/dist/src/Slider/Slider.stories.d.ts +5 -0
- package/dist/src/Slider/Slider.test.d.ts +1 -0
- package/dist/src/Slider/Slider.types.d.ts +85 -0
- package/dist/{Slider → src/Slider}/index.d.ts +1 -1
- package/dist/{SvgIcon → src/SvgIcon}/SvgIcon.d.ts +20 -20
- package/dist/src/SvgIcon/SvgIcon.stories.d.ts +5 -0
- package/dist/{SvgIcon → src/SvgIcon}/SvgIcon.test.d.ts +1 -1
- package/dist/src/SvgIcon/SvgIcon.types.d.ts +76 -0
- package/dist/{SvgIcon → src/SvgIcon}/index.d.ts +1 -1
- package/dist/{Tabs → src/Tabs}/Tabs.d.ts +4 -4
- package/dist/src/Tabs/Tabs.stories.d.ts +5 -0
- package/dist/{Tabs → src/Tabs}/Tabs.test.d.ts +1 -1
- package/dist/src/Tabs/Tabs.types.d.ts +95 -0
- package/dist/{Tabs → src/Tabs}/index.d.ts +1 -1
- package/dist/{TextArea → src/TextArea}/TextArea.d.ts +7 -7
- package/dist/src/TextArea/TextArea.stories.d.ts +5 -0
- package/dist/{TextArea → src/TextArea}/TextArea.test.d.ts +1 -1
- package/dist/src/TextArea/TextArea.types.d.ts +105 -0
- package/dist/{TextArea → src/TextArea}/index.d.ts +1 -1
- package/dist/{TextField → src/TextField}/TextField.d.ts +7 -7
- package/dist/src/TextField/TextField.stories.d.ts +5 -0
- package/dist/{TextField → src/TextField}/TextField.test.d.ts +1 -1
- package/dist/src/TextField/TextField.types.d.ts +199 -0
- package/dist/{TextField → src/TextField}/index.d.ts +1 -1
- package/dist/{ToolbarButton → src/ToolbarButton}/ToolbarButton.d.ts +3 -3
- package/dist/src/ToolbarButton/ToolbarButton.stories.d.ts +5 -0
- package/dist/{ToolbarButton → src/ToolbarButton}/ToolbarButton.test.d.ts +1 -1
- package/dist/src/ToolbarButton/ToolbarButton.types.d.ts +124 -0
- package/dist/{ToolbarButton → src/ToolbarButton}/index.d.ts +1 -1
- package/dist/src/Tooltip/QTip.stories.d.ts +5 -0
- package/dist/{Tooltip → src/Tooltip}/QTip.types.d.ts +13 -13
- package/dist/src/Tooltip/QTipPerformance.stories.d.ts +5 -0
- package/dist/{Tooltip → src/Tooltip}/Qtip.d.ts +26 -26
- package/dist/{Tooltip → src/Tooltip}/Tooltip.d.ts +13 -13
- package/dist/src/Tooltip/Tooltip.stories.d.ts +5 -0
- package/dist/{Tooltip → src/Tooltip}/Tooltip.types.d.ts +22 -22
- package/dist/src/Tooltip/TooltipPerformance.stories.d.ts +5 -0
- package/dist/{Tooltip → src/Tooltip}/index.d.ts +2 -2
- package/dist/{Tooltip → src/Tooltip}/qTip.utilities.d.ts +3 -3
- package/dist/{index.d.ts → src/index.d.ts} +45 -45
- package/dist/src/setupTests.d.ts +1 -0
- package/dist/{types.d.ts → src/types.d.ts} +2 -2
- package/dist/{utils → src/utils}/browserId.d.ts +9 -9
- package/dist/{utils → src/utils}/svg.d.ts +15 -15
- package/dist/{utils → src/utils}/validateStyleDimension.d.ts +2 -2
- package/dist/{utils → src/utils}/validateStyleDimension.test.d.ts +1 -1
- package/dist/styles.css +98 -67
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/browserId.js +29 -0
- package/dist/utils/browserId.js.map +1 -0
- package/dist/utils/svg.js +20 -0
- package/dist/utils/svg.js.map +1 -0
- package/dist/utils/validateStyleDimension.js +14 -0
- package/dist/utils/validateStyleDimension.js.map +1 -0
- package/dist/utils/validateStyleDimension.test.js +20 -0
- package/dist/utils/validateStyleDimension.test.js.map +1 -0
- package/package.json +20 -20
- package/dist/Accordion/Accordion.stories.d.ts +0 -6
- package/dist/Accordion/Accordion.types.d.ts +0 -20
- package/dist/Alert/Alert.stories.d.ts +0 -6
- package/dist/Alert/Alert.test.d.ts +0 -1
- package/dist/Alert/Alert.types.d.ts +0 -14
- package/dist/Button/Button.stories.d.ts +0 -9
- package/dist/Button/Button.types.d.ts +0 -53
- package/dist/ButtonGroup/ButtonGroup.stories.d.ts +0 -6
- package/dist/ButtonGroup/ButtonGroup.test.d.ts +0 -1
- package/dist/ButtonGroup/ButtonGroup.types.d.ts +0 -40
- package/dist/ButtonWithDropdown/ButtonWithDropdown.stories.d.ts +0 -6
- package/dist/ButtonWithDropdown/ButtonWithDropdown.types.d.ts +0 -90
- package/dist/ButtonWithPopover/ButtonWithPopover.stories.d.ts +0 -6
- package/dist/ButtonWithPopover/ButtonWithPopover.types.d.ts +0 -48
- package/dist/Carousel/Carousel.stories.d.ts +0 -6
- package/dist/Carousel/Carousel.types.d.ts +0 -24
- package/dist/Checkbox/Checkbox.stories.d.ts +0 -6
- package/dist/Checkbox/Checkbox.types.d.ts +0 -20
- package/dist/Collapse/Collapse.stories.d.ts +0 -6
- package/dist/Collapse/Collapse.types.d.ts +0 -5
- package/dist/Icon/Icon.stories.d.ts +0 -6
- package/dist/Icon/Icon.types.d.ts +0 -31
- package/dist/InputGroup/InputGroup.stories.d.ts +0 -6
- package/dist/InputGroup/InputGroup.test.d.ts +0 -1
- package/dist/InputGroup/InputGroup.types.d.ts +0 -36
- package/dist/Modal/Modal.types.d.ts +0 -48
- package/dist/ProgressBar/ProgressBar.stories.d.ts +0 -6
- package/dist/ProgressBar/ProgressBar.test.d.ts +0 -1
- package/dist/ProgressBar/ProgressBar.types.d.ts +0 -30
- package/dist/SeeqActionDropdown/SeeqActionDropdown.stories.d.ts +0 -6
- package/dist/SeeqActionDropdown/SeeqActionDropdown.types.d.ts +0 -58
- package/dist/Select/Select.stories.d.ts +0 -6
- package/dist/Select/Select.types.d.ts +0 -89
- package/dist/Slider/Slider.stories.d.ts +0 -6
- package/dist/Slider/Slider.test.d.ts +0 -1
- package/dist/Slider/Slider.types.d.ts +0 -17
- package/dist/SvgIcon/SvgIcon.stories.d.ts +0 -6
- package/dist/SvgIcon/SvgIcon.types.d.ts +0 -25
- package/dist/Tabs/Tabs.stories.d.ts +0 -6
- package/dist/Tabs/Tabs.types.d.ts +0 -21
- package/dist/TextArea/TextArea.stories.d.ts +0 -6
- package/dist/TextArea/TextArea.types.d.ts +0 -35
- package/dist/TextField/TextField.stories.d.ts +0 -6
- package/dist/TextField/TextField.types.d.ts +0 -40
- package/dist/ToolbarButton/ToolbarButton.stories.d.ts +0 -6
- package/dist/ToolbarButton/ToolbarButton.types.d.ts +0 -53
- package/dist/Tooltip/QTip.stories.d.ts +0 -6
- package/dist/Tooltip/QTipPerformance.stories.d.ts +0 -6
- package/dist/Tooltip/Tooltip.stories.d.ts +0 -6
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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"}
|