@redsift/design-system 11.5.0 → 11.6.0-alpha.0
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/_internal/Alert2.js +197 -0
- package/_internal/Alert2.js.map +1 -0
- package/_internal/AppBar.js +248 -0
- package/_internal/AppBar.js.map +1 -0
- package/_internal/AppContainer.js +142 -0
- package/_internal/AppContainer.js.map +1 -0
- package/_internal/AppContent.js +92 -0
- package/_internal/AppContent.js.map +1 -0
- package/_internal/Badge2.js +142 -0
- package/_internal/Badge2.js.map +1 -0
- package/_internal/BreadcrumbItem.js +91 -0
- package/_internal/BreadcrumbItem.js.map +1 -0
- package/_internal/Breadcrumbs2.js +94 -0
- package/_internal/Breadcrumbs2.js.map +1 -0
- package/_internal/Button2.js +91 -0
- package/_internal/Button2.js.map +1 -0
- package/_internal/ButtonGroup.js +181 -0
- package/_internal/ButtonGroup.js.map +1 -0
- package/_internal/ButtonLink.js +84 -0
- package/_internal/ButtonLink.js.map +1 -0
- package/_internal/Card2.js +157 -0
- package/_internal/Card2.js.map +1 -0
- package/_internal/CardActions.js +44 -0
- package/_internal/CardActions.js.map +1 -0
- package/_internal/CardBody.js +42 -0
- package/_internal/CardBody.js.map +1 -0
- package/_internal/CardHeader.js +83 -0
- package/_internal/CardHeader.js.map +1 -0
- package/_internal/Checkbox2.js +244 -0
- package/_internal/Checkbox2.js.map +1 -0
- package/_internal/CheckboxGroup.js +188 -0
- package/_internal/CheckboxGroup.js.map +1 -0
- package/_internal/ConditionalWrapper.js +13 -0
- package/_internal/ConditionalWrapper.js.map +1 -0
- package/_internal/DetailedCard.js +6916 -0
- package/_internal/DetailedCard.js.map +1 -0
- package/_internal/DetailedCardCollapsibleSectionItems.js +64 -0
- package/_internal/DetailedCardCollapsibleSectionItems.js.map +1 -0
- package/_internal/DetailedCardHeader.js +67 -0
- package/_internal/DetailedCardHeader.js.map +1 -0
- package/_internal/DetailedCardSection.js +172 -0
- package/_internal/DetailedCardSection.js.map +1 -0
- package/_internal/DetailedCardSectionItem.js +94 -0
- package/_internal/DetailedCardSectionItem.js.map +1 -0
- package/_internal/Flexbox2.js +93 -0
- package/_internal/Flexbox2.js.map +1 -0
- package/_internal/Grid2.js +95 -0
- package/_internal/Grid2.js.map +1 -0
- package/_internal/GridItem.js +40 -0
- package/_internal/GridItem.js.map +1 -0
- package/_internal/Heading2.js +113 -0
- package/_internal/Heading2.js.map +1 -0
- package/_internal/Icon2.js +211 -0
- package/_internal/Icon2.js.map +1 -0
- package/_internal/IconButton.js +80 -0
- package/_internal/IconButton.js.map +1 -0
- package/_internal/IconButtonLink.js +75 -0
- package/_internal/IconButtonLink.js.map +1 -0
- package/_internal/Item2.js +399 -0
- package/_internal/Item2.js.map +1 -0
- package/_internal/Link2.js +67 -0
- package/_internal/Link2.js.map +1 -0
- package/_internal/LinkButton.js +66 -0
- package/_internal/LinkButton.js.map +1 -0
- package/_internal/Listbox2.js +274 -0
- package/_internal/Listbox2.js.map +1 -0
- package/_internal/Number2.js +111 -0
- package/_internal/Number2.js.map +1 -0
- package/_internal/NumberField.js +3974 -0
- package/_internal/NumberField.js.map +1 -0
- package/_internal/Pill2.js +405 -0
- package/_internal/Pill2.js.map +1 -0
- package/_internal/ProgressBar.js +69 -0
- package/_internal/ProgressBar.js.map +1 -0
- package/_internal/Radio2.js +237 -0
- package/_internal/Radio2.js.map +1 -0
- package/_internal/RadioGroup.js +176 -0
- package/_internal/RadioGroup.js.map +1 -0
- package/_internal/Shield2.js +225 -0
- package/_internal/Shield2.js.map +1 -0
- package/_internal/SideNavigationMenu.js +591 -0
- package/_internal/SideNavigationMenu.js.map +1 -0
- package/_internal/SideNavigationMenuItem.js +304 -0
- package/_internal/SideNavigationMenuItem.js.map +1 -0
- package/_internal/Skeleton2.js +42 -0
- package/_internal/Skeleton2.js.map +1 -0
- package/_internal/SkeletonCircle.js +58 -0
- package/_internal/SkeletonCircle.js.map +1 -0
- package/_internal/SkeletonText.js +77 -0
- package/_internal/SkeletonText.js.map +1 -0
- package/_internal/Spinner2.js +333 -0
- package/_internal/Spinner2.js.map +1 -0
- package/_internal/Switch2.js +320 -0
- package/_internal/Switch2.js.map +1 -0
- package/_internal/SwitchGroup.js +188 -0
- package/_internal/SwitchGroup.js.map +1 -0
- package/_internal/Text2.js +51 -0
- package/_internal/Text2.js.map +1 -0
- package/_internal/TextArea.js +444 -0
- package/_internal/TextArea.js.map +1 -0
- package/_internal/TextField.js +473 -0
- package/_internal/TextField.js.map +1 -0
- package/_internal/_rollupPluginBabelHelpers.js +133 -0
- package/_internal/_rollupPluginBabelHelpers.js.map +1 -0
- package/_internal/alert.js +2 -0
- package/_internal/alert.js.map +1 -0
- package/_internal/app-bar.js +2 -0
- package/_internal/app-bar.js.map +1 -0
- package/_internal/app-container.js +3 -0
- package/_internal/app-container.js.map +1 -0
- package/_internal/app-content.js +2 -0
- package/_internal/app-content.js.map +1 -0
- package/_internal/app-side-panel.js +3 -0
- package/_internal/app-side-panel.js.map +1 -0
- package/_internal/badge.js +2 -0
- package/_internal/badge.js.map +1 -0
- package/_internal/breadcrumb-item.js +2 -0
- package/_internal/breadcrumb-item.js.map +1 -0
- package/_internal/breadcrumbs.js +2 -0
- package/_internal/breadcrumbs.js.map +1 -0
- package/_internal/button-group.js +2 -0
- package/_internal/button-group.js.map +1 -0
- package/_internal/button-link.js +2 -0
- package/_internal/button-link.js.map +1 -0
- package/_internal/button.js +3 -0
- package/_internal/button.js.map +1 -0
- package/_internal/card-actions.js +2 -0
- package/_internal/card-actions.js.map +1 -0
- package/_internal/card-body.js +2 -0
- package/_internal/card-body.js.map +1 -0
- package/_internal/card-header.js +2 -0
- package/_internal/card-header.js.map +1 -0
- package/_internal/card.js +2 -0
- package/_internal/card.js.map +1 -0
- package/_internal/checkbox-group.js +2 -0
- package/_internal/checkbox-group.js.map +1 -0
- package/_internal/checkbox.js +2 -0
- package/_internal/checkbox.js.map +1 -0
- package/_internal/colors.js +98 -0
- package/_internal/colors.js.map +1 -0
- package/_internal/conditional-wrapper.js +2 -0
- package/_internal/conditional-wrapper.js.map +1 -0
- package/_internal/context.js +6 -0
- package/_internal/context.js.map +1 -0
- package/_internal/context2.js +300 -0
- package/_internal/context2.js.map +1 -0
- package/_internal/context3.js +6 -0
- package/_internal/context3.js.map +1 -0
- package/_internal/context4.js +6 -0
- package/_internal/context4.js.map +1 -0
- package/_internal/context5.js +6 -0
- package/_internal/context5.js.map +1 -0
- package/_internal/detailed-card-collapsible-section-items.js +2 -0
- package/_internal/detailed-card-collapsible-section-items.js.map +1 -0
- package/_internal/detailed-card-header.js +2 -0
- package/_internal/detailed-card-header.js.map +1 -0
- package/_internal/detailed-card-section-item.js +2 -0
- package/_internal/detailed-card-section-item.js.map +1 -0
- package/_internal/detailed-card-section.js +2 -0
- package/_internal/detailed-card-section.js.map +1 -0
- package/_internal/detailed-card.js +2 -0
- package/_internal/detailed-card.js.map +1 -0
- package/_internal/filterComponents.js +24 -0
- package/_internal/filterComponents.js.map +1 -0
- package/_internal/flexbox.js +2 -0
- package/_internal/flexbox.js.map +1 -0
- package/_internal/focus-within-group.js +3 -0
- package/_internal/focus-within-group.js.map +1 -0
- package/_internal/fonts.js +10 -0
- package/_internal/fonts.js.map +1 -0
- package/_internal/gradient-border.js +38 -0
- package/_internal/gradient-border.js.map +1 -0
- package/_internal/grid-item.js +2 -0
- package/_internal/grid-item.js.map +1 -0
- package/_internal/grid.js +2 -0
- package/_internal/grid.js.map +1 -0
- package/_internal/heading.js +3 -0
- package/_internal/heading.js.map +1 -0
- package/_internal/icon-button-link.js +2 -0
- package/_internal/icon-button-link.js.map +1 -0
- package/_internal/icon-button.js +3 -0
- package/_internal/icon-button.js.map +1 -0
- package/_internal/icon.js +2 -0
- package/_internal/icon.js.map +1 -0
- package/_internal/isComponent.js +15 -0
- package/_internal/isComponent.js.map +1 -0
- package/_internal/item.js +2 -0
- package/_internal/item.js.map +1 -0
- package/_internal/link-button.js +2 -0
- package/_internal/link-button.js.map +1 -0
- package/_internal/link.js +3 -0
- package/_internal/link.js.map +1 -0
- package/_internal/listbox.js +3 -0
- package/_internal/listbox.js.map +1 -0
- package/_internal/number-field.js +2 -0
- package/_internal/number-field.js.map +1 -0
- package/_internal/number.js +2 -0
- package/_internal/number.js.map +1 -0
- package/_internal/partitionComponents.js +26 -0
- package/_internal/partitionComponents.js.map +1 -0
- package/_internal/pill.js +2 -0
- package/_internal/pill.js.map +1 -0
- package/_internal/progress-bar.js +2 -0
- package/_internal/progress-bar.js.map +1 -0
- package/_internal/radio-group.js +2 -0
- package/_internal/radio-group.js.map +1 -0
- package/_internal/radio.js +2 -0
- package/_internal/radio.js.map +1 -0
- package/_internal/redsift-design-tokens.js +1391 -0
- package/_internal/redsift-design-tokens.js.map +1 -0
- package/_internal/shared.js +2 -0
- package/_internal/shared.js.map +1 -0
- package/_internal/shield.js +2 -0
- package/_internal/shield.js.map +1 -0
- package/_internal/side-navigation-menu-bar.js +3 -0
- package/_internal/side-navigation-menu-bar.js.map +1 -0
- package/_internal/side-navigation-menu-item.js +2 -0
- package/_internal/side-navigation-menu-item.js.map +1 -0
- package/_internal/side-navigation-menu.js +2 -0
- package/_internal/side-navigation-menu.js.map +1 -0
- package/_internal/skeleton-circle.js +2 -0
- package/_internal/skeleton-circle.js.map +1 -0
- package/_internal/skeleton-text.js +3 -0
- package/_internal/skeleton-text.js.map +1 -0
- package/_internal/skeleton.js +2 -0
- package/_internal/skeleton.js.map +1 -0
- package/_internal/spinner.js +2 -0
- package/_internal/spinner.js.map +1 -0
- package/_internal/styles.js +235 -0
- package/_internal/styles.js.map +1 -0
- package/_internal/styles2.js +47 -0
- package/_internal/styles2.js.map +1 -0
- package/_internal/styles3.js +145 -0
- package/_internal/styles3.js.map +1 -0
- package/_internal/styles4.js +250 -0
- package/_internal/styles4.js.map +1 -0
- package/_internal/styles5.js +143 -0
- package/_internal/styles5.js.map +1 -0
- package/_internal/styles6.js +84 -0
- package/_internal/styles6.js.map +1 -0
- package/_internal/switch-group.js +2 -0
- package/_internal/switch-group.js.map +1 -0
- package/_internal/switch.js +2 -0
- package/_internal/switch.js.map +1 -0
- package/_internal/text-area.js +2 -0
- package/_internal/text-area.js.map +1 -0
- package/_internal/text-field.js +2 -0
- package/_internal/text-field.js.map +1 -0
- package/_internal/text.js +3 -0
- package/_internal/text.js.map +1 -0
- package/_internal/theme.js +2 -0
- package/_internal/theme.js.map +1 -0
- package/_internal/types.js +15 -0
- package/_internal/types.js.map +1 -0
- package/_internal/types2.js +26 -0
- package/_internal/types2.js.map +1 -0
- package/_internal/types3.js +20 -0
- package/_internal/types3.js.map +1 -0
- package/_internal/useAppSidePanel.js +337 -0
- package/_internal/useAppSidePanel.js.map +1 -0
- package/_internal/useFocusOnList.js +541 -0
- package/_internal/useFocusOnList.js.map +1 -0
- package/_internal/useFocusOnListItem.js +203 -0
- package/_internal/useFocusOnListItem.js.map +1 -0
- package/_internal/useFocusRing.js +669 -0
- package/_internal/useFocusRing.js.map +1 -0
- package/_internal/useId.js +42 -0
- package/_internal/useId.js.map +1 -0
- package/_internal/useIsLoaded.js +14 -0
- package/_internal/useIsLoaded.js.map +1 -0
- package/_internal/useListboxItem.js +129 -0
- package/_internal/useListboxItem.js.map +1 -0
- package/_internal/useMessageFormatter.js +143 -0
- package/_internal/useMessageFormatter.js.map +1 -0
- package/_internal/useNumberFormatter.js +239 -0
- package/_internal/useNumberFormatter.js.map +1 -0
- package/_internal/useSideNavigationMenuBar.js +373 -0
- package/_internal/useSideNavigationMenuBar.js.map +1 -0
- package/_internal/useTheme.js +15 -0
- package/_internal/useTheme.js.map +1 -0
- package/_internal/warnIfNoAccessibleLabelFound.js +20 -0
- package/_internal/warnIfNoAccessibleLabelFound.js.map +1 -0
- package/index.js +315 -24243
- package/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shield.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"side-navigation-menu-bar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"side-navigation-menu-item.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"side-navigation-menu.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton-circle.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton-text.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { i as baseStyling, k as focusRing } from './styles4.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Component variant.
|
|
6
|
+
*/
|
|
7
|
+
const ButtonVariant = {
|
|
8
|
+
primary: 'primary',
|
|
9
|
+
secondary: 'secondary',
|
|
10
|
+
unstyled: 'unstyled'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Component color.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Component props.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Component style.
|
|
23
|
+
*/
|
|
24
|
+
const StyledButton = styled.button`
|
|
25
|
+
align-items: center;
|
|
26
|
+
background: none;
|
|
27
|
+
border: none;
|
|
28
|
+
border-radius: 4px;
|
|
29
|
+
display: inline-flex;
|
|
30
|
+
font-family: var(--redsift-typography-button-font-family);
|
|
31
|
+
font-size: var(--redsift-typography-button-font-size);
|
|
32
|
+
font-weight: var(--redsift-typography-button-font-weight);
|
|
33
|
+
gap: 8px;
|
|
34
|
+
height: fit-content;
|
|
35
|
+
justify-content: center;
|
|
36
|
+
line-height: var(--redsift-typography-button-line-height);
|
|
37
|
+
text-decoration: none;
|
|
38
|
+
text-transform: var(--redsift-typography-button-text-transform);
|
|
39
|
+
vertical-align: middle;
|
|
40
|
+
-webkit-font-smoothing: antialiased;
|
|
41
|
+
${baseStyling}
|
|
42
|
+
|
|
43
|
+
${_ref => {
|
|
44
|
+
let {
|
|
45
|
+
$isLoading
|
|
46
|
+
} = _ref;
|
|
47
|
+
return $isLoading ? css`
|
|
48
|
+
& > span {
|
|
49
|
+
opacity: 0;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
& > .redsift-shield {
|
|
53
|
+
position: absolute;
|
|
54
|
+
}
|
|
55
|
+
` : '';
|
|
56
|
+
}}
|
|
57
|
+
|
|
58
|
+
${_ref2 => {
|
|
59
|
+
let {
|
|
60
|
+
$variant,
|
|
61
|
+
$color,
|
|
62
|
+
$isActive,
|
|
63
|
+
$isDisabled,
|
|
64
|
+
$isGradient,
|
|
65
|
+
$isHovered,
|
|
66
|
+
$theme
|
|
67
|
+
} = _ref2;
|
|
68
|
+
return css`
|
|
69
|
+
padding: ${$variant !== ButtonVariant.secondary || $variant === ButtonVariant.secondary && $isGradient && !$isDisabled ? '9px 16px' : '8px 15px'};
|
|
70
|
+
|
|
71
|
+
${!$isGradient ? css`
|
|
72
|
+
background-color: var(
|
|
73
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
74
|
+
);
|
|
75
|
+
&,
|
|
76
|
+
.redsift-icon:not(.colored) {
|
|
77
|
+
color: var(
|
|
78
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
` : css`
|
|
82
|
+
background: var(
|
|
83
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
${$variant === ButtonVariant.primary || $isDisabled ? css`
|
|
87
|
+
&,
|
|
88
|
+
.redsift-icon:not(.colored) {
|
|
89
|
+
color: var(
|
|
90
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
` : ''}
|
|
94
|
+
|
|
95
|
+
${$variant !== ButtonVariant.primary && !$isDisabled ? css`
|
|
96
|
+
path {
|
|
97
|
+
fill: url(#${$color}-gradient-${$isActive ? 'active' : $isHovered ? 'hover' : 'default'});
|
|
98
|
+
}
|
|
99
|
+
` : ''}
|
|
100
|
+
|
|
101
|
+
span {
|
|
102
|
+
background: var(
|
|
103
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
104
|
+
);
|
|
105
|
+
background-clip: text;
|
|
106
|
+
color: transparent;
|
|
107
|
+
}
|
|
108
|
+
`}
|
|
109
|
+
|
|
110
|
+
${$variant === ButtonVariant.secondary ? css`
|
|
111
|
+
border: 1px solid
|
|
112
|
+
var(
|
|
113
|
+
--redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}
|
|
114
|
+
);
|
|
115
|
+
` : ''}
|
|
116
|
+
`;
|
|
117
|
+
}};
|
|
118
|
+
|
|
119
|
+
&:hover,
|
|
120
|
+
&:focus-visible {
|
|
121
|
+
outline: none;
|
|
122
|
+
|
|
123
|
+
${_ref3 => {
|
|
124
|
+
let {
|
|
125
|
+
$variant,
|
|
126
|
+
$color,
|
|
127
|
+
$isDisabled,
|
|
128
|
+
$isGradient,
|
|
129
|
+
$theme
|
|
130
|
+
} = _ref3;
|
|
131
|
+
return css`
|
|
132
|
+
cursor: ${$isDisabled ? 'default' : 'pointer'};
|
|
133
|
+
|
|
134
|
+
${!$isGradient ? css`
|
|
135
|
+
background-color: var(
|
|
136
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : 'hover'}
|
|
137
|
+
);
|
|
138
|
+
&,
|
|
139
|
+
.redsift-icon:not(.colored) {
|
|
140
|
+
color: var(
|
|
141
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : 'hover'}
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
${$variant === ButtonVariant.secondary ? css`
|
|
146
|
+
border: 1px solid
|
|
147
|
+
var(
|
|
148
|
+
--redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : 'hover'}
|
|
149
|
+
);
|
|
150
|
+
` : ''}
|
|
151
|
+
` : css`
|
|
152
|
+
background: var(
|
|
153
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : 'hover'}
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
${$variant !== ButtonVariant.primary && !$isDisabled ? css`
|
|
157
|
+
path {
|
|
158
|
+
fill: url(#${$color}-gradient-hover);
|
|
159
|
+
}
|
|
160
|
+
` : ''}
|
|
161
|
+
`}
|
|
162
|
+
`;
|
|
163
|
+
}};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
&:active {
|
|
167
|
+
outline: none;
|
|
168
|
+
|
|
169
|
+
${_ref4 => {
|
|
170
|
+
let {
|
|
171
|
+
$variant,
|
|
172
|
+
$color,
|
|
173
|
+
$isGradient,
|
|
174
|
+
$isHovered,
|
|
175
|
+
$isDisabled,
|
|
176
|
+
$theme
|
|
177
|
+
} = _ref4;
|
|
178
|
+
return css`
|
|
179
|
+
${!$isGradient ? css`
|
|
180
|
+
background-color: var(
|
|
181
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}
|
|
182
|
+
);
|
|
183
|
+
&,
|
|
184
|
+
.redsift-icon:not(.colored) {
|
|
185
|
+
color: var(
|
|
186
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
${$variant === ButtonVariant.secondary ? css`
|
|
191
|
+
border: 1px solid
|
|
192
|
+
var(
|
|
193
|
+
--redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}
|
|
194
|
+
);
|
|
195
|
+
` : ''}
|
|
196
|
+
` : css`
|
|
197
|
+
background: var(
|
|
198
|
+
--redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}
|
|
199
|
+
);
|
|
200
|
+
|
|
201
|
+
${$variant !== ButtonVariant.primary && !$isDisabled ? css`
|
|
202
|
+
path {
|
|
203
|
+
fill: url(#${$color}-gradient-active);
|
|
204
|
+
}
|
|
205
|
+
` : ''}
|
|
206
|
+
`}
|
|
207
|
+
`;
|
|
208
|
+
}};
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
${_ref5 => {
|
|
212
|
+
let {
|
|
213
|
+
$fullWidth
|
|
214
|
+
} = _ref5;
|
|
215
|
+
return $fullWidth ? `
|
|
216
|
+
width: 100%;
|
|
217
|
+
flex-grow: 1;
|
|
218
|
+
` : '';
|
|
219
|
+
}}
|
|
220
|
+
|
|
221
|
+
.redsift-icon.left {
|
|
222
|
+
margin-right: unset;
|
|
223
|
+
align-items: center;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.redsift-icon.right {
|
|
227
|
+
margin-left: unset;
|
|
228
|
+
align-items: center;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
${focusRing}
|
|
232
|
+
`;
|
|
233
|
+
|
|
234
|
+
export { ButtonVariant as B, StyledButton as S };
|
|
235
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../src/components/button/types.ts","../../src/components/button/styles.ts"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { ButtonsColorPalette, StylingProps, Theme, ValueOf } from '../../types';\nimport { IconProps } from '../icon';\n\n/**\n * Component variant.\n */\nexport const ButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type ButtonVariant = ValueOf<typeof ButtonVariant>;\n\n/**\n * Component color.\n */\nexport type ButtonColor = ButtonsColorPalette;\n\n/**\n * Component props.\n */\nexport interface ButtonProps extends ComponentProps<'button'>, StylingProps {\n /** Color variant. */\n color?: ButtonColor;\n /** Whether the component take the full width or not. */\n fullWidth?: boolean;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is hovered or not. */\n isHovered?: boolean;\n /** Whether the component is in a loading state or not. */\n isLoading?: boolean;\n /**\n * Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />\n * Can also be a ReactElement.\n */\n leftIcon?: IconProps['icon'];\n /** Props to add to the left icon. */\n leftIconProps?: Omit<IconProps, 'icon' | 'ref'>;\n /**\n * Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />\n * Can also be a ReactElement.\n */\n rightIcon?: IconProps['icon'];\n /** Props to add to the right icon. */\n rightIconProps?: Omit<IconProps, 'icon' | 'ref'>;\n /** Theme. */\n theme?: Theme;\n /** Button variant. */\n variant?: ButtonVariant;\n}\n\nexport type StyledButtonProps = ButtonProps & {\n $color: ButtonProps['color'];\n $fullWidth?: ButtonProps['fullWidth'];\n $isActive: ButtonProps['isActive'];\n $isDisabled: ButtonProps['isDisabled'];\n $isGradient: boolean;\n $isHovered: ButtonProps['isHovered'];\n $isLoading: ButtonProps['isLoading'];\n $theme: ButtonProps['theme'];\n $variant: ButtonProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling, focusRing } from '../shared';\nimport { StyledButtonProps, ButtonVariant } from './types';\n\n/**\n * Component style.\n */\nexport const StyledButton = styled.button<StyledButtonProps>`\n align-items: center;\n background: none;\n border: none;\n border-radius: 4px;\n display: inline-flex;\n font-family: var(--redsift-typography-button-font-family);\n font-size: var(--redsift-typography-button-font-size);\n font-weight: var(--redsift-typography-button-font-weight);\n gap: 8px;\n height: fit-content;\n justify-content: center;\n line-height: var(--redsift-typography-button-line-height);\n text-decoration: none;\n text-transform: var(--redsift-typography-button-text-transform);\n vertical-align: middle;\n -webkit-font-smoothing: antialiased;\n ${baseStyling}\n\n ${({ $isLoading }) =>\n $isLoading\n ? css`\n & > span {\n opacity: 0;\n }\n\n & > .redsift-shield {\n position: absolute;\n }\n `\n : ''}\n\n ${({ $variant, $color, $isActive, $isDisabled, $isGradient, $isHovered, $theme }) => css`\n padding: ${$variant !== ButtonVariant.secondary ||\n ($variant === ButtonVariant.secondary && $isGradient && !$isDisabled)\n ? '9px 16px'\n : '8px 15px'};\n\n ${!$isGradient\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n &,\n .redsift-icon:not(.colored) {\n color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n }\n `\n : css`\n background: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n\n ${$variant === ButtonVariant.primary || $isDisabled\n ? css`\n &,\n .redsift-icon:not(.colored) {\n color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n }\n `\n : ''}\n\n ${$variant !== ButtonVariant.primary && !$isDisabled\n ? css`\n path {\n fill: url(#${$color}-gradient-${$isActive ? 'active' : $isHovered ? 'hover' : 'default'});\n }\n `\n : ''}\n\n span {\n background: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : $isActive\n ? 'active'\n : $isHovered\n ? 'hover'\n : 'default'}\n );\n background-clip: text;\n color: transparent;\n }\n `}\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n var(\n --redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : $isActive ? 'active' : $isHovered ? 'hover' : 'default'}\n );\n `\n : ''}\n `};\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $variant, $color, $isDisabled, $isGradient, $theme }) => css`\n cursor: ${$isDisabled ? 'default' : 'pointer'};\n\n ${!$isGradient\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : 'hover'}\n );\n &,\n .redsift-icon:not(.colored) {\n color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : 'hover'}\n );\n }\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n var(\n --redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : 'hover'}\n );\n `\n : ''}\n `\n : css`\n background: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : 'hover'}\n );\n\n ${$variant !== ButtonVariant.primary && !$isDisabled\n ? css`\n path {\n fill: url(#${$color}-gradient-hover);\n }\n `\n : ''}\n `}\n `};\n }\n\n &:active {\n outline: none;\n\n ${({ $variant, $color, $isGradient, $isHovered, $isDisabled, $theme }) => css`\n ${!$isGradient\n ? css`\n background-color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : $isHovered\n ? 'hover'\n : 'active'}\n );\n &,\n .redsift-icon:not(.colored) {\n color: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-text-${$isDisabled\n ? 'disabled'\n : $isHovered\n ? 'hover'\n : 'active'}\n );\n }\n\n ${$variant === ButtonVariant.secondary\n ? css`\n border: 1px solid\n var(\n --redsift-color-${$theme}-components-buttons-secondary-button-${$color}-text-${$isDisabled ? 'disabled' : $isHovered ? 'hover' : 'active'}\n );\n `\n : ''}\n `\n : css`\n background: var(\n --redsift-color-${$theme}-components-buttons-${$variant}-button-${$color}-background-${$isDisabled\n ? 'disabled'\n : $isHovered\n ? 'hover'\n : 'active'}\n );\n\n ${$variant !== ButtonVariant.primary && !$isDisabled\n ? css`\n path {\n fill: url(#${$color}-gradient-active);\n }\n `\n : ''}\n `}\n `};\n }\n\n ${({ $fullWidth }) =>\n $fullWidth\n ? `\n width: 100%;\n flex-grow: 1;\n `\n : ''}\n\n .redsift-icon.left {\n margin-right: unset;\n align-items: center;\n }\n\n .redsift-icon.right {\n margin-left: unset;\n align-items: center;\n }\n\n ${focusRing}\n`;\n"],"names":["ButtonVariant","primary","secondary","unstyled","StyledButton","styled","button","baseStyling","_ref","$isLoading","css","_ref2","$variant","$color","$isActive","$isDisabled","$isGradient","$isHovered","$theme","_ref3","_ref4","_ref5","$fullWidth","focusRing"],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { S as StyledButton } from './styles.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Component variant.
|
|
6
|
+
*/
|
|
7
|
+
const IconButtonVariant = {
|
|
8
|
+
primary: 'primary',
|
|
9
|
+
secondary: 'secondary',
|
|
10
|
+
unstyled: 'unstyled'
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Component color.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Component props.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Component style.
|
|
23
|
+
*/
|
|
24
|
+
const StyledIconButton = styled(StyledButton)`
|
|
25
|
+
${_ref => {
|
|
26
|
+
let {
|
|
27
|
+
$variant
|
|
28
|
+
} = _ref;
|
|
29
|
+
return css`
|
|
30
|
+
padding: ${$variant === IconButtonVariant.secondary ? '8px' : '9px'};
|
|
31
|
+
`;
|
|
32
|
+
}};
|
|
33
|
+
|
|
34
|
+
${_ref2 => {
|
|
35
|
+
let {
|
|
36
|
+
$isLoading
|
|
37
|
+
} = _ref2;
|
|
38
|
+
return $isLoading ? css`
|
|
39
|
+
& > .redsift-shield {
|
|
40
|
+
position: relative;
|
|
41
|
+
}
|
|
42
|
+
` : '';
|
|
43
|
+
}}
|
|
44
|
+
`;
|
|
45
|
+
|
|
46
|
+
export { IconButtonVariant as I, StyledIconButton as S };
|
|
47
|
+
//# sourceMappingURL=styles2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles2.js","sources":["../../src/components/icon-button/types.ts","../../src/components/icon-button/styles.ts"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { ButtonsColorPalette, StylingProps, Theme, ValueOf } from '../../types';\nimport { IconProps } from '../icon';\n\n/**\n * Component variant.\n */\nexport const IconButtonVariant = {\n primary: 'primary',\n secondary: 'secondary',\n unstyled: 'unstyled',\n} as const;\nexport type IconButtonVariant = ValueOf<typeof IconButtonVariant>;\n\n/**\n * Component color.\n */\nexport type IconButtonColor = ButtonsColorPalette;\n\n/**\n * Component props.\n */\nexport interface IconButtonProps extends ComponentProps<'button'>, StylingProps {\n /** Color variant. */\n color?: IconButtonColor;\n /**\n * Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />\n * Can also be a ReactElement.\n */\n icon: IconProps['icon'];\n /** Props to forward to the icon. */\n iconProps?: Omit<IconProps, 'ref' | 'icon'>;\n /** Whether the component is active or not. */\n isActive?: boolean;\n /** Whether the component is disabled or not. */\n isDisabled?: boolean;\n /** Whether the component is hovered or not. */\n isHovered?: boolean;\n /** Whether the component is in a loading state or not. */\n isLoading?: boolean;\n /** Theme. */\n theme?: Theme;\n /** Button variant. */\n variant?: IconButtonVariant;\n}\n\nexport type StyledIconButtonProps = Omit<IconButtonProps, 'icon'> & {\n $color: IconButtonProps['color'];\n $isActive: IconButtonProps['isActive'];\n $isDisabled: IconButtonProps['isDisabled'];\n $isHovered: IconButtonProps['isHovered'];\n $isLoading: IconButtonProps['isLoading'];\n $theme: IconButtonProps['theme'];\n $variant: IconButtonProps['variant'];\n};\n","import styled, { css } from 'styled-components';\nimport { StyledButton } from '../button';\nimport { IconButtonVariant, StyledIconButtonProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledIconButton = styled(StyledButton)<StyledIconButtonProps>`\n ${({ $variant }) => css`\n padding: ${$variant === IconButtonVariant.secondary ? '8px' : '9px'};\n `};\n\n ${({ $isLoading }) =>\n $isLoading\n ? css`\n & > .redsift-shield {\n position: relative;\n }\n `\n : ''}\n`;\n"],"names":["IconButtonVariant","primary","secondary","unstyled","StyledIconButton","styled","StyledButton","_ref","$variant","css","_ref2","$isLoading"],"mappings":";;;AAIA;AACA;AACA;AACO,MAAMA,iBAAiB,GAAG;AAC/BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,SAAS,EAAE,WAAW;AACtBC,EAAAA,QAAQ,EAAE,UAAA;AACZ,EAAU;;AAGV;AACA;AACA;;AAGA;AACA;AACA;;ACjBA;AACA;AACA;MACaC,gBAAgB,GAAGC,MAAM,CAACC,YAAY,CAAyB,CAAA;AAC5E,EAAA,EAAIC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAAD,IAAA,CAAA;AAAA,EAAA,OAAKE,GAAI,CAAA;AAC1B,aAAeD,EAAAA,QAAQ,KAAKR,iBAAiB,CAACE,SAAS,GAAG,KAAK,GAAG,KAAM,CAAA;AACxE,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA,EAAA,EAAIQ,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAAD,KAAA,CAAA;EAAA,OACfC,UAAU,GACNF,GAAI,CAAA;AACZ;AACA;AACA;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;;;;"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import styled, { css } from 'styled-components';
|
|
2
|
+
import { i as baseStyling } from './styles4.js';
|
|
3
|
+
import { N as NotificationsColorPalette, g as NeutralColorPalette, e as ProductColorPalette } from './colors.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Component style.
|
|
7
|
+
*/
|
|
8
|
+
const StyledLink = styled.a`
|
|
9
|
+
background: none;
|
|
10
|
+
border: none;
|
|
11
|
+
color: unset;
|
|
12
|
+
cursor: text !important;
|
|
13
|
+
display: inline-flex;
|
|
14
|
+
gap: 4px;
|
|
15
|
+
align-items: center;
|
|
16
|
+
font-family: var(--redsift-typography-link-font-family);
|
|
17
|
+
font-size: var(--redsift-typography-link-font-size);
|
|
18
|
+
font-weight: var(--redsift-typography-link-font-weight);
|
|
19
|
+
height: var(--redsift-typography-link-line-height);
|
|
20
|
+
line-height: var(--redsift-typography-link-line-height);
|
|
21
|
+
padding: unset;
|
|
22
|
+
position: relative;
|
|
23
|
+
text-decoration: none;
|
|
24
|
+
width: fit-content;
|
|
25
|
+
|
|
26
|
+
${_ref => {
|
|
27
|
+
let {
|
|
28
|
+
$hasIcons
|
|
29
|
+
} = _ref;
|
|
30
|
+
return $hasIcons ? css`
|
|
31
|
+
bottom: -2px;
|
|
32
|
+
` : '';
|
|
33
|
+
}}
|
|
34
|
+
|
|
35
|
+
${baseStyling}
|
|
36
|
+
|
|
37
|
+
${_ref2 => {
|
|
38
|
+
let {
|
|
39
|
+
$isDisabled,
|
|
40
|
+
$color,
|
|
41
|
+
$theme,
|
|
42
|
+
$hasIcons
|
|
43
|
+
} = _ref2;
|
|
44
|
+
return !$isDisabled ? css`
|
|
45
|
+
${$color && $color === 'radar' ? css`
|
|
46
|
+
background: linear-gradient(90deg, #51b78e 0%, #0081c3 100%);
|
|
47
|
+
background-clip: text;
|
|
48
|
+
color: transparent;
|
|
49
|
+
|
|
50
|
+
path {
|
|
51
|
+
fill: url(#${$color}-gradient-default);
|
|
52
|
+
}
|
|
53
|
+
` : Object.keys(NotificationsColorPalette).indexOf($color) !== -1 ? css`
|
|
54
|
+
&,
|
|
55
|
+
.redsift-icon:not(.colored) {
|
|
56
|
+
color: var(--redsift-color-notifications-${$color}-primary);
|
|
57
|
+
}
|
|
58
|
+
` : Object.keys(NeutralColorPalette).indexOf($color) !== -1 ? css`
|
|
59
|
+
&,
|
|
60
|
+
.redsift-icon:not(.colored) {
|
|
61
|
+
color: var(--redsift-color-neutral-${$color});
|
|
62
|
+
}
|
|
63
|
+
` : Object.keys(ProductColorPalette).indexOf($color) !== -1 ? css`
|
|
64
|
+
&,
|
|
65
|
+
.redsift-icon:not(.colored) {
|
|
66
|
+
color: var(--redsift-color-product-${$color});
|
|
67
|
+
}
|
|
68
|
+
` : css`
|
|
69
|
+
&,
|
|
70
|
+
.redsift-icon:not(.colored) {
|
|
71
|
+
color: ${$color || css`var(--redsift-color-${$theme}-components-text-primary)`};
|
|
72
|
+
}
|
|
73
|
+
`}}
|
|
74
|
+
|
|
75
|
+
${$color && $color === 'radar' && !$hasIcons ? css`
|
|
76
|
+
position: relative;
|
|
77
|
+
|
|
78
|
+
&:hover,
|
|
79
|
+
&:focus-visible {
|
|
80
|
+
cursor: pointer !important;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
&:hover::before,
|
|
84
|
+
&:focus-visible::before {
|
|
85
|
+
content: '';
|
|
86
|
+
position: absolute;
|
|
87
|
+
bottom: 3px;
|
|
88
|
+
width: 100%;
|
|
89
|
+
left: 0;
|
|
90
|
+
height: 1px;
|
|
91
|
+
background: linear-gradient(90deg, #51b78e 0%, #0081c3 100%);
|
|
92
|
+
}
|
|
93
|
+
` : $color && $color === 'radar' && $hasIcons ? css`
|
|
94
|
+
position: relative;
|
|
95
|
+
|
|
96
|
+
&:hover,
|
|
97
|
+
&:focus-visible {
|
|
98
|
+
cursor: pointer !important;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.text::before {
|
|
102
|
+
content: '';
|
|
103
|
+
position: absolute;
|
|
104
|
+
bottom: 3px;
|
|
105
|
+
width: 100%;
|
|
106
|
+
left: 0;
|
|
107
|
+
height: 1px;
|
|
108
|
+
background: linear-gradient(90deg, #51b78e 0%, #0081c3 100%);
|
|
109
|
+
transform: scaleX(0);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
&:hover .text::before,
|
|
113
|
+
.icon:hover + .text::before,
|
|
114
|
+
.text:hover::before {
|
|
115
|
+
transform: scaleX(1);
|
|
116
|
+
}
|
|
117
|
+
` : css`
|
|
118
|
+
text-decoration: underline;
|
|
119
|
+
text-decoration-color: transparent;
|
|
120
|
+
text-underline-offset: 2px;
|
|
121
|
+
|
|
122
|
+
&:hover,
|
|
123
|
+
&:focus-visible {
|
|
124
|
+
cursor: pointer !important;
|
|
125
|
+
${Object.keys(NotificationsColorPalette).indexOf($color) !== -1 ? css`
|
|
126
|
+
text-decoration-color: var(--redsift-color-notifications-${$color}-primary);
|
|
127
|
+
` : Object.keys(NeutralColorPalette).indexOf($color) !== -1 ? css`
|
|
128
|
+
text-decoration-color: var(--redsift-color-neutral-${$color});
|
|
129
|
+
` : Object.keys(ProductColorPalette).indexOf($color) !== -1 ? css`
|
|
130
|
+
text-decoration-color: var(--redsift-color-product-${$color});
|
|
131
|
+
` : css`
|
|
132
|
+
text-decoration-color: ${$color || css`var(--redsift-color-${$theme}-components-text-primary)`};
|
|
133
|
+
`}
|
|
134
|
+
}
|
|
135
|
+
`}
|
|
136
|
+
` : '';
|
|
137
|
+
}}
|
|
138
|
+
|
|
139
|
+
&:focus-visible {
|
|
140
|
+
outline: 2px solid var(--redsift-color-primary-n);
|
|
141
|
+
}
|
|
142
|
+
`;
|
|
143
|
+
|
|
144
|
+
export { StyledLink as S };
|
|
145
|
+
//# sourceMappingURL=styles3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles3.js","sources":["../../src/components/link/styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { StyledLinkProps } from './types';\nimport { NotificationsColorPalette, NeutralColorPalette, ProductColorPalette } from '@redsift/design-system/types';\n\n/**\n * Component style.\n */\nexport const StyledLink = styled.a<StyledLinkProps>`\n background: none;\n border: none;\n color: unset;\n cursor: text !important;\n display: inline-flex;\n gap: 4px;\n align-items: center;\n font-family: var(--redsift-typography-link-font-family);\n font-size: var(--redsift-typography-link-font-size);\n font-weight: var(--redsift-typography-link-font-weight);\n height: var(--redsift-typography-link-line-height);\n line-height: var(--redsift-typography-link-line-height);\n padding: unset;\n position: relative;\n text-decoration: none;\n width: fit-content;\n\n ${({ $hasIcons }) =>\n $hasIcons\n ? css`\n bottom: -2px;\n `\n : ''}\n\n ${baseStyling}\n\n ${({ $isDisabled, $color, $theme, $hasIcons }) =>\n !$isDisabled\n ? css`\n ${\n $color && $color === 'radar'\n ? css`\n background: linear-gradient(90deg, #51b78e 0%, #0081c3 100%);\n background-clip: text;\n color: transparent;\n\n path {\n fill: url(#${$color}-gradient-default);\n }\n `\n : Object.keys(NotificationsColorPalette).indexOf($color!) !== -1\n ? css`\n &,\n .redsift-icon:not(.colored) {\n color: var(--redsift-color-notifications-${$color}-primary);\n }\n `\n : Object.keys(NeutralColorPalette).indexOf($color!) !== -1\n ? css`\n &,\n .redsift-icon:not(.colored) {\n color: var(--redsift-color-neutral-${$color});\n }\n `\n : Object.keys(ProductColorPalette).indexOf($color!) !== -1\n ? css`\n &,\n .redsift-icon:not(.colored) {\n color: var(--redsift-color-product-${$color});\n }\n `\n : css`\n &,\n .redsift-icon:not(.colored) {\n color: ${$color || css`var(--redsift-color-${$theme}-components-text-primary)`};\n }\n `\n }}\n\n ${\n $color && $color === 'radar' && !$hasIcons\n ? css`\n position: relative;\n\n &:hover,\n &:focus-visible {\n cursor: pointer !important;\n }\n\n &:hover::before,\n &:focus-visible::before {\n content: '';\n position: absolute;\n bottom: 3px;\n width: 100%;\n left: 0;\n height: 1px;\n background: linear-gradient(90deg, #51b78e 0%, #0081c3 100%);\n }\n `\n : $color && $color === 'radar' && $hasIcons\n ? css`\n position: relative;\n\n &:hover,\n &:focus-visible {\n cursor: pointer !important;\n }\n\n .text::before {\n content: '';\n position: absolute;\n bottom: 3px;\n width: 100%;\n left: 0;\n height: 1px;\n background: linear-gradient(90deg, #51b78e 0%, #0081c3 100%);\n transform: scaleX(0);\n }\n\n &:hover .text::before,\n .icon:hover + .text::before,\n .text:hover::before {\n transform: scaleX(1);\n }\n `\n : css`\n text-decoration: underline;\n text-decoration-color: transparent;\n text-underline-offset: 2px;\n\n &:hover,\n &:focus-visible {\n cursor: pointer !important;\n ${Object.keys(NotificationsColorPalette).indexOf($color!) !== -1\n ? css`\n text-decoration-color: var(--redsift-color-notifications-${$color}-primary);\n `\n : Object.keys(NeutralColorPalette).indexOf($color!) !== -1\n ? css`\n text-decoration-color: var(--redsift-color-neutral-${$color});\n `\n : Object.keys(ProductColorPalette).indexOf($color!) !== -1\n ? css`\n text-decoration-color: var(--redsift-color-product-${$color});\n `\n : css`\n text-decoration-color: ${$color ||\n css`var(--redsift-color-${$theme}-components-text-primary)`};\n `}\n }\n `\n }\n `\n : ''}\n\n &:focus-visible {\n outline: 2px solid var(--redsift-color-primary-n);\n }\n`;\n"],"names":["StyledLink","styled","a","_ref","$hasIcons","css","baseStyling","_ref2","$isDisabled","$color","$theme","Object","keys","NotificationsColorPalette","indexOf","NeutralColorPalette","ProductColorPalette"],"mappings":"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"}
|