@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,41 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import { render, screen } from '@testing-library/react';
|
|
4
|
+
import SvgIcon from './SvgIcon';
|
|
5
|
+
describe('SvgIcon', () => {
|
|
6
|
+
class Context {
|
|
7
|
+
testId = 'svgIconTestId';
|
|
8
|
+
icon = 'svgpath:M0 8.8153a8.8153 8.8153 90 1117.6306 0A8.8153 8.8153 90 110 8.8153zM9.9172 3.3057a1.1019 1.1019' +
|
|
9
|
+
' 90 10-2.2038 0 1.1019 1.1019 90 102.2038 0zM8.8153 14.3249c1.2155 0 2.2038-.9883 2.2038-2.2038' +
|
|
10
|
+
' 0-.5992-.2376-1.1398-.6233-1.5358L12.6031 5.5681c.1825-.4167-.0069-.9056-.4235-1.0881s-.9056.0069-1.0881.4235L8.8807 9.9172c-.0207 0-.0448 0-.0654 0-1.2155 0-2.2038.9883-2.2038 2.2038s.9883 2.2038 2.2038 2.2038zM6.0605 4.9586a1.1019 1.1019 90 10-2.2038 0 1.1019 1.1019 90 102.2038 0zM3.3057 9.9172a1.1019 1.1019 90 100-2.2038 1.1019 1.1019 90 100 2.2038zm12.121-1.1019a1.1019 1.1019 90 10-2.2038 0 1.1019 1.1019 90 102.2038 0z';
|
|
11
|
+
props = {
|
|
12
|
+
icon: this.icon,
|
|
13
|
+
onClick: jest.fn(),
|
|
14
|
+
testId: this.testId,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
let tc;
|
|
18
|
+
beforeEach(() => {
|
|
19
|
+
tc = new Context();
|
|
20
|
+
});
|
|
21
|
+
const renderIcon = (props) => render(_jsx(SvgIcon, { ...props }));
|
|
22
|
+
it('renders svg icon', () => {
|
|
23
|
+
renderIcon(tc.props);
|
|
24
|
+
expect(screen.getByTestId(tc.testId)).toHaveAttribute('fill');
|
|
25
|
+
});
|
|
26
|
+
describe('icon types', () => {
|
|
27
|
+
it('renders the theme type by default', () => {
|
|
28
|
+
renderIcon(tc.props);
|
|
29
|
+
expect(screen.getByTestId(tc.testId)).toHaveClass('tw-sq-icon');
|
|
30
|
+
});
|
|
31
|
+
it('renders the white icon', () => {
|
|
32
|
+
renderIcon({ ...tc.props, color: 'white' });
|
|
33
|
+
expect(screen.getByTestId(tc.testId)).toHaveAttribute('fill', 'white');
|
|
34
|
+
});
|
|
35
|
+
it('renders the color icon', () => {
|
|
36
|
+
renderIcon({ ...tc.props, color: '#AABBFF' });
|
|
37
|
+
expect(screen.getByTestId(tc.testId)).toHaveAttribute('fill', '#AABBFF');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=SvgIcon.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SvgIcon.test.js","sourceRoot":"","sources":["../../src/SvgIcon/SvgIcon.test.tsx"],"names":[],"mappings":";AACA,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,OAAO,MAAM,WAAW,CAAC;AAGhC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,MAAM,OAAO;QACX,MAAM,GAAG,eAAe,CAAC;QACzB,IAAI,GAAI,yGAAyG;YAC/G,iGAAiG;YACjG,6aAA6a,CAAC;QAChb,KAAK,GAAiB;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;KACH;IAED,IAAI,EAAW,CAAC;IAChB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,CAAC,KAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAC,OAAO,OAAK,KAAK,GAAI,CAAC,CAAC;IAE3E,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SvgIcon.types.js","sourceRoot":"","sources":["../../src/SvgIcon/SvgIcon.types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAI;IAC3B,GAAG,SAAS;IACZ,SAAS;CACD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SvgIcon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Content, List, Root, Trigger } from '@radix-ui/react-tabs';
|
|
3
|
+
import Icon from '../Icon';
|
|
4
|
+
const Tabs = ({ tabs, defaultActiveTab, activeTab, onTabSelect, extraClassNames, testId, id, stretchTabs = false, }) => {
|
|
5
|
+
const handleTabSelect = (tabId) => {
|
|
6
|
+
if (activeTab === tabId)
|
|
7
|
+
return;
|
|
8
|
+
onTabSelect && onTabSelect(tabId);
|
|
9
|
+
};
|
|
10
|
+
return (_jsxs(Root, { className: `tw-flex tw-flex-col tw-min-w-[300px] tw-max-w-full tw-flex-grow focus-visible:tw-outline-none ${extraClassNames || ''}`, defaultValue: defaultActiveTab, "data-testid": testId, id: id, value: activeTab, onValueChange: handleTabSelect, children: [_jsx(List, { className: `tw-flex tw-flex-row tw-flex-wrap tw-z-[1001]`, children: tabs.map(({ id, icon, label, tabExtraClassNames, testId: tabsTestId, disabled }, index) => (_jsx(Trigger, { className: `tw-bg-sq-white dark:tw-bg-sq-dark-background tw-h-[25px] focus-visible:tw-outline-none tw-min-w-[100px] tw-px-4 tw-border-solid dark:tw-border-gray-700 tw-flex tw-flex-1 tw-justify-center tw-items-center tw-border-r-[2px] last:tw-border-r-0 ${stretchTabs ? '' : 'tw-max-w-max tw-min-w-fit'} ${tabExtraClassNames || ''} ${activeTab === id
|
|
11
|
+
? 'tw-border-b-sq-color-dark dark:tw-border-b-sq-color-dark tw-border-b-[3px]'
|
|
12
|
+
: 'hover:tw-bg-sq-light-gray tw-border-b-[1px] hover:dark:tw-bg-gray-700'}`, "data-testid": tabsTestId, disabled: disabled, value: id, children: _jsxs("span", { className: "tw-flex tw-items-center tw-overflow-hidden tw-pb-[3px]", children: [icon && _jsx(Icon, { icon: icon, testId: `${id}_tab-icon`, extraClassNames: "tw-text-[0.9375rem] tw-mr-[7px] tw-flex-shrink-0" }), _jsx("span", { className: `tw-text-[0.875rem] tw-font-medium tw-whitespace-nowrap tw-overflow-hidden tw-text-ellipsis ${activeTab === id
|
|
13
|
+
? 'dark:tw-text-sq-dark-text tw-text-gray-500'
|
|
14
|
+
: 'dark:tw-text-sq-color-dark-dark tw-text-sq-color-dark'}`, children: label })] }) }, `${label}-${id}-${index}`))) }), tabs.map((tab, index) => (_jsx(Content, { className: `tw-bg-sq-white dark:tw-bg-sq-dark-background tw-overflow-y-auto -tw-mt-[1px] tw-border-t-[1px] dark:tw-border-gray-700 tw-z-[500] tw-flex tw-flex-col tw-flex-grow focus-visible:tw-outline-none ${tab.tabContentExtraClassNames || ''}`, value: tab.id, children: tab.content }, `${tab.label}_${index}_content`)))] }));
|
|
15
|
+
};
|
|
16
|
+
export default Tabs;
|
|
17
|
+
//# sourceMappingURL=Tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../src/Tabs/Tabs.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,IAAI,GAAuC,CAAC,EAChD,IAAI,EACJ,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,eAAe,EACf,MAAM,EACN,EAAE,EACF,WAAW,GAAG,KAAK,GACpB,EAAE,EAAE;IACH,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;QACxC,IAAI,SAAS,KAAK,KAAK;YAAE,OAAO;QAChC,WAAW,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,IACH,SAAS,EAAE,iGACT,eAAe,IAAI,EACrB,EAAE,EACF,YAAY,EAAE,gBAAgB,iBACjB,MAAM,EACnB,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,eAAe,aAC9B,KAAC,IAAI,IAAC,SAAS,EAAE,8CAA8C,YAC5D,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1F,KAAC,OAAO,IACN,SAAS,EAAE,oPACT,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2BACrB,IAAI,kBAAkB,IAAI,EAAE,IAC1B,SAAS,KAAK,EAAE;wBACd,CAAC,CAAC,4EAA4E;wBAC9E,CAAC,CAAC,uEACN,EAAE,iBACW,UAAU,EACvB,QAAQ,EAAE,QAAQ,EAElB,KAAK,EAAE,EAAE,YACT,gBAAM,SAAS,EAAC,wDAAwD,aACrE,IAAI,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,eAAe,EAAC,kDAAkD,GAAG,EAC1H,eACE,SAAS,EAAE,8FACT,SAAS,KAAK,EAAE;oCACd,CAAC,CAAC,4CAA4C;oCAC9C,CAAC,CAAC,uDACN,EAAE,YACD,KAAK,GACD,IACF,IAZF,GAAG,KAAK,IAAI,EAAE,IAAI,KAAK,EAAE,CAatB,CACX,CAAC,GACG,EACN,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,KAAC,OAAO,IACN,SAAS,EAAE,oMACT,GAAG,CAAC,yBAAyB,IAAI,EACnC,EAAE,EAEF,KAAK,EAAE,GAAG,CAAC,EAAE,YACZ,GAAG,CAAC,OAAO,IAFP,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,UAAU,CAG5B,CACX,CAAC,IACG,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import Tabs from './Tabs';
|
|
4
|
+
import Button from '../Button';
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Tabs',
|
|
7
|
+
};
|
|
8
|
+
const renderData = () => (_jsxs("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white", children: [_jsx("p", { className: "tw-mb-5 tw-text-[0.9375rem] tw-leading-normal", children: "This is a data tab to show details about your data. You can make changes to your account" }), _jsx(Button, { variant: "outline", label: "Save data" })] }));
|
|
9
|
+
const renderTools = () => (_jsxs("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white", children: [_jsx("p", { className: "tw-mb-5 tw-text-[0.9375rem] tw-leading-normal", children: "Make changes to your account here. Click save when you're done." }), _jsx(Button, { variant: "outline", label: "Save tools" })] }));
|
|
10
|
+
const renderJournal = () => (_jsxs("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white", children: [_jsx("p", { className: "tw-mb-5 tw-text-[0.9375rem] tw-leading-normal", children: "Make changes to your account here. Click save when you're done." }), _jsx(Button, { variant: "outline", label: "Save journal" })] }));
|
|
11
|
+
const tabsList = [
|
|
12
|
+
{
|
|
13
|
+
id: 'data',
|
|
14
|
+
label: 'Data',
|
|
15
|
+
icon: 'fc-data',
|
|
16
|
+
content: renderData(),
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
id: 'tools',
|
|
20
|
+
label: 'Tools',
|
|
21
|
+
icon: 'fc-gears-2',
|
|
22
|
+
content: renderTools(),
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: 'journal',
|
|
26
|
+
label: 'Journal',
|
|
27
|
+
icon: 'fc-workbook-lock',
|
|
28
|
+
content: renderJournal(),
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
const extraTabsList = [
|
|
32
|
+
{
|
|
33
|
+
id: 'data',
|
|
34
|
+
label: 'Data',
|
|
35
|
+
icon: 'fc-data',
|
|
36
|
+
content: renderData(),
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'tools',
|
|
40
|
+
label: 'Tools',
|
|
41
|
+
icon: 'fc-gears-2',
|
|
42
|
+
content: renderTools(),
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: 'journal',
|
|
46
|
+
label: 'Journal',
|
|
47
|
+
icon: 'fc-workbook-lock',
|
|
48
|
+
content: renderJournal(),
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: 'journal2',
|
|
52
|
+
label: 'Journal',
|
|
53
|
+
icon: 'fc-workbook-lock',
|
|
54
|
+
disabled: true,
|
|
55
|
+
content: renderJournal(),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: 'data3',
|
|
59
|
+
label: 'Data 2',
|
|
60
|
+
icon: 'fc-data',
|
|
61
|
+
disabled: true,
|
|
62
|
+
content: renderData(),
|
|
63
|
+
},
|
|
64
|
+
];
|
|
65
|
+
const colors = ['topic', 'analysis', 'datalab', 'vantage'];
|
|
66
|
+
export const AllTabsVariants = () => {
|
|
67
|
+
const [activeTab, setActiveTab] = React.useState('data');
|
|
68
|
+
const renderAllVariations = (color) => (_jsxs("div", { children: [_jsx("div", { className: "tw-p-4", children: _jsx(Tabs, { stretchTabs: true, activeTab: activeTab, onTabSelect: setActiveTab, defaultActiveTab: "data", tabs: tabsList }) }), _jsx("div", { className: "tw-p-4", children: _jsx(Tabs, { activeTab: activeTab, onTabSelect: (tabId) => setActiveTab(tabId), defaultActiveTab: "tool", tabs: extraTabsList.map((tab) => ({ ...tab, icon: undefined, tabExtraClassNames: 'tw-max-w-max' })) }) }), _jsxs("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background ", children: [_jsxs("p", { className: "tw-text-sq-color-dark dark:tw-text-sq-color-dark-dark tw-mb-8", children: [color[0].toUpperCase() + color.slice(1), " Dark mode"] }), _jsx(Tabs, { activeTab: activeTab, onTabSelect: (tabId) => setActiveTab(tabId), defaultActiveTab: "tools", tabs: tabsList.map((tab) => ({ ...tab, icon: undefined })) })] })] }, color + '_wrapper'));
|
|
69
|
+
return (_jsx("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4", children: colors.map((color) => {
|
|
70
|
+
return (_jsxs("div", { className: `color_${color}`, children: [_jsxs("b", { children: [color[0].toUpperCase() + color.slice(1), " Colors"] }), renderAllVariations(color)] }, color));
|
|
71
|
+
}) }));
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=Tabs.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.stories.js","sourceRoot":"","sources":["../../src/Tabs/Tabs.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAe;IACb,KAAK,EAAE,MAAM;CACd,CAAC;AAEF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,CACvB,eAAK,SAAS,EAAC,6CAA6C,aAC1D,YAAG,SAAS,EAAC,+CAA+C,yGAExD,EACJ,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,WAAW,GAAG,IAC1C,CACP,CAAC;AAEF,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,CACxB,eAAK,SAAS,EAAC,6CAA6C,aAC1D,YAAG,SAAS,EAAC,+CAA+C,gFAExD,EACJ,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,YAAY,GAAG,IAC3C,CACP,CAAC;AAEF,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAC1B,eAAK,SAAS,EAAC,6CAA6C,aAC1D,YAAG,SAAS,EAAC,+CAA+C,gFAExD,EACJ,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAC,cAAc,GAAG,IAC7C,CACP,CAAC;AAEF,MAAM,QAAQ,GAAG;IACf;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,UAAU,EAAE;KACtB;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,WAAW,EAAE;KACvB;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,aAAa,EAAE;KACzB;CACF,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,UAAU,EAAE;KACtB;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,WAAW,EAAE;KACvB;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,aAAa,EAAE;KACzB;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,kBAAkB;QACxB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,aAAa,EAAE;KACzB;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,UAAU,EAAE;KACtB;CACF,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEzD,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAC7C,0BACE,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,IAAI,IAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAC,MAAM,EAC/F,IAAI,EAAE,QAAQ,GAAI,GAChB,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,IAAI,IACH,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAC3C,gBAAgB,EAAC,MAAM,EACvB,IAAI,EAAE,aAAa,CAAC,GAAG,CACrB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,kBAAkB,EAAE,cAAc,EAAE,CAAC,CAAC,GAC7E,GACE,EACN,eAAK,SAAS,EAAC,0CAA0C,aACvD,aAAG,SAAS,EAAC,+DAA+D,aACzE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,kBACtC,EACJ,KAAC,IAAI,IACH,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAC3C,gBAAgB,EAAC,OAAO,EACxB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,GAC1D,IACE,KAxBE,KAAK,GAAG,UAAU,CAyBtB,CACP,CAAC;IACF,OAAO,CACL,cAAK,SAAS,EAAC,iCAAiC,YAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACpB,OAAO,CACL,eAAiB,SAAS,EAAE,SAAS,KAAK,EAAE,aAC1C,wBAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,eAAY,EACtD,mBAAmB,CAAC,KAAK,CAAC,KAFnB,KAAK,CAGT,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import '@testing-library/jest-dom';
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
|
+
import userEvent from '@testing-library/user-event';
|
|
6
|
+
import Tabs from './Tabs';
|
|
7
|
+
const renderData = () => (_jsxs("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white", children: [_jsx("p", { className: "tw-mb-5 tw-text-[0.9375rem] tw-leading-normal", children: "This is a data tab to show details about your data. You can make changes to your account" }), _jsx("button", { children: "save data" })] }));
|
|
8
|
+
const renderTools = () => (_jsxs("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white", children: [_jsx("p", { className: "tw-mb-5 tw-text-[0.9375rem] tw-leading-normal", children: "Make changes to your account here. Click save when you're done." }), _jsx("button", { children: "save tools" })] }));
|
|
9
|
+
const renderJournal = () => (_jsxs("div", { className: "tw-text-sq-color-gray dark:tw-text-sq-white", children: [_jsx("p", { className: "tw-mb-5 tw-text-[0.9375rem] tw-leading-normal", children: "Make changes to your account here. Click save when you're done." }), _jsx("button", { children: "save journal" })] }));
|
|
10
|
+
const tabsList = [
|
|
11
|
+
{
|
|
12
|
+
id: 'data',
|
|
13
|
+
label: 'Data',
|
|
14
|
+
icon: 'fc-data',
|
|
15
|
+
content: renderData(),
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: 'tools',
|
|
19
|
+
label: 'Tools',
|
|
20
|
+
icon: 'fc-gears-2',
|
|
21
|
+
content: renderTools(),
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: 'journal',
|
|
25
|
+
label: 'Journal',
|
|
26
|
+
icon: 'fc-workbook-lock',
|
|
27
|
+
content: renderJournal(),
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
const mockTabsClick = jest.fn();
|
|
31
|
+
const SampleComponent = (props) => {
|
|
32
|
+
const [activeTab, setActiveTab] = React.useState('data');
|
|
33
|
+
return (_jsx(Tabs, { ...props, activeTab: activeTab, onTabSelect: (tabId) => {
|
|
34
|
+
setActiveTab(tabId);
|
|
35
|
+
mockTabsClick(tabId);
|
|
36
|
+
} }));
|
|
37
|
+
};
|
|
38
|
+
describe('Tabs', () => {
|
|
39
|
+
class Context {
|
|
40
|
+
props = {
|
|
41
|
+
tabs: tabsList,
|
|
42
|
+
defaultActiveTab: 'data',
|
|
43
|
+
activeTab: 'data',
|
|
44
|
+
id: 'tabs-table',
|
|
45
|
+
onTabSelect: jest.fn(),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
let tc;
|
|
49
|
+
beforeEach(() => {
|
|
50
|
+
tc = new Context();
|
|
51
|
+
});
|
|
52
|
+
const renderTabs = (props) => render(_jsx(SampleComponent, { ...props }));
|
|
53
|
+
it('renders Tabs label with correct content based on default active tab', () => {
|
|
54
|
+
renderTabs(tc.props);
|
|
55
|
+
expect(screen.getByText('Data')).toBeInTheDocument();
|
|
56
|
+
expect(screen.getByText('Tools')).toBeInTheDocument();
|
|
57
|
+
expect(screen.getByText('Journal')).toBeInTheDocument();
|
|
58
|
+
expect(screen.getByTestId('journal_tab-icon')).toBeInTheDocument();
|
|
59
|
+
expect(screen.getByText('save data')).toBeInTheDocument();
|
|
60
|
+
expect(screen.queryByText('save tools')).not.toBeInTheDocument();
|
|
61
|
+
expect(screen.queryByText('save journals')).not.toBeInTheDocument();
|
|
62
|
+
});
|
|
63
|
+
it('renders correct content after tab is selected', async () => {
|
|
64
|
+
renderTabs(tc.props);
|
|
65
|
+
expect(screen.getByText('save data')).toBeInTheDocument();
|
|
66
|
+
await userEvent.click(screen.getByText('Tools'));
|
|
67
|
+
expect(mockTabsClick).toHaveBeenCalled();
|
|
68
|
+
expect(screen.getByText('save tools')).toBeInTheDocument();
|
|
69
|
+
});
|
|
70
|
+
it('does not render icon if it is not provided', async () => {
|
|
71
|
+
renderTabs({ ...tc.props, tabs: tc.props.tabs.map((tab) => ({ ...tab, icon: undefined })) });
|
|
72
|
+
expect(screen.queryByText('journal_tab-icon')).not.toBeInTheDocument();
|
|
73
|
+
});
|
|
74
|
+
it('calls the onTabSelect callback when a new tab is clicked', async () => {
|
|
75
|
+
mockTabsClick.mockClear();
|
|
76
|
+
renderTabs(tc.props);
|
|
77
|
+
await userEvent.click(screen.getByText('Journal'));
|
|
78
|
+
expect(mockTabsClick).toBeCalledWith('journal');
|
|
79
|
+
expect(mockTabsClick).toBeCalledTimes(1);
|
|
80
|
+
mockTabsClick.mockClear();
|
|
81
|
+
await userEvent.click(screen.getByText('Tools'));
|
|
82
|
+
expect(mockTabsClick).toBeCalledWith('tools');
|
|
83
|
+
expect(mockTabsClick).toBeCalledTimes(1);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
//# sourceMappingURL=Tabs.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.test.js","sourceRoot":"","sources":["../../src/Tabs/Tabs.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.types.js","sourceRoot":"","sources":["../../src/Tabs/Tabs.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import '../styles.css';
|
|
3
|
+
const baseClasses = 'tw-leading-normal tw-outline-none tw-py-1 tw-px-3 tw-rounded-md tw-w-full' +
|
|
4
|
+
' disabled:tw-pointer-events-none disabled:tw-bg-sq-light-gray disabled:dark:tw-bg-sq-dark-disabled-gray' +
|
|
5
|
+
' disabled:tw-cursor-not-allowed tw-p-1 tw-border-solid tw-border tw-text-sm';
|
|
6
|
+
const darkTheme = 'dark:tw-bg-sq-dark-background dark:tw-text-sq-dark-text ' +
|
|
7
|
+
'dark:tw-placeholder-sq-dark-text-lighter disabled:dark:tw-text-sq-dark-text-lighter';
|
|
8
|
+
const lightTheme = 'tw-text-sq-text-color tw-placeholder-gray-400 disabled:tw-text-sq-darkish-gray';
|
|
9
|
+
const errorClasses = 'tw-border-sq-danger-color';
|
|
10
|
+
const borderColorClasses = [
|
|
11
|
+
'tw-border-sq-disabled-gray',
|
|
12
|
+
'dark:tw-border-sq-dark-disabled-gray',
|
|
13
|
+
'dark:focus:tw-border-sq-color-dark-dark',
|
|
14
|
+
'dark:active:tw-border-sq-color-dark-dark',
|
|
15
|
+
'focus:tw-border-sq-color-dark',
|
|
16
|
+
'active:tw-border-sq-color-dark',
|
|
17
|
+
].join(' ');
|
|
18
|
+
/**
|
|
19
|
+
* TextArea.
|
|
20
|
+
*/
|
|
21
|
+
export const TextArea = ({ readonly = false, disabled = false, onChange, onKeyUp, onFocus, onBlur, onKeyDown, id, name, rows = 3, cols = undefined, value, placeholder, showError, extraClassNames, testId, autoFocus = false, }) => {
|
|
22
|
+
const appliedClasses = `${baseClasses} ${extraClassNames} ${lightTheme} ${darkTheme} ${showError ? errorClasses : borderColorClasses}`;
|
|
23
|
+
return (_jsx("textarea", { "data-testid": testId, name: name, id: id, value: value, className: appliedClasses, placeholder: placeholder, disabled: disabled, readOnly: readonly, onChange: onChange, onFocus: onFocus, onBlur: onBlur, onKeyDown: onKeyDown, onKeyUp: onKeyUp, rows: rows, cols: cols, autoFocus: autoFocus }));
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=TextArea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea.js","sourceRoot":"","sources":["../../src/TextArea/TextArea.tsx"],"names":[],"mappings":";AAEA,OAAO,eAAe,CAAC;AAEvB,MAAM,WAAW,GACf,2EAA2E;IAC3E,0GAA0G;IAC1G,6EAA6E,CAAC;AAEhF,MAAM,SAAS,GACb,0DAA0D;IAC1D,sFAAsF,CAAC;AACzF,MAAM,UAAU,GAAG,iFAAiF,CAAC;AAErG,MAAM,YAAY,GAAG,2BAA2B,CAAC;AAEjD,MAAM,kBAAkB,GAAG;IACzB,4BAA4B;IAC5B,sCAAsC;IACtC,yCAAyC;IACzC,0CAA0C;IAC1C,+BAA+B;IAC/B,gCAAgC;CACjC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA2C,CAAC,EAC/D,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,SAAS,EACT,EAAE,EACF,IAAI,EACJ,IAAI,GAAG,CAAC,EACR,IAAI,GAAG,SAAS,EAChB,KAAK,EACL,WAAW,EACX,SAAS,EACT,eAAe,EACf,MAAM,EACN,SAAS,GAAG,KAAK,GAClB,EAAE,EAAE;IACH,MAAM,cAAc,GAAG,GAAG,WAAW,IAAI,eAAe,IAAI,UAAU,IAAI,SAAS,IACjF,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAC7B,EAAE,CAAC;IAEH,OAAO,CACL,kCACe,MAAM,EACnB,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,cAAc,EACzB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,GACpB,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { TextArea } from './TextArea';
|
|
3
|
+
export default {
|
|
4
|
+
title: 'TextArea',
|
|
5
|
+
};
|
|
6
|
+
export const AllTextAreas = () => {
|
|
7
|
+
const renderAllVariations = () => (_jsxs(_Fragment, { children: [_jsxs("div", { className: "tw-p-4 light", children: [_jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { value: "Short text provided." }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { value: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Odio morbi quis commodo odio aenean. Lectus sit amet est placerat in egestas erat. Dui nunc mattis enim ut tellus. Dictumst vestibulum rhoncus est pellentesque elit ullamcorper. Nibh mauris cursus mattis molestie a. Aenean vel elit scelerisque mauris pellentesque. Nunc sed id semper risus in hendrerit gravida rutrum quisque. Tortor dignissim convallis aenean et tortor at risus. Vitae congue mauris rhoncus aenean vel elit scelerisque. Tellus id interdum velit laoreet id donec ultrices. Ac turpis egestas maecenas pharetra. Commodo odio aenean sed adipiscing diam donec adipiscing tristique risus. Consequat interdum varius sit amet mattis. Lacus laoreet non curabitur gravida arcu ac tortor. Vulputate sapien nec sagittis aliquam malesuada bibendum arcu vitae elementum. Odio ut enim blandit volutpat maecenas volutpat." }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { placeholder: "placeholder text" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { placeholder: "with error", showError: true }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { value: "read-only", readonly: true, onFocus: (e) => e.currentTarget.select() }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { value: "disabled", disabled: true }) })] }), _jsxs("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background", children: [_jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { value: "value provided" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { placeholder: "placeholder text" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { placeholder: "with error", showError: true }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { value: "read-only", readonly: true, onFocus: (e) => e.currentTarget.select() }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextArea, { value: "disabled", disabled: true }) })] })] }));
|
|
8
|
+
return (_jsxs("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4", children: [_jsxs("div", { className: "color_topic", children: [_jsx("b", { children: "Topic Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_analysis", children: [_jsx("b", { children: "Analysis Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_datalab", children: [_jsx("b", { children: "Datalab Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_vantage", children: [_jsx("b", { children: "Vantage Colors" }), renderAllVariations()] })] }));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=TextArea.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea.stories.js","sourceRoot":"","sources":["../../src/TextArea/TextArea.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,eAAe;IACb,KAAK,EAAE,UAAU;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,CAChC,8BACE,eAAK,SAAS,EAAC,cAAc,aAC3B,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,sBAAsB,GAAG,GACrC,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,q7BAAq7B,GAAG,GACp8B,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,WAAW,EAAC,kBAAkB,GAAG,GACvC,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,WAAW,EAAC,YAAY,EAAC,SAAS,EAAE,IAAI,GAAI,GAClD,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,WAAW,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,GAAI,GACpF,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAE,IAAI,GAAI,GACzC,IACF,EAEN,eAAK,SAAS,EAAC,yCAAyC,aACtD,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,gBAAgB,GAAG,GAC/B,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,WAAW,EAAC,kBAAkB,GAAG,GACvC,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,WAAW,EAAC,YAAY,EAAC,SAAS,EAAE,IAAI,GAAI,GAClD,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,WAAW,EAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,GAAI,GACpF,EACN,cAAK,SAAS,EAAC,QAAQ,YACrB,KAAC,QAAQ,IAAC,KAAK,EAAC,UAAU,EAAC,QAAQ,EAAE,IAAI,GAAI,GACzC,IACF,IACL,CACJ,CAAC;IACF,OAAO,CACL,eAAK,SAAS,EAAC,iCAAiC,aAC9C,eAAK,SAAS,EAAC,aAAa,aAC1B,uCAAmB,EAClB,mBAAmB,EAAE,IAClB,EAEN,eAAK,SAAS,EAAC,gBAAgB,aAC7B,0CAAsB,EACrB,mBAAmB,EAAE,IAClB,EAEN,eAAK,SAAS,EAAC,eAAe,aAC5B,yCAAqB,EACpB,mBAAmB,EAAE,IAClB,EAEN,eAAK,SAAS,EAAC,eAAe,aAC5B,yCAAqB,EACpB,mBAAmB,EAAE,IAClB,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import { render, screen } from '@testing-library/react';
|
|
4
|
+
import userEvent from '@testing-library/user-event';
|
|
5
|
+
import { TextArea } from './TextArea';
|
|
6
|
+
describe('TextArea', () => {
|
|
7
|
+
class Context {
|
|
8
|
+
testId = 'textAreaTestId';
|
|
9
|
+
props = {
|
|
10
|
+
onChange: jest.fn(),
|
|
11
|
+
onKeyUp: jest.fn(),
|
|
12
|
+
testId: this.testId,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
let tc;
|
|
16
|
+
beforeEach(() => {
|
|
17
|
+
tc = new Context();
|
|
18
|
+
});
|
|
19
|
+
const renderTextArea = (props) => render(_jsx(TextArea, { ...props }));
|
|
20
|
+
it('renders the provided value', () => {
|
|
21
|
+
const value = 'hello, this is text for a text area.';
|
|
22
|
+
renderTextArea({ ...tc.props, value });
|
|
23
|
+
expect(screen.getByDisplayValue(value)).toBeInTheDocument();
|
|
24
|
+
});
|
|
25
|
+
it('renders the provided placeholder', () => {
|
|
26
|
+
const placeholder = 'Prompt to enter';
|
|
27
|
+
renderTextArea({ ...tc.props, placeholder });
|
|
28
|
+
expect(screen.getByPlaceholderText(placeholder)).toBeInTheDocument();
|
|
29
|
+
});
|
|
30
|
+
it('calls onChange handler', async () => {
|
|
31
|
+
renderTextArea({ ...tc.props });
|
|
32
|
+
await userEvent.type(screen.getByTestId(tc.testId), 'trigger');
|
|
33
|
+
expect(tc.props.onChange).toHaveBeenCalled();
|
|
34
|
+
});
|
|
35
|
+
it('calls the onKeyUp handler', async () => {
|
|
36
|
+
renderTextArea({ ...tc.props });
|
|
37
|
+
await userEvent.type(screen.getByTestId(tc.testId), 'trigger');
|
|
38
|
+
expect(tc.props.onKeyUp).toHaveBeenCalled();
|
|
39
|
+
});
|
|
40
|
+
it('respects readOnly', async () => {
|
|
41
|
+
renderTextArea({ ...tc.props, disabled: true });
|
|
42
|
+
expect(screen.getByTestId(tc.testId)).not.toBeEnabled();
|
|
43
|
+
});
|
|
44
|
+
it('provides rows', async () => {
|
|
45
|
+
renderTextArea({ ...tc.props, rows: 7 });
|
|
46
|
+
expect(screen.getByTestId(tc.testId)).toHaveProperty('rows', 7);
|
|
47
|
+
});
|
|
48
|
+
it('provides cols', async () => {
|
|
49
|
+
renderTextArea({ ...tc.props, cols: 8 });
|
|
50
|
+
expect(screen.getByTestId(tc.testId)).toHaveProperty('cols', 8);
|
|
51
|
+
});
|
|
52
|
+
it('provides name', async () => {
|
|
53
|
+
const name = 'myTextArea';
|
|
54
|
+
renderTextArea({ ...tc.props, name });
|
|
55
|
+
expect(screen.getByTestId(tc.testId)).toHaveProperty('name', name);
|
|
56
|
+
});
|
|
57
|
+
it('provides id', async () => {
|
|
58
|
+
const id = 'myTextId';
|
|
59
|
+
renderTextArea({ ...tc.props, id });
|
|
60
|
+
expect(screen.getByTestId(tc.testId)).toHaveProperty('id', id);
|
|
61
|
+
});
|
|
62
|
+
it('provides extraClassNames', async () => {
|
|
63
|
+
const extraClassNames = 'extra css';
|
|
64
|
+
renderTextArea({ ...tc.props, extraClassNames });
|
|
65
|
+
expect(screen.getByTestId(tc.testId)).toHaveClass(extraClassNames);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=TextArea.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea.test.js","sourceRoot":"","sources":["../../src/TextArea/TextArea.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextArea.types.js","sourceRoot":"","sources":["../../src/TextArea/TextArea.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/TextArea/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
3
|
+
import '../styles.css';
|
|
4
|
+
import { setValidInputDimension } from '../utils/validateStyleDimension';
|
|
5
|
+
import { getQTipData } from '../Tooltip/qTip.utilities';
|
|
6
|
+
const errorClasses = 'tw-border-sq-danger-color';
|
|
7
|
+
const borderColorClasses = [
|
|
8
|
+
'tw-border-sq-disabled-gray',
|
|
9
|
+
'dark:tw-border-sq-dark-disabled-gray',
|
|
10
|
+
'dark:focus:tw-border-sq-color-dark-dark',
|
|
11
|
+
'dark:active:tw-border-sq-color-dark-dark',
|
|
12
|
+
'focus:tw-border-sq-color-dark',
|
|
13
|
+
'active:tw-border-sq-color-dark',
|
|
14
|
+
].join(' ');
|
|
15
|
+
const baseClasses = 'tw-h-inputs tw-leading-normal tw-outline-none tw-py-1 tw-px-3' +
|
|
16
|
+
' disabled:tw-pointer-events-none disabled:tw-bg-sq-light-gray disabled:dark:tw-bg-sq-dark-disabled-gray' +
|
|
17
|
+
' disabled:tw-cursor-not-allowed tw-p-1 tw-border-solid tw-border tw-placeholder-gray-400' +
|
|
18
|
+
' dark:tw-placeholder-sq-dark-text-lighter specTextField';
|
|
19
|
+
const darkTheme = 'dark:tw-bg-sq-dark-background dark:tw-text-sq-dark-text disabled:dark:tw-text-sq-dark-text-lighter';
|
|
20
|
+
const lightTheme = 'tw-text-sq-text-color disabled:tw-text-sq-darkish-gray';
|
|
21
|
+
const sizeClasses = {
|
|
22
|
+
sm: 'tw-text-sm',
|
|
23
|
+
lg: 'tw-text-xl',
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Textfield.
|
|
27
|
+
*/
|
|
28
|
+
export const TextField = React.forwardRef((props, ref) => {
|
|
29
|
+
const { readonly = false, disabled = false, onChange, onKeyUp, onFocus, onBlur, onKeyDown, id, name, size = 'sm', value, placeholder, extraClassNames, testId, type = 'text', inputGroup, step, showError, errorText, min, max, maxLength, minLength, required = false, autoComplete = 'off', inputWidth = undefined, inputHeight = undefined, autoFocus = false, ...tooltipProps } = props;
|
|
30
|
+
const internalRef = useRef(null);
|
|
31
|
+
const [cursor, setCursor] = useState(null);
|
|
32
|
+
const tooltipData = getQTipData(tooltipProps);
|
|
33
|
+
const setAllRefs = (receivedRef) => {
|
|
34
|
+
if (ref)
|
|
35
|
+
ref.current = receivedRef;
|
|
36
|
+
internalRef.current = receivedRef;
|
|
37
|
+
};
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (autoFocus) {
|
|
40
|
+
setTimeout(() => {
|
|
41
|
+
internalRef.current?.focus();
|
|
42
|
+
}, 0);
|
|
43
|
+
}
|
|
44
|
+
}, []);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
const input = internalRef.current;
|
|
47
|
+
if (input && type !== 'number' && type !== 'email')
|
|
48
|
+
input.setSelectionRange(cursor, cursor);
|
|
49
|
+
}, [ref, cursor, value]);
|
|
50
|
+
const handleChange = (e) => {
|
|
51
|
+
setCursor(e.target.selectionStart);
|
|
52
|
+
onChange && onChange(e);
|
|
53
|
+
};
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
/**
|
|
56
|
+
* we need to change the value only if it's different since the internal state of "input" will change it anyway
|
|
57
|
+
* this will only be the case when the value has been changed externally via store (undo / redo)
|
|
58
|
+
*/
|
|
59
|
+
if (value !== null && value !== undefined && value !== internalRef.current?.value && internalRef.current) {
|
|
60
|
+
// we need to use this method because using the value props directly will switch the input to a "controlled"
|
|
61
|
+
// component
|
|
62
|
+
internalRef.current.value = `${value}`;
|
|
63
|
+
}
|
|
64
|
+
}, [value]);
|
|
65
|
+
let borderRadius = 'tw-rounded-md';
|
|
66
|
+
if (inputGroup === 'left') {
|
|
67
|
+
borderRadius = 'tw-rounded-l-md tw-border-r-0 focus:tw-border-r' + ' active:tw-border-r';
|
|
68
|
+
}
|
|
69
|
+
else if (inputGroup === 'right') {
|
|
70
|
+
borderRadius = 'tw-rounded-r-md tw-border-l-0 focus:tw-border-l active:tw-border-l';
|
|
71
|
+
}
|
|
72
|
+
const appliedClasses = `${baseClasses} ${sizeClasses[size]} ${extraClassNames} ${lightTheme} ${darkTheme} ${borderRadius} ${showError ? errorClasses : borderColorClasses} `;
|
|
73
|
+
const inputProp = setValidInputDimension(inputWidth, inputHeight)
|
|
74
|
+
? {
|
|
75
|
+
style: setValidInputDimension(inputWidth, inputHeight),
|
|
76
|
+
}
|
|
77
|
+
: {};
|
|
78
|
+
const inputLenghtProp = {};
|
|
79
|
+
if (maxLength)
|
|
80
|
+
inputLenghtProp.maxLength = maxLength;
|
|
81
|
+
if (minLength)
|
|
82
|
+
inputLenghtProp.minLength = minLength;
|
|
83
|
+
return (_jsxs(_Fragment, { children: [_jsx("input", { ref: setAllRefs, "data-testid": testId, name: name, id: id, type: type, value: value, className: appliedClasses, placeholder: placeholder, disabled: disabled, readOnly: readonly, autoComplete: autoComplete, onChange: handleChange, onFocus: onFocus, onBlur: onBlur, onKeyDown: onKeyDown, onKeyUp: onKeyUp, step: step, required: required, min: min, max: max, ...inputLenghtProp, ...inputProp, ...tooltipData }), errorText && showError && _jsx("div", { className: "tw-text-sq-danger-color tw-text-xs tw-mt-1", children: errorText })] }));
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=TextField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../src/TextField/TextField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { TextField } from './TextField';
|
|
3
|
+
import { QTip } from '../Tooltip';
|
|
4
|
+
export default {
|
|
5
|
+
title: 'TextField',
|
|
6
|
+
};
|
|
7
|
+
export const AllTextFields = () => {
|
|
8
|
+
const renderAllVariations = () => (_jsxs(_Fragment, { children: [_jsxs("div", { className: "tw-p-4 light", children: [_jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "value provided" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { placeholder: "placeholder text" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { placeholder: "with error", showError: true }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { placeholder: "with error text", showError: true, errorText: "this is a major test error and it is long on purpose to see its looks" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "read-only", readonly: true, onFocus: (e) => e.currentTarget.select() }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "disabled", disabled: true, onFocus: (e) => e.currentTarget.select() }) }), _jsxs("div", { className: "tw-p-4", children: [_jsx("div", { children: "max value = 10" }), _jsx(TextField, { type: "number", value: 20, max: 10 })] }), _jsxs("div", { className: "tw-p-4", children: [_jsx("div", { children: "min value = 2" }), _jsx(TextField, { type: "number", value: 1, min: 2 })] }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "large", size: "lg" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "with tooltip", tooltip: "small tooltip" }) })] }), _jsxs("div", { className: "tw-p-4 tw-dark tw-bg-sq-dark-background", children: [_jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "value provided" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { placeholder: "placeholder text" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { placeholder: "with error", showError: true }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { placeholder: "with error text", showError: true, errorText: "this is a major test error and it is long on purpose to see its looks" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "read-only", readonly: true, onFocus: (e) => e.currentTarget.select() }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "disabled", disabled: true, onFocus: (e) => e.currentTarget.select() }) }), _jsxs("div", { className: "tw-p-4", children: [_jsx("div", { className: "tw-text-sq-color-dark dark:tw-text-sq-color-dark-dark", children: "max value = 10" }), _jsx(TextField, { type: "number", value: 8, max: 10 })] }), _jsxs("div", { className: "tw-p-4", children: [_jsx("div", { className: "tw-text-sq-color-dark dark:tw-text-sq-color-dark-dark", children: "min value = 2" }), _jsx(TextField, { type: "number", value: 10, min: 2 })] }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "large", size: "lg" }) }), _jsx("div", { className: "tw-p-4", children: _jsx(TextField, { value: "with tooltip", tooltip: "small tooltip" }) })] })] }));
|
|
9
|
+
return (_jsxs("div", { className: "tw-grid tw-grid-cols-4 tw-gap-4", children: [_jsx(QTip, {}), _jsxs("div", { className: "color_topic", children: [_jsx("b", { children: "Topic Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_analysis", children: [_jsx("b", { children: "Analysis Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_datalab", children: [_jsx("b", { children: "Datalab Colors" }), renderAllVariations()] }), _jsxs("div", { className: "color_vantage", children: [_jsx("b", { children: "Vantage Colors" }), renderAllVariations()] })] }));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=TextField.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.stories.js","sourceRoot":"","sources":["../../src/TextField/TextField.stories.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import '@testing-library/jest-dom';
|
|
3
|
+
import { render, screen, waitFor } from '@testing-library/react';
|
|
4
|
+
import userEvent from '@testing-library/user-event';
|
|
5
|
+
import { TextField } from './TextField';
|
|
6
|
+
describe('TextField', () => {
|
|
7
|
+
class Context {
|
|
8
|
+
testId = 'textFieldTestId';
|
|
9
|
+
props = {
|
|
10
|
+
onChange: jest.fn(),
|
|
11
|
+
testId: this.testId,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
let tc;
|
|
15
|
+
beforeEach(() => {
|
|
16
|
+
tc = new Context();
|
|
17
|
+
});
|
|
18
|
+
const renderTextField = (props) => render(_jsx(TextField, { ...props }));
|
|
19
|
+
it('renders the provided value', () => {
|
|
20
|
+
const value = 'hello';
|
|
21
|
+
renderTextField({ ...tc.props, value });
|
|
22
|
+
expect(screen.getByDisplayValue(value)).toBeInTheDocument();
|
|
23
|
+
});
|
|
24
|
+
it('renders the provided placeholder', () => {
|
|
25
|
+
const placeholder = 'Prompt to enter';
|
|
26
|
+
renderTextField({ ...tc.props, placeholder });
|
|
27
|
+
expect(screen.getByPlaceholderText(placeholder)).toBeInTheDocument();
|
|
28
|
+
});
|
|
29
|
+
it('calls onChange handler', async () => {
|
|
30
|
+
renderTextField({ ...tc.props });
|
|
31
|
+
await userEvent.type(screen.getByTestId(tc.testId), 'trigger');
|
|
32
|
+
expect(tc.props.onChange).toHaveBeenCalled();
|
|
33
|
+
});
|
|
34
|
+
it('autofocuses the textfield', async () => {
|
|
35
|
+
renderTextField({ ...tc.props, autoFocus: true });
|
|
36
|
+
await waitFor(() => {
|
|
37
|
+
expect(screen.getByTestId(tc.testId)).toHaveFocus();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=TextField.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.test.js","sourceRoot":"","sources":["../../src/TextField/TextField.test.tsx"],"names":[],"mappings":";AACA,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,SAAS,MAAM,6BAA6B,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,MAAM,OAAO;QACX,MAAM,GAAG,iBAAiB,CAAC;QAC3B,KAAK,GAAmB;YACtB,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;KACH;IAED,IAAI,EAAW,CAAC;IAChB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,CAAC,KAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAC,SAAS,OAAK,KAAK,GAAI,CAAC,CAAC;IAEpF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC;QACtB,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACtC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QACjC,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/D,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
|