@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,405 @@
|
|
|
1
|
+
import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React__default, { forwardRef } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import styled, { css } from 'styled-components';
|
|
5
|
+
import { rn as RedsiftColorNeutralWhite, qI as RedsiftColorGreyL1, ru as RedsiftColorNeutralBlack, rp as RedsiftColorNeutralLightGrey, sg as RedsiftColorPresentationGreenDefault, sn as RedsiftColorPresentationPinkDefault, su as RedsiftColorPresentationAquaDefault, sB as RedsiftColorPresentationBrownDefault, sI as RedsiftColorPresentationRedDefault, sP as RedsiftColorPresentationYellowDefault, sW as RedsiftColorPresentationPurpleDefault, t1 as RedsiftColorPresentationOrangeDefault, t8 as RedsiftColorPresentationBlueDefault, tf as RedsiftColorPresentationGreyDefault, rt as RedsiftColorNeutralXDarkGrey, rs as RedsiftColorNeutralDarkGrey, rr as RedsiftColorNeutralMidGrey, ro as RedsiftColorNeutralXLightGrey, qd as RedsiftColorRedL4, qY as RedsiftColorYellowL4, qP as RedsiftColorGreenL4, qh as RedsiftColorRedN, r0 as RedsiftColorYellowN, qT as RedsiftColorGreenN } from './redsift-design-tokens.js';
|
|
6
|
+
import { i as baseStyling } from './styles4.js';
|
|
7
|
+
import { N as Number } from './Number2.js';
|
|
8
|
+
import { u as useTheme } from './useTheme.js';
|
|
9
|
+
import { f as PresentationColorPalette } from './colors.js';
|
|
10
|
+
import { i as isComponent } from './isComponent.js';
|
|
11
|
+
import { T as Text } from './Text2.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Component size.
|
|
15
|
+
*/
|
|
16
|
+
const PillSize = {
|
|
17
|
+
small: 'small',
|
|
18
|
+
large: 'large',
|
|
19
|
+
xlarge: 'xlarge'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Component props.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
const predefinedColorToHex = {
|
|
27
|
+
green: RedsiftColorPresentationGreenDefault,
|
|
28
|
+
pink: RedsiftColorPresentationPinkDefault,
|
|
29
|
+
aqua: RedsiftColorPresentationAquaDefault,
|
|
30
|
+
brown: RedsiftColorPresentationBrownDefault,
|
|
31
|
+
red: RedsiftColorPresentationRedDefault,
|
|
32
|
+
yellow: RedsiftColorPresentationYellowDefault,
|
|
33
|
+
purple: RedsiftColorPresentationPurpleDefault,
|
|
34
|
+
orange: RedsiftColorPresentationOrangeDefault,
|
|
35
|
+
blue: RedsiftColorPresentationBlueDefault,
|
|
36
|
+
grey: RedsiftColorPresentationGreyDefault,
|
|
37
|
+
black: RedsiftColorNeutralBlack,
|
|
38
|
+
'x-dark-grey': RedsiftColorNeutralXDarkGrey,
|
|
39
|
+
'dark-grey': RedsiftColorNeutralDarkGrey,
|
|
40
|
+
'mid-grey': RedsiftColorNeutralMidGrey,
|
|
41
|
+
'light-grey': RedsiftColorNeutralLightGrey,
|
|
42
|
+
'x-light-grey': RedsiftColorNeutralXLightGrey,
|
|
43
|
+
white: RedsiftColorNeutralWhite,
|
|
44
|
+
error: RedsiftColorRedL4,
|
|
45
|
+
warning: RedsiftColorYellowL4,
|
|
46
|
+
success: RedsiftColorGreenL4,
|
|
47
|
+
'error-dark': RedsiftColorRedN,
|
|
48
|
+
'warning-dark': RedsiftColorYellowN,
|
|
49
|
+
'success-dark': RedsiftColorGreenN
|
|
50
|
+
};
|
|
51
|
+
const pickTextColorBasedOnBgColorAdvanced = (bgColor, lightColor, darkColor) => {
|
|
52
|
+
var color = isPredefinedColor(bgColor) ? predefinedColorToHex[bgColor].substring(1, 7) : bgColor.charAt(0) === '#' ? bgColor.substring(1, 7) : bgColor;
|
|
53
|
+
var r = parseInt(color.substring(0, 2), 16); // hexToR
|
|
54
|
+
var g = parseInt(color.substring(2, 4), 16); // hexToG
|
|
55
|
+
var b = parseInt(color.substring(4, 6), 16); // hexToB
|
|
56
|
+
var uicolors = [r / 255, g / 255, b / 255];
|
|
57
|
+
var c = uicolors.map(col => {
|
|
58
|
+
if (col <= 0.03928) {
|
|
59
|
+
return col / 12.92;
|
|
60
|
+
}
|
|
61
|
+
return Math.pow((col + 0.055) / 1.055, 2.4);
|
|
62
|
+
});
|
|
63
|
+
var L = 0.2126 * c[0] + 0.7152 * c[1] + 0.0722 * c[2];
|
|
64
|
+
return L > 0.179 ? darkColor : lightColor;
|
|
65
|
+
};
|
|
66
|
+
const pickHoverColorBasedOnBgColorAdvanced = bgColor => {
|
|
67
|
+
var color = bgColor.charAt(0) === '#' ? bgColor.substring(1, 7) : bgColor;
|
|
68
|
+
if (color.toUpperCase() === 'FFFFFF') {
|
|
69
|
+
return RedsiftColorNeutralLightGrey;
|
|
70
|
+
}
|
|
71
|
+
var r = parseInt(color.substring(0, 2), 16); // hexToR
|
|
72
|
+
var g = parseInt(color.substring(2, 4), 16); // hexToG
|
|
73
|
+
var b = parseInt(color.substring(4, 6), 16); // hexToB
|
|
74
|
+
return `rgba(${r}, ${g}, ${b}, 0.75)`;
|
|
75
|
+
};
|
|
76
|
+
const isPredefinedColor = color => Object.keys(predefinedColorToHex).includes(color);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Component style.
|
|
80
|
+
*/
|
|
81
|
+
const StyledPill = styled.div`
|
|
82
|
+
align-items: stretch;
|
|
83
|
+
display: inline-flex;
|
|
84
|
+
height: fit-content;
|
|
85
|
+
width: fit-content;
|
|
86
|
+
${baseStyling}
|
|
87
|
+
|
|
88
|
+
text-align: center;
|
|
89
|
+
|
|
90
|
+
${_ref => {
|
|
91
|
+
let {
|
|
92
|
+
$autoBreak
|
|
93
|
+
} = _ref;
|
|
94
|
+
return !$autoBreak ? css`
|
|
95
|
+
text-wrap: nowrap;
|
|
96
|
+
` : css`
|
|
97
|
+
word-break: break-word;
|
|
98
|
+
`;
|
|
99
|
+
}};
|
|
100
|
+
|
|
101
|
+
${_ref2 => {
|
|
102
|
+
let {
|
|
103
|
+
$size
|
|
104
|
+
} = _ref2;
|
|
105
|
+
return css`
|
|
106
|
+
.redsift-icon-button,
|
|
107
|
+
.redsift-button,
|
|
108
|
+
.redsift-button-link {
|
|
109
|
+
width: unset;
|
|
110
|
+
height: ${$size === PillSize.xlarge ? css`30px` : $size === PillSize.large ? css`24px` : css`22px`};
|
|
111
|
+
cursor: pointer;
|
|
112
|
+
padding: 5px;
|
|
113
|
+
border: none;
|
|
114
|
+
text-transform: none;
|
|
115
|
+
|
|
116
|
+
font-size: ${$size === PillSize.small ? css`14px` : css`15px`};
|
|
117
|
+
|
|
118
|
+
> .redsift-icon:not(.colored) {
|
|
119
|
+
color: inherit;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.redsift-icon-button {
|
|
124
|
+
width: ${$size === PillSize.xlarge ? css`30px` : $size === PillSize.large ? css`24px` : css`22px`};
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.redsift-button-link {
|
|
128
|
+
height: ${$size === PillSize.xlarge ? css`18px` : $size === PillSize.large ? css`12px` : css`10px`};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.first.redsift-text,
|
|
132
|
+
.first.redsift-number,
|
|
133
|
+
.middle.redsift-text,
|
|
134
|
+
.middle.redsift-number,
|
|
135
|
+
.last.redsift-text,
|
|
136
|
+
.last.redsift-number {
|
|
137
|
+
padding: 0 8px;
|
|
138
|
+
}
|
|
139
|
+
`;
|
|
140
|
+
}}
|
|
141
|
+
|
|
142
|
+
${_ref3 => {
|
|
143
|
+
let {
|
|
144
|
+
$color,
|
|
145
|
+
$hoverColor,
|
|
146
|
+
$isDisabled,
|
|
147
|
+
$theme
|
|
148
|
+
} = _ref3;
|
|
149
|
+
return isPredefinedColor($color) ? css`
|
|
150
|
+
.first,
|
|
151
|
+
.middle,
|
|
152
|
+
.last {
|
|
153
|
+
background-color: var(
|
|
154
|
+
--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-background
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
& {
|
|
159
|
+
color: var(
|
|
160
|
+
--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-text
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.redsift-icon-button:hover,
|
|
165
|
+
.redsift-button:hover,
|
|
166
|
+
.redsift-button-link:hover {
|
|
167
|
+
background-color: var(
|
|
168
|
+
--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'hover'}-background
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
` : css`
|
|
172
|
+
.first,
|
|
173
|
+
.middle,
|
|
174
|
+
.last {
|
|
175
|
+
background-color: ${$color !== null && $color !== void 0 ? $color : RedsiftColorNeutralWhite};
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
& {
|
|
179
|
+
color: ${pickTextColorBasedOnBgColorAdvanced($color !== null && $color !== void 0 ? $color : RedsiftColorNeutralWhite, $isDisabled ? RedsiftColorNeutralLightGrey : RedsiftColorNeutralWhite, $isDisabled ? RedsiftColorGreyL1 : RedsiftColorNeutralBlack)};
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.redsift-icon-button:hover,
|
|
183
|
+
.redsift-button:hover,
|
|
184
|
+
.redsift-button-link:hover {
|
|
185
|
+
background-color: ${$hoverColor !== null && $hoverColor !== void 0 ? $hoverColor : pickHoverColorBasedOnBgColorAdvanced($color !== null && $color !== void 0 ? $color : RedsiftColorNeutralWhite)};
|
|
186
|
+
}
|
|
187
|
+
`;
|
|
188
|
+
}};
|
|
189
|
+
|
|
190
|
+
${_ref4 => {
|
|
191
|
+
let {
|
|
192
|
+
$color,
|
|
193
|
+
$borderColor,
|
|
194
|
+
$isDisabled,
|
|
195
|
+
$theme
|
|
196
|
+
} = _ref4;
|
|
197
|
+
return css`
|
|
198
|
+
.first:not(.last) {
|
|
199
|
+
border-top-left-radius: 2px;
|
|
200
|
+
border-top-right-radius: 0;
|
|
201
|
+
border-bottom-right-radius: 0;
|
|
202
|
+
border-bottom-left-radius: 2px;
|
|
203
|
+
|
|
204
|
+
${$borderColor ? css`
|
|
205
|
+
border: 1px solid ${$borderColor};
|
|
206
|
+
` : $color === 'white' ? css`
|
|
207
|
+
border: 1px solid
|
|
208
|
+
var(--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-border);
|
|
209
|
+
` : css`
|
|
210
|
+
border: 1px solid transparent;
|
|
211
|
+
border-right: 1px solid white;
|
|
212
|
+
`}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.middle {
|
|
216
|
+
border-top-left-radius: 0;
|
|
217
|
+
border-top-right-radius: 0;
|
|
218
|
+
border-bottom-right-radius: 0;
|
|
219
|
+
border-bottom-left-radius: 0;
|
|
220
|
+
|
|
221
|
+
${$borderColor ? css`
|
|
222
|
+
border: 1px solid ${$borderColor};
|
|
223
|
+
` : $color === 'white' ? css`
|
|
224
|
+
border: 1px solid
|
|
225
|
+
var(--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-border);
|
|
226
|
+
` : css`
|
|
227
|
+
border: 1px solid transparent;
|
|
228
|
+
border-right: 1px solid white;
|
|
229
|
+
`}
|
|
230
|
+
border-left: none;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.last:not(.first) {
|
|
234
|
+
border-top-left-radius: 0;
|
|
235
|
+
border-top-right-radius: 2px;
|
|
236
|
+
border-bottom-right-radius: 2px;
|
|
237
|
+
border-bottom-left-radius: 0;
|
|
238
|
+
|
|
239
|
+
${$borderColor ? css`
|
|
240
|
+
border: 1px solid ${$borderColor};
|
|
241
|
+
` : $color === 'white' ? css`
|
|
242
|
+
border: 1px solid
|
|
243
|
+
var(--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-border);
|
|
244
|
+
` : css`
|
|
245
|
+
border: 1px solid transparent;
|
|
246
|
+
`}
|
|
247
|
+
border-left: none;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
.first.last {
|
|
251
|
+
border-top-left-radius: 2px;
|
|
252
|
+
border-top-right-radius: 2px;
|
|
253
|
+
border-bottom-right-radius: 2px;
|
|
254
|
+
border-bottom-left-radius: 2px;
|
|
255
|
+
|
|
256
|
+
${$borderColor ? css`
|
|
257
|
+
border: 1px solid ${$borderColor};
|
|
258
|
+
` : $color === 'white' ? css`
|
|
259
|
+
border: 1px solid
|
|
260
|
+
var(--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-border);
|
|
261
|
+
` : css`
|
|
262
|
+
border: 1px solid transparent;
|
|
263
|
+
`}
|
|
264
|
+
}
|
|
265
|
+
`;
|
|
266
|
+
}};
|
|
267
|
+
|
|
268
|
+
.redsift-icon {
|
|
269
|
+
font-size: ${_ref5 => {
|
|
270
|
+
let {
|
|
271
|
+
$size
|
|
272
|
+
} = _ref5;
|
|
273
|
+
return $size === PillSize.xlarge ? '15px' : $size === PillSize.large ? '12px' : '12px';
|
|
274
|
+
}};
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
&,
|
|
278
|
+
.redsift-text,
|
|
279
|
+
.redsift-number,
|
|
280
|
+
.first,
|
|
281
|
+
.middle,
|
|
282
|
+
.last {
|
|
283
|
+
font-family: var(--redsift-typography-pill-font-family);
|
|
284
|
+
font-size: ${_ref6 => {
|
|
285
|
+
let {
|
|
286
|
+
$size
|
|
287
|
+
} = _ref6;
|
|
288
|
+
return $size === PillSize.xlarge ? '15px' : $size === PillSize.large ? '12px' : '10px';
|
|
289
|
+
}};
|
|
290
|
+
font-weight: var(--redsift-typography-pill-font-weight);
|
|
291
|
+
line-height: ${_ref7 => {
|
|
292
|
+
let {
|
|
293
|
+
$size
|
|
294
|
+
} = _ref7;
|
|
295
|
+
return $size === PillSize.xlarge ? '28px' : $size === PillSize.large ? css`var(--redsift-typography-chip-line-height)` : css`var(--redsift-typography-pill-line-height)`;
|
|
296
|
+
}};
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.redsift-icon:not(.colored) {
|
|
300
|
+
color: inherit;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.redsift-icon {
|
|
304
|
+
width: ${_ref8 => {
|
|
305
|
+
let {
|
|
306
|
+
$size
|
|
307
|
+
} = _ref8;
|
|
308
|
+
return $size === PillSize.xlarge ? '17px' : $size === PillSize.large ? '14px' : '12px';
|
|
309
|
+
}};
|
|
310
|
+
height: ${_ref9 => {
|
|
311
|
+
let {
|
|
312
|
+
$size
|
|
313
|
+
} = _ref9;
|
|
314
|
+
return $size === PillSize.xlarge ? '17px' : $size === PillSize.large ? '14px' : '12px';
|
|
315
|
+
}};
|
|
316
|
+
|
|
317
|
+
> svg {
|
|
318
|
+
width: 1em;
|
|
319
|
+
height: 1em;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
`;
|
|
323
|
+
|
|
324
|
+
const _excluded = ["autoBreak", "borderColor", "children", "className", "color", "disabledColor", "hoverColor", "isDisabled", "size", "theme"];
|
|
325
|
+
const COMPONENT_NAME = 'Pill';
|
|
326
|
+
const CLASSNAME = 'redsift-pill';
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* The Pill component.
|
|
330
|
+
*/
|
|
331
|
+
const Pill = /*#__PURE__*/forwardRef((props, ref) => {
|
|
332
|
+
const {
|
|
333
|
+
autoBreak,
|
|
334
|
+
borderColor,
|
|
335
|
+
children,
|
|
336
|
+
className,
|
|
337
|
+
color: propsColor,
|
|
338
|
+
disabledColor,
|
|
339
|
+
hoverColor,
|
|
340
|
+
isDisabled,
|
|
341
|
+
size: propsSize,
|
|
342
|
+
theme: propsTheme
|
|
343
|
+
} = props,
|
|
344
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
345
|
+
const theme = useTheme(propsTheme);
|
|
346
|
+
const color = propsColor || PresentationColorPalette.blue;
|
|
347
|
+
const size = propsSize || PillSize.large;
|
|
348
|
+
const childArray = [];
|
|
349
|
+
React__default.Children.forEach(children, (child, index) => {
|
|
350
|
+
const currentClassName = React__default.Children.count(children) === 1 ? 'first last' : index === 0 ? 'first' : index === React__default.Children.count(children) - 1 ? 'last' : 'middle';
|
|
351
|
+
if (isComponent('MenuButton')(child) || isComponent('Select')(child) || isComponent('Dialog')(child) || isComponent('Popover')(child) || isComponent('Tooltip')(child)) {
|
|
352
|
+
var _child$key;
|
|
353
|
+
childArray.push( /*#__PURE__*/React__default.cloneElement(child, {
|
|
354
|
+
key: (_child$key = child.key) !== null && _child$key !== void 0 ? _child$key : index,
|
|
355
|
+
triggerClassName: currentClassName,
|
|
356
|
+
variant: 'unstyled',
|
|
357
|
+
color: child.props.color ? child.props.color : pickTextColorBasedOnBgColorAdvanced(color, 'white', 'black')
|
|
358
|
+
}));
|
|
359
|
+
} else if (isComponent('IconButton')(child) || isComponent('Button')(child) || isComponent('ButtonLink')(child)) {
|
|
360
|
+
var _key;
|
|
361
|
+
childArray.push( /*#__PURE__*/React__default.cloneElement(child, {
|
|
362
|
+
key: (_key = child.key) !== null && _key !== void 0 ? _key : index,
|
|
363
|
+
className: currentClassName,
|
|
364
|
+
variant: 'unstyled',
|
|
365
|
+
color: child.props.color ? child.props.color : pickTextColorBasedOnBgColorAdvanced(color, 'white', 'black')
|
|
366
|
+
}));
|
|
367
|
+
} else if ( /*#__PURE__*/React__default.isValidElement(child)) {
|
|
368
|
+
var _key2;
|
|
369
|
+
childArray.push( /*#__PURE__*/React__default.cloneElement(child, {
|
|
370
|
+
key: (_key2 = child.key) !== null && _key2 !== void 0 ? _key2 : index,
|
|
371
|
+
className: currentClassName
|
|
372
|
+
}));
|
|
373
|
+
} else if (typeof child === 'string') {
|
|
374
|
+
childArray.push( /*#__PURE__*/React__default.createElement(Text, {
|
|
375
|
+
key: index,
|
|
376
|
+
className: currentClassName
|
|
377
|
+
}, child));
|
|
378
|
+
} else if (typeof child === 'number') {
|
|
379
|
+
childArray.push( /*#__PURE__*/React__default.createElement(Number, {
|
|
380
|
+
key: index,
|
|
381
|
+
className: currentClassName,
|
|
382
|
+
value: child
|
|
383
|
+
}));
|
|
384
|
+
} else {
|
|
385
|
+
childArray.push(child);
|
|
386
|
+
}
|
|
387
|
+
});
|
|
388
|
+
return /*#__PURE__*/React__default.createElement(StyledPill, _extends({}, forwardedProps, {
|
|
389
|
+
$autoBreak: autoBreak,
|
|
390
|
+
$borderColor: borderColor,
|
|
391
|
+
$color: color,
|
|
392
|
+
$disabledColor: disabledColor,
|
|
393
|
+
$hoverColor: hoverColor,
|
|
394
|
+
$isDisabled: isDisabled,
|
|
395
|
+
$size: size,
|
|
396
|
+
$theme: theme,
|
|
397
|
+
className: classNames(Pill.className, className),
|
|
398
|
+
ref: ref
|
|
399
|
+
}), childArray);
|
|
400
|
+
});
|
|
401
|
+
Pill.className = CLASSNAME;
|
|
402
|
+
Pill.displayName = COMPONENT_NAME;
|
|
403
|
+
|
|
404
|
+
export { PillSize as P, Pill as a };
|
|
405
|
+
//# sourceMappingURL=Pill2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pill2.js","sources":["../../src/components/pill/types.ts","../../src/components/pill/styles.ts","../../src/components/pill/Pill.tsx"],"sourcesContent":["import { ComponentProps } from 'react';\nimport { NeutralColorPalette, PresentationColorPalette, Theme, ValueOf } from '../../types';\nimport { StylingProps } from '../../types';\n\n/**\n * Component size.\n */\nexport const PillSize = {\n small: 'small',\n large: 'large',\n xlarge: 'xlarge',\n} as const;\nexport type PillSize = ValueOf<typeof PillSize>;\n\n/**\n * Component props.\n */\nexport interface PillProps extends ComponentProps<'div'>, StylingProps {\n /** Whether the badge should automatically break content. */\n autoBreak?: boolean;\n /** Color to use for border. */\n borderColor?: string;\n /** Color variant. The product colors are available but should only be used to display the Pill in the color of another product. To display a Pill with a color of the current product, use `default`. */\n color?:\n | PresentationColorPalette\n | NeutralColorPalette\n | 'error'\n | 'warning'\n | 'success'\n | 'error-dark'\n | 'warning-dark'\n | 'success-dark'\n | (string & {});\n /** Color to use when disabled. */\n disabledColor?: string;\n /** Color to use on hover. */\n hoverColor?: string;\n /** Whether the Pill is disabled or not. */\n isDisabled?: boolean;\n /** Size of the Pill. */\n size?: PillSize;\n /** Theme. */\n theme?: Theme;\n}\n\nexport type StyledPillProps = Omit<PillProps, 'color' | 'autoBreak'> & {\n $autoBreak: PillProps['autoBreak'];\n $borderColor: PillProps['borderColor'];\n $color: PillProps['color'];\n $disabledColor: PillProps['disabledColor'];\n $hoverColor: PillProps['hoverColor'];\n $isDisabled: PillProps['isDisabled'];\n $size: PillProps['size'];\n $theme: PillProps['theme'];\n};\n","import styled, { css } from 'styled-components';\nimport { baseStyling } from '../shared';\nimport { PillSize, StyledPillProps } from './types';\nimport {\n RedsiftColorGreenL4,\n RedsiftColorGreenN,\n RedsiftColorGreyL1,\n RedsiftColorNeutralBlack,\n RedsiftColorNeutralDarkGrey,\n RedsiftColorNeutralLightGrey,\n RedsiftColorNeutralMidGrey,\n RedsiftColorNeutralWhite,\n RedsiftColorNeutralXDarkGrey,\n RedsiftColorNeutralXLightGrey,\n RedsiftColorPresentationAquaDefault,\n RedsiftColorPresentationBlueDefault,\n RedsiftColorPresentationBrownDefault,\n RedsiftColorPresentationGreenDefault,\n RedsiftColorPresentationGreyDefault,\n RedsiftColorPresentationOrangeDefault,\n RedsiftColorPresentationPinkDefault,\n RedsiftColorPresentationPurpleDefault,\n RedsiftColorPresentationRedDefault,\n RedsiftColorPresentationYellowDefault,\n RedsiftColorRedL4,\n RedsiftColorRedN,\n RedsiftColorYellowL4,\n RedsiftColorYellowN,\n} from '../../utils';\n\nconst predefinedColorToHex: Record<string, string> = {\n green: RedsiftColorPresentationGreenDefault,\n pink: RedsiftColorPresentationPinkDefault,\n aqua: RedsiftColorPresentationAquaDefault,\n brown: RedsiftColorPresentationBrownDefault,\n red: RedsiftColorPresentationRedDefault,\n yellow: RedsiftColorPresentationYellowDefault,\n purple: RedsiftColorPresentationPurpleDefault,\n orange: RedsiftColorPresentationOrangeDefault,\n blue: RedsiftColorPresentationBlueDefault,\n grey: RedsiftColorPresentationGreyDefault,\n black: RedsiftColorNeutralBlack,\n 'x-dark-grey': RedsiftColorNeutralXDarkGrey,\n 'dark-grey': RedsiftColorNeutralDarkGrey,\n 'mid-grey': RedsiftColorNeutralMidGrey,\n 'light-grey': RedsiftColorNeutralLightGrey,\n 'x-light-grey': RedsiftColorNeutralXLightGrey,\n white: RedsiftColorNeutralWhite,\n error: RedsiftColorRedL4,\n warning: RedsiftColorYellowL4,\n success: RedsiftColorGreenL4,\n 'error-dark': RedsiftColorRedN,\n 'warning-dark': RedsiftColorYellowN,\n 'success-dark': RedsiftColorGreenN,\n};\n\nexport const pickTextColorBasedOnBgColorAdvanced = (bgColor: string, lightColor: string, darkColor: string) => {\n var color = isPredefinedColor(bgColor)\n ? predefinedColorToHex[bgColor].substring(1, 7)\n : bgColor.charAt(0) === '#'\n ? bgColor.substring(1, 7)\n : bgColor;\n var r = parseInt(color.substring(0, 2), 16); // hexToR\n var g = parseInt(color.substring(2, 4), 16); // hexToG\n var b = parseInt(color.substring(4, 6), 16); // hexToB\n var uicolors = [r / 255, g / 255, b / 255];\n var c = uicolors.map((col) => {\n if (col <= 0.03928) {\n return col / 12.92;\n }\n return Math.pow((col + 0.055) / 1.055, 2.4);\n });\n var L = 0.2126 * c[0] + 0.7152 * c[1] + 0.0722 * c[2];\n return L > 0.179 ? darkColor : lightColor;\n};\n\nexport const pickHoverColorBasedOnBgColorAdvanced = (bgColor: string) => {\n var color = bgColor.charAt(0) === '#' ? bgColor.substring(1, 7) : bgColor;\n if (color.toUpperCase() === 'FFFFFF') {\n return RedsiftColorNeutralLightGrey;\n }\n var r = parseInt(color.substring(0, 2), 16); // hexToR\n var g = parseInt(color.substring(2, 4), 16); // hexToG\n var b = parseInt(color.substring(4, 6), 16); // hexToB\n return `rgba(${r}, ${g}, ${b}, 0.75)`;\n};\n\nconst isPredefinedColor = (color: string) => Object.keys(predefinedColorToHex).includes(color);\n\n/**\n * Component style.\n */\nexport const StyledPill = styled.div<StyledPillProps>`\n align-items: stretch;\n display: inline-flex;\n height: fit-content;\n width: fit-content;\n ${baseStyling}\n\n text-align: center;\n\n ${({ $autoBreak }) =>\n !$autoBreak\n ? css`\n text-wrap: nowrap;\n `\n : css`\n word-break: break-word;\n `};\n\n ${({ $size }) => css`\n .redsift-icon-button,\n .redsift-button,\n .redsift-button-link {\n width: unset;\n height: ${$size === PillSize.xlarge ? css`30px` : $size === PillSize.large ? css`24px` : css`22px`};\n cursor: pointer;\n padding: 5px;\n border: none;\n text-transform: none;\n\n font-size: ${$size === PillSize.small ? css`14px` : css`15px`};\n\n > .redsift-icon:not(.colored) {\n color: inherit;\n }\n }\n\n .redsift-icon-button {\n width: ${$size === PillSize.xlarge ? css`30px` : $size === PillSize.large ? css`24px` : css`22px`};\n }\n\n .redsift-button-link {\n height: ${$size === PillSize.xlarge ? css`18px` : $size === PillSize.large ? css`12px` : css`10px`};\n }\n\n .first.redsift-text,\n .first.redsift-number,\n .middle.redsift-text,\n .middle.redsift-number,\n .last.redsift-text,\n .last.redsift-number {\n padding: 0 8px;\n }\n `}\n\n ${({ $color, $hoverColor, $isDisabled, $theme }) =>\n isPredefinedColor($color!)\n ? css`\n .first,\n .middle,\n .last {\n background-color: var(\n --redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-background\n );\n }\n\n & {\n color: var(\n --redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-text\n );\n }\n\n .redsift-icon-button:hover,\n .redsift-button:hover,\n .redsift-button-link:hover {\n background-color: var(\n --redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'hover'}-background\n );\n }\n `\n : css`\n .first,\n .middle,\n .last {\n background-color: ${$color ?? RedsiftColorNeutralWhite};\n }\n\n & {\n color: ${pickTextColorBasedOnBgColorAdvanced(\n $color ?? RedsiftColorNeutralWhite,\n $isDisabled ? RedsiftColorNeutralLightGrey : RedsiftColorNeutralWhite,\n $isDisabled ? RedsiftColorGreyL1 : RedsiftColorNeutralBlack\n )};\n }\n\n .redsift-icon-button:hover,\n .redsift-button:hover,\n .redsift-button-link:hover {\n background-color: ${$hoverColor ??\n pickHoverColorBasedOnBgColorAdvanced($color ?? RedsiftColorNeutralWhite)};\n }\n `};\n\n ${({ $color, $borderColor, $isDisabled, $theme }) => css`\n .first:not(.last) {\n border-top-left-radius: 2px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 2px;\n\n ${$borderColor\n ? css`\n border: 1px solid ${$borderColor};\n `\n : $color === 'white'\n ? css`\n border: 1px solid\n var(--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-border);\n `\n : css`\n border: 1px solid transparent;\n border-right: 1px solid white;\n `}\n }\n\n .middle {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n\n ${$borderColor\n ? css`\n border: 1px solid ${$borderColor};\n `\n : $color === 'white'\n ? css`\n border: 1px solid\n var(--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-border);\n `\n : css`\n border: 1px solid transparent;\n border-right: 1px solid white;\n `}\n border-left: none;\n }\n\n .last:not(.first) {\n border-top-left-radius: 0;\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n border-bottom-left-radius: 0;\n\n ${$borderColor\n ? css`\n border: 1px solid ${$borderColor};\n `\n : $color === 'white'\n ? css`\n border: 1px solid\n var(--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-border);\n `\n : css`\n border: 1px solid transparent;\n `}\n border-left: none;\n }\n\n .first.last {\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n border-bottom-left-radius: 2px;\n\n ${$borderColor\n ? css`\n border: 1px solid ${$borderColor};\n `\n : $color === 'white'\n ? css`\n border: 1px solid\n var(--redsift-color-${$theme}-components-pills-${$color}-${$isDisabled ? 'disabled' : 'default'}-border);\n `\n : css`\n border: 1px solid transparent;\n `}\n }\n `};\n\n .redsift-icon {\n font-size: ${({ $size }) => ($size === PillSize.xlarge ? '15px' : $size === PillSize.large ? '12px' : '12px')};\n }\n\n &,\n .redsift-text,\n .redsift-number,\n .first,\n .middle,\n .last {\n font-family: var(--redsift-typography-pill-font-family);\n font-size: ${({ $size }) => ($size === PillSize.xlarge ? '15px' : $size === PillSize.large ? '12px' : '10px')};\n font-weight: var(--redsift-typography-pill-font-weight);\n line-height: ${({ $size }) =>\n $size === PillSize.xlarge\n ? '28px'\n : $size === PillSize.large\n ? css`var(--redsift-typography-chip-line-height)`\n : css`var(--redsift-typography-pill-line-height)`};\n }\n\n .redsift-icon:not(.colored) {\n color: inherit;\n }\n\n .redsift-icon {\n width: ${({ $size }) => ($size === PillSize.xlarge ? '17px' : $size === PillSize.large ? '14px' : '12px')};\n height: ${({ $size }) => ($size === PillSize.xlarge ? '17px' : $size === PillSize.large ? '14px' : '12px')};\n\n > svg {\n width: 1em;\n height: 1em;\n }\n }\n`;\n","import React, { forwardRef, ReactNode, RefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp, PresentationColorPalette } from '../../types';\nimport { pickTextColorBasedOnBgColorAdvanced, StyledPill } from './styles';\nimport { PillProps, PillSize } from './types';\nimport { useTheme } from '../theme';\nimport { Text } from '../text';\nimport { Number } from '../number';\nimport { isComponent } from '../../utils';\n\nconst COMPONENT_NAME = 'Pill';\nconst CLASSNAME = 'redsift-pill';\n\n/**\n * The Pill component.\n */\nexport const Pill: Comp<PillProps, HTMLDivElement> = forwardRef((props, ref) => {\n const {\n autoBreak,\n borderColor,\n children,\n className,\n color: propsColor,\n disabledColor,\n hoverColor,\n isDisabled,\n size: propsSize,\n theme: propsTheme,\n ...forwardedProps\n } = props;\n\n const theme = useTheme(propsTheme);\n const color = propsColor || PresentationColorPalette.blue;\n const size = propsSize || PillSize.large;\n\n const childArray: ReactNode[] = [];\n React.Children.forEach(children, (child, index) => {\n const currentClassName =\n React.Children.count(children) === 1\n ? 'first last'\n : index === 0\n ? 'first'\n : index === React.Children.count(children) - 1\n ? 'last'\n : 'middle';\n\n if (\n isComponent('MenuButton')(child) ||\n isComponent('Select')(child) ||\n isComponent('Dialog')(child) ||\n isComponent('Popover')(child) ||\n isComponent('Tooltip')(child)\n ) {\n childArray.push(\n React.cloneElement(child, {\n key: child.key ?? index,\n triggerClassName: currentClassName,\n variant: 'unstyled',\n color: child.props.color ? child.props.color : pickTextColorBasedOnBgColorAdvanced(color, 'white', 'black'),\n })\n );\n } else if (isComponent('IconButton')(child) || isComponent('Button')(child) || isComponent('ButtonLink')(child)) {\n childArray.push(\n React.cloneElement(child, {\n key: (child as React.ReactElement<any, string | React.JSXElementConstructor<any>>).key ?? index,\n className: currentClassName,\n variant: 'unstyled',\n color: child.props.color ? child.props.color : pickTextColorBasedOnBgColorAdvanced(color, 'white', 'black'),\n })\n );\n } else if (React.isValidElement(child)) {\n childArray.push(\n React.cloneElement(child, {\n key: (child as React.ReactElement<any, string | React.JSXElementConstructor<any>>).key ?? index,\n className: currentClassName,\n } as any)\n );\n } else if (typeof child === 'string') {\n childArray.push(\n <Text key={index} className={currentClassName}>\n {child}\n </Text>\n );\n } else if (typeof child === 'number') {\n childArray.push(<Number key={index} className={currentClassName} value={child} />);\n } else {\n childArray.push(child);\n }\n });\n\n return (\n <StyledPill\n {...forwardedProps}\n $autoBreak={autoBreak}\n $borderColor={borderColor}\n $color={color}\n $disabledColor={disabledColor}\n $hoverColor={hoverColor}\n $isDisabled={isDisabled}\n $size={size}\n $theme={theme}\n className={classNames(Pill.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {childArray}\n </StyledPill>\n );\n});\nPill.className = CLASSNAME;\nPill.displayName = COMPONENT_NAME;\n"],"names":["PillSize","small","large","xlarge","predefinedColorToHex","green","RedsiftColorPresentationGreenDefault","pink","RedsiftColorPresentationPinkDefault","aqua","RedsiftColorPresentationAquaDefault","brown","RedsiftColorPresentationBrownDefault","red","RedsiftColorPresentationRedDefault","yellow","RedsiftColorPresentationYellowDefault","purple","RedsiftColorPresentationPurpleDefault","orange","RedsiftColorPresentationOrangeDefault","blue","RedsiftColorPresentationBlueDefault","grey","RedsiftColorPresentationGreyDefault","black","RedsiftColorNeutralBlack","RedsiftColorNeutralXDarkGrey","RedsiftColorNeutralDarkGrey","RedsiftColorNeutralMidGrey","RedsiftColorNeutralLightGrey","RedsiftColorNeutralXLightGrey","white","RedsiftColorNeutralWhite","error","RedsiftColorRedL4","warning","RedsiftColorYellowL4","success","RedsiftColorGreenL4","RedsiftColorRedN","RedsiftColorYellowN","RedsiftColorGreenN","pickTextColorBasedOnBgColorAdvanced","bgColor","lightColor","darkColor","color","isPredefinedColor","substring","charAt","r","parseInt","g","b","uicolors","c","map","col","Math","pow","L","pickHoverColorBasedOnBgColorAdvanced","toUpperCase","Object","keys","includes","StyledPill","styled","div","baseStyling","_ref","$autoBreak","css","_ref2","$size","_ref3","$color","$hoverColor","$isDisabled","$theme","RedsiftColorGreyL1","_ref4","$borderColor","_ref5","_ref6","_ref7","_ref8","_ref9","COMPONENT_NAME","CLASSNAME","Pill","forwardRef","props","ref","autoBreak","borderColor","children","className","propsColor","disabledColor","hoverColor","isDisabled","size","propsSize","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","useTheme","PresentationColorPalette","childArray","React","Children","forEach","child","index","currentClassName","count","isComponent","_child$key","push","cloneElement","key","triggerClassName","variant","_key","isValidElement","_key2","createElement","Text","Number","value","_extends","$disabledColor","classNames","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { b as _objectWithoutProperties, c as _extends } from './_rollupPluginBabelHelpers.js';
|
|
2
|
+
import React__default, { forwardRef } from 'react';
|
|
3
|
+
import classNames from 'classnames';
|
|
4
|
+
import styled, { css } from 'styled-components';
|
|
5
|
+
import { u as useTheme } from './useTheme.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Component style.
|
|
9
|
+
*/
|
|
10
|
+
const StyledProgressBar = styled.progress`
|
|
11
|
+
${_ref => {
|
|
12
|
+
let {
|
|
13
|
+
backgroundColor,
|
|
14
|
+
height,
|
|
15
|
+
progressColor,
|
|
16
|
+
width
|
|
17
|
+
} = _ref;
|
|
18
|
+
return css`
|
|
19
|
+
&[value] {
|
|
20
|
+
// Target only state with a value
|
|
21
|
+
-webkit-appearance: none;
|
|
22
|
+
appearance: none;
|
|
23
|
+
height: ${height || '8px'};
|
|
24
|
+
width: ${width || '100%'};
|
|
25
|
+
color: var(--redsift-color-presentation-red-default);
|
|
26
|
+
|
|
27
|
+
&::-webkit-progress-bar {
|
|
28
|
+
background-color: ${backgroundColor || 'var(--redsift-color-neutral-x-light-grey)'};
|
|
29
|
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) inset;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&::-webkit-progress-value {
|
|
33
|
+
background-color: ${progressColor || 'var(--redsift-color-primary-n)'};
|
|
34
|
+
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) inset;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
`;
|
|
38
|
+
}}
|
|
39
|
+
`;
|
|
40
|
+
|
|
41
|
+
const _excluded = ["className", "theme", "value"];
|
|
42
|
+
const COMPONENT_NAME = 'ProgressBar';
|
|
43
|
+
const CLASSNAME = 'redsift-progress-bar';
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The Progress bar component.
|
|
47
|
+
*/
|
|
48
|
+
const ProgressBar = /*#__PURE__*/forwardRef((props, ref) => {
|
|
49
|
+
const {
|
|
50
|
+
className,
|
|
51
|
+
theme: propsTheme,
|
|
52
|
+
value
|
|
53
|
+
} = props,
|
|
54
|
+
forwardedProps = _objectWithoutProperties(props, _excluded);
|
|
55
|
+
const theme = useTheme(propsTheme);
|
|
56
|
+
return /*#__PURE__*/React__default.createElement(StyledProgressBar, _extends({}, forwardedProps, {
|
|
57
|
+
className: classNames(ProgressBar.className, className),
|
|
58
|
+
ref: ref,
|
|
59
|
+
variant: "determinate",
|
|
60
|
+
max: "100",
|
|
61
|
+
value: value || 0,
|
|
62
|
+
theme: theme
|
|
63
|
+
}));
|
|
64
|
+
});
|
|
65
|
+
ProgressBar.className = CLASSNAME;
|
|
66
|
+
ProgressBar.displayName = COMPONENT_NAME;
|
|
67
|
+
|
|
68
|
+
export { ProgressBar as P };
|
|
69
|
+
//# sourceMappingURL=ProgressBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressBar.js","sources":["../../src/components/progress-bar/styles.ts","../../src/components/progress-bar/ProgressBar.tsx"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { ProgressBarProps } from './types';\n\n/**\n * Component style.\n */\nexport const StyledProgressBar = styled.progress<ProgressBarProps>`\n ${({ backgroundColor, height, progressColor, width }) => css`\n &[value] {\n // Target only state with a value\n -webkit-appearance: none;\n appearance: none;\n height: ${height || '8px'};\n width: ${width || '100%'};\n color: var(--redsift-color-presentation-red-default);\n\n &::-webkit-progress-bar {\n background-color: ${backgroundColor || 'var(--redsift-color-neutral-x-light-grey)'};\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) inset;\n }\n\n &::-webkit-progress-value {\n background-color: ${progressColor || 'var(--redsift-color-primary-n)'};\n box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1) inset;\n }\n }\n `}\n`;\n","import React, { forwardRef, MutableRefObject } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { ProgressBarProps } from './types';\nimport { StyledProgressBar } from './styles';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'ProgressBar';\nconst CLASSNAME = 'redsift-progress-bar';\n\n/**\n * The Progress bar component.\n */\nexport const ProgressBar: Comp<ProgressBarProps, HTMLProgressElement> = forwardRef((props, ref) => {\n const { className, theme: propsTheme, value, ...forwardedProps } = props;\n\n const theme = useTheme(propsTheme);\n\n return (\n <StyledProgressBar\n {...forwardedProps}\n className={classNames(ProgressBar.className, className)}\n ref={ref as MutableRefObject<HTMLProgressElement>}\n variant=\"determinate\"\n max=\"100\"\n value={value || 0}\n theme={theme}\n />\n );\n});\nProgressBar.className = CLASSNAME;\nProgressBar.displayName = COMPONENT_NAME;\n"],"names":["StyledProgressBar","styled","progress","_ref","backgroundColor","height","progressColor","width","css","COMPONENT_NAME","CLASSNAME","ProgressBar","forwardRef","props","ref","className","theme","propsTheme","value","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","_extends","classNames","variant","max","displayName"],"mappings":";;;;;;AAGA;AACA;AACA;AACO,MAAMA,iBAAiB,GAAGC,MAAM,CAACC,QAA2B,CAAA;AACnE,EAAA,EAAIC,IAAA,IAAA;EAAA,IAAC;IAAEC,eAAe;IAAEC,MAAM;IAAEC,aAAa;AAAEC,IAAAA,KAAAA;AAAM,GAAC,GAAAJ,IAAA,CAAA;AAAA,EAAA,OAAKK,GAAI,CAAA;AAC/D;AACA;AACA;AACA;AACA,cAAgBH,EAAAA,MAAM,IAAI,KAAM,CAAA;AAChC,aAAeE,EAAAA,KAAK,IAAI,MAAO,CAAA;AAC/B;AACA;AACA;AACA,0BAA4BH,EAAAA,eAAe,IAAI,2CAA4C,CAAA;AAC3F;AACA;AACA;AACA;AACA,0BAA4BE,EAAAA,aAAa,IAAI,gCAAiC,CAAA;AAC9E;AACA;AACA;AACA,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ,CAAC;;;ACpBD,MAAMG,cAAc,GAAG,aAAa,CAAA;AACpC,MAAMC,SAAS,GAAG,sBAAsB,CAAA;;AAExC;AACA;AACA;AACO,MAAMC,WAAwD,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACjG,MAAM;MAAEC,SAAS;AAAEC,MAAAA,KAAK,EAAEC,UAAU;AAAEC,MAAAA,KAAAA;AAAyB,KAAC,GAAGL,KAAK;AAAxBM,IAAAA,cAAc,GAAAC,wBAAA,CAAKP,KAAK,EAAAQ,SAAA,CAAA,CAAA;AAExE,EAAA,MAAML,KAAK,GAAGM,QAAQ,CAACL,UAAU,CAAC,CAAA;EAElC,oBACEM,cAAA,CAAAC,aAAA,CAACxB,iBAAiB,EAAAyB,QAAA,KACZN,cAAc,EAAA;IAClBJ,SAAS,EAAEW,UAAU,CAACf,WAAW,CAACI,SAAS,EAAEA,SAAS,CAAE;AACxDD,IAAAA,GAAG,EAAEA,GAA6C;AAClDa,IAAAA,OAAO,EAAC,aAAa;AACrBC,IAAAA,GAAG,EAAC,KAAK;IACTV,KAAK,EAAEA,KAAK,IAAI,CAAE;AAClBF,IAAAA,KAAK,EAAEA,KAAAA;AAAM,GAAA,CACd,CAAC,CAAA;AAEN,CAAC,EAAC;AACFL,WAAW,CAACI,SAAS,GAAGL,SAAS,CAAA;AACjCC,WAAW,CAACkB,WAAW,GAAGpB,cAAc;;;;"}
|