@redsift/design-system-legacy 8.0.0 → 8.0.1

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 (136) hide show
  1. package/dist/package.json +65 -0
  2. package/package.json +2 -3
  3. package/rollup.config.js +70 -0
  4. package/src/components/Alert/Alert.jsx +94 -0
  5. package/src/components/Alert/index.ts +1 -0
  6. package/src/components/Alert/readme.md +114 -0
  7. package/src/components/Button/Button.jsx +161 -0
  8. package/src/components/Button/index.ts +1 -0
  9. package/src/components/Button/readme.md +173 -0
  10. package/src/components/Card/Card.jsx +34 -0
  11. package/src/components/Card/index.ts +1 -0
  12. package/src/components/Card/readme.md +54 -0
  13. package/src/components/CardHeader/CardHeader.jsx +40 -0
  14. package/src/components/CardHeader/index.ts +1 -0
  15. package/src/components/Checkbox/Checkbox.jsx +123 -0
  16. package/src/components/Checkbox/index.ts +1 -0
  17. package/src/components/Checkbox/readme.md +54 -0
  18. package/src/components/CheckboxTree/CheckboxTree.jsx +167 -0
  19. package/src/components/CheckboxTree/CheckboxTree.styles.ts +49 -0
  20. package/src/components/CheckboxTree/index.ts +1 -0
  21. package/src/components/CheckboxTree/readme.md +60 -0
  22. package/src/components/IconContainer/IconContainer.jsx +51 -0
  23. package/src/components/IconContainer/index.ts +1 -0
  24. package/src/components/Input/Input.jsx +27 -0
  25. package/src/components/Input/OutlineInput/OutlineInput.jsx +188 -0
  26. package/src/components/Input/RegularInput/RegularInput.jsx +55 -0
  27. package/src/components/Input/RegularInput/RegularInput.styles.ts +98 -0
  28. package/src/components/Input/index.ts +1 -0
  29. package/src/components/Input/readme.md +82 -0
  30. package/src/components/Pagination/Pagination.jsx +111 -0
  31. package/src/components/Pagination/index.ts +1 -0
  32. package/src/components/Pagination/readme.md +34 -0
  33. package/src/components/Radio/Radio.jsx +121 -0
  34. package/src/components/Radio/index.ts +1 -0
  35. package/src/components/Radio/readme.md +90 -0
  36. package/src/components/Select/Select.jsx +360 -0
  37. package/src/components/Select/SelectComponents.jsx +342 -0
  38. package/src/components/Select/index.ts +1 -0
  39. package/src/components/Select/readme.md +2507 -0
  40. package/src/components/Switch/Switch.jsx +130 -0
  41. package/src/components/Switch/index.ts +1 -0
  42. package/src/components/Switch/readme.md +55 -0
  43. package/src/components/Table/ExportCSVButton.jsx +34 -0
  44. package/src/components/Table/Table.jsx +872 -0
  45. package/src/components/Table/TableComponents.jsx +239 -0
  46. package/src/components/Table/TableFilters.jsx +23 -0
  47. package/src/components/Table/TableStyles.jsx +514 -0
  48. package/src/components/Table/index.ts +1 -0
  49. package/src/components/Table/readme.md +2190 -0
  50. package/src/components/Tabs/Tabs.jsx +116 -0
  51. package/src/components/Tabs/TabsComponents.jsx +124 -0
  52. package/src/components/Tabs/index.ts +1 -0
  53. package/src/components/Tabs/readme.md +171 -0
  54. package/src/components/Typography/Typography.jsx +77 -0
  55. package/src/components/Typography/index.ts +1 -0
  56. package/src/components/Typography/readme.md +88 -0
  57. package/src/components/icons/ActionsIcon.jsx +24 -0
  58. package/src/components/icons/AddIcon.jsx +8 -0
  59. package/src/components/icons/Arrow.jsx +39 -0
  60. package/src/components/icons/ArrowDown.jsx +8 -0
  61. package/src/components/icons/ArrowIcon.jsx +25 -0
  62. package/src/components/icons/ArrowUp.jsx +8 -0
  63. package/src/components/icons/BarchartHorizontal.jsx +18 -0
  64. package/src/components/icons/BellIcon.jsx +19 -0
  65. package/src/components/icons/BimiSetupIcon.jsx +25 -0
  66. package/src/components/icons/Chevron.jsx +42 -0
  67. package/src/components/icons/ChevronLeft.jsx +8 -0
  68. package/src/components/icons/ChevronRight.jsx +8 -0
  69. package/src/components/icons/ClearIcon.jsx +8 -0
  70. package/src/components/icons/Cloud.jsx +34 -0
  71. package/src/components/icons/Cross.jsx +25 -0
  72. package/src/components/icons/DeleteIcon.jsx +19 -0
  73. package/src/components/icons/DynamicDmarcIcon.jsx +43 -0
  74. package/src/components/icons/EditOutline.jsx +8 -0
  75. package/src/components/icons/Email.jsx +68 -0
  76. package/src/components/icons/EmailSourcesIcon.jsx +36 -0
  77. package/src/components/icons/ExpandLayoutIcon.jsx +38 -0
  78. package/src/components/icons/ExportIcon.jsx +7 -0
  79. package/src/components/icons/Eye.jsx +28 -0
  80. package/src/components/icons/Facebook.jsx +31 -0
  81. package/src/components/icons/FilterList.jsx +8 -0
  82. package/src/components/icons/FindOutHowIcon.jsx +49 -0
  83. package/src/components/icons/FlatArrow.jsx +33 -0
  84. package/src/components/icons/ForwardArrowIcon.jsx +54 -0
  85. package/src/components/icons/Github.jsx +41 -0
  86. package/src/components/icons/Globe.jsx +29 -0
  87. package/src/components/icons/Hand.jsx +21 -0
  88. package/src/components/icons/InfinityLoop.jsx +22 -0
  89. package/src/components/icons/InfinityLoopBreak.jsx +35 -0
  90. package/src/components/icons/IngrainIcon.jsx +33 -0
  91. package/src/components/icons/LanguageIcon.jsx +44 -0
  92. package/src/components/icons/Linkedin.jsx +37 -0
  93. package/src/components/icons/LocationPin.jsx +34 -0
  94. package/src/components/icons/MicrosoftShield.jsx +44 -0
  95. package/src/components/icons/News.jsx +65 -0
  96. package/src/components/icons/Nodes.jsx +17 -0
  97. package/src/components/icons/OnDmarcIcon.jsx +29 -0
  98. package/src/components/icons/OnDmarcLogo.jsx +74 -0
  99. package/src/components/icons/OnDomainIcon.jsx +27 -0
  100. package/src/components/icons/OnInboxIcon.jsx +42 -0
  101. package/src/components/icons/OnInboxLogo.jsx +97 -0
  102. package/src/components/icons/OnInboxManagerIcon.jsx +46 -0
  103. package/src/components/icons/OpenInNewTabIcon.jsx +28 -0
  104. package/src/components/icons/Padlock.jsx +37 -0
  105. package/src/components/icons/PlusIcon.jsx +16 -0
  106. package/src/components/icons/Question.jsx +19 -0
  107. package/src/components/icons/Recruiting.jsx +34 -0
  108. package/src/components/icons/ReportsIcon.jsx +25 -0
  109. package/src/components/icons/SearchIcon.jsx +7 -0
  110. package/src/components/icons/Shield.jsx +17 -0
  111. package/src/components/icons/ShieldPassIcon.jsx +23 -0
  112. package/src/components/icons/ShieldSolid.jsx +33 -0
  113. package/src/components/icons/ShieldWarningIcon.jsx +40 -0
  114. package/src/components/icons/ShieldWarningInvertedIcon.jsx +36 -0
  115. package/src/components/icons/Spinner.jsx +100 -0
  116. package/src/components/icons/Team.jsx +164 -0
  117. package/src/components/icons/ThreeDotsIcon.jsx +18 -0
  118. package/src/components/icons/Thumb.jsx +17 -0
  119. package/src/components/icons/Traffic.jsx +22 -0
  120. package/src/components/icons/Twitter.jsx +47 -0
  121. package/src/components/icons/Upload.jsx +12 -0
  122. package/src/components/icons/VerticalDots.jsx +28 -0
  123. package/src/components/icons/Warning.jsx +36 -0
  124. package/src/components/icons/WarningTriangle.jsx +44 -0
  125. package/src/components/icons/Youtube.jsx +28 -0
  126. package/src/components/icons/index.ts +69 -0
  127. package/src/hooks/useDebouncedValue.jsx +19 -0
  128. package/src/hooks/useFetch.jsx +26 -0
  129. package/src/hooks/useIsMobile.jsx +25 -0
  130. package/src/hooks/useOnClickOutside.jsx +14 -0
  131. package/src/hooks/useToggle.jsx +8 -0
  132. package/src/index.ts +23 -0
  133. package/tsconfig.json +3 -0
  134. /package/{CONTRIBUTING.md → dist/CONTRIBUTING.md} +0 -0
  135. /package/{index.js → dist/index.js} +0 -0
  136. /package/{index.js.map → dist/index.js.map} +0 -0
