@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.
Files changed (285) hide show
  1. package/_internal/Alert2.js +197 -0
  2. package/_internal/Alert2.js.map +1 -0
  3. package/_internal/AppBar.js +248 -0
  4. package/_internal/AppBar.js.map +1 -0
  5. package/_internal/AppContainer.js +142 -0
  6. package/_internal/AppContainer.js.map +1 -0
  7. package/_internal/AppContent.js +92 -0
  8. package/_internal/AppContent.js.map +1 -0
  9. package/_internal/Badge2.js +142 -0
  10. package/_internal/Badge2.js.map +1 -0
  11. package/_internal/BreadcrumbItem.js +91 -0
  12. package/_internal/BreadcrumbItem.js.map +1 -0
  13. package/_internal/Breadcrumbs2.js +94 -0
  14. package/_internal/Breadcrumbs2.js.map +1 -0
  15. package/_internal/Button2.js +91 -0
  16. package/_internal/Button2.js.map +1 -0
  17. package/_internal/ButtonGroup.js +181 -0
  18. package/_internal/ButtonGroup.js.map +1 -0
  19. package/_internal/ButtonLink.js +84 -0
  20. package/_internal/ButtonLink.js.map +1 -0
  21. package/_internal/Card2.js +157 -0
  22. package/_internal/Card2.js.map +1 -0
  23. package/_internal/CardActions.js +44 -0
  24. package/_internal/CardActions.js.map +1 -0
  25. package/_internal/CardBody.js +42 -0
  26. package/_internal/CardBody.js.map +1 -0
  27. package/_internal/CardHeader.js +83 -0
  28. package/_internal/CardHeader.js.map +1 -0
  29. package/_internal/Checkbox2.js +244 -0
  30. package/_internal/Checkbox2.js.map +1 -0
  31. package/_internal/CheckboxGroup.js +188 -0
  32. package/_internal/CheckboxGroup.js.map +1 -0
  33. package/_internal/ConditionalWrapper.js +13 -0
  34. package/_internal/ConditionalWrapper.js.map +1 -0
  35. package/_internal/DetailedCard.js +6916 -0
  36. package/_internal/DetailedCard.js.map +1 -0
  37. package/_internal/DetailedCardCollapsibleSectionItems.js +64 -0
  38. package/_internal/DetailedCardCollapsibleSectionItems.js.map +1 -0
  39. package/_internal/DetailedCardHeader.js +67 -0
  40. package/_internal/DetailedCardHeader.js.map +1 -0
  41. package/_internal/DetailedCardSection.js +172 -0
  42. package/_internal/DetailedCardSection.js.map +1 -0
  43. package/_internal/DetailedCardSectionItem.js +94 -0
  44. package/_internal/DetailedCardSectionItem.js.map +1 -0
  45. package/_internal/Flexbox2.js +93 -0
  46. package/_internal/Flexbox2.js.map +1 -0
  47. package/_internal/Grid2.js +95 -0
  48. package/_internal/Grid2.js.map +1 -0
  49. package/_internal/GridItem.js +40 -0
  50. package/_internal/GridItem.js.map +1 -0
  51. package/_internal/Heading2.js +113 -0
  52. package/_internal/Heading2.js.map +1 -0
  53. package/_internal/Icon2.js +211 -0
  54. package/_internal/Icon2.js.map +1 -0
  55. package/_internal/IconButton.js +80 -0
  56. package/_internal/IconButton.js.map +1 -0
  57. package/_internal/IconButtonLink.js +75 -0
  58. package/_internal/IconButtonLink.js.map +1 -0
  59. package/_internal/Item2.js +399 -0
  60. package/_internal/Item2.js.map +1 -0
  61. package/_internal/Link2.js +67 -0
  62. package/_internal/Link2.js.map +1 -0
  63. package/_internal/LinkButton.js +66 -0
  64. package/_internal/LinkButton.js.map +1 -0
  65. package/_internal/Listbox2.js +274 -0
  66. package/_internal/Listbox2.js.map +1 -0
  67. package/_internal/Number2.js +111 -0
  68. package/_internal/Number2.js.map +1 -0
  69. package/_internal/NumberField.js +3974 -0
  70. package/_internal/NumberField.js.map +1 -0
  71. package/_internal/Pill2.js +405 -0
  72. package/_internal/Pill2.js.map +1 -0
  73. package/_internal/ProgressBar.js +69 -0
  74. package/_internal/ProgressBar.js.map +1 -0
  75. package/_internal/Radio2.js +237 -0
  76. package/_internal/Radio2.js.map +1 -0
  77. package/_internal/RadioGroup.js +176 -0
  78. package/_internal/RadioGroup.js.map +1 -0
  79. package/_internal/Shield2.js +225 -0
  80. package/_internal/Shield2.js.map +1 -0
  81. package/_internal/SideNavigationMenu.js +591 -0
  82. package/_internal/SideNavigationMenu.js.map +1 -0
  83. package/_internal/SideNavigationMenuItem.js +304 -0
  84. package/_internal/SideNavigationMenuItem.js.map +1 -0
  85. package/_internal/Skeleton2.js +42 -0
  86. package/_internal/Skeleton2.js.map +1 -0
  87. package/_internal/SkeletonCircle.js +58 -0
  88. package/_internal/SkeletonCircle.js.map +1 -0
  89. package/_internal/SkeletonText.js +77 -0
  90. package/_internal/SkeletonText.js.map +1 -0
  91. package/_internal/Spinner2.js +333 -0
  92. package/_internal/Spinner2.js.map +1 -0
  93. package/_internal/Switch2.js +320 -0
  94. package/_internal/Switch2.js.map +1 -0
  95. package/_internal/SwitchGroup.js +188 -0
  96. package/_internal/SwitchGroup.js.map +1 -0
  97. package/_internal/Text2.js +51 -0
  98. package/_internal/Text2.js.map +1 -0
  99. package/_internal/TextArea.js +444 -0
  100. package/_internal/TextArea.js.map +1 -0
  101. package/_internal/TextField.js +473 -0
  102. package/_internal/TextField.js.map +1 -0
  103. package/_internal/_rollupPluginBabelHelpers.js +133 -0
  104. package/_internal/_rollupPluginBabelHelpers.js.map +1 -0
  105. package/_internal/alert.js +2 -0
  106. package/_internal/alert.js.map +1 -0
  107. package/_internal/app-bar.js +2 -0
  108. package/_internal/app-bar.js.map +1 -0
  109. package/_internal/app-container.js +3 -0
  110. package/_internal/app-container.js.map +1 -0
  111. package/_internal/app-content.js +2 -0
  112. package/_internal/app-content.js.map +1 -0
  113. package/_internal/app-side-panel.js +3 -0
  114. package/_internal/app-side-panel.js.map +1 -0
  115. package/_internal/badge.js +2 -0
  116. package/_internal/badge.js.map +1 -0
  117. package/_internal/breadcrumb-item.js +2 -0
  118. package/_internal/breadcrumb-item.js.map +1 -0
  119. package/_internal/breadcrumbs.js +2 -0
  120. package/_internal/breadcrumbs.js.map +1 -0
  121. package/_internal/button-group.js +2 -0
  122. package/_internal/button-group.js.map +1 -0
  123. package/_internal/button-link.js +2 -0
  124. package/_internal/button-link.js.map +1 -0
  125. package/_internal/button.js +3 -0
  126. package/_internal/button.js.map +1 -0
  127. package/_internal/card-actions.js +2 -0
  128. package/_internal/card-actions.js.map +1 -0
  129. package/_internal/card-body.js +2 -0
  130. package/_internal/card-body.js.map +1 -0
  131. package/_internal/card-header.js +2 -0
  132. package/_internal/card-header.js.map +1 -0
  133. package/_internal/card.js +2 -0
  134. package/_internal/card.js.map +1 -0
  135. package/_internal/checkbox-group.js +2 -0
  136. package/_internal/checkbox-group.js.map +1 -0
  137. package/_internal/checkbox.js +2 -0
  138. package/_internal/checkbox.js.map +1 -0
  139. package/_internal/colors.js +98 -0
  140. package/_internal/colors.js.map +1 -0
  141. package/_internal/conditional-wrapper.js +2 -0
  142. package/_internal/conditional-wrapper.js.map +1 -0
  143. package/_internal/context.js +6 -0
  144. package/_internal/context.js.map +1 -0
  145. package/_internal/context2.js +300 -0
  146. package/_internal/context2.js.map +1 -0
  147. package/_internal/context3.js +6 -0
  148. package/_internal/context3.js.map +1 -0
  149. package/_internal/context4.js +6 -0
  150. package/_internal/context4.js.map +1 -0
  151. package/_internal/context5.js +6 -0
  152. package/_internal/context5.js.map +1 -0
  153. package/_internal/detailed-card-collapsible-section-items.js +2 -0
  154. package/_internal/detailed-card-collapsible-section-items.js.map +1 -0
  155. package/_internal/detailed-card-header.js +2 -0
  156. package/_internal/detailed-card-header.js.map +1 -0
  157. package/_internal/detailed-card-section-item.js +2 -0
  158. package/_internal/detailed-card-section-item.js.map +1 -0
  159. package/_internal/detailed-card-section.js +2 -0
  160. package/_internal/detailed-card-section.js.map +1 -0
  161. package/_internal/detailed-card.js +2 -0
  162. package/_internal/detailed-card.js.map +1 -0
  163. package/_internal/filterComponents.js +24 -0
  164. package/_internal/filterComponents.js.map +1 -0
  165. package/_internal/flexbox.js +2 -0
  166. package/_internal/flexbox.js.map +1 -0
  167. package/_internal/focus-within-group.js +3 -0
  168. package/_internal/focus-within-group.js.map +1 -0
  169. package/_internal/fonts.js +10 -0
  170. package/_internal/fonts.js.map +1 -0
  171. package/_internal/gradient-border.js +38 -0
  172. package/_internal/gradient-border.js.map +1 -0
  173. package/_internal/grid-item.js +2 -0
  174. package/_internal/grid-item.js.map +1 -0
  175. package/_internal/grid.js +2 -0
  176. package/_internal/grid.js.map +1 -0
  177. package/_internal/heading.js +3 -0
  178. package/_internal/heading.js.map +1 -0
  179. package/_internal/icon-button-link.js +2 -0
  180. package/_internal/icon-button-link.js.map +1 -0
  181. package/_internal/icon-button.js +3 -0
  182. package/_internal/icon-button.js.map +1 -0
  183. package/_internal/icon.js +2 -0
  184. package/_internal/icon.js.map +1 -0
  185. package/_internal/isComponent.js +15 -0
  186. package/_internal/isComponent.js.map +1 -0
  187. package/_internal/item.js +2 -0
  188. package/_internal/item.js.map +1 -0
  189. package/_internal/link-button.js +2 -0
  190. package/_internal/link-button.js.map +1 -0
  191. package/_internal/link.js +3 -0
  192. package/_internal/link.js.map +1 -0
  193. package/_internal/listbox.js +3 -0
  194. package/_internal/listbox.js.map +1 -0
  195. package/_internal/number-field.js +2 -0
  196. package/_internal/number-field.js.map +1 -0
  197. package/_internal/number.js +2 -0
  198. package/_internal/number.js.map +1 -0
  199. package/_internal/partitionComponents.js +26 -0
  200. package/_internal/partitionComponents.js.map +1 -0
  201. package/_internal/pill.js +2 -0
  202. package/_internal/pill.js.map +1 -0
  203. package/_internal/progress-bar.js +2 -0
  204. package/_internal/progress-bar.js.map +1 -0
  205. package/_internal/radio-group.js +2 -0
  206. package/_internal/radio-group.js.map +1 -0
  207. package/_internal/radio.js +2 -0
  208. package/_internal/radio.js.map +1 -0
  209. package/_internal/redsift-design-tokens.js +1391 -0
  210. package/_internal/redsift-design-tokens.js.map +1 -0
  211. package/_internal/shared.js +2 -0
  212. package/_internal/shared.js.map +1 -0
  213. package/_internal/shield.js +2 -0
  214. package/_internal/shield.js.map +1 -0
  215. package/_internal/side-navigation-menu-bar.js +3 -0
  216. package/_internal/side-navigation-menu-bar.js.map +1 -0
  217. package/_internal/side-navigation-menu-item.js +2 -0
  218. package/_internal/side-navigation-menu-item.js.map +1 -0
  219. package/_internal/side-navigation-menu.js +2 -0
  220. package/_internal/side-navigation-menu.js.map +1 -0
  221. package/_internal/skeleton-circle.js +2 -0
  222. package/_internal/skeleton-circle.js.map +1 -0
  223. package/_internal/skeleton-text.js +3 -0
  224. package/_internal/skeleton-text.js.map +1 -0
  225. package/_internal/skeleton.js +2 -0
  226. package/_internal/skeleton.js.map +1 -0
  227. package/_internal/spinner.js +2 -0
  228. package/_internal/spinner.js.map +1 -0
  229. package/_internal/styles.js +235 -0
  230. package/_internal/styles.js.map +1 -0
  231. package/_internal/styles2.js +47 -0
  232. package/_internal/styles2.js.map +1 -0
  233. package/_internal/styles3.js +145 -0
  234. package/_internal/styles3.js.map +1 -0
  235. package/_internal/styles4.js +250 -0
  236. package/_internal/styles4.js.map +1 -0
  237. package/_internal/styles5.js +143 -0
  238. package/_internal/styles5.js.map +1 -0
  239. package/_internal/styles6.js +84 -0
  240. package/_internal/styles6.js.map +1 -0
  241. package/_internal/switch-group.js +2 -0
  242. package/_internal/switch-group.js.map +1 -0
  243. package/_internal/switch.js +2 -0
  244. package/_internal/switch.js.map +1 -0
  245. package/_internal/text-area.js +2 -0
  246. package/_internal/text-area.js.map +1 -0
  247. package/_internal/text-field.js +2 -0
  248. package/_internal/text-field.js.map +1 -0
  249. package/_internal/text.js +3 -0
  250. package/_internal/text.js.map +1 -0
  251. package/_internal/theme.js +2 -0
  252. package/_internal/theme.js.map +1 -0
  253. package/_internal/types.js +15 -0
  254. package/_internal/types.js.map +1 -0
  255. package/_internal/types2.js +26 -0
  256. package/_internal/types2.js.map +1 -0
  257. package/_internal/types3.js +20 -0
  258. package/_internal/types3.js.map +1 -0
  259. package/_internal/useAppSidePanel.js +337 -0
  260. package/_internal/useAppSidePanel.js.map +1 -0
  261. package/_internal/useFocusOnList.js +541 -0
  262. package/_internal/useFocusOnList.js.map +1 -0
  263. package/_internal/useFocusOnListItem.js +203 -0
  264. package/_internal/useFocusOnListItem.js.map +1 -0
  265. package/_internal/useFocusRing.js +669 -0
  266. package/_internal/useFocusRing.js.map +1 -0
  267. package/_internal/useId.js +42 -0
  268. package/_internal/useId.js.map +1 -0
  269. package/_internal/useIsLoaded.js +14 -0
  270. package/_internal/useIsLoaded.js.map +1 -0
  271. package/_internal/useListboxItem.js +129 -0
  272. package/_internal/useListboxItem.js.map +1 -0
  273. package/_internal/useMessageFormatter.js +143 -0
  274. package/_internal/useMessageFormatter.js.map +1 -0
  275. package/_internal/useNumberFormatter.js +239 -0
  276. package/_internal/useNumberFormatter.js.map +1 -0
  277. package/_internal/useSideNavigationMenuBar.js +373 -0
  278. package/_internal/useSideNavigationMenuBar.js.map +1 -0
  279. package/_internal/useTheme.js +15 -0
  280. package/_internal/useTheme.js.map +1 -0
  281. package/_internal/warnIfNoAccessibleLabelFound.js +20 -0
  282. package/_internal/warnIfNoAccessibleLabelFound.js.map +1 -0
  283. package/index.js +315 -24243
  284. package/index.js.map +1 -1
  285. package/package.json +3 -3
