@zendeskgarden/react-tables 8.60.0 → 8.62.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/dist/index.cjs.js CHANGED
@@ -59,7 +59,7 @@ function _extends$3() {
59
59
  const COMPONENT_ID$a = 'tables.body';
60
60
  const StyledBody = styled__default["default"].tbody.attrs({
61
61
  'data-garden-id': COMPONENT_ID$a,
62
- 'data-garden-version': '8.60.0'
62
+ 'data-garden-version': '8.62.0'
63
63
  }).withConfig({
64
64
  displayName: "StyledBody",
65
65
  componentId: "sc-14ud6y-0"
@@ -71,7 +71,7 @@ StyledBody.defaultProps = {
71
71
  const COMPONENT_ID$9 = 'tables.caption';
72
72
  const StyledCaption = styled__default["default"].caption.attrs({
73
73
  'data-garden-id': COMPONENT_ID$9,
74
- 'data-garden-version': '8.60.0'
74
+ 'data-garden-version': '8.62.0'
75
75
  }).withConfig({
76
76
  displayName: "StyledCaption",
77
77
  componentId: "sc-113y327-0"
@@ -86,7 +86,7 @@ const getLineHeight = props => {
86
86
  };
87
87
  const StyledTable = styled__default["default"].table.attrs({
88
88
  'data-garden-id': COMPONENT_ID$8,
89
- 'data-garden-version': '8.60.0'
89
+ 'data-garden-version': '8.62.0'
90
90
  }).withConfig({
91
91
  displayName: "StyledTable",
92
92
  componentId: "sc-gje7na-0"
@@ -129,7 +129,7 @@ const sizeStyling = props => {
129
129
  };
130
130
  const StyledCell = styled__default["default"].td.attrs({
131
131
  'data-garden-id': COMPONENT_ID$7,
132
- 'data-garden-version': '8.60.0'
132
+ 'data-garden-version': '8.62.0'
133
133
  }).withConfig({
134
134
  displayName: "StyledCell",
135
135
  componentId: "sc-8hpncx-0"
@@ -158,7 +158,7 @@ const colorStyles$1 = props => {
158
158
  };
159
159
  const StyledOverflowButton = styled__default["default"].button.attrs({
160
160
  'data-garden-id': COMPONENT_ID$6,
161
- 'data-garden-version': '8.60.0',
161
+ 'data-garden-version': '8.62.0',
162
162
  type: 'button'
163
163
  }).withConfig({
164
164
  displayName: "StyledOverflowButton",
@@ -214,7 +214,7 @@ const colorStyles = props => {
214
214
  };
215
215
  const StyledRow = styled__default["default"](StyledBaseRow).attrs(props => ({
216
216
  'data-garden-id': COMPONENT_ID$5,
217
- 'data-garden-version': '8.60.0',
217
+ 'data-garden-version': '8.62.0',
218
218
  tabIndex: props.isReadOnly ? undefined : -1
219
219
  })).withConfig({
220
220
  displayName: "StyledRow",
@@ -235,7 +235,7 @@ const getHeaderRowHeight = props => {
235
235
  };
236
236
  const StyledHeaderRow = styled__default["default"](StyledBaseRow).attrs({
237
237
  'data-garden-id': COMPONENT_ID$4,
238
- 'data-garden-version': '8.60.0'
238
+ 'data-garden-version': '8.62.0'
239
239
  }).withConfig({
240
240
  displayName: "StyledHeaderRow",
241
241
  componentId: "sc-16ogvdx-0"
@@ -245,13 +245,17 @@ StyledHeaderRow.defaultProps = {
245
245
  };
246
246
 
247
247
  const COMPONENT_ID$3 = 'tables.head';
248
+ const stickyStyles = props => {
249
+ const borderColor = reactTheming.getColor('neutralHue', 300, props.theme);
250
+ return styled.css(["position:sticky;top:0;z-index:1;box-shadow:inset 0 -", " 0 ", ";background-color:", ";& > ", ":last-child{border-bottom-color:transparent;}"], props.theme.borderWidths.sm, borderColor, props.theme.colors.background, StyledHeaderRow);
251
+ };
248
252
  const StyledHead = styled__default["default"].thead.attrs({
249
253
  'data-garden-id': COMPONENT_ID$3,
250
- 'data-garden-version': '8.60.0'
254
+ 'data-garden-version': '8.62.0'
251
255
  }).withConfig({
252
256
  displayName: "StyledHead",
253
257
  componentId: "sc-spf23a-0"
254
- })(["", ";"], props => reactTheming.retrieveComponentStyles(COMPONENT_ID$3, props));
258
+ })(["", " ", ";"], props => props.isSticky && stickyStyles(props), props => reactTheming.retrieveComponentStyles(COMPONENT_ID$3, props));
255
259
  StyledHead.defaultProps = {
256
260
  theme: reactTheming.DEFAULT_THEME
257
261
  };
@@ -264,7 +268,7 @@ const sizeStyles$1 = props => {
264
268
  };
265
269
  const StyledGroupRow = styled__default["default"](StyledBaseRow).attrs({
266
270
  'data-garden-id': COMPONENT_ID$2,
267
- 'data-garden-version': '8.60.0'
271
+ 'data-garden-version': '8.62.0'
268
272
  }).withConfig({
269
273
  displayName: "StyledGroupRow",
270
274
  componentId: "sc-mpd0r8-0"
@@ -297,7 +301,7 @@ StyledSortableFillIconWrapper.defaultProps = {
297
301
  };
298
302
  const StyledSortableButton = styled__default["default"].button.attrs({
299
303
  'data-garden-id': COMPONENT_ID$1,
300
- 'data-garden-version': '8.60.0',
304
+ 'data-garden-version': '8.62.0',
301
305
  type: 'button'
302
306
  }).withConfig({
303
307
  displayName: "StyledSortableButton",
@@ -353,7 +357,7 @@ const sizeStyles = props => {
353
357
  const StyledHeaderCell = styled__default["default"](StyledCell).attrs({
354
358
  as: 'th',
355
359
  'data-garden-id': COMPONENT_ID,
356
- 'data-garden-version': '8.60.0'
360
+ 'data-garden-version': '8.62.0'
357
361
  }).withConfig({
358
362
  displayName: "StyledHeaderCell",
359
363
  componentId: "sc-fzagoe-0"
package/dist/index.esm.js CHANGED
@@ -31,7 +31,7 @@ function _extends$3() {
31
31
  const COMPONENT_ID$a = 'tables.body';
32
32
  const StyledBody = styled.tbody.attrs({
33
33
  'data-garden-id': COMPONENT_ID$a,
34
- 'data-garden-version': '8.60.0'
34
+ 'data-garden-version': '8.62.0'
35
35
  }).withConfig({
36
36
  displayName: "StyledBody",
37
37
  componentId: "sc-14ud6y-0"
@@ -43,7 +43,7 @@ StyledBody.defaultProps = {
43
43
  const COMPONENT_ID$9 = 'tables.caption';
44
44
  const StyledCaption = styled.caption.attrs({
45
45
  'data-garden-id': COMPONENT_ID$9,
46
- 'data-garden-version': '8.60.0'
46
+ 'data-garden-version': '8.62.0'
47
47
  }).withConfig({
48
48
  displayName: "StyledCaption",
49
49
  componentId: "sc-113y327-0"
@@ -58,7 +58,7 @@ const getLineHeight = props => {
58
58
  };
59
59
  const StyledTable = styled.table.attrs({
60
60
  'data-garden-id': COMPONENT_ID$8,
61
- 'data-garden-version': '8.60.0'
61
+ 'data-garden-version': '8.62.0'
62
62
  }).withConfig({
63
63
  displayName: "StyledTable",
64
64
  componentId: "sc-gje7na-0"
@@ -101,7 +101,7 @@ const sizeStyling = props => {
101
101
  };
102
102
  const StyledCell = styled.td.attrs({
103
103
  'data-garden-id': COMPONENT_ID$7,
104
- 'data-garden-version': '8.60.0'
104
+ 'data-garden-version': '8.62.0'
105
105
  }).withConfig({
106
106
  displayName: "StyledCell",
107
107
  componentId: "sc-8hpncx-0"
@@ -130,7 +130,7 @@ const colorStyles$1 = props => {
130
130
  };
131
131
  const StyledOverflowButton = styled.button.attrs({
132
132
  'data-garden-id': COMPONENT_ID$6,
133
- 'data-garden-version': '8.60.0',
133
+ 'data-garden-version': '8.62.0',
134
134
  type: 'button'
135
135
  }).withConfig({
136
136
  displayName: "StyledOverflowButton",
@@ -186,7 +186,7 @@ const colorStyles = props => {
186
186
  };
187
187
  const StyledRow = styled(StyledBaseRow).attrs(props => ({
188
188
  'data-garden-id': COMPONENT_ID$5,
189
- 'data-garden-version': '8.60.0',
189
+ 'data-garden-version': '8.62.0',
190
190
  tabIndex: props.isReadOnly ? undefined : -1
191
191
  })).withConfig({
192
192
  displayName: "StyledRow",
@@ -207,7 +207,7 @@ const getHeaderRowHeight = props => {
207
207
  };
208
208
  const StyledHeaderRow = styled(StyledBaseRow).attrs({
209
209
  'data-garden-id': COMPONENT_ID$4,
210
- 'data-garden-version': '8.60.0'
210
+ 'data-garden-version': '8.62.0'
211
211
  }).withConfig({
212
212
  displayName: "StyledHeaderRow",
213
213
  componentId: "sc-16ogvdx-0"
@@ -217,13 +217,17 @@ StyledHeaderRow.defaultProps = {
217
217
  };
218
218
 
219
219
  const COMPONENT_ID$3 = 'tables.head';
220
+ const stickyStyles = props => {
221
+ const borderColor = getColor('neutralHue', 300, props.theme);
222
+ return css(["position:sticky;top:0;z-index:1;box-shadow:inset 0 -", " 0 ", ";background-color:", ";& > ", ":last-child{border-bottom-color:transparent;}"], props.theme.borderWidths.sm, borderColor, props.theme.colors.background, StyledHeaderRow);
223
+ };
220
224
  const StyledHead = styled.thead.attrs({
221
225
  'data-garden-id': COMPONENT_ID$3,
222
- 'data-garden-version': '8.60.0'
226
+ 'data-garden-version': '8.62.0'
223
227
  }).withConfig({
224
228
  displayName: "StyledHead",
225
229
  componentId: "sc-spf23a-0"
226
- })(["", ";"], props => retrieveComponentStyles(COMPONENT_ID$3, props));
230
+ })(["", " ", ";"], props => props.isSticky && stickyStyles(props), props => retrieveComponentStyles(COMPONENT_ID$3, props));
227
231
  StyledHead.defaultProps = {
228
232
  theme: DEFAULT_THEME
229
233
  };
@@ -236,7 +240,7 @@ const sizeStyles$1 = props => {
236
240
  };
237
241
  const StyledGroupRow = styled(StyledBaseRow).attrs({
238
242
  'data-garden-id': COMPONENT_ID$2,
239
- 'data-garden-version': '8.60.0'
243
+ 'data-garden-version': '8.62.0'
240
244
  }).withConfig({
241
245
  displayName: "StyledGroupRow",
242
246
  componentId: "sc-mpd0r8-0"
@@ -269,7 +273,7 @@ StyledSortableFillIconWrapper.defaultProps = {
269
273
  };
270
274
  const StyledSortableButton = styled.button.attrs({
271
275
  'data-garden-id': COMPONENT_ID$1,
272
- 'data-garden-version': '8.60.0',
276
+ 'data-garden-version': '8.62.0',
273
277
  type: 'button'
274
278
  }).withConfig({
275
279
  displayName: "StyledSortableButton",
@@ -325,7 +329,7 @@ const sizeStyles = props => {
325
329
  const StyledHeaderCell = styled(StyledCell).attrs({
326
330
  as: 'th',
327
331
  'data-garden-id': COMPONENT_ID,
328
- 'data-garden-version': '8.60.0'
332
+ 'data-garden-version': '8.62.0'
329
333
  }).withConfig({
330
334
  displayName: "StyledHeaderCell",
331
335
  componentId: "sc-fzagoe-0"
@@ -5,7 +5,8 @@
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
7
  import React from 'react';
8
+ import { IHeadProps } from '../types';
8
9
  /**
9
10
  * @extends HTMLAttributes<HTMLTableSectionElement>
10
11
  */
11
- export declare const Head: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
12
+ export declare const Head: React.ForwardRefExoticComponent<IHeadProps & React.RefAttributes<HTMLTableSectionElement>>;
@@ -15,4 +15,4 @@ export { OverflowButton } from './elements/OverflowButton';
15
15
  export { Row } from './elements/Row';
16
16
  export { SortableCell } from './elements/SortableCell';
17
17
  export { Table } from './elements/Table';
18
- export type { ITableProps, IRowProps, ICellProps, IHeaderCellProps, ISortableCellProps } from './types';
18
+ export type { ITableProps, IRowProps, ICellProps, IHeadProps, IHeaderCellProps, ISortableCellProps } from './types';
@@ -4,7 +4,12 @@
4
4
  * Use of this source code is governed under the Apache License, Version 2.0
5
5
  * found at http://www.apache.org/licenses/LICENSE-2.0.
6
6
  */
7
- export declare const StyledHead: import("styled-components").StyledComponent<"thead", import("styled-components").DefaultTheme, {
7
+ import { DefaultTheme } from 'styled-components';
8
+ interface IStyledHeadProps {
9
+ isSticky?: boolean;
10
+ }
11
+ export declare const StyledHead: import("styled-components").StyledComponent<"thead", DefaultTheme, {
8
12
  'data-garden-id': string;
9
13
  'data-garden-version': string;
10
- }, "data-garden-id" | "data-garden-version">;
14
+ } & IStyledHeadProps, "data-garden-id" | "data-garden-version">;
15
+ export {};
@@ -13,6 +13,10 @@ export interface ITableProps extends TableHTMLAttributes<HTMLTableElement> {
13
13
  /** Removes interactive styling from table rows */
14
14
  isReadOnly?: boolean;
15
15
  }
16
+ export interface IHeadProps extends HTMLAttributes<HTMLTableSectionElement> {
17
+ /** Applies sticky header styling */
18
+ isSticky?: boolean;
19
+ }
16
20
  export interface IRowProps extends HTMLAttributes<HTMLTableRowElement> {
17
21
  /** Applies striped styling */
18
22
  isStriped?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zendeskgarden/react-tables",
3
- "version": "8.60.0",
3
+ "version": "8.62.0",
4
4
  "description": "Components relating to tables in the Garden Design System",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Zendesk Garden <garden@zendesk.com>",
@@ -33,12 +33,12 @@
33
33
  "styled-components": "^4.2.0 || ^5.0.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@types/react-beautiful-dnd": "13.1.2",
36
+ "@types/react-beautiful-dnd": "13.1.3",
37
37
  "@types/react-window": "1.8.5",
38
- "@zendeskgarden/react-theming": "^8.60.0",
38
+ "@zendeskgarden/react-theming": "^8.62.0",
39
39
  "@zendeskgarden/svg-icons": "6.33.0",
40
40
  "react-beautiful-dnd": "13.1.1",
41
- "react-window": "1.8.7"
41
+ "react-window": "1.8.8"
42
42
  },
43
43
  "keywords": [
44
44
  "components",
@@ -50,5 +50,5 @@
50
50
  "access": "public"
51
51
  },
52
52
  "zendeskgarden:src": "src/index.ts",
53
- "gitHead": "8adf13e61f58a64a0ba06794c0362f665e846fe9"
53
+ "gitHead": "f8233a46d9732497578dbea9e88f82a3d4bb3678"
54
54
  }