@@ -0,0 +1,514 @@
1
+ import React, { Fragment, forwardRef } from 'react';
2
+ import styled, { css } from 'styled-components';
3
+ import SimpleBarReact from "simplebar-react";
4
+ import { Button } from '../Button';
5
+ import { Input } from '../Input';
6
+ import { ArrowDown, ArrowUp, ChevronRight } from '../icons';
7
+
8
+ // NOTE:
9
+ // - for valid DOM nesting with custom scrollbar (simplebar), we need to use divs unfortunately
10
+ // - aria roles used as recommended here:
11
+ // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Table_Role
12
+ // https://github.com/redsift/design-system/commit/8d1d84c2c74d76cbb0996e39b28974f5b8c871c1
13
+ const StyledSimpleBar = styled(SimpleBarReact)`
14
+ overflow-y: hidden;
15
+ .simplebar-track.simplebar-horizontal {
16
+ height: 8px;
17
+ bottom: 0;
18
+ background: rgba(0, 0, 0, 0.125);
19
+ ${({ xoverflow }) => xoverflow && `left: ${xoverflow + 2}px;`}
20
+ }
21
+ .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
22
+ height: 8px;
23
+ top: 0;
24
+ }
25
+ .simplebar-scrollbar,
26
+ .simplebar-scrollbar:before,
27
+ .simplebar-track.simplebar-horizontal {
28
+ border-radius: 4px;
29
+ }
30
+ .simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
31
+ background: rgba(0, 0, 0, 0.25);
32
+ border-radius: 4px;
33
+ left: 0;
34
+ }
35
+ .simplebar-content:after {
36
+ content: none;
37
+ }
38
+ ${({ xoverflow, placeholderHeight }) =>
39
+ xoverflow &&
40
+ `
41
+ .simplebar-track.simplebar-vertical {
42
+ display: none;
43
+ visibility: hidden;
44
+ }
45
+ .simplebar-content {
46
+ box-sizing: border-box;
47
+ }
48
+ .simplebar-placeholder {
49
+ height: ${placeholderHeight}px !important;
50
+ }
51
+ .simplebar-scrollbar:before {
52
+ top: 0;
53
+ bottom: 0;
54
+ }
55
+ `};
56
+ `;
57
+
58
+ const TableContent = forwardRef(
59
+ ({ children, xOverflow, placeholderHeight }, ref) => {
60
+ return xOverflow ? (
61
+ <StyledSimpleBar
62
+ autoHide={false}
63
+ forceVisible="x"
64
+ ref={ref}
65
+ xoverflow={xOverflow}
66
+ placeholderHeight={placeholderHeight}
67
+ >
68
+ {children}
69
+ </StyledSimpleBar>
70
+ ) : (
71
+ <Fragment>{children}</Fragment>
72
+ );
73
+ }
74
+ );
75
+
76
+ const ExpandIcon = styled(ChevronRight)`
77
+ vertical-align: middle;
78
+ transform: ${({ expanded }) => (expanded ? "rotate(90deg)" : "unset")};
79
+ `;
80
+
81
+ const Container = styled.div`
82
+ display: flex;
83
+ flex-direction: column;
84
+ `;
85
+
86
+ const sortIconStyles = css`
87
+ height: 18px;
88
+ width: 18px;
89
+ position: relative;
90
+ top: 5px;
91
+ `;
92
+
93
+ const SortDownIcon = styled(ArrowDown)`
94
+ ${sortIconStyles};
95
+ `;
96
+
97
+ const SortUpIcon = styled(ArrowUp)`
98
+ ${sortIconStyles};
99
+ `;
100
+
101
+ const CenteredActionButton = styled(Button)`
102
+ display: flex;
103
+ align-items: center;
104
+ height: 40px;
105
+ white-space: nowrap;
106
+ ${(props) =>
107
+ props.useMobileLayout
108
+ ? `
109
+ flex: 1;
110
+ justify-content: center;
111
+ * + && {
112
+ span {
113
+ display: none;
114
+ }
115
+ svg {
116
+ margin-right: 0;
117
+ }
118
+ }
119
+ `
120
+ : ""}
121
+
122
+ ${(props) =>
123
+ props.hoverColor
124
+ ? `&:hover { background-color: ${props.hoverColor}; }`
125
+ : ""}
126
+ ${(props) =>
127
+ props.activeColor
128
+ ? `&:active { background-color: ${props.activeColor}; }`
129
+ : ""}
130
+ ${(props) =>
131
+ props.unPadded
132
+ ? ""
133
+ : `
134
+ padding: 8px 16px;
135
+ svg {
136
+ margin-right: 14px;
137
+ }
138
+ && + && {
139
+ margin-left: 8px;
140
+ }
141
+ `}
142
+ `;
143
+
144
+ const ActionIcon = ({
145
+ icon: Icon,
146
+ label,
147
+ disabled,
148
+ flatIcon = true,
149
+ outlined = false,
150
+ color,
151
+ ...rest
152
+ }) => {
153
+ const iconColor = flatIcon || outlined ? color : "#FFF";
154
+ return (
155
+ <CenteredActionButton
156
+ disabled={disabled}
157
+ flatIcon={flatIcon}
158
+ outlined={outlined}
159
+ color={color}
160
+ {...rest}
161
+ >
162
+ <Icon disabled={disabled} color={iconColor} fill={iconColor} />
163
+ <span>{label}</span>
164
+ </CenteredActionButton>
165
+ );
166
+ };
167
+
168
+ const Search = styled(Input)`
169
+ width: ${(props) => (props.expand ? "100%" : "360px")};
170
+ max-width: 100%;
171
+ margin-left: 0;
172
+ `;
173
+
174
+ const Header = styled.header`
175
+ display: flex;
176
+ justify-content: space-between;
177
+ align-items: center;
178
+ margin-bottom: 20px;
179
+ flex-wrap: wrap;
180
+ `;
181
+
182
+ const HeaderPrimaryContent = styled.div`
183
+ flex: 1 1 360px;
184
+ `;
185
+
186
+ const ActionBar = styled.div`
187
+ display: flex;
188
+ flex-grow: 1;
189
+ justify-content: flex-end;
190
+ ${(props) => (props.spaced ? "margin-left: 32px;" : "")}
191
+
192
+ ${Button} {
193
+ flex: 1;
194
+ }
195
+ `;
196
+
197
+ const TableElement = styled.div`
198
+ display: block;
199
+ border-radius: 4px;
200
+ width: 100%;
201
+ word-wrap: break-word;
202
+ overflow-wrap: break-word;
203
+ overflow: hidden;
204
+ border-style: solid;
205
+ border-color: rgba(0, 0, 0, 0.12);
206
+ border-width: ${({ bordered }) => (bordered ? "1px 1px 0px 1px" : "0px")};
207
+ ${({ xOverflow }) => xOverflow && "overflow-x: scroll; overflow-y: hidden"};
208
+ `;
209
+
210
+ const StyledTable = ({ children, ...props }) => {
211
+ return (
212
+ <TableElement {...props} role="table">
213
+ {children}
214
+ </TableElement>
215
+ );
216
+ };
217
+
218
+ const TableHeaderSection = styled.div`
219
+ ${({ xOverflow }) =>
220
+ xOverflow ? "width: auto; display: table;" : "display: flex;"}
221
+ `;
222
+
223
+ // last cell style for xOverflow only
224
+ // - last column has width: 100% and max-width: 100%
225
+ const ThTdStyles = css`
226
+ display: flex;
227
+ align-items: center;
228
+ box-sizing: border-box;
229
+ color: rgba(0, 0, 0, 0.87);
230
+ font-family: Raleway, sans-serif;
231
+ font-size: 0.875rem;
232
+ line-height: 1.375rem;
233
+ letter-spacing: 0.0071428571em;
234
+ margin: 0;
235
+ padding: ${({ noPadding }) => (noPadding ? "0px" : "10px")};
236
+
237
+ ${({ stickyCell, xOverflowBg }) =>
238
+ stickyCell &&
239
+ `
240
+ box-shadow: 4px 4px 6px -4px rgba(0, 0, 0, 0.4);
241
+ background: ${xOverflowBg ? xOverflowBg : "white"};
242
+ position: sticky;
243
+ left: 0;
244
+ z-index: 1;
245
+ `}
246
+ ${({ stickyCellNext }) => stickyCellNext && `padding-left: 20px`};
247
+ width: 100px;
248
+ min-width: 100px;
249
+ ${({ enableFlex, size }) => enableFlex && `flex: ${size || 100}px`};
250
+ ${({ size }) =>
251
+ size &&
252
+ `
253
+ width: ${parseInt(size) ? `${size}px` : size};
254
+ min-width: ${parseInt(size) ? `${size}px` : size};
255
+ max-width: ${parseInt(size) ? `${size}px` : size};
256
+ `}
257
+ ${({ lastCell }) =>
258
+ lastCell &&
259
+ `
260
+ width: 100%;
261
+ min-width: 100px;
262
+ max-width: 100%;
263
+ `}
264
+ ${({ xOverflow }) => xOverflow && `word-wrap: break-word;`}
265
+ `;
266
+
267
+ const TableHeaderTh = styled.div`
268
+ ${ThTdStyles};
269
+ font-weight: 600;
270
+ text-align: left;
271
+ flex-direction: column;
272
+ justify-content: ${({ justifyStart }) =>
273
+ justifyStart ? "flex-start" : "center"};
274
+ align-items: flex-start;
275
+ border-bottom: solid 1px rgba(0, 0, 0, 0.42);
276
+ ${({ checkbox }) =>
277
+ checkbox &&
278
+ `
279
+ margin: 0px;
280
+ padding: 0px 20px;
281
+ `}
282
+ .sort-icon {
283
+ transition: opacity 0.2s ease;
284
+ opacity: ${({ sortIconVisible }) => (sortIconVisible ? "1" : "0")};
285
+ }
286
+
287
+ &:hover {
288
+ .sort-icon {
289
+ opacity: ${({ sortIconVisible }) => (sortIconVisible ? "1" : "0.3")};
290
+ }
291
+ }
292
+ `;
293
+
294
+ const TableHeaderCell = ({ children, ...props }) => {
295
+ return (
296
+ <TableHeaderTh {...props} role="columnheader">
297
+ {children}
298
+ </TableHeaderTh>
299
+ );
300
+ };
301
+
302
+ const rowStyles = css`
303
+ display: flex;
304
+ height: auto;
305
+ min-height: 55px;
306
+ width: 100%;
307
+ border-style: solid;
308
+ border-color: rgba(0, 0, 0, 0.12);
309
+ border-width: ${({ isFooter, bordered }) =>
310
+ isFooter
311
+ ? "2px 1px 1px 1px"
312
+ : bordered
313
+ ? "0px 1px 1px 1px"
314
+ : "0px 0px 1px 0px"};
315
+ ${({ rowSpacing }) =>
316
+ rowSpacing &&
317
+ `
318
+ border: 1px solid #D8D9D9;
319
+ border-radius: 4px;
320
+ box-sizing: border-box;
321
+ margin-top: ${Number.isInteger(rowSpacing) ? `${rowSpacing}px` : "10px"};
322
+ `};
323
+ `;
324
+
325
+ const leftBorder = css`
326
+ div:not(:first-child) {
327
+ border-left: solid 1px rgba(0, 0, 0, 0.12);
328
+ }
329
+ `;
330
+
331
+ const HeaderRow = styled.div`
332
+ ${rowStyles};
333
+ ${({ bordered }) => bordered && leftBorder};
334
+ ${({ xOverflow }) => xOverflow && ` border: 0;`}
335
+ `;
336
+
337
+ const BodyRow = styled.div`
338
+ ${rowStyles};
339
+ ${({ bordered }) => bordered && leftBorder};
340
+ background-color: ${({ rowColor, selected, selectHighlight }) =>
341
+ rowColor || (selected && selectHighlight) || "unset"};
342
+ &:hover {
343
+ background-color: ${({
344
+ isFooter,
345
+ isEmpty,
346
+ rowColor,
347
+ selected,
348
+ selectHighlight,
349
+ }) =>
350
+ rowColor
351
+ ? rowColor
352
+ : selected && selectHighlight
353
+ ? selectHighlight
354
+ : isFooter || isEmpty
355
+ ? "unset"
356
+ : "rgba(0, 0, 0, 0.04)"};
357
+ }
358
+ `;
359
+
360
+ const Row = ({ children, header, ...props }) => {
361
+ if (!header) {
362
+ return (
363
+ <BodyRow {...props} role="row">
364
+ {children}
365
+ </BodyRow>
366
+ );
367
+ }
368
+ return (
369
+ <HeaderRow {...props} role="row">
370
+ {children}
371
+ </HeaderRow>
372
+ );
373
+ };
374
+
375
+ const TableBody = styled.div`
376
+ ${({ xOverflow }) =>
377
+ !xOverflow &&
378
+ `
379
+ display: flex;
380
+ flex-direction: column;
381
+ `}
382
+ ${({ xOverflow }) => xOverflow && `display: table;`}
383
+ `;
384
+
385
+ const CellElement = styled.div`
386
+ ${ThTdStyles};
387
+ border-bottom-color: rgba(0, 0, 0, 0.42);
388
+ border-bottom-color: ${({ rowSpacing }) =>
389
+ rowSpacing ? "transparent" : "rgba(0, 0, 0, 0.42)"};
390
+ text-align: ${({ isNumber }) => (isNumber ? "right" : "left")};
391
+ justify-content: ${({ isNumber }) => (isNumber ? "flex-end" : "flex-start")};
392
+ ${({ checkbox }) =>
393
+ checkbox &&
394
+ `
395
+ margin: 0px;
396
+ padding: 0px 20px;
397
+ `}
398
+ ${({ onClick }) => onClick && "cursor: pointer;"}
399
+ `;
400
+
401
+ const CellElementEllipsis = styled.div`
402
+ white-space: nowrap;
403
+ overflow: hidden;
404
+ text-overflow: ellipsis;
405
+ `;
406
+
407
+ const Cell = ({ children, ellipsisOverflow, ...props }) => {
408
+ return (
409
+ <CellElement {...props} role="cell">
410
+ {ellipsisOverflow ? (
411
+ <CellElementEllipsis>{children}</CellElementEllipsis>
412
+ ) : (
413
+ children
414
+ )}
415
+ </CellElement>
416
+ );
417
+ };
418
+
419
+ const SortCell = styled(Cell)`
420
+ flex: 1;
421
+ flex-direction: column;
422
+ padding: 0px !important;
423
+ width: 25px;
424
+ height: unset;
425
+ `;
426
+
427
+ const DeleteConfirmButton = styled.button`
428
+ font-family: Raleway, sans-serif;
429
+ font-weight: 700;
430
+ color: ${({ confirm }) => (confirm ? "#d1462f" : "")};
431
+ border: none;
432
+ font-size: 0.8125rem;
433
+ background-color: transparent;
434
+ cursor: pointer;
435
+ user-select: none;
436
+ text-decoration: none;
437
+ outline: 0;
438
+ `;
439
+
440
+ const GreyButton = styled.button`
441
+ display: flex;
442
+ flex-grow: 1;
443
+ align-items: center;
444
+ border: 0;
445
+ padding: ${({ rowSpacing, action }) =>
446
+ rowSpacing && action ? "10px 5px" : "10px 4px"};
447
+ background: #f7f7f7;
448
+ border: 1px solid #c0c0c2;
449
+ ${({ rowSpacing, action }) =>
450
+ rowSpacing &&
451
+ action === "increment" &&
452
+ `
453
+ border-top-left-radius: 4px;
454
+ margin-left: -1px;
455
+ margin-top: -1px;
456
+ `};
457
+ ${({ rowSpacing, action }) =>
458
+ rowSpacing &&
459
+ action === "decrement" &&
460
+ `
461
+ border-bottom-left-radius: 4px;
462
+ margin-left: -1px;
463
+ margin-bottom: -1px;
464
+ `};
465
+ transition: 0.2s;
466
+ svg {
467
+ transform: ${({ action }) =>
468
+ action === "increment" ? "rotate(-90deg)" : "rotate(90deg)"};
469
+ }
470
+ svg > path {
471
+ stroke: #c0c0c2;
472
+ transition: 0.2s;
473
+ }
474
+ cursor: pointer;
475
+ &:hover,
476
+ &:focus,
477
+ &:active {
478
+ background: #e2e6ea;
479
+ svg > path {
480
+ stroke: #333;
481
+ }
482
+ outline: none;
483
+ }
484
+ `;
485
+
486
+ const AddComponentContainer = styled.div`
487
+ border: 1px solid #ebedf4;
488
+ border-radius: 5px;
489
+ background-color: #fafbff;
490
+ padding: 16px 20px;
491
+ `;
492
+
493
+ export {
494
+ AddComponentContainer,
495
+ Container,
496
+ SortDownIcon,
497
+ SortUpIcon,
498
+ ActionIcon,
499
+ Search,
500
+ TableHeaderCell,
501
+ TableHeaderSection,
502
+ TableBody,
503
+ Header,
504
+ Row,
505
+ ActionBar,
506
+ Cell,
507
+ SortCell,
508
+ StyledTable,
509
+ DeleteConfirmButton,
510
+ GreyButton,
511
+ ExpandIcon,
512
+ TableContent,
513
+ HeaderPrimaryContent,
514
+ };
@@ -0,0 +1 @@
1
+ export * from './Table';