@@ -0,0 +1,2 @@
1
+ export { S as Shield, a as ShieldVariant } from './Shield2.js';
2
+ //# sourceMappingURL=shield.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shield.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { S as SideNavigationMenuBarVariant } from './SideNavigationMenuItem.js';
2
+ export { S as SideNavigationMenuBar, a as useSideNavigationMenuBar } from './useSideNavigationMenuBar.js';
3
+ //# sourceMappingURL=side-navigation-menu-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-navigation-menu-bar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ export { a as SideNavigationMenuItem } from './SideNavigationMenuItem.js';
2
+ //# sourceMappingURL=side-navigation-menu-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-navigation-menu-item.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { a as SideNavigationMenu, S as SideNavigationMenuReducerActionType } from './SideNavigationMenu.js';
2
+ //# sourceMappingURL=side-navigation-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-navigation-menu.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { S as SkeletonCircle } from './SkeletonCircle.js';
2
+ //# sourceMappingURL=skeleton-circle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-circle.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { S as SkeletonTextVariant } from './types3.js';
2
+ export { S as SkeletonText } from './SkeletonText.js';
3
+ //# sourceMappingURL=skeleton-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton-text.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ export { B as BaseSkeleton, S as Skeleton } from './Skeleton2.js';
2
+ //# sourceMappingURL=skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { S as Spinner, a as SpinnerSize } from './Spinner2.js';
2
+ //# sourceMappingURL=spinner.js.map
@@ -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":";;;AAIA;AACA;AACA;AACO,MAAMA,aAAa,GAAG;AAC3BC,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;AACaC,MAAAA,YAAY,GAAGC,MAAM,CAACC,MAA0B,CAAA;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIC,WAAY,CAAA;AAChB;AACA,EAAA,EAAIC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAAD,IAAA,CAAA;EAAA,OACfC,UAAU,GACNC,GAAI,CAAA;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,CAAS,GACD,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;AACA,EAAA,EAAIC,KAAA,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,SAAS;IAAEC,WAAW;IAAEC,WAAW;IAAEC,UAAU;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAP,KAAA,CAAA;AAAA,EAAA,OAAKD,GAAI,CAAA;AAC3F,aAAA,EAAeE,QAAQ,KAAKZ,aAAa,CAACE,SAAS,IAC9CU,QAAQ,KAAKZ,aAAa,CAACE,SAAS,IAAIc,WAAW,IAAI,CAACD,WAAY,GACjE,UAAU,GACV,UAAW,CAAA;AACnB;AACA,IAAM,EAAA,CAACC,WAAW,GACVN,GAAI,CAAA;AACZ;AACA,4BAAA,EAA8BQ,MAAO,CAAsBN,oBAAAA,EAAAA,QAAS,WAAUC,MAAO,CAAA,YAAA,EAAcE,WAAW,GAC5F,UAAU,GACVD,SAAS,GACT,QAAQ,GACRG,UAAU,GACV,OAAO,GACP,SAAU,CAAA;AAC5B;AACA;AACA;AACA;AACA,8BAAA,EAAgCC,MAAO,CAAsBN,oBAAAA,EAAAA,QAAS,WAAUC,MAAO,CAAA,MAAA,EAAQE,WAAW,GACtF,UAAU,GACVD,SAAS,GACT,QAAQ,GACRG,UAAU,GACV,OAAO,GACP,SAAU,CAAA;AAC9B;AACA;AACA,QAAA,CAAS,GACDP,GAAI,CAAA;AACZ;AACA,4BAAA,EAA8BQ,MAAO,CAAsBN,oBAAAA,EAAAA,QAAS,WAAUC,MAAO,CAAA,YAAA,EAAcE,WAAW,GAC5F,UAAU,GACVD,SAAS,GACT,QAAQ,GACRG,UAAU,GACV,OAAO,GACP,SAAU,CAAA;AAC5B;AACA;AACA,UAAYL,EAAAA,QAAQ,KAAKZ,aAAa,CAACC,OAAO,IAAIc,WAAW,GAC/CL,GAAI,CAAA;AAClB;AACA;AACA;AACA,oCAAA,EAAsCQ,MAAO,CAAsBN,oBAAAA,EAAAA,QAAS,WAAUC,MAAO,CAAA,MAAA,EAAQE,WAAW,GACtF,UAAU,GACVD,SAAS,GACT,QAAQ,GACRG,UAAU,GACV,OAAO,GACP,SAAU,CAAA;AACpC;AACA;AACA,cAAA,CAAe,GACD,EAAG,CAAA;AACjB;AACA,UAAYL,EAAAA,QAAQ,KAAKZ,aAAa,CAACC,OAAO,IAAI,CAACc,WAAW,GAChDL,GAAI,CAAA;AAClB;AACA,6BAA+BG,EAAAA,MAAO,CAAYC,UAAAA,EAAAA,SAAS,GAAG,QAAQ,GAAGG,UAAU,GAAG,OAAO,GAAG,SAAU,CAAA;AAC1G;AACA,cAAA,CAAe,GACD,EAAG,CAAA;AACjB;AACA;AACA;AACA,8BAAA,EAAgCC,MAAO,CAAsBN,oBAAAA,EAAAA,QAAS,WAAUC,MAAO,CAAA,MAAA,EAAQE,WAAW,GACtF,UAAU,GACVD,SAAS,GACT,QAAQ,GACRG,UAAU,GACV,OAAO,GACP,SAAU,CAAA;AAC9B;AACA;AACA;AACA;AACA,QAAU,CAAA,CAAA;AACV;AACA,IAAA,EAAML,QAAQ,KAAKZ,aAAa,CAACE,SAAS,GAClCQ,GAAI,CAAA;AACZ;AACA;AACA,8BAAA,EAAgCQ,MAAO,CAAuCL,qCAAAA,EAAAA,MAAO,CAAQE,MAAAA,EAAAA,WAAW,GAAG,UAAU,GAAGD,SAAS,GAAG,QAAQ,GAAGG,UAAU,GAAG,OAAO,GAAG,SAAU,CAAA;AAChL;AACA,QAAA,CAAS,GACD,EAAG,CAAA;AACX,EAAG,CAAA,CAAA;AAAA,CAAC,CAAA;AACJ;AACA;AACA;AACA;AACA;AACA,IAAA,EAAME,KAAA,IAAA;EAAA,IAAC;IAAEP,QAAQ;IAAEC,MAAM;IAAEE,WAAW;IAAEC,WAAW;AAAEE,IAAAA,MAAAA;AAAO,GAAC,GAAAC,KAAA,CAAA;AAAA,EAAA,OAAKT,GAAI,CAAA;AACtE,cAAA,EAAgBK,WAAW,GAAG,SAAS,GAAG,SAAU,CAAA;AACpD;AACA,MAAQ,EAAA,CAACC,WAAW,GACVN,GAAI,CAAA;AACd;AACA,8BAAgCQ,EAAAA,MAAO,CAAsBN,oBAAAA,EAAAA,QAAS,CAAUC,QAAAA,EAAAA,MAAO,eAAcE,WAAW,GAC5F,UAAU,GACV,OAAQ,CAAA;AAC5B;AACA;AACA;AACA;AACA,gCAAkCG,EAAAA,MAAO,CAAsBN,oBAAAA,EAAAA,QAAS,CAAUC,QAAAA,EAAAA,MAAO,SAAQE,WAAW,GACtF,UAAU,GACV,OAAQ,CAAA;AAC9B;AACA;AACA;AACA,YAAA,EAAcH,QAAQ,KAAKZ,aAAa,CAACE,SAAS,GAClCQ,GAAI,CAAA;AACpB;AACA;AACA,sCAAwCQ,EAAAA,MAAO,wCAAuCL,MAAO,CAAA,MAAA,EAAQE,WAAW,GAAG,UAAU,GAAG,OAAQ,CAAA;AACxI;AACA,gBAAA,CAAiB,GACD,EAAG,CAAA;AACnB,UAAA,CAAW,GACDL,GAAI,CAAA;AACd;AACA,8BAAgCQ,EAAAA,MAAO,CAAsBN,oBAAAA,EAAAA,QAAS,CAAUC,QAAAA,EAAAA,MAAO,eAAcE,WAAW,GAC5F,UAAU,GACV,OAAQ,CAAA;AAC5B;AACA;AACA,YAAcH,EAAAA,QAAQ,KAAKZ,aAAa,CAACC,OAAO,IAAI,CAACc,WAAW,GAChDL,GAAI,CAAA;AACpB;AACA,+BAAA,EAAiCG,MAAO,CAAA;AACxC;AACA,gBAAA,CAAiB,GACD,EAAG,CAAA;AACnB,UAAY,CAAA,CAAA;AACZ,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA;AACA;AACA;AACA,IAAA,EAAMO,KAAA,IAAA;EAAA,IAAC;IAAER,QAAQ;IAAEC,MAAM;IAAEG,WAAW;IAAEC,UAAU;IAAEF,WAAW;AAAEG,IAAAA,MAAAA;AAAO,GAAC,GAAAE,KAAA,CAAA;AAAA,EAAA,OAAKV,GAAI,CAAA;AAClF,MAAQ,EAAA,CAACM,WAAW,GACVN,GAAI,CAAA;AACd;AACA,8BAAA,EAAgCQ,MAAO,CAAA,oBAAA,EAAsBN,QAAS,CAAA,QAAA,EAAUC,MAAO,CAAcE,YAAAA,EAAAA,WAAW,GAC5F,UAAU,GACVE,UAAU,GACV,OAAO,GACP,QAAS,CAAA;AAC7B;AACA;AACA;AACA;AACA,gCAAA,EAAkCC,MAAO,CAAA,oBAAA,EAAsBN,QAAS,CAAA,QAAA,EAAUC,MAAO,CAAQE,MAAAA,EAAAA,WAAW,GACtF,UAAU,GACVE,UAAU,GACV,OAAO,GACP,QAAS,CAAA;AAC/B;AACA;AACA;AACA,YAAA,EAAcL,QAAQ,KAAKZ,aAAa,CAACE,SAAS,GAClCQ,GAAI,CAAA;AACpB;AACA;AACA,sCAAA,EAAwCQ,MAAO,CAAA,qCAAA,EAAuCL,MAAO,CAAA,MAAA,EAAQE,WAAW,GAAG,UAAU,GAAGE,UAAU,GAAG,OAAO,GAAG,QAAS,CAAA;AAChK;AACA,gBAAA,CAAiB,GACD,EAAG,CAAA;AACnB,UAAA,CAAW,GACDP,GAAI,CAAA;AACd;AACA,8BAAA,EAAgCQ,MAAO,CAAA,oBAAA,EAAsBN,QAAS,CAAA,QAAA,EAAUC,MAAO,CAAcE,YAAAA,EAAAA,WAAW,GAC5F,UAAU,GACVE,UAAU,GACV,OAAO,GACP,QAAS,CAAA;AAC7B;AACA;AACA,YAAcL,EAAAA,QAAQ,KAAKZ,aAAa,CAACC,OAAO,IAAI,CAACc,WAAW,GAChDL,GAAI,CAAA;AACpB;AACA,+BAAA,EAAiCG,MAAO,CAAA;AACxC;AACA,gBAAA,CAAiB,GACD,EAAG,CAAA;AACnB,UAAY,CAAA,CAAA;AACZ,IAAK,CAAA,CAAA;AAAA,CAAC,CAAA;AACN;AACA;AACA,EAAA,EAAIQ,KAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,UAAAA;AAAW,GAAC,GAAAD,KAAA,CAAA;AAAA,EAAA,OACfC,UAAU,GACL,CAAA;AACT;AACA;AACA,MAAA,CAAO,GACC,EAAE,CAAA;AAAA,CAAC,CAAA;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIC,SAAU,CAAA;AACd;;;;"}
@@ -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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"}