@ntbjs/react-components 2.0.0-rc.29 → 2.0.0-rc.30
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/build/{_rollupPluginBabelHelpers-c245b26a.js → _virtual/_rollupPluginBabelHelpers.js} +2 -1
- package/build/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
- package/build/{Alert-e6847a22.js → data/Alert/Alert.js} +5 -55
- package/build/data/Alert/Alert.js.map +1 -0
- package/build/data/Alert/Alert.styled.js +56 -0
- package/build/data/Alert/Alert.styled.js.map +1 -0
- package/build/data/Alert/index.js +2 -6
- package/build/data/Alert/index.js.map +1 -0
- package/build/data/Badge/Badge.js +87 -0
- package/build/data/Badge/Badge.js.map +1 -0
- package/build/{Badge-d93586a9.js → data/Badge/Badge.styled.js} +4 -85
- package/build/data/Badge/Badge.styled.js.map +1 -0
- package/build/data/Badge/index.js +2 -5
- package/build/data/Badge/index.js.map +1 -0
- package/build/data/Popover/Popover.js +93 -0
- package/build/data/Popover/Popover.js.map +1 -0
- package/build/{Popover-20050b91.js → data/Popover/Popover.styled.js} +6 -92
- package/build/data/Popover/Popover.styled.js.map +1 -0
- package/build/data/Popover/index.js +2 -10
- package/build/data/Popover/index.js.map +1 -0
- package/build/{Tab-04d435c3.js → data/Tab/Tab.js} +5 -12
- package/build/data/Tab/Tab.js.map +1 -0
- package/build/data/Tab/Tab.styled.js +13 -0
- package/build/data/Tab/Tab.styled.js.map +1 -0
- package/build/data/Tab/index.js +2 -5
- package/build/data/Tab/index.js.map +1 -0
- package/build/{Tabs-74d1ea8a.js → data/Tabs/Tabs.js} +6 -74
- package/build/data/Tabs/Tabs.js.map +1 -0
- package/build/data/Tabs/Tabs.styled.js +74 -0
- package/build/data/Tabs/Tabs.styled.js.map +1 -0
- package/build/data/Tabs/index.js +2 -7
- package/build/data/Tabs/index.js.map +1 -0
- package/build/{Tooltip-c1d1199e.js → data/Tooltip/Tooltip.js} +5 -26
- package/build/data/Tooltip/Tooltip.js.map +1 -0
- package/build/data/Tooltip/Tooltip.styled.js +28 -0
- package/build/data/Tooltip/Tooltip.styled.js.map +1 -0
- package/build/data/Tooltip/index.js +2 -7
- package/build/data/Tooltip/index.js.map +1 -0
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.js +36 -0
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.js.map +1 -0
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js +53 -0
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js.map +1 -0
- package/build/data/index.js +8 -16
- package/build/data/index.js.map +1 -0
- package/build/hooks/useEventListner.js +21 -0
- package/build/hooks/useEventListner.js.map +1 -0
- package/build/hooks/useIsomorphicLayoutEffect.js +6 -0
- package/build/hooks/useIsomorphicLayoutEffect.js.map +1 -0
- package/build/hooks/useOnClickOutside.js +14 -0
- package/build/hooks/useOnClickOutside.js.map +1 -0
- package/build/icons/arrow-back.svg.js +16 -0
- package/build/icons/arrow-back.svg.js.map +1 -0
- package/build/{arrow-forward-ad12c5f3.js → icons/arrow-forward.svg.js} +2 -1
- package/build/icons/arrow-forward.svg.js.map +1 -0
- package/build/icons/check-rectangle-filled.svg.js +16 -0
- package/build/icons/check-rectangle-filled.svg.js.map +1 -0
- package/build/{close-a5d37608.js → icons/close.svg.js} +2 -1
- package/build/icons/close.svg.js.map +1 -0
- package/build/{edit-note-283a0e15.js → icons/edit-note.svg.js} +2 -1
- package/build/icons/edit-note.svg.js.map +1 -0
- package/build/{expand-more-c5523c46.js → icons/expand-more.svg.js} +2 -1
- package/build/icons/expand-more.svg.js.map +1 -0
- package/build/icons/headset.svg.js +16 -0
- package/build/icons/headset.svg.js.map +1 -0
- package/build/icons/layers.svg.js +16 -0
- package/build/icons/layers.svg.js.map +1 -0
- package/build/icons/link.svg.js +16 -0
- package/build/icons/link.svg.js.map +1 -0
- package/build/icons/play.svg.js +16 -0
- package/build/icons/play.svg.js.map +1 -0
- package/build/icons/search.svg.js +16 -0
- package/build/icons/search.svg.js.map +1 -0
- package/build/icons/star-filled.svg.js +16 -0
- package/build/icons/star-filled.svg.js.map +1 -0
- package/build/icons/star.svg.js +16 -0
- package/build/icons/star.svg.js.map +1 -0
- package/build/icons/triangle-right.svg.js +16 -0
- package/build/icons/triangle-right.svg.js.map +1 -0
- package/build/icons/verification.svg.js +16 -0
- package/build/icons/verification.svg.js.map +1 -0
- package/build/{warning-circle-24f3efcd.js → icons/warning-circle.svg.js} +2 -1
- package/build/icons/warning-circle.svg.js.map +1 -0
- package/build/index.js +5 -0
- package/build/index.js.map +1 -0
- package/build/inputs/ActionButton/ActionButton.js +36 -0
- package/build/inputs/ActionButton/ActionButton.js.map +1 -0
- package/build/{ActionButton-4db754c3.js → inputs/ActionButton/ActionButton.styled.js} +4 -34
- package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -0
- package/build/inputs/ActionButton/index.js +2 -6
- package/build/inputs/ActionButton/index.js.map +1 -0
- package/build/inputs/Button/Button.js +188 -0
- package/build/inputs/Button/Button.js.map +1 -0
- package/build/{Button-73eb8516.js → inputs/Button/Button.styled.js} +4 -186
- package/build/inputs/Button/Button.styled.js.map +1 -0
- package/build/inputs/Button/index.js +2 -13
- package/build/inputs/Button/index.js.map +1 -0
- package/build/inputs/Checkbox/Checkbox.js +97 -0
- package/build/inputs/Checkbox/Checkbox.js.map +1 -0
- package/build/inputs/Checkbox/Checkbox.styled.js +122 -0
- package/build/inputs/Checkbox/Checkbox.styled.js.map +1 -0
- package/build/inputs/Checkbox/index.js +2 -6
- package/build/inputs/Checkbox/index.js.map +1 -0
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js +267 -0
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -0
- package/build/{CompactAutocompleteSelect-52c49513.js → inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js} +6 -267
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js.map +1 -0
- package/build/inputs/CompactAutocompleteSelect/index.js +2 -23
- package/build/inputs/CompactAutocompleteSelect/index.js.map +1 -0
- package/build/inputs/CompactStarRating/CompactStarRating.js +177 -0
- package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -0
- package/build/inputs/CompactStarRating/CompactStarRating.styled.js +217 -0
- package/build/inputs/CompactStarRating/CompactStarRating.styled.js.map +1 -0
- package/build/inputs/CompactStarRating/index.js +2 -17
- package/build/inputs/CompactStarRating/index.js.map +1 -0
- package/build/inputs/CompactTextInput/CompactTextInput.js +184 -0
- package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -0
- package/build/{CompactTextInput-42ca5d42.js → inputs/CompactTextInput/CompactTextInput.styled.js} +4 -194
- package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -0
- package/build/inputs/CompactTextInput/index.js +2 -19
- package/build/inputs/CompactTextInput/index.js.map +1 -0
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js +207 -0
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js.map +1 -0
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js +66 -0
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js.map +1 -0
- package/build/inputs/MultiLevelCheckbox/index.js +3 -0
- package/build/inputs/MultiLevelCheckbox/index.js.map +1 -0
- package/build/inputs/MultiLevelCheckbox/types.js +27 -0
- package/build/inputs/MultiLevelCheckbox/types.js.map +1 -0
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js +184 -26
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -0
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js +93 -0
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js.map +1 -0
- package/build/inputs/MultiLevelCheckboxSelect/index.js +2 -0
- package/build/inputs/MultiLevelCheckboxSelect/index.js.map +1 -0
- package/build/{MultiSelect-9f497e62.js → inputs/MultiSelect/MultiSelect.js} +6 -223
- package/build/inputs/MultiSelect/MultiSelect.js.map +1 -0
- package/build/inputs/MultiSelect/MultiSelect.styled.js +224 -0
- package/build/inputs/MultiSelect/MultiSelect.styled.js.map +1 -0
- package/build/inputs/MultiSelect/index.js +2 -10
- package/build/inputs/MultiSelect/index.js.map +1 -0
- package/build/inputs/Radio/Radio.js +60 -0
- package/build/inputs/Radio/Radio.js.map +1 -0
- package/build/{Radio-73ca3ae2.js → inputs/Radio/Radio.styled.js} +4 -58
- package/build/inputs/Radio/Radio.styled.js.map +1 -0
- package/build/inputs/Radio/index.js +2 -7
- package/build/inputs/Radio/index.js.map +1 -0
- package/build/inputs/Switch/Switch.js +64 -0
- package/build/inputs/Switch/Switch.js.map +1 -0
- package/build/{Switch-ecf3122b.js → inputs/Switch/Switch.styled.js} +4 -62
- package/build/inputs/Switch/Switch.styled.js.map +1 -0
- package/build/inputs/Switch/index.js +2 -6
- package/build/inputs/Switch/index.js.map +1 -0
- package/build/inputs/TextArea/TextArea.js +178 -0
- package/build/inputs/TextArea/TextArea.js.map +1 -0
- package/build/{TextArea-1e5b9201.js → inputs/TextArea/TextArea.styled.js} +3 -175
- package/build/inputs/TextArea/TextArea.styled.js.map +1 -0
- package/build/inputs/TextArea/index.js +2 -20
- package/build/inputs/TextArea/index.js.map +1 -0
- package/build/inputs/TextInput/TextInput.js +139 -0
- package/build/inputs/TextInput/TextInput.js.map +1 -0
- package/build/{TextInput-fab35842.js → inputs/TextInput/TextInput.styled.js} +4 -137
- package/build/inputs/TextInput/TextInput.styled.js.map +1 -0
- package/build/inputs/TextInput/index.js +2 -9
- package/build/inputs/TextInput/index.js.map +1 -0
- package/build/inputs/index.js +15 -40
- package/build/inputs/index.js.map +1 -0
- package/build/{InputGroup-1294d190.js → layout/InputGroup/InputGroup.js} +5 -8
- package/build/layout/InputGroup/InputGroup.js.map +1 -0
- package/build/layout/InputGroup/InputGroup.styled.js +9 -0
- package/build/layout/InputGroup/InputGroup.styled.js.map +1 -0
- package/build/layout/SectionSeparator/SectionSeparator.js +23 -0
- package/build/layout/SectionSeparator/SectionSeparator.js.map +1 -0
- package/build/layout/SectionSeparator/SectionSeparator.styled.js +14 -0
- package/build/layout/SectionSeparator/SectionSeparator.styled.js.map +1 -0
- package/build/layout/SectionSeparator/index.js +2 -5
- package/build/layout/SectionSeparator/index.js.map +1 -0
- package/build/layout/index.js +3 -6
- package/build/layout/index.js.map +1 -0
- package/build/ssr/index.js +1 -0
- package/build/ssr/index.js.map +1 -0
- package/build/styles/utils/colors.scss.js +4 -0
- package/build/styles/utils/colors.scss.js.map +1 -0
- package/build/utils/dateTime.js +17 -0
- package/build/utils/dateTime.js.map +1 -0
- package/build/utils/defaultTheme.js +44 -0
- package/build/utils/defaultTheme.js.map +1 -0
- package/build/{AssetAction-98d76ce0.js → widgets/AssetAction/AssetAction.js} +6 -40
- package/build/widgets/AssetAction/AssetAction.js.map +1 -0
- package/build/widgets/AssetAction/AssetAction.styled.js +41 -0
- package/build/widgets/AssetAction/AssetAction.styled.js.map +1 -0
- package/build/widgets/AssetAction/index.js +2 -7
- package/build/widgets/AssetAction/index.js.map +1 -0
- package/build/{AssetActionsBase-9e4c0735.js → widgets/AssetActionsBase/AssetActionsBase.js} +6 -15
- package/build/widgets/AssetActionsBase/AssetActionsBase.js.map +1 -0
- package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js +15 -0
- package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js.map +1 -0
- package/build/widgets/AssetActionsBase/index.js +2 -8
- package/build/widgets/AssetActionsBase/index.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGallery.js +99 -0
- package/build/widgets/AssetGallery/AssetGallery.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js +385 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js +30 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js +401 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js +329 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js +409 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js +280 -0
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -0
- package/build/widgets/AssetGallery/asset.propType.js +54 -0
- package/build/widgets/AssetGallery/asset.propType.js.map +1 -0
- package/build/widgets/AssetGallery/index.js +2 -48
- package/build/widgets/AssetGallery/index.js.map +1 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js +44 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js.map +1 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js +77 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js.map +1 -0
- package/build/widgets/AssetPreview/AssetPreviewTopBar/index.js +2 -6
- package/build/widgets/AssetPreview/AssetPreviewTopBar/index.js.map +1 -0
- package/build/{ContextMenu-0f7134e4.js → widgets/ContextMenu/ContextMenu.js} +5 -9
- package/build/widgets/ContextMenu/ContextMenu.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenu.styled.js +10 -0
- package/build/widgets/ContextMenu/ContextMenu.styled.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js +44 -0
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js +77 -0
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItem/index.js +2 -5
- package/build/widgets/ContextMenu/ContextMenuItem/index.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js +22 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js +21 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js.map +1 -0
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/index.js +2 -37
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/index.js.map +1 -0
- package/build/widgets/ContextMenu/index.js +2 -5
- package/build/widgets/ContextMenu/index.js.map +1 -0
- package/build/widgets/InfoCard/InfoCard.js +40 -0
- package/build/widgets/InfoCard/InfoCard.js.map +1 -0
- package/build/{InfoCard-c98b6f5a.js → widgets/InfoCard/InfoCard.styled.js} +5 -38
- package/build/widgets/InfoCard/InfoCard.styled.js.map +1 -0
- package/build/widgets/InfoCard/index.js +2 -6
- package/build/widgets/InfoCard/index.js.map +1 -0
- package/build/{Instructions-bfd28cea.js → widgets/Instructions/Instructions.js} +8 -34
- package/build/widgets/Instructions/Instructions.js.map +1 -0
- package/build/widgets/Instructions/Instructions.styled.js +32 -0
- package/build/widgets/Instructions/Instructions.styled.js.map +1 -0
- package/build/widgets/Instructions/index.js +2 -28
- package/build/widgets/Instructions/index.js.map +1 -0
- package/build/widgets/ProgressBar/ProgressBar.js +72 -0
- package/build/widgets/ProgressBar/ProgressBar.js.map +1 -0
- package/build/{ProgressBar-bc4a4a7e.js → widgets/ProgressBar/ProgressBar.styled.js} +5 -70
- package/build/widgets/ProgressBar/ProgressBar.styled.js.map +1 -0
- package/build/widgets/ProgressBar/index.js +2 -6
- package/build/widgets/ProgressBar/index.js.map +1 -0
- package/build/widgets/SummaryCard/SummaryCard.js +92 -0
- package/build/widgets/SummaryCard/SummaryCard.js.map +1 -0
- package/build/widgets/SummaryCard/SummaryCard.styled.js +137 -0
- package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -0
- package/build/widgets/SummaryCard/index.js +2 -19
- package/build/widgets/SummaryCard/index.js.map +1 -0
- package/build/widgets/index.js +12 -53
- package/build/widgets/index.js.map +1 -0
- package/package.json +5 -2
- package/build/AssetGallery-63f721ec.js +0 -1981
- package/build/AssetPreviewTopBar-acd6353d.js +0 -127
- package/build/Checkbox-4a5fd716.js +0 -213
- package/build/CompactStarRating-9af2f427.js +0 -411
- package/build/ContextMenuItem-ea411141.js +0 -127
- package/build/MultiLevelCheckboxSelect-d8044c88.js +0 -604
- package/build/SectionSeparator-f47760a2.js +0 -31
- package/build/SummaryCard-24040650.js +0 -223
- package/build/VerificationStatusIcon-49cb1c1b.js +0 -95
- package/build/defaultTheme-1bcc2541.js +0 -1178
- package/build/layout/InputGroup/index.js +0 -5
- package/build/shift-away-subtle-0dd94a03.js +0 -7
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React__default, { useState, useRef, useEffect } from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { ButtonWrapper, MainButtonWrapper, MainButtonContainer, Button as Button$1, ButtonContent, LoadingIndicator, LoadingIndicatorSvg, LoadingIndicatorSvgCircle, DropdownButtonContainer, MainButtonContainerSingle } from './Button.styled.js';
|
|
5
|
+
import Popover from '../../data/Popover/Popover.js';
|
|
6
|
+
import ContextMenu from '../../widgets/ContextMenu/ContextMenu.js';
|
|
7
|
+
import { ReactComponent as SvgExpandMore } from '../../icons/expand-more.svg.js';
|
|
8
|
+
|
|
9
|
+
const Button = React__default.forwardRef(function Button({
|
|
10
|
+
onClickEffect,
|
|
11
|
+
singleAction = false,
|
|
12
|
+
activeDropdown = false,
|
|
13
|
+
dropdownItems,
|
|
14
|
+
secondary,
|
|
15
|
+
outlined,
|
|
16
|
+
block = false,
|
|
17
|
+
icon,
|
|
18
|
+
size = 'normal',
|
|
19
|
+
disabled,
|
|
20
|
+
loading,
|
|
21
|
+
className,
|
|
22
|
+
children,
|
|
23
|
+
singleActionGap = 34,
|
|
24
|
+
width,
|
|
25
|
+
border = 2,
|
|
26
|
+
...props
|
|
27
|
+
}, forwardedRef) {
|
|
28
|
+
const [loadingState, setLoadingState] = useState(loading || false);
|
|
29
|
+
const [loadingStep, setLoadingStep] = useState(113);
|
|
30
|
+
const loadingInterval = useRef(0);
|
|
31
|
+
const [dropdownIsActive, setDropdownIsActive] = useState(false);
|
|
32
|
+
const enableLoading = () => {
|
|
33
|
+
loadingInterval.current = setInterval(() => {
|
|
34
|
+
setLoadingStep(currentLoadingStep => {
|
|
35
|
+
const newLoadingStep = Math.round(currentLoadingStep - 15 * currentLoadingStep / 100);
|
|
36
|
+
if (newLoadingStep === currentLoadingStep) {
|
|
37
|
+
clearInterval(loadingInterval.current);
|
|
38
|
+
}
|
|
39
|
+
return newLoadingStep;
|
|
40
|
+
});
|
|
41
|
+
}, 300);
|
|
42
|
+
setLoadingState(true);
|
|
43
|
+
};
|
|
44
|
+
const disableLoading = () => {
|
|
45
|
+
clearInterval(loadingInterval.current);
|
|
46
|
+
setLoadingStep(0);
|
|
47
|
+
setTimeout(() => {
|
|
48
|
+
setLoadingState(false);
|
|
49
|
+
setLoadingStep(113);
|
|
50
|
+
}, 500);
|
|
51
|
+
};
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (loading) {
|
|
54
|
+
enableLoading();
|
|
55
|
+
} else {
|
|
56
|
+
disableLoading();
|
|
57
|
+
}
|
|
58
|
+
return () => clearInterval(loadingInterval.current);
|
|
59
|
+
}, [loading]);
|
|
60
|
+
const handleDropdownButtonClick = () => {
|
|
61
|
+
setDropdownIsActive(true);
|
|
62
|
+
};
|
|
63
|
+
const handleDropdownClose = () => {
|
|
64
|
+
setDropdownIsActive(false);
|
|
65
|
+
};
|
|
66
|
+
return React__default.createElement(ButtonWrapper, null, !singleAction ? React__default.createElement(MainButtonWrapper, {
|
|
67
|
+
activeDropdown: activeDropdown,
|
|
68
|
+
dropdownItems: dropdownItems,
|
|
69
|
+
outlined: outlined,
|
|
70
|
+
secondary: secondary,
|
|
71
|
+
block: block
|
|
72
|
+
}, React__default.createElement(MainButtonContainer, {
|
|
73
|
+
dropdownItems: dropdownItems,
|
|
74
|
+
secondary: secondary,
|
|
75
|
+
outlined: outlined,
|
|
76
|
+
block: block
|
|
77
|
+
}, React__default.createElement(Button$1, _extends({
|
|
78
|
+
ref: forwardedRef,
|
|
79
|
+
onClick: onClickEffect,
|
|
80
|
+
border: border,
|
|
81
|
+
singleAction: singleAction,
|
|
82
|
+
dropdownItems: dropdownItems,
|
|
83
|
+
secondary: secondary,
|
|
84
|
+
outlined: outlined,
|
|
85
|
+
block: block,
|
|
86
|
+
size: size,
|
|
87
|
+
disabled: disabled,
|
|
88
|
+
className: className,
|
|
89
|
+
"aria-busy": disabled,
|
|
90
|
+
width: width
|
|
91
|
+
}, props), React__default.createElement(ButtonContent, {
|
|
92
|
+
$loading: loadingState,
|
|
93
|
+
size: size
|
|
94
|
+
}, icon, children), React__default.createElement(LoadingIndicator, {
|
|
95
|
+
$loading: loadingState,
|
|
96
|
+
style: {
|
|
97
|
+
opacity: loadingState ? 1 : 0
|
|
98
|
+
}
|
|
99
|
+
}, React__default.createElement(LoadingIndicatorSvg, {
|
|
100
|
+
viewBox: "22 22 44 44"
|
|
101
|
+
}, React__default.createElement(LoadingIndicatorSvgCircle, {
|
|
102
|
+
cx: "44",
|
|
103
|
+
cy: "44",
|
|
104
|
+
r: "18",
|
|
105
|
+
fill: "none",
|
|
106
|
+
strokeWidth: "4",
|
|
107
|
+
stroke: "currentColor",
|
|
108
|
+
style: {
|
|
109
|
+
strokeDashoffset: `${loadingStep}px`
|
|
110
|
+
}
|
|
111
|
+
}))))), (activeDropdown || dropdownItems) && React__default.createElement(DropdownButtonContainer, {
|
|
112
|
+
dropdownItems: dropdownItems,
|
|
113
|
+
secondary: secondary,
|
|
114
|
+
outlined: outlined
|
|
115
|
+
}, React__default.createElement(Popover, {
|
|
116
|
+
content: React__default.createElement(ContextMenu, null, dropdownItems),
|
|
117
|
+
placement: 'bottom-end',
|
|
118
|
+
arrow: false,
|
|
119
|
+
contextMenu: true,
|
|
120
|
+
onHide: handleDropdownClose
|
|
121
|
+
}, React__default.createElement(Button$1, {
|
|
122
|
+
ref: forwardedRef,
|
|
123
|
+
singleAction: singleAction,
|
|
124
|
+
singleActionGap: singleActionGap,
|
|
125
|
+
dropdownItems: dropdownItems,
|
|
126
|
+
secondary: secondary,
|
|
127
|
+
outlined: outlined,
|
|
128
|
+
border: border,
|
|
129
|
+
block: block,
|
|
130
|
+
size: size,
|
|
131
|
+
disabled: disabled,
|
|
132
|
+
onClick: handleDropdownButtonClick,
|
|
133
|
+
className: dropdownIsActive ? 'dropdown-is-active' : '',
|
|
134
|
+
width: width
|
|
135
|
+
}, React__default.createElement(SvgExpandMore, null))))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(MainButtonContainerSingle, {
|
|
136
|
+
dropdownItems: dropdownItems,
|
|
137
|
+
secondary: secondary,
|
|
138
|
+
outlined: outlined,
|
|
139
|
+
className: className
|
|
140
|
+
}, React__default.createElement(DropdownButtonContainer, {
|
|
141
|
+
singleAction: singleAction
|
|
142
|
+
}, React__default.createElement(Popover, {
|
|
143
|
+
content: React__default.createElement(ContextMenu, null, dropdownItems),
|
|
144
|
+
placement: 'bottom-end',
|
|
145
|
+
arrow: false,
|
|
146
|
+
contextMenu: true,
|
|
147
|
+
onHide: handleDropdownClose
|
|
148
|
+
}, React__default.createElement(Button$1, {
|
|
149
|
+
ref: forwardedRef,
|
|
150
|
+
singleAction: singleAction,
|
|
151
|
+
singleActionGap: singleActionGap,
|
|
152
|
+
dropdownItems: dropdownItems,
|
|
153
|
+
secondary: secondary,
|
|
154
|
+
outlined: outlined,
|
|
155
|
+
border: border,
|
|
156
|
+
block: block,
|
|
157
|
+
size: size,
|
|
158
|
+
disabled: disabled,
|
|
159
|
+
onClick: handleDropdownButtonClick,
|
|
160
|
+
className: dropdownIsActive ? 'dropdown-is-active' : '',
|
|
161
|
+
width: width
|
|
162
|
+
}, React__default.createElement(ButtonContent, {
|
|
163
|
+
$loading: loadingState,
|
|
164
|
+
size: size,
|
|
165
|
+
singleAction: singleAction
|
|
166
|
+
}, icon, children), React__default.createElement(SvgExpandMore, null)))))));
|
|
167
|
+
});
|
|
168
|
+
Button.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
169
|
+
onClickEffect: PropTypes.func,
|
|
170
|
+
singleAction: PropTypes.bool,
|
|
171
|
+
activeDropdown: PropTypes.bool,
|
|
172
|
+
dropdownItems: PropTypes.node,
|
|
173
|
+
secondary: PropTypes.bool,
|
|
174
|
+
outlined: PropTypes.bool,
|
|
175
|
+
border: PropTypes.number,
|
|
176
|
+
block: PropTypes.bool,
|
|
177
|
+
icon: PropTypes.element,
|
|
178
|
+
size: PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),
|
|
179
|
+
disabled: PropTypes.bool,
|
|
180
|
+
loading: PropTypes.bool,
|
|
181
|
+
className: PropTypes.string,
|
|
182
|
+
children: PropTypes.any.isRequired,
|
|
183
|
+
singleActionGap: PropTypes.number,
|
|
184
|
+
width: PropTypes.number
|
|
185
|
+
} : {};
|
|
186
|
+
|
|
187
|
+
export { Button as default };
|
|
188
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../src/components/inputs/Button/Button.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './Button.styled';\n\nimport Popover from '../../data/Popover';\nimport ContextMenu from '../../widgets/ContextMenu/ContextMenu';\n\nimport { ReactComponent as DropdownIcon } from '../../../icons/expand-more.svg';\n\n/**\n * Buttons communicate actions that users can take.\n *\n * ### Import\n *\n * ``` js\n * import { Button } from '@ntbjs/react-components/inputs'\n * // or\n * import Button from '@ntbjs/react-components/inputs/Button'\n * ```\n */\nconst Button = React.forwardRef(function Button(\n {\n onClickEffect,\n singleAction = false,\n activeDropdown = false,\n dropdownItems,\n secondary,\n outlined,\n block = false,\n icon,\n size = 'normal',\n disabled,\n loading,\n className,\n children,\n singleActionGap = 34,\n width,\n border = 2,\n ...props\n },\n forwardedRef\n) {\n const [loadingState, setLoadingState] = useState(loading || false);\n const [loadingStep, setLoadingStep] = useState(113);\n const loadingInterval = useRef(0);\n\n const [dropdownIsActive, setDropdownIsActive] = useState(false);\n\n const enableLoading = () => {\n loadingInterval.current = setInterval(() => {\n setLoadingStep(currentLoadingStep => {\n const newLoadingStep = Math.round(currentLoadingStep - (15 * currentLoadingStep) / 100);\n\n if (newLoadingStep === currentLoadingStep) {\n clearInterval(loadingInterval.current);\n }\n\n return newLoadingStep;\n });\n }, 300);\n\n setLoadingState(true);\n };\n\n const disableLoading = () => {\n clearInterval(loadingInterval.current);\n\n setLoadingStep(0);\n\n setTimeout(() => {\n setLoadingState(false);\n setLoadingStep(113);\n }, 500);\n };\n\n useEffect(() => {\n if (loading) {\n enableLoading();\n } else {\n disableLoading();\n }\n\n return () => clearInterval(loadingInterval.current);\n }, [loading]);\n\n const handleDropdownButtonClick = () => {\n setDropdownIsActive(true);\n };\n\n const handleDropdownClose = () => {\n setDropdownIsActive(false);\n };\n\n return (\n <S.ButtonWrapper>\n {!singleAction ? (\n <S.MainButtonWrapper\n activeDropdown={activeDropdown}\n dropdownItems={dropdownItems}\n outlined={outlined}\n secondary={secondary}\n block={block}\n >\n <S.MainButtonContainer\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n block={block}\n >\n <S.Button\n ref={forwardedRef}\n onClick={onClickEffect}\n border={border}\n singleAction={singleAction}\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n block={block}\n size={size}\n disabled={disabled}\n className={className}\n aria-busy={disabled}\n width={width}\n {...props}\n >\n <S.ButtonContent $loading={loadingState} size={size}>\n {icon}\n {children}\n </S.ButtonContent>\n <S.LoadingIndicator\n $loading={loadingState}\n style={{\n opacity: loadingState ? 1 : 0\n }}\n >\n <S.LoadingIndicatorSvg viewBox=\"22 22 44 44\">\n <S.LoadingIndicatorSvgCircle\n cx=\"44\"\n cy=\"44\"\n r=\"18\"\n fill=\"none\"\n strokeWidth=\"4\"\n stroke=\"currentColor\"\n style={{\n strokeDashoffset: `${loadingStep}px`\n }}\n />\n </S.LoadingIndicatorSvg>\n </S.LoadingIndicator>\n </S.Button>\n </S.MainButtonContainer>\n {(activeDropdown || dropdownItems) && (\n <S.DropdownButtonContainer\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n >\n <Popover\n content={<ContextMenu>{dropdownItems}</ContextMenu>}\n placement={'bottom-end'}\n arrow={false}\n contextMenu={true}\n onHide={handleDropdownClose}\n >\n <S.Button\n ref={forwardedRef}\n singleAction={singleAction}\n singleActionGap={singleActionGap}\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n border={border}\n block={block}\n size={size}\n disabled={disabled}\n onClick={handleDropdownButtonClick}\n className={dropdownIsActive ? 'dropdown-is-active' : ''}\n width={width}\n >\n <DropdownIcon />\n </S.Button>\n </Popover>\n </S.DropdownButtonContainer>\n )}\n </S.MainButtonWrapper>\n ) : (\n <>\n <S.MainButtonContainerSingle\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n className={className}\n >\n <S.DropdownButtonContainer singleAction={singleAction}>\n <Popover\n content={<ContextMenu>{dropdownItems}</ContextMenu>}\n placement={'bottom-end'}\n arrow={false}\n contextMenu={true}\n onHide={handleDropdownClose}\n >\n <S.Button\n ref={forwardedRef}\n singleAction={singleAction}\n singleActionGap={singleActionGap}\n dropdownItems={dropdownItems}\n secondary={secondary}\n outlined={outlined}\n border={border}\n block={block}\n size={size}\n disabled={disabled}\n onClick={handleDropdownButtonClick}\n className={dropdownIsActive ? 'dropdown-is-active' : ''}\n width={width}\n >\n <S.ButtonContent $loading={loadingState} size={size} singleAction={singleAction}>\n {icon}\n {children}\n </S.ButtonContent>\n <DropdownIcon />\n </S.Button>\n </Popover>\n </S.DropdownButtonContainer>\n </S.MainButtonContainerSingle>\n </>\n )}\n </S.ButtonWrapper>\n );\n});\n\nButton.propTypes = {\n /**\n * On-click effect for the main button\n */\n onClickEffect: PropTypes.func,\n\n /**\n * Whether the button is a \"single action button\". For single action buttons,\n * the entire button opens the dropdown menu, not just the arrow.\n */\n singleAction: PropTypes.bool,\n\n /**\n * Whether the button must have an active dropdown menu.\n */\n activeDropdown: PropTypes.bool,\n\n /**\n * An array containing nodes of the `ContextMenuItem` component\n */\n dropdownItems: PropTypes.node,\n\n /**\n * Whether the button should be styled as a secondary button\n */\n secondary: PropTypes.bool,\n\n /**\n * Whether the button should be styled with borders\n */\n outlined: PropTypes.bool,\n\n /**\n * Whether the button should customize the border width\n */\n border: PropTypes.number,\n\n /**\n * Whether the button should be of 100% width\n */\n block: PropTypes.bool,\n\n /**\n * Optional icon to be displayed on the left side of the button\n */\n icon: PropTypes.element,\n\n /**\n * Which size variation should be used\n */\n size: PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),\n\n /**\n * Whether the button should be disabled\n */\n disabled: PropTypes.bool,\n\n /**\n * Whether the button should be initiated in a loading state\n */\n loading: PropTypes.bool,\n\n /**\n * Optional custom classnames for the HTML element\n */\n className: PropTypes.string,\n\n /**\n * Main content of the button\n */\n children: PropTypes.any.isRequired,\n /**\n * Gap between arrow and text in single action button\n */\n singleActionGap: PropTypes.number,\n\n /**\n * Custom min-width\n */\n width: PropTypes.number\n};\n\nexport default Button;\n"],"names":["Button","React","forwardRef","onClickEffect","singleAction","activeDropdown","dropdownItems","secondary","outlined","block","icon","size","disabled","loading","className","children","singleActionGap","width","border","props","forwardedRef","loadingState","setLoadingState","useState","loadingStep","setLoadingStep","loadingInterval","useRef","dropdownIsActive","setDropdownIsActive","enableLoading","current","setInterval","currentLoadingStep","newLoadingStep","Math","round","clearInterval","disableLoading","setTimeout","useEffect","handleDropdownButtonClick","handleDropdownClose","createElement","S","_extends","ref","onClick","$loading","style","opacity","viewBox","cx","cy","r","fill","strokeWidth","stroke","strokeDashoffset","Popover","content","ContextMenu","placement","arrow","contextMenu","onHide","DropdownIcon","Fragment","propTypes","process","env","NODE_ENV","PropTypes","func","bool","node","number","element","oneOf","string","any","isRequired"],"mappings":"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"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import { _ as _extends } from './_rollupPluginBabelHelpers-c245b26a.js';
|
|
2
|
-
import React__default, { useState, useRef, useEffect } from 'react';
|
|
3
|
-
import { a as applyDefaultTheme, P as PropTypes } from './defaultTheme-1bcc2541.js';
|
|
4
1
|
import styled, { css } from 'styled-components';
|
|
5
|
-
import {
|
|
6
|
-
import { C as ContextMenu } from './ContextMenu-0f7134e4.js';
|
|
7
|
-
import { S as SvgExpandMore } from './expand-more-c5523c46.js';
|
|
2
|
+
import { applyDefaultTheme } from '../../utils/defaultTheme.js';
|
|
8
3
|
|
|
9
|
-
const Button
|
|
4
|
+
const Button = styled.button.attrs(applyDefaultTheme)`
|
|
10
5
|
position: relative;
|
|
11
6
|
border-radius: 3px;
|
|
12
7
|
font-family: inherit;
|
|
@@ -261,182 +256,5 @@ const DropdownButtonContainer = styled.div.attrs(applyDefaultTheme)`
|
|
|
261
256
|
}
|
|
262
257
|
`;
|
|
263
258
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
singleAction = false,
|
|
267
|
-
activeDropdown = false,
|
|
268
|
-
dropdownItems,
|
|
269
|
-
secondary,
|
|
270
|
-
outlined,
|
|
271
|
-
block = false,
|
|
272
|
-
icon,
|
|
273
|
-
size = 'normal',
|
|
274
|
-
disabled,
|
|
275
|
-
loading,
|
|
276
|
-
className,
|
|
277
|
-
children,
|
|
278
|
-
singleActionGap = 34,
|
|
279
|
-
width,
|
|
280
|
-
border = 2,
|
|
281
|
-
...props
|
|
282
|
-
}, forwardedRef) {
|
|
283
|
-
const [loadingState, setLoadingState] = useState(loading || false);
|
|
284
|
-
const [loadingStep, setLoadingStep] = useState(113);
|
|
285
|
-
const loadingInterval = useRef(0);
|
|
286
|
-
const [dropdownIsActive, setDropdownIsActive] = useState(false);
|
|
287
|
-
const enableLoading = () => {
|
|
288
|
-
loadingInterval.current = setInterval(() => {
|
|
289
|
-
setLoadingStep(currentLoadingStep => {
|
|
290
|
-
const newLoadingStep = Math.round(currentLoadingStep - 15 * currentLoadingStep / 100);
|
|
291
|
-
if (newLoadingStep === currentLoadingStep) {
|
|
292
|
-
clearInterval(loadingInterval.current);
|
|
293
|
-
}
|
|
294
|
-
return newLoadingStep;
|
|
295
|
-
});
|
|
296
|
-
}, 300);
|
|
297
|
-
setLoadingState(true);
|
|
298
|
-
};
|
|
299
|
-
const disableLoading = () => {
|
|
300
|
-
clearInterval(loadingInterval.current);
|
|
301
|
-
setLoadingStep(0);
|
|
302
|
-
setTimeout(() => {
|
|
303
|
-
setLoadingState(false);
|
|
304
|
-
setLoadingStep(113);
|
|
305
|
-
}, 500);
|
|
306
|
-
};
|
|
307
|
-
useEffect(() => {
|
|
308
|
-
if (loading) {
|
|
309
|
-
enableLoading();
|
|
310
|
-
} else {
|
|
311
|
-
disableLoading();
|
|
312
|
-
}
|
|
313
|
-
return () => clearInterval(loadingInterval.current);
|
|
314
|
-
}, [loading]);
|
|
315
|
-
const handleDropdownButtonClick = () => {
|
|
316
|
-
setDropdownIsActive(true);
|
|
317
|
-
};
|
|
318
|
-
const handleDropdownClose = () => {
|
|
319
|
-
setDropdownIsActive(false);
|
|
320
|
-
};
|
|
321
|
-
return React__default.createElement(ButtonWrapper, null, !singleAction ? React__default.createElement(MainButtonWrapper, {
|
|
322
|
-
activeDropdown: activeDropdown,
|
|
323
|
-
dropdownItems: dropdownItems,
|
|
324
|
-
outlined: outlined,
|
|
325
|
-
secondary: secondary,
|
|
326
|
-
block: block
|
|
327
|
-
}, React__default.createElement(MainButtonContainer, {
|
|
328
|
-
dropdownItems: dropdownItems,
|
|
329
|
-
secondary: secondary,
|
|
330
|
-
outlined: outlined,
|
|
331
|
-
block: block
|
|
332
|
-
}, React__default.createElement(Button$1, _extends({
|
|
333
|
-
ref: forwardedRef,
|
|
334
|
-
onClick: onClickEffect,
|
|
335
|
-
border: border,
|
|
336
|
-
singleAction: singleAction,
|
|
337
|
-
dropdownItems: dropdownItems,
|
|
338
|
-
secondary: secondary,
|
|
339
|
-
outlined: outlined,
|
|
340
|
-
block: block,
|
|
341
|
-
size: size,
|
|
342
|
-
disabled: disabled,
|
|
343
|
-
className: className,
|
|
344
|
-
"aria-busy": disabled,
|
|
345
|
-
width: width
|
|
346
|
-
}, props), React__default.createElement(ButtonContent, {
|
|
347
|
-
$loading: loadingState,
|
|
348
|
-
size: size
|
|
349
|
-
}, icon, children), React__default.createElement(LoadingIndicator, {
|
|
350
|
-
$loading: loadingState,
|
|
351
|
-
style: {
|
|
352
|
-
opacity: loadingState ? 1 : 0
|
|
353
|
-
}
|
|
354
|
-
}, React__default.createElement(LoadingIndicatorSvg, {
|
|
355
|
-
viewBox: "22 22 44 44"
|
|
356
|
-
}, React__default.createElement(LoadingIndicatorSvgCircle, {
|
|
357
|
-
cx: "44",
|
|
358
|
-
cy: "44",
|
|
359
|
-
r: "18",
|
|
360
|
-
fill: "none",
|
|
361
|
-
strokeWidth: "4",
|
|
362
|
-
stroke: "currentColor",
|
|
363
|
-
style: {
|
|
364
|
-
strokeDashoffset: `${loadingStep}px`
|
|
365
|
-
}
|
|
366
|
-
}))))), (activeDropdown || dropdownItems) && React__default.createElement(DropdownButtonContainer, {
|
|
367
|
-
dropdownItems: dropdownItems,
|
|
368
|
-
secondary: secondary,
|
|
369
|
-
outlined: outlined
|
|
370
|
-
}, React__default.createElement(Popover, {
|
|
371
|
-
content: React__default.createElement(ContextMenu, null, dropdownItems),
|
|
372
|
-
placement: 'bottom-end',
|
|
373
|
-
arrow: false,
|
|
374
|
-
contextMenu: true,
|
|
375
|
-
onHide: handleDropdownClose
|
|
376
|
-
}, React__default.createElement(Button$1, {
|
|
377
|
-
ref: forwardedRef,
|
|
378
|
-
singleAction: singleAction,
|
|
379
|
-
singleActionGap: singleActionGap,
|
|
380
|
-
dropdownItems: dropdownItems,
|
|
381
|
-
secondary: secondary,
|
|
382
|
-
outlined: outlined,
|
|
383
|
-
border: border,
|
|
384
|
-
block: block,
|
|
385
|
-
size: size,
|
|
386
|
-
disabled: disabled,
|
|
387
|
-
onClick: handleDropdownButtonClick,
|
|
388
|
-
className: dropdownIsActive ? 'dropdown-is-active' : '',
|
|
389
|
-
width: width
|
|
390
|
-
}, React__default.createElement(SvgExpandMore, null))))) : React__default.createElement(React__default.Fragment, null, React__default.createElement(MainButtonContainerSingle, {
|
|
391
|
-
dropdownItems: dropdownItems,
|
|
392
|
-
secondary: secondary,
|
|
393
|
-
outlined: outlined,
|
|
394
|
-
className: className
|
|
395
|
-
}, React__default.createElement(DropdownButtonContainer, {
|
|
396
|
-
singleAction: singleAction
|
|
397
|
-
}, React__default.createElement(Popover, {
|
|
398
|
-
content: React__default.createElement(ContextMenu, null, dropdownItems),
|
|
399
|
-
placement: 'bottom-end',
|
|
400
|
-
arrow: false,
|
|
401
|
-
contextMenu: true,
|
|
402
|
-
onHide: handleDropdownClose
|
|
403
|
-
}, React__default.createElement(Button$1, {
|
|
404
|
-
ref: forwardedRef,
|
|
405
|
-
singleAction: singleAction,
|
|
406
|
-
singleActionGap: singleActionGap,
|
|
407
|
-
dropdownItems: dropdownItems,
|
|
408
|
-
secondary: secondary,
|
|
409
|
-
outlined: outlined,
|
|
410
|
-
border: border,
|
|
411
|
-
block: block,
|
|
412
|
-
size: size,
|
|
413
|
-
disabled: disabled,
|
|
414
|
-
onClick: handleDropdownButtonClick,
|
|
415
|
-
className: dropdownIsActive ? 'dropdown-is-active' : '',
|
|
416
|
-
width: width
|
|
417
|
-
}, React__default.createElement(ButtonContent, {
|
|
418
|
-
$loading: loadingState,
|
|
419
|
-
size: size,
|
|
420
|
-
singleAction: singleAction
|
|
421
|
-
}, icon, children), React__default.createElement(SvgExpandMore, null)))))));
|
|
422
|
-
});
|
|
423
|
-
Button.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
424
|
-
onClickEffect: PropTypes.func,
|
|
425
|
-
singleAction: PropTypes.bool,
|
|
426
|
-
activeDropdown: PropTypes.bool,
|
|
427
|
-
dropdownItems: PropTypes.node,
|
|
428
|
-
secondary: PropTypes.bool,
|
|
429
|
-
outlined: PropTypes.bool,
|
|
430
|
-
border: PropTypes.number,
|
|
431
|
-
block: PropTypes.bool,
|
|
432
|
-
icon: PropTypes.element,
|
|
433
|
-
size: PropTypes.oneOf(['x-small', 'small', 'normal', 'large']),
|
|
434
|
-
disabled: PropTypes.bool,
|
|
435
|
-
loading: PropTypes.bool,
|
|
436
|
-
className: PropTypes.string,
|
|
437
|
-
children: PropTypes.any.isRequired,
|
|
438
|
-
singleActionGap: PropTypes.number,
|
|
439
|
-
width: PropTypes.number
|
|
440
|
-
} : {};
|
|
441
|
-
|
|
442
|
-
export { Button as B };
|
|
259
|
+
export { Button, ButtonContent, ButtonWrapper, DropdownButtonContainer, LoadingIndicator, LoadingIndicatorSvg, LoadingIndicatorSvgCircle, MainButtonContainer, MainButtonContainerSingle, MainButtonWrapper };
|
|
260
|
+
//# sourceMappingURL=Button.styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.styled.js","sources":["../../../src/components/inputs/Button/Button.styled.js"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { applyDefaultTheme } from '../../../utils/defaultTheme';\n\nexport const Button = styled.button.attrs(applyDefaultTheme)`\n position: relative;\n border-radius: 3px;\n font-family: inherit;\n font-size: 0.875rem;\n font-weight: 400;\n padding: 12px 16px;\n cursor: pointer;\n background: ${props => props.theme.getColor('emerald-500')};\n border: ${props => props.border}px solid ${props => props.theme.getColor('emerald-500')};\n transition: all 250ms, opacity 200ms;\n\n &:hover,\n &.dropdown-is-active {\n background: #296c58;\n border-color: #296c58;\n }\n\n ${props =>\n props.theme.themeProp('color', props.theme.getColor('white'), props.theme.getColor('white'))}\n\n && {\n ${props =>\n props.secondary &&\n css`\n background: ${props => props.theme.getColor('gray-200')};\n border-color: ${props => props.theme.getColor('gray-200')};\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-700'),\n props.theme.getColor('gray-700')\n )}\n\n &:hover,\n &.dropdown-is-active {\n background: ${props => props.theme.getColor('gray-300')};\n border-color: ${props => props.theme.getColor('gray-300')};\n }\n `};\n }\n\n && {\n ${props =>\n props.outlined &&\n css`\n background: transparent;\n transition: none;\n\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('emerald-400'),\n props.theme.getColor('emerald-500')\n )}\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('emerald-400'),\n props.theme.getColor('emerald-500')\n )}\n\n &:hover,\n &.dropdown-is-active {\n background-color: #296c58;\n\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('emerald-600'),\n props.theme.getColor('emerald-600')\n )}\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-200'),\n props.theme.getColor('gray-200')\n )}\n }\n `};\n }\n\n && {\n ${props =>\n props.outlined &&\n props.secondary &&\n css`\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-400'),\n props.theme.getColor('gray-700')\n )}\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-200'),\n props.theme.getColor('gray-700')\n )}\n\n &:hover,\n &.dropdown-is-active {\n background: ${props.theme.getColor('gray-300')};\n\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-300')\n )}\n\n ${props.theme.themeProp(\n 'color',\n props.theme.getColor('gray-700'),\n props.theme.getColor('gray-700')\n )}\n }\n `};\n }\n\n && {\n ${props =>\n props.outlined &&\n props.secondary &&\n props.dropdownItems &&\n css`\n &:hover,\n &.dropdown-is-active {\n ${props.theme.themeProp(\n 'border-color',\n props.theme.getColor('gray-300'),\n props.theme.getColor('gray-300')\n )}\n }\n `};\n }\n\n ${props =>\n props.block &&\n css`\n width: 100%;\n `};\n\n ${props =>\n props.disabled &&\n css`\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n `};\n\n ${props =>\n props.size === 'x-small' &&\n css`\n padding: 1px 16px;\n height: 24px;\n `};\n\n ${props =>\n props.size === 'small' &&\n css`\n padding: 6px 16px;\n `};\n\n ${props =>\n props.size === 'large' &&\n css`\n padding: 16px 16px;\n `};\n\n ${props =>\n props.singleAction &&\n css`\n display: flex;\n align-items: center;\n gap: ${props.singleActionGap}px;\n border-radius: 3px !important;\n transition: all 250ms, opacity 200ms;\n `};\n\n ${props =>\n props.width &&\n css`\n min-width: ${props.width}px;\n justify-content: center;\n `};\n`;\n\nexport const ButtonContent = styled.div.attrs(applyDefaultTheme)`\n display: flex;\n justify-content: center;\n align-items: center;\n transform: scale(1);\n opacity: 1;\n transition: all 200ms;\n\n > svg {\n width: 100%;\n max-width: 16px;\n max-height: 16px;\n margin-right: 8px;\n\n ${props =>\n props.size === 'small' &&\n css`\n max-width: 13px;\n max-height: 13px;\n `};\n\n ${props =>\n props.size === 'x-small' &&\n css`\n max-width: 11px;\n max-height: 11px;\n `};\n }\n\n ${props =>\n props.$loading &&\n css`\n transform: scale(0.95);\n opacity: 0;\n `}\n\n ${props =>\n props.singleAction &&\n css`\n svg {\n width: 100% !important;\n height: 100% !important;\n margin-right: 24px;\n }\n `};\n`;\n\nexport const LoadingIndicator = styled.div.attrs(applyDefaultTheme)`\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n padding: 4px;\n background: inherit;\n opacity: 0;\n transition: opacity 200ms;\n box-sizing: border-box;\n\n ${props =>\n props.$loading &&\n css`\n opacity: 1;\n `}\n`;\n\nexport const LoadingIndicatorSvg = styled.svg.attrs(applyDefaultTheme)`\n height: 100%;\n color: inherit;\n transform: rotate(-88deg);\n`;\n\nexport const LoadingIndicatorSvgCircle = styled.circle.attrs(applyDefaultTheme)`\n transition: stroke-dashoffset 300ms linear;\n stroke-dasharray: 113;\n`;\n\nexport const ButtonWrapper = styled.span.attrs(applyDefaultTheme)`\n white-space: nowrap;\n display: flex;\n ${props =>\n props.block &&\n css`\n width: 100%;\n `}\n`;\n\nexport const MainButtonWrapper = styled.div.attrs(applyDefaultTheme)`\n border-radius: 3px;\n ${props =>\n props.block &&\n css`\n width: 100%;\n display: flex;\n `}\n\n ${props => {\n return (\n (props.activeDropdown || props.dropdownItems) &&\n !props.outlined &&\n css`\n background: ${props.secondary\n ? props.theme.getColor('gray-200')\n : props.theme.getColor('emerald-500')};\n `\n );\n }};\n`;\n\nexport const MainButtonContainer = styled.div.attrs(applyDefaultTheme)`\n display: inline-block;\n\n ${props =>\n props.block &&\n css`\n flex: 1;\n width: 100%;\n `}\n\n button {\n ${props =>\n (props.activeDropdown || props.dropdownItems) &&\n css`\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n `};\n\n ${props =>\n (props.activeDropdown || props.dropdownItems) &&\n props.outlined &&\n css`\n border-right: none;\n `};\n }\n`;\n\nexport const MainButtonContainerSingle = styled.div.attrs(applyDefaultTheme)`\n display: inline-block;\n width: 100%;\n ${props =>\n props.singleAction &&\n css`\n display: flex;\n align-items: center;\n border-radius: 3px !important;\n transition: all 250ms, opacity 200ms;\n `};\n\n button {\n ${props =>\n (props.activeDropdown || props.dropdownItems) &&\n css`\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n `};\n }\n`;\n\nexport const DropdownButtonContainer = styled.div.attrs(applyDefaultTheme)`\n display: inline-block;\n\n button {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n\n ${props => !props.singleAction && 'border-left: none'};\n }\n\n svg {\n color: inherit;\n height: 7px;\n width: 12px;\n\n ${props => !props.singleAction && 'margin-bottom: 1px'};\n }\n`;\n"],"names":["Button","styled","button","attrs","applyDefaultTheme","props","theme","getColor","border","themeProp","secondary","css","outlined","dropdownItems","block","disabled","size","singleAction","singleActionGap","width","ButtonContent","div","$loading","LoadingIndicator","LoadingIndicatorSvg","svg","LoadingIndicatorSvgCircle","circle","ButtonWrapper","span","MainButtonWrapper","activeDropdown","MainButtonContainer","MainButtonContainerSingle","DropdownButtonContainer"],"mappings":";;;AAGO,MAAMA,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACC,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAgBC,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC5D,UAAA,EAAYF,KAAK,IAAIA,KAAK,CAACG,MAAM,CAAYH,SAAAA,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,CAAA;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAIF,EAAAA,KAAK,IACLA,KAAK,CAACC,KAAK,CAACG,SAAS,CAAC,OAAO,EAAEJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAEF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;AAChG;AACA;AACA,IAAA,EAAMF,KAAK,IACLA,KAAK,CAACK,SAAS,IACfC,GAAG,CAAA;AACT,oBAAsBN,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AAC/D,sBAAwBF,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACjE;AACA,QAAUF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACT;AACA;AACA;AACA,sBAAwBF,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACjE,wBAA0BF,EAAAA,KAAK,IAAIA,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACnE;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA;AACA,IAAA,EAAMF,KAAK,IACLA,KAAK,CAACO,QAAQ,IACdD,GAAG,CAAA;AACT;AACA;AACA;AACA,QAAUN,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EACnCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CACpC,CAAC,CAAA;AACT;AACA,QAAUF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EACnCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CACpC,CAAC,CAAA;AACT;AACA;AACA;AACA;AACA;AACA,UAAYF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EACnCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CACpC,CAAC,CAAA;AACX;AACA,UAAYF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACX;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA;AACA,IAAMF,EAAAA,KAAK,IACLA,KAAK,CAACO,QAAQ,IACdP,KAAK,CAACK,SAAS,IACfC,GAAG,CAAA;AACT,QAAUN,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACT;AACA,QAAUF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACT;AACA;AACA;AACA,sBAAA,EAAwBF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,CAAA;AACxD;AACA,UAAYF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACX;AACA,UAAYF,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,OAAO,EACPJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACX;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA;AACA,IAAA,EAAMF,KAAK,IACLA,KAAK,CAACO,QAAQ,IACdP,KAAK,CAACK,SAAS,IACfL,KAAK,CAACQ,aAAa,IACnBF,GAAG,CAAA;AACT;AACA;AACA,UAAYN,EAAAA,KAAK,CAACC,KAAK,CAACG,SAAS,CACrB,cAAc,EACdJ,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,EAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CACjC,CAAC,CAAA;AACX;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA,EAAA,EAAIF,KAAK,IACLA,KAAK,CAACS,KAAK,IACXH,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIN,KAAK,IACLA,KAAK,CAACU,QAAQ,IACdJ,GAAG,CAAA;AACP;AACA;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAIN,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,SAAS,IACxBL,GAAG,CAAA;AACP;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAIN,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,OAAO,IACtBL,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAIN,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,OAAO,IACtBL,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIN,KAAK,IACLA,KAAK,CAACY,YAAY,IAClBN,GAAG,CAAA;AACP;AACA;AACA,WAAaN,EAAAA,KAAK,CAACa,eAAe,CAAA;AAClC;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIb,KAAK,IACLA,KAAK,CAACc,KAAK,IACXR,GAAG,CAAA;AACP,iBAAmBN,EAAAA,KAAK,CAACc,KAAK,CAAA;AAC9B;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAEM,MAAMC,aAAa,GAAGnB,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,OAAO,IACtBL,GAAG,CAAA;AACT;AACA;AACA,MAAO,CAAA,CAAA;AACP;AACA,IAAMN,EAAAA,KAAK,IACLA,KAAK,CAACW,IAAI,KAAK,SAAS,IACxBL,GAAG,CAAA;AACT;AACA;AACA,MAAO,CAAA,CAAA;AACP;AACA;AACA,EAAA,EAAIN,KAAK,IACLA,KAAK,CAACiB,QAAQ,IACdX,GAAG,CAAA;AACP;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIN,KAAK,IACLA,KAAK,CAACY,YAAY,IAClBN,GAAG,CAAA;AACP;AACA;AACA;AACA;AACA;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAEM,MAAMY,gBAAgB,GAAGtB,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACiB,QAAQ,IACdX,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAEM,MAAMa,mBAAmB,GAAGvB,MAAM,CAACwB,GAAG,CAACtB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACtE;AACA;AACA;AACA,EAAC;AAEM,MAAMsB,yBAAyB,GAAGzB,MAAM,CAAC0B,MAAM,CAACxB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC/E;AACA;AACA,EAAC;AAEM,MAAMwB,aAAa,GAAG3B,MAAM,CAAC4B,IAAI,CAAC1B,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACjE;AACA;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACS,KAAK,IACXH,GAAG,CAAA;AACP;AACA,IAAK,CAAA,CAAA;AACL,EAAC;AAEM,MAAMmB,iBAAiB,GAAG7B,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACpE;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACS,KAAK,IACXH,GAAG,CAAA;AACP;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA,EAAA,EAAIN,KAAK,IAAI;AACT,EAAA,OACE,CAACA,KAAK,CAAC0B,cAAc,IAAI1B,KAAK,CAACQ,aAAa,KAC5C,CAACR,KAAK,CAACO,QAAQ,IACfD,GAAG,CAAA;AACT,oBAAsBN,EAAAA,KAAK,CAACK,SAAS,GACzBL,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,UAAU,CAAC,GAChCF,KAAK,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,CAAA;AAC/C,MAAO,CAAA,CAAA;AAEL,CAAC,CAAA;AACH,EAAC;AAEM,MAAMyB,mBAAmB,GAAG/B,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AACtE;AACA;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACS,KAAK,IACXH,GAAG,CAAA;AACP;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA;AACA,IAAMN,EAAAA,KAAK,IACL,CAACA,KAAK,CAAC0B,cAAc,IAAI1B,KAAK,CAACQ,aAAa,KAC5CF,GAAG,CAAA;AACT;AACA;AACA,MAAO,CAAA,CAAA;AACP;AACA,IAAA,EAAMN,KAAK,IACL,CAACA,KAAK,CAAC0B,cAAc,IAAI1B,KAAK,CAACQ,aAAa,KAC5CR,KAAK,CAACO,QAAQ,IACdD,GAAG,CAAA;AACT;AACA,MAAO,CAAA,CAAA;AACP;AACA,EAAC;AAEM,MAAMsB,yBAAyB,GAAGhC,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC5E;AACA;AACA,EAAA,EAAIC,KAAK,IACLA,KAAK,CAACY,YAAY,IAClBN,GAAG,CAAA;AACP;AACA;AACA;AACA;AACA,IAAK,CAAA,CAAA;AACL;AACA;AACA,IAAMN,EAAAA,KAAK,IACL,CAACA,KAAK,CAAC0B,cAAc,IAAI1B,KAAK,CAACQ,aAAa,KAC5CF,GAAG,CAAA;AACT;AACA;AACA,MAAO,CAAA,CAAA;AACP;AACA,EAAC;AAEM,MAAMuB,uBAAuB,GAAGjC,MAAM,CAACoB,GAAG,CAAClB,KAAK,CAACC,iBAAiB,CAAC,CAAA;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMC,KAAK,IAAI,CAACA,KAAK,CAACY,YAAY,IAAI,mBAAmB,CAAA;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMZ,KAAK,IAAI,CAACA,KAAK,CAACY,YAAY,IAAI,oBAAoB,CAAA;AAC1D;AACA;;;;"}
|
|
@@ -1,13 +1,2 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
import 'react';
|
|
4
|
-
import '../../defaultTheme-1bcc2541.js';
|
|
5
|
-
import 'styled-components';
|
|
6
|
-
import '../../Popover-20050b91.js';
|
|
7
|
-
import 'lodash';
|
|
8
|
-
import 'polished';
|
|
9
|
-
import '@tippyjs/react';
|
|
10
|
-
import '../../shift-away-subtle-0dd94a03.js';
|
|
11
|
-
import 'popper-max-size-modifier';
|
|
12
|
-
import '../../ContextMenu-0f7134e4.js';
|
|
13
|
-
import '../../expand-more-c5523c46.js';
|
|
1
|
+
export { default } from './Button.js';
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import React__default, { useState, useMemo } from 'react';
|
|
2
|
+
import { nanoid } from 'nanoid';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { isBoolean, isEmpty } from 'lodash';
|
|
5
|
+
import { Checkbox as Checkbox$1, CheckboxLabel, IndeterminateCheckIcon, CheckIcon, CheckboxVisualLabel, Description } from './Checkbox.styled.js';
|
|
6
|
+
|
|
7
|
+
const Checkbox = React__default.forwardRef(function Checkbox({
|
|
8
|
+
checked,
|
|
9
|
+
defaultChecked,
|
|
10
|
+
disabled,
|
|
11
|
+
readOnly,
|
|
12
|
+
name,
|
|
13
|
+
value,
|
|
14
|
+
description,
|
|
15
|
+
error,
|
|
16
|
+
indeterminate,
|
|
17
|
+
muted,
|
|
18
|
+
label,
|
|
19
|
+
onChange,
|
|
20
|
+
onBlur,
|
|
21
|
+
className,
|
|
22
|
+
style
|
|
23
|
+
}, forwardedRef) {
|
|
24
|
+
const [uniqueId] = useState(nanoid());
|
|
25
|
+
const hasError = useMemo(() => {
|
|
26
|
+
if (isBoolean(error)) {
|
|
27
|
+
return error;
|
|
28
|
+
}
|
|
29
|
+
return !isEmpty(error);
|
|
30
|
+
}, [error]);
|
|
31
|
+
const descriptionText = useMemo(() => {
|
|
32
|
+
if (!isEmpty(error)) {
|
|
33
|
+
return error;
|
|
34
|
+
}
|
|
35
|
+
if (!isEmpty(description)) {
|
|
36
|
+
return description;
|
|
37
|
+
}
|
|
38
|
+
return null;
|
|
39
|
+
}, [description, error]);
|
|
40
|
+
return React__default.createElement(Checkbox$1, {
|
|
41
|
+
className: className,
|
|
42
|
+
disabled: disabled,
|
|
43
|
+
readOnly: readOnly,
|
|
44
|
+
style: style
|
|
45
|
+
}, React__default.createElement(CheckboxLabel, {
|
|
46
|
+
disabled: disabled,
|
|
47
|
+
muted: muted,
|
|
48
|
+
readOnly: readOnly,
|
|
49
|
+
htmlFor: uniqueId
|
|
50
|
+
}, React__default.createElement("input", {
|
|
51
|
+
ref: forwardedRef,
|
|
52
|
+
id: uniqueId,
|
|
53
|
+
checked: checked,
|
|
54
|
+
defaultChecked: defaultChecked,
|
|
55
|
+
disabled: disabled,
|
|
56
|
+
readOnly: readOnly,
|
|
57
|
+
value: value,
|
|
58
|
+
name: name,
|
|
59
|
+
type: "checkbox",
|
|
60
|
+
onChange: onChange,
|
|
61
|
+
onBlur: onBlur,
|
|
62
|
+
"data-indeterminate": indeterminate
|
|
63
|
+
}), React__default.createElement(IndeterminateCheckIcon, null), React__default.createElement(CheckIcon, null, React__default.createElement("svg", {
|
|
64
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
65
|
+
viewBox: "0 0 10.9 8.45"
|
|
66
|
+
}, React__default.createElement("path", {
|
|
67
|
+
d: "m3.68,8.45L0,4.75l1.21-1.21,2.47,2.45L9.7,0l1.21,1.23-7.22,7.22Z",
|
|
68
|
+
fill: "currentColor"
|
|
69
|
+
}))), (typeof label === 'string' && label.length > 0 || typeof label === 'object') && React__default.createElement(CheckboxVisualLabel, null, label)), typeof descriptionText === 'string' && descriptionText.length > 0 && React__default.createElement(Description, {
|
|
70
|
+
error: hasError
|
|
71
|
+
}, descriptionText));
|
|
72
|
+
});
|
|
73
|
+
Checkbox.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
74
|
+
checked: PropTypes.bool,
|
|
75
|
+
defaultChecked: PropTypes.bool,
|
|
76
|
+
label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
|
|
77
|
+
disabled: PropTypes.bool,
|
|
78
|
+
readOnly: PropTypes.bool,
|
|
79
|
+
name: PropTypes.string,
|
|
80
|
+
value: PropTypes.string,
|
|
81
|
+
description: PropTypes.string,
|
|
82
|
+
error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
|
|
83
|
+
indeterminate: PropTypes.bool,
|
|
84
|
+
muted: PropTypes.bool,
|
|
85
|
+
onChange: PropTypes.func,
|
|
86
|
+
onBlur: PropTypes.func,
|
|
87
|
+
className: PropTypes.string,
|
|
88
|
+
style: PropTypes.object
|
|
89
|
+
} : {};
|
|
90
|
+
Checkbox.defaultProps = {
|
|
91
|
+
disabled: false,
|
|
92
|
+
readOnly: false,
|
|
93
|
+
indeterminate: false
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
export { Checkbox as default };
|
|
97
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../src/components/inputs/Checkbox/Checkbox.js"],"sourcesContent":["import React, { useMemo, useState } from 'react';\n\nimport { nanoid } from 'nanoid';\nimport PropTypes from 'prop-types';\n\nimport { isBoolean, isEmpty } from 'lodash';\nimport * as S from './Checkbox.styled';\n\n/**\n * Checkboxes allow the user to select one or more items from a set.\n *\n * If you have a single option, avoid using a checkbox and use an on/off switch (`Switch` component) instead.\n *\n *\n * ### Import\n *\n * ``` js\n * import { Checkbox } from '@ntbjs/react-components/inputs'\n * // or\n * import Checkbox from '@ntbjs/react-components/inputs/Checkbox'\n * ```\n */\nconst Checkbox = React.forwardRef(function Checkbox(\n {\n checked,\n defaultChecked,\n disabled,\n readOnly,\n name,\n value,\n description,\n error,\n indeterminate,\n muted,\n label,\n onChange,\n onBlur,\n className,\n style\n },\n forwardedRef\n) {\n const [uniqueId] = useState(nanoid());\n\n const hasError = useMemo(() => {\n if (isBoolean(error)) {\n return error;\n }\n\n return !isEmpty(error);\n }, [error]);\n\n const descriptionText = useMemo(() => {\n if (!isEmpty(error)) {\n return error;\n }\n\n if (!isEmpty(description)) {\n return description;\n }\n\n return null;\n }, [description, error]);\n\n return (\n <S.Checkbox className={className} disabled={disabled} readOnly={readOnly} style={style}>\n <S.CheckboxLabel disabled={disabled} muted={muted} readOnly={readOnly} htmlFor={uniqueId}>\n <input\n ref={forwardedRef}\n id={uniqueId}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n readOnly={readOnly}\n value={value}\n name={name}\n type=\"checkbox\"\n onChange={onChange}\n onBlur={onBlur}\n data-indeterminate={indeterminate}\n />\n\n <S.IndeterminateCheckIcon />\n <S.CheckIcon>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 10.9 8.45\">\n <path\n d=\"m3.68,8.45L0,4.75l1.21-1.21,2.47,2.45L9.7,0l1.21,1.23-7.22,7.22Z\"\n fill=\"currentColor\"\n />\n </svg>\n </S.CheckIcon>\n {((typeof label === 'string' && label.length > 0) || typeof label === 'object') && (\n <S.CheckboxVisualLabel>{label}</S.CheckboxVisualLabel>\n )}\n </S.CheckboxLabel>\n {typeof descriptionText === 'string' && descriptionText.length > 0 && (\n <S.Description error={hasError}>{descriptionText}</S.Description>\n )}\n </S.Checkbox>\n );\n});\n\nCheckbox.propTypes = {\n /**\n * Whether the checkbox is checked\n */\n checked: PropTypes.bool,\n\n /**\n * Whether the checkbox should be checked or unchecked by default\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * The checkbox' label\n */\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\n /**\n * Whether the checkbox is disabled\n */\n disabled: PropTypes.bool,\n\n /**\n * Whether the checkbox is read-only\n */\n readOnly: PropTypes.bool,\n\n /**\n * The checkbox' name\n */\n name: PropTypes.string,\n\n /**\n * The checkbox' value\n */\n value: PropTypes.string,\n\n /**\n * Description of the checkbox\n */\n description: PropTypes.string,\n\n /**\n * Whether there's an error. Error message can be passed as a `string` to be displayed below the checkbox.\n */\n error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n\n /**\n * Whether the checkbox is indeterminate. This will display a dash in the checkbox instead of the default checkmark.\n */\n indeterminate: PropTypes.bool,\n\n /**\n * Mutes the color of the visual checkbox – Does not mute the label or other parts of the Checkbox\n */\n muted: PropTypes.bool,\n\n /**\n * On-change effect\n */\n onChange: PropTypes.func,\n\n /**\n * On-blur effect\n */\n onBlur: PropTypes.func,\n\n /**\n * Optional class name for the HTML element\n */\n className: PropTypes.string,\n\n /**\n * Optional in-line styling for the HTML element\n */\n style: PropTypes.object\n};\n\nCheckbox.defaultProps = {\n disabled: false,\n readOnly: false,\n indeterminate: false\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","React","forwardRef","checked","defaultChecked","disabled","readOnly","name","value","description","error","indeterminate","muted","label","onChange","onBlur","className","style","forwardedRef","uniqueId","useState","nanoid","hasError","useMemo","isBoolean","isEmpty","descriptionText","createElement","S","htmlFor","ref","id","type","xmlns","viewBox","d","fill","length","propTypes","process","env","NODE_ENV","PropTypes","bool","oneOfType","string","element","func","object","defaultProps"],"mappings":";;;;;;AAsBMA,MAAAA,QAAQ,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,QAAQA,CACjD;EACEG,OAAO;EACPC,cAAc;EACdC,QAAQ;EACRC,QAAQ;EACRC,IAAI;EACJC,KAAK;EACLC,WAAW;EACXC,KAAK;EACLC,aAAa;EACbC,KAAK;EACLC,KAAK;EACLC,QAAQ;EACRC,MAAM;EACNC,SAAS;AACTC,EAAAA,KAAAA;AACF,CAAC,EACDC,YAAY,EACZ;EACA,MAAM,CAACC,QAAQ,CAAC,GAAGC,QAAQ,CAACC,MAAM,EAAE,CAAC,CAAA;AAErC,EAAA,MAAMC,QAAQ,GAAGC,OAAO,CAAC,MAAM;AAC7B,IAAA,IAAIC,SAAS,CAACd,KAAK,CAAC,EAAE;AACpB,MAAA,OAAOA,KAAK,CAAA;AACd,KAAA;AAEA,IAAA,OAAO,CAACe,OAAO,CAACf,KAAK,CAAC,CAAA;AACxB,GAAC,EAAE,CAACA,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,MAAMgB,eAAe,GAAGH,OAAO,CAAC,MAAM;AACpC,IAAA,IAAI,CAACE,OAAO,CAACf,KAAK,CAAC,EAAE;AACnB,MAAA,OAAOA,KAAK,CAAA;AACd,KAAA;AAEA,IAAA,IAAI,CAACe,OAAO,CAAChB,WAAW,CAAC,EAAE;AACzB,MAAA,OAAOA,WAAW,CAAA;AACpB,KAAA;AAEA,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,EAAE,CAACA,WAAW,EAAEC,KAAK,CAAC,CAAC,CAAA;AAExB,EAAA,OACET,cAAA,CAAA0B,aAAA,CAACC,UAAU,EAAA;AAACZ,IAAAA,SAAS,EAAEA,SAAU;AAACX,IAAAA,QAAQ,EAAEA,QAAS;AAACC,IAAAA,QAAQ,EAAEA,QAAS;AAACW,IAAAA,KAAK,EAAEA,KAAAA;AAAM,GAAA,EACrFhB,cAAA,CAAA0B,aAAA,CAACC,aAAe,EAAA;AAACvB,IAAAA,QAAQ,EAAEA,QAAS;AAACO,IAAAA,KAAK,EAAEA,KAAM;AAACN,IAAAA,QAAQ,EAAEA,QAAS;AAACuB,IAAAA,OAAO,EAAEV,QAAAA;GAC9ElB,EAAAA,cAAA,CAAA0B,aAAA,CAAA,OAAA,EAAA;AACEG,IAAAA,GAAG,EAAEZ,YAAa;AAClBa,IAAAA,EAAE,EAAEZ,QAAS;AACbhB,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,QAAQ,EAAEA,QAAS;AACnBE,IAAAA,KAAK,EAAEA,KAAM;AACbD,IAAAA,IAAI,EAAEA,IAAK;AACXyB,IAAAA,IAAI,EAAC,UAAU;AACflB,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,MAAM,EAAEA,MAAO;IACf,oBAAoBJ,EAAAA,aAAAA;GACrB,CAAC,EAEFV,cAAA,CAAA0B,aAAA,CAACC,sBAAwB,EAAE,IAAA,CAAC,EAC5B3B,cAAA,CAAA0B,aAAA,CAACC,SAAW,EAAA,IAAA,EACV3B,cAAA,CAAA0B,aAAA,CAAA,KAAA,EAAA;AAAKM,IAAAA,KAAK,EAAC,4BAA4B;AAACC,IAAAA,OAAO,EAAC,eAAA;GAC9CjC,EAAAA,cAAA,CAAA0B,aAAA,CAAA,MAAA,EAAA;AACEQ,IAAAA,CAAC,EAAC,kEAAkE;AACpEC,IAAAA,IAAI,EAAC,cAAA;GACN,CACE,CACM,CAAC,EACb,CAAE,OAAOvB,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAACwB,MAAM,GAAG,CAAC,IAAK,OAAOxB,KAAK,KAAK,QAAQ,KAC5EZ,cAAA,CAAA0B,aAAA,CAACC,mBAAqB,QAAEf,KAA6B,CAExC,CAAC,EACjB,OAAOa,eAAe,KAAK,QAAQ,IAAIA,eAAe,CAACW,MAAM,GAAG,CAAC,IAChEpC,cAAA,CAAA0B,aAAA,CAACC,WAAa,EAAA;AAAClB,IAAAA,KAAK,EAAEY,QAAAA;GAAWI,EAAAA,eAA+B,CAExD,CAAC,CAAA;AAEjB,CAAC,EAAC;AAEF1B,QAAQ,CAACsC,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EAInBtC,OAAO,EAAEuC,SAAS,CAACC,IAAI;EAKvBvC,cAAc,EAAEsC,SAAS,CAACC,IAAI;AAK9B9B,EAAAA,KAAK,EAAE6B,SAAS,CAACE,SAAS,CAAC,CAACF,SAAS,CAACG,MAAM,EAAEH,SAAS,CAACI,OAAO,CAAC,CAAC;EAKjEzC,QAAQ,EAAEqC,SAAS,CAACC,IAAI;EAKxBrC,QAAQ,EAAEoC,SAAS,CAACC,IAAI;EAKxBpC,IAAI,EAAEmC,SAAS,CAACG,MAAM;EAKtBrC,KAAK,EAAEkC,SAAS,CAACG,MAAM;EAKvBpC,WAAW,EAAEiC,SAAS,CAACG,MAAM;AAK7BnC,EAAAA,KAAK,EAAEgC,SAAS,CAACE,SAAS,CAAC,CAACF,SAAS,CAACC,IAAI,EAAED,SAAS,CAACG,MAAM,CAAC,CAAC;EAK9DlC,aAAa,EAAE+B,SAAS,CAACC,IAAI;EAK7B/B,KAAK,EAAE8B,SAAS,CAACC,IAAI;EAKrB7B,QAAQ,EAAE4B,SAAS,CAACK,IAAI;EAKxBhC,MAAM,EAAE2B,SAAS,CAACK,IAAI;EAKtB/B,SAAS,EAAE0B,SAAS,CAACG,MAAM;EAK3B5B,KAAK,EAAEyB,SAAS,CAACM,MAAAA;AACnB,CAAC,GAAA,EAAA,CAAA;AAEDhD,QAAQ,CAACiD,YAAY,GAAG;AACtB5C,EAAAA,QAAQ,EAAE,KAAK;AACfC,EAAAA,QAAQ,EAAE,KAAK;AACfK,EAAAA,aAAa,EAAE,KAAA;AACjB,CAAC;;;;"}
|