@pingux/astro 2.129.0 → 2.130.0-alpha.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 (108) hide show
  1. package/lib/cjs/components/Button/Button.stories.d.ts +1 -0
  2. package/lib/cjs/components/Button/Button.stories.js +8 -2
  3. package/lib/cjs/components/Button/Buttons.styles.d.ts +48 -0
  4. package/lib/cjs/components/Button/Buttons.styles.js +9 -1
  5. package/lib/cjs/components/Callout/Callout.js +14 -16
  6. package/lib/cjs/components/Callout/Callout.stories.d.ts +9 -0
  7. package/lib/cjs/components/Callout/Callout.stories.js +24 -1
  8. package/lib/cjs/components/Callout/Callout.styles.d.ts +14 -22
  9. package/lib/cjs/components/Callout/Callout.styles.js +19 -23
  10. package/lib/cjs/components/Callout/stories/CalloutNextGenComponent.d.ts +2 -0
  11. package/lib/cjs/components/Callout/stories/CalloutNextGenComponent.js +33 -0
  12. package/lib/cjs/components/Callout/stories/NextGenCallout.chromatic.stories.d.ts +6 -0
  13. package/lib/cjs/components/Callout/stories/NextGenCallout.chromatic.stories.js +22 -0
  14. package/lib/cjs/components/Callout/stories/NextGenDarkCallout.chomatic.stories.d.ts +6 -0
  15. package/lib/cjs/components/Callout/stories/NextGenDarkCallout.chomatic.stories.js +22 -0
  16. package/lib/cjs/components/Card/Card.styles.d.ts +11 -0
  17. package/lib/cjs/components/Card/Card.styles.js +6 -1
  18. package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.mdx +1 -1
  19. package/lib/cjs/components/Table/Table.stories.js +4 -5
  20. package/lib/cjs/components/Table/Table.styles.d.ts +5 -3
  21. package/lib/cjs/components/Table/Table.styles.js +8 -6
  22. package/lib/cjs/components/TableBase/TableBase.d.ts +9 -0
  23. package/lib/cjs/components/TableBase/TableBase.js +238 -0
  24. package/lib/cjs/components/TableBase/TableBase.mdx +30 -0
  25. package/lib/cjs/components/TableBase/TableBase.stories.d.ts +6 -0
  26. package/lib/cjs/components/TableBase/TableBase.stories.js +111 -0
  27. package/lib/cjs/components/TableBase/TableBase.styles.d.ts +76 -0
  28. package/lib/cjs/components/TableBase/TableBase.styles.js +80 -0
  29. package/lib/cjs/components/TableBase/TableBase.test.d.ts +1 -0
  30. package/lib/cjs/components/TableBase/TableBase.test.js +122 -0
  31. package/lib/cjs/components/TableBase/index.d.ts +1 -0
  32. package/lib/cjs/components/TableBase/index.js +14 -0
  33. package/lib/cjs/components/TableBase/stories/NextGenDarkTableBase.chromatic.stories.d.ts +6 -0
  34. package/lib/cjs/components/TableBase/stories/NextGenDarkTableBase.chromatic.stories.js +22 -0
  35. package/lib/cjs/components/TableBase/stories/NextGenTableBase.chromatic.stories.d.ts +6 -0
  36. package/lib/cjs/components/TableBase/stories/NextGenTableBase.chromatic.stories.js +22 -0
  37. package/lib/cjs/components/TableBase/stories/NextGenTableBase.d.ts +3 -0
  38. package/lib/cjs/components/TableBase/stories/NextGenTableBase.js +67 -0
  39. package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +3 -41
  40. package/lib/cjs/index.d.ts +3 -2
  41. package/lib/cjs/index.js +74 -20
  42. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/callout.d.ts +27 -0
  43. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/callout.js +35 -0
  44. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +48 -0
  45. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +24 -0
  46. package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +4 -4
  47. package/lib/cjs/styles/themes/astro/customProperties/tShirtSizes.d.ts +4 -4
  48. package/lib/cjs/styles/themes/astro/customProperties/tShirtSizes.js +4 -4
  49. package/lib/cjs/styles/themes/next-gen/colors/colors.d.ts +1 -0
  50. package/lib/cjs/styles/themes/next-gen/colors/colors.js +2 -1
  51. package/lib/cjs/styles/themes/next-gen/convertedComponentList.d.ts +1 -0
  52. package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +3 -2
  53. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +179 -1
  54. package/lib/cjs/styles/themes/next-gen/variants/callout.d.ts +34 -0
  55. package/lib/cjs/styles/themes/next-gen/variants/callout.js +45 -0
  56. package/lib/cjs/styles/themes/next-gen/variants/cards.d.ts +14 -1
  57. package/lib/cjs/styles/themes/next-gen/variants/cards.js +7 -2
  58. package/lib/cjs/styles/themes/next-gen/variants/table.d.ts +45 -0
  59. package/lib/cjs/styles/themes/next-gen/variants/table.js +65 -0
  60. package/lib/cjs/styles/themes/next-gen/variants/tableBase.d.ts +86 -0
  61. package/lib/cjs/styles/themes/next-gen/variants/tableBase.js +99 -0
  62. package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +164 -0
  63. package/lib/cjs/styles/themes/next-gen/variants/variants.js +7 -1
  64. package/lib/cjs/styles/variants/variants.js +5 -2
  65. package/lib/cjs/types/callout.d.ts +2 -0
  66. package/lib/cjs/types/cell.d.ts +12 -0
  67. package/lib/cjs/types/cell.js +6 -0
  68. package/lib/cjs/types/tableBase.d.ts +45 -0
  69. package/lib/cjs/types/tableBase.js +6 -0
  70. package/lib/cjs/utils/devUtils/constants/items.d.ts +10 -0
  71. package/lib/cjs/utils/devUtils/constants/items.js +87 -0
  72. package/lib/components/Button/Button.stories.js +5 -0
  73. package/lib/components/Button/Buttons.styles.js +9 -1
  74. package/lib/components/Callout/Callout.js +14 -16
  75. package/lib/components/Callout/Callout.stories.js +22 -0
  76. package/lib/components/Callout/Callout.styles.js +19 -24
  77. package/lib/components/Callout/stories/CalloutNextGenComponent.js +24 -0
  78. package/lib/components/Callout/stories/NextGenCallout.chromatic.stories.js +12 -0
  79. package/lib/components/Callout/stories/NextGenDarkCallout.chomatic.stories.js +12 -0
  80. package/lib/components/Card/Card.styles.js +6 -1
  81. package/lib/components/RockerButtonGroup/RockerButtonGroup.mdx +1 -1
  82. package/lib/components/Table/Table.stories.js +5 -6
  83. package/lib/components/Table/Table.styles.js +8 -6
  84. package/lib/components/TableBase/TableBase.js +221 -0
  85. package/lib/components/TableBase/TableBase.mdx +30 -0
  86. package/lib/components/TableBase/TableBase.stories.js +100 -0
  87. package/lib/components/TableBase/TableBase.styles.js +72 -0
  88. package/lib/components/TableBase/TableBase.test.js +119 -0
  89. package/lib/components/TableBase/index.js +1 -0
  90. package/lib/components/TableBase/stories/NextGenDarkTableBase.chromatic.stories.js +12 -0
  91. package/lib/components/TableBase/stories/NextGenTableBase.chromatic.stories.js +12 -0
  92. package/lib/components/TableBase/stories/NextGenTableBase.js +58 -0
  93. package/lib/index.js +3 -2
  94. package/lib/styles/themeOverrides/nextGenDarkMode/variants/callout.js +27 -0
  95. package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +24 -0
  96. package/lib/styles/themes/astro/customProperties/tShirtSizes.js +4 -4
  97. package/lib/styles/themes/next-gen/colors/colors.js +2 -1
  98. package/lib/styles/themes/next-gen/convertedComponentList.js +3 -2
  99. package/lib/styles/themes/next-gen/variants/callout.js +36 -0
  100. package/lib/styles/themes/next-gen/variants/cards.js +7 -2
  101. package/lib/styles/themes/next-gen/variants/table.js +57 -0
  102. package/lib/styles/themes/next-gen/variants/tableBase.js +91 -0
  103. package/lib/styles/themes/next-gen/variants/variants.js +7 -1
  104. package/lib/styles/variants/variants.js +5 -2
  105. package/lib/types/cell.js +1 -0
  106. package/lib/types/tableBase.js +1 -0
  107. package/lib/utils/devUtils/constants/items.js +79 -0
  108. package/package.json +1 -1
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ _Object$defineProperty(exports, "__esModule", {
15
+ value: true
16
+ });
17
+ exports.TableCell = TableCell;
18
+ exports["default"] = exports.TableRowGroup = exports.TableRow = exports.TableHeaderRow = exports.TableColumnHeader = void 0;
19
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
20
+ var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
21
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
23
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
24
+ var _react = _interopRequireWildcard(require("react"));
25
+ var _focus = require("@react-aria/focus");
26
+ var _interactions = require("@react-aria/interactions");
27
+ var _table = require("@react-aria/table");
28
+ var _utils = require("@react-aria/utils");
29
+ var _table2 = require("@react-stately/table");
30
+ var _ = require("../..");
31
+ var _hooks = require("../../hooks");
32
+ var _react2 = require("@emotion/react");
33
+ var _excluded = ["caption", "selectionMode", "selectedKeys", "defaultSelectedKeys", "tableBodyProps"],
34
+ _excluded2 = ["type", "children", "hasCaption", "className"];
35
+ function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context5, _context6; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context5 = ownKeys(Object(source), !0)).call(_context5, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context6 = ownKeys(Object(source))).call(_context6, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
39
+ var TableBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
40
+ var _context, _context3;
41
+ var caption = props.caption,
42
+ selectionMode = props.selectionMode,
43
+ selectedKeys = props.selectedKeys,
44
+ _props$defaultSelecte = props.defaultSelectedKeys,
45
+ defaultSelectedKeys = _props$defaultSelecte === void 0 ? [] : _props$defaultSelecte,
46
+ tableBodyProps = props.tableBodyProps,
47
+ others = (0, _objectWithoutProperties2["default"])(props, _excluded);
48
+ var state = (0, _table2.useTableState)(_objectSpread(_objectSpread({}, props), {}, {
49
+ selectionMode: selectionMode,
50
+ selectedKeys: selectedKeys,
51
+ defaultSelectedKeys: selectedKeys ? undefined : defaultSelectedKeys
52
+ }));
53
+ var tableRef = (0, _hooks.useLocalOrForwardRef)(ref);
54
+ var bodyRef = (0, _react.useRef)(null);
55
+ var collection = state.collection;
56
+ var _useTable = (0, _table.useTable)(_objectSpread(_objectSpread({}, props), {}, {
57
+ 'aria-describedby': props['aria-describedby'] || 'table-caption',
58
+ scrollRef: bodyRef
59
+ }), state, tableRef),
60
+ gridProps = _useTable.gridProps;
61
+ return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
62
+ as: "table",
63
+ display: "table",
64
+ variant: "tableBase.container",
65
+ ref: tableRef
66
+ }, gridProps, others), caption && (0, _react2.jsx)(_.Box, {
67
+ as: "caption",
68
+ display: "table-caption",
69
+ variant: "tableBase.caption",
70
+ textAlign: "left",
71
+ id: props['aria-describedby'] || 'table-caption'
72
+ }, caption), (0, _react2.jsx)(TableRowGroup, {
73
+ type: "thead",
74
+ hasCaption: !!caption
75
+ }, (0, _map["default"])(_context = collection.headerRows).call(_context, function (headerRow) {
76
+ var _context2, _state$collection$get, _state$collection;
77
+ return (0, _react2.jsx)(TableHeaderRow, {
78
+ key: headerRow.key,
79
+ item: headerRow,
80
+ state: state
81
+ }, (0, _map["default"])(_context2 = (0, _from["default"])(((_state$collection$get = (_state$collection = state.collection).getChildren) === null || _state$collection$get === void 0 ? void 0 : _state$collection$get.call(_state$collection, headerRow.key)) || [])).call(_context2, function (column) {
82
+ return (0, _react2.jsx)(TableColumnHeader, {
83
+ key: column.key,
84
+ column: column,
85
+ state: state
86
+ });
87
+ }));
88
+ })), (0, _react2.jsx)(TableRowGroup, (0, _extends2["default"])({
89
+ ref: bodyRef,
90
+ type: "tbody"
91
+ }, tableBodyProps), (0, _map["default"])(_context3 = (0, _from["default"])(collection)).call(_context3, function (row) {
92
+ var _context4;
93
+ return (0, _react2.jsx)(TableRow, {
94
+ key: row.key,
95
+ item: row,
96
+ state: state
97
+ }, (0, _map["default"])(_context4 = (0, _from["default"])(state.collection.getChildren(row.key))).call(_context4, function (cell) {
98
+ return (0, _react2.jsx)(TableCell, {
99
+ key: cell.key,
100
+ cell: cell,
101
+ state: state
102
+ });
103
+ }));
104
+ })));
105
+ });
106
+ var _default = TableBase;
107
+ exports["default"] = _default;
108
+ var TableRowGroup = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
109
+ var type = props.type,
110
+ children = props.children,
111
+ hasCaption = props.hasCaption,
112
+ className = props.className,
113
+ others = (0, _objectWithoutProperties2["default"])(props, _excluded2);
114
+ var _useTableRowGroup = (0, _table.useTableRowGroup)(),
115
+ rowGroupProps = _useTableRowGroup.rowGroupProps;
116
+ var _useStatusClasses = (0, _hooks.useStatusClasses)(className, {
117
+ hasCaption: hasCaption
118
+ }),
119
+ classNames = _useStatusClasses.classNames;
120
+ return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
121
+ ref: ref
122
+ }, rowGroupProps, {
123
+ as: type,
124
+ className: classNames,
125
+ display: "table-row-group",
126
+ variant: "tableBase.".concat(type)
127
+ }, others), children);
128
+ });
129
+ exports.TableRowGroup = TableRowGroup;
130
+ var TableHeaderRow = function TableHeaderRow(props) {
131
+ var item = props.item,
132
+ state = props.state,
133
+ children = props.children;
134
+ var ref = (0, _react.useRef)(null);
135
+ var _useTableHeaderRow = (0, _table.useTableHeaderRow)({
136
+ node: item
137
+ }, state, ref),
138
+ rowProps = _useTableHeaderRow.rowProps;
139
+ return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
140
+ as: "tr",
141
+ display: "table-row"
142
+ }, rowProps, {
143
+ ref: ref
144
+ }), children);
145
+ };
146
+ exports.TableHeaderRow = TableHeaderRow;
147
+ var TableColumnHeader = function TableColumnHeader(props) {
148
+ var column = props.column,
149
+ state = props.state,
150
+ className = props.className;
151
+ var ref = (0, _react.useRef)(null);
152
+ var _useTableColumnHeader = (0, _table.useTableColumnHeader)({
153
+ node: column
154
+ }, state, ref),
155
+ columnHeaderProps = _useTableColumnHeader.columnHeaderProps;
156
+ var _useFocusRing = (0, _focus.useFocusRing)(),
157
+ isFocusVisible = _useFocusRing.isFocusVisible,
158
+ focusProps = _useFocusRing.focusProps;
159
+ var _useStatusClasses2 = (0, _hooks.useStatusClasses)(className, {
160
+ isFocused: isFocusVisible
161
+ }),
162
+ classNames = _useStatusClasses2.classNames;
163
+ return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
164
+ as: "th",
165
+ display: "table-cell",
166
+ variant: "tableBase.head",
167
+ className: classNames
168
+ }, (0, _utils.mergeProps)(columnHeaderProps, focusProps), {
169
+ ref: ref
170
+ }, column.props), column.rendered);
171
+ };
172
+ exports.TableColumnHeader = TableColumnHeader;
173
+ var TableRow = function TableRow(props) {
174
+ var item = props.item,
175
+ state = props.state,
176
+ children = props.children,
177
+ className = props.className;
178
+ var ref = (0, _react.useRef)(null);
179
+ var _useTableRow = (0, _table.useTableRow)({
180
+ node: item
181
+ }, state, ref),
182
+ rowProps = _useTableRow.rowProps;
183
+ var isSelected = state.selectionManager.isSelected(item.key);
184
+ var _useFocusRing2 = (0, _focus.useFocusRing)(),
185
+ isFocusVisible = _useFocusRing2.isFocusVisible,
186
+ focusProps = _useFocusRing2.focusProps;
187
+ var _useHover = (0, _interactions.useHover)({}),
188
+ hoverProps = _useHover.hoverProps,
189
+ isHovered = _useHover.isHovered;
190
+ var _usePress = (0, _interactions.usePress)({
191
+ ref: ref
192
+ }),
193
+ pressProps = _usePress.pressProps,
194
+ isPressed = _usePress.isPressed;
195
+ var _useStatusClasses3 = (0, _hooks.useStatusClasses)(className, {
196
+ isSelected: isSelected,
197
+ isHovered: isHovered,
198
+ isPressed: isPressed,
199
+ isFocused: isFocusVisible
200
+ }),
201
+ classNames = _useStatusClasses3.classNames;
202
+ return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
203
+ display: "table-row",
204
+ as: "tr",
205
+ className: classNames,
206
+ variant: "tableBase.row"
207
+ }, (0, _utils.mergeProps)(rowProps, focusProps, hoverProps, pressProps), {
208
+ ref: ref
209
+ }), children);
210
+ };
211
+ exports.TableRow = TableRow;
212
+ function TableCell(props) {
213
+ var _cell$props$noWrap;
214
+ var cell = props.cell,
215
+ state = props.state,
216
+ className = props.className;
217
+ var ref = (0, _react.useRef)(null);
218
+ var _useTableCell = (0, _table.useTableCell)({
219
+ node: cell
220
+ }, state, ref),
221
+ gridCellProps = _useTableCell.gridCellProps;
222
+ var _useFocusRing3 = (0, _focus.useFocusRing)(),
223
+ isFocusVisible = _useFocusRing3.isFocusVisible,
224
+ focusProps = _useFocusRing3.focusProps;
225
+ var _useStatusClasses4 = (0, _hooks.useStatusClasses)(className, {
226
+ isFocused: isFocusVisible,
227
+ noWrap: (_cell$props$noWrap = cell.props.noWrap) !== null && _cell$props$noWrap !== void 0 ? _cell$props$noWrap : false
228
+ }),
229
+ classNames = _useStatusClasses4.classNames;
230
+ return (0, _react2.jsx)(_.Box, (0, _extends2["default"])({
231
+ as: "td",
232
+ display: "table-cell",
233
+ className: classNames
234
+ }, (0, _utils.mergeProps)(gridCellProps, focusProps), {
235
+ variant: "tableBase.data",
236
+ ref: ref
237
+ }, cell.props), cell.rendered);
238
+ }
@@ -0,0 +1,30 @@
1
+ import { Meta } from '@storybook/addon-docs';
2
+
3
+ <Meta title="Components/Table/Table" />
4
+
5
+ # Table
6
+
7
+ Data tables display information in a grid-like format of rows and columns.
8
+ They organize information in a way that’s easy to scan so that users can look for patterns and develop insights from data.
9
+
10
+ Column header names describe the type of content displayed in each column.
11
+ Each row contains data related to a single entity.
12
+
13
+ Tables should:
14
+ - Have consistently aligned content.
15
+ - Use multiple heading rows for higher-level grouping of the columns.
16
+ - Use column dividers sparingly.
17
+
18
+ Tables shouldn’t use different indicators to represent empty fields.
19
+
20
+ This basic component is rendered as an HTML `<table>`, which accepts the `<TableBody>` component and the `<TableHead>` as children.
21
+
22
+ ### Required Components
23
+
24
+ This component requires these additional components:
25
+
26
+ - TableCaption
27
+ - TableHead
28
+ - TableRow
29
+ - TableCell
30
+ - TableBody
@@ -0,0 +1,6 @@
1
+ import { StoryFn } from '@storybook/react';
2
+ import { TableProps } from '../../types';
3
+ declare const _default: import("@storybook/types").ComponentAnnotations<import("@storybook/react/dist/types-0a347bb9").R, import("@storybook/types").Args>;
4
+ export default _default;
5
+ export declare const Default: StoryFn<TableProps>;
6
+ export declare const Customization: StoryFn<TableProps>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.Default = exports.Customization = void 0;
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
11
+ var _ = require("../..");
12
+ var _items = require("../../utils/devUtils/constants/items");
13
+ var _TableBase = _interopRequireDefault(require("./TableBase.mdx"));
14
+ var _react2 = require("@emotion/react");
15
+ var _default = {
16
+ title: 'Experimental/Table',
17
+ component: _.TableBase,
18
+ parameters: {
19
+ docs: {
20
+ page: function page() {
21
+ return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_TableBase["default"], null), (0, _react2.jsx)(_storybookDocsLayout["default"], null));
22
+ }
23
+ }
24
+ }
25
+ };
26
+ exports["default"] = _default;
27
+ var headers = [{
28
+ key: 'type',
29
+ name: 'Type'
30
+ }, {
31
+ key: 'date',
32
+ name: 'Date'
33
+ }, {
34
+ key: 'additional_grant',
35
+ name: 'Additional Grant'
36
+ }, {
37
+ key: 'total_grant',
38
+ name: 'Total Grant'
39
+ }];
40
+ var objects = [{
41
+ id: 1,
42
+ type: 'Lorem ipsum',
43
+ date: '2020-06-12',
44
+ additional_grant: '+25,000',
45
+ total_grant: '25,000'
46
+ }, {
47
+ id: 2,
48
+ type: 'Lorem ipsum',
49
+ date: '2020-10-01',
50
+ additional_grant: '+25,000',
51
+ total_grant: '50,000'
52
+ }, {
53
+ id: 3,
54
+ type: 'Lorem ipsum',
55
+ date: '2021-01-01',
56
+ additional_grant: '+25,000',
57
+ total_grant: '75,000'
58
+ }];
59
+ var Default = function Default() {
60
+ return (0, _react2.jsx)(_.Card, {
61
+ variant: "cards.tableWrapper"
62
+ }, (0, _react2.jsx)(_.TableBase, {
63
+ caption: "Lorem ipsum",
64
+ "aria-label": "table"
65
+ }, (0, _react2.jsx)(_.THead, {
66
+ columns: headers
67
+ }, function (column) {
68
+ return (0, _react2.jsx)(_.Column, {
69
+ key: column.key
70
+ }, column.name);
71
+ }), (0, _react2.jsx)(_.TBody, {
72
+ items: objects
73
+ }, function (item) {
74
+ return (0, _react2.jsx)(_.Row, {
75
+ key: item.id
76
+ }, function (columnKey) {
77
+ return (0, _react2.jsx)(_.Cell, null, item[columnKey]);
78
+ });
79
+ })));
80
+ };
81
+ exports.Default = Default;
82
+ var Customization = function Customization() {
83
+ var statusVariant = {
84
+ 'Pending': 'warningStatusBadge',
85
+ 'Failed': 'criticalStatusBadge',
86
+ 'Rejected': 'criticalStatusBadge',
87
+ 'Active': 'healthyStatusBadge',
88
+ 'Inactive': 'secondaryStatusBadge'
89
+ };
90
+ return (0, _react2.jsx)(_.Card, {
91
+ variant: "cards.tableWrapper"
92
+ }, (0, _react2.jsx)(_.TableBase, {
93
+ "aria-label": "table"
94
+ }, (0, _react2.jsx)(_.THead, null, (0, _react2.jsx)(_.Column, {
95
+ width: 70
96
+ }, "#"), (0, _react2.jsx)(_.Column, null, "Name"), (0, _react2.jsx)(_.Column, null, "Email"), (0, _react2.jsx)(_.Column, null, "Status"), (0, _react2.jsx)(_.Column, null, "Bio")), (0, _react2.jsx)(_.TBody, {
97
+ items: _items.items
98
+ }, function (item) {
99
+ return (0, _react2.jsx)(_.Row, {
100
+ key: item.email
101
+ }, (0, _react2.jsx)(_.Cell, null, item.id), (0, _react2.jsx)(_.Cell, {
102
+ noWrap: true
103
+ }, item.firstName, ' ', item.lastName), (0, _react2.jsx)(_.Cell, {
104
+ noWrap: true
105
+ }, item.email), (0, _react2.jsx)(_.Cell, null, (0, _react2.jsx)(_.Badge, {
106
+ variant: statusVariant[item.status],
107
+ label: item.status
108
+ })), (0, _react2.jsx)(_.Cell, null, "Lorem ipsum dolor sit amet consectetur adipisicing elit. Quo quidem accusantium architecto tempore facere!"));
109
+ })));
110
+ };
111
+ exports.Customization = Customization;
@@ -0,0 +1,76 @@
1
+ declare const _default: {
2
+ thead: {};
3
+ tbody: {
4
+ borderTop: string;
5
+ borderTopColor: string;
6
+ borderBottom: string;
7
+ borderBottomColor: string;
8
+ };
9
+ caption: {
10
+ fontFamily: string;
11
+ fontSize: string;
12
+ fontWeight: string;
13
+ p: string;
14
+ textAlign: string;
15
+ };
16
+ container: {
17
+ width: string;
18
+ borderSpacing: string;
19
+ borderCollapse: string;
20
+ };
21
+ data: {
22
+ p: string;
23
+ '&.no-wrap': {
24
+ whiteSpace: string;
25
+ };
26
+ '&.is-focused': {
27
+ outline: string;
28
+ outlineStyle: string;
29
+ outlineColor: string;
30
+ outlineOffset: string;
31
+ };
32
+ fontSize: string;
33
+ fontWeight: number;
34
+ color: string;
35
+ fontFamily: string;
36
+ display: string;
37
+ overflowWrap: import("../..").overflowWrap;
38
+ maxWidth: string;
39
+ wordWrap: import("../..").wordWrap;
40
+ wordBreak: import("../..").wordBreak;
41
+ };
42
+ head: {
43
+ fontWeight: number;
44
+ textAlign: string;
45
+ p: string;
46
+ cursor: string;
47
+ '&.is-focused': {
48
+ outline: string;
49
+ outlineStyle: string;
50
+ outlineColor: string;
51
+ outlineOffset: string;
52
+ };
53
+ fontSize: string;
54
+ color: string;
55
+ fontFamily: string;
56
+ display: string;
57
+ overflowWrap: import("../..").overflowWrap;
58
+ maxWidth: string;
59
+ wordWrap: import("../..").wordWrap;
60
+ wordBreak: import("../..").wordBreak;
61
+ };
62
+ row: {
63
+ '&:nth-of-type(odd) ': {
64
+ bg: string;
65
+ };
66
+ '&.is-focused': {
67
+ outline: string;
68
+ outlineStyle: string;
69
+ outlineColor: string;
70
+ outlineOffset: string;
71
+ };
72
+ '&.is-hovered': {};
73
+ '&.is-selected': {};
74
+ };
75
+ };
76
+ export default _default;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
5
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
7
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
8
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
9
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
10
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
11
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
+ _Object$defineProperty(exports, "__esModule", {
13
+ value: true
14
+ });
15
+ exports["default"] = void 0;
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
17
+ var _Text = require("../Text/Text.styles");
18
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ var defaultFocus = {
21
+ outline: '1px',
22
+ outlineStyle: 'solid',
23
+ outlineColor: 'focus',
24
+ outlineOffset: '-1px'
25
+ };
26
+ var container = {
27
+ width: '100%',
28
+ borderSpacing: '0',
29
+ borderCollapse: 'collapse'
30
+ };
31
+ var caption = {
32
+ fontFamily: 'standard',
33
+ fontSize: 'lg',
34
+ fontWeight: '2',
35
+ p: 'sm',
36
+ textAlign: 'left'
37
+ };
38
+ var thead = {};
39
+ var head = _objectSpread(_objectSpread({}, _Text.text.label), {}, {
40
+ fontWeight: 500,
41
+ textAlign: 'left',
42
+ p: 'sm',
43
+ cursor: 'default',
44
+ '&.is-focused': _objectSpread({}, defaultFocus)
45
+ });
46
+ var tbody = {
47
+ borderTop: '1px solid',
48
+ borderTopColor: 'neutral.40',
49
+ borderBottom: '1px solid',
50
+ borderBottomColor: 'neutral.80'
51
+ };
52
+ var row = {
53
+ '&:nth-of-type(odd) ': {
54
+ bg: 'neutral.95'
55
+ },
56
+ '&.is-focused': _objectSpread({}, defaultFocus),
57
+ '&.is-hovered': {
58
+ // This is the hover state for the row
59
+ },
60
+ '&.is-selected': {
61
+ // This is the selected state for the row
62
+ }
63
+ };
64
+ var data = _objectSpread(_objectSpread({}, _Text.text.tableData), {}, {
65
+ p: 'sm',
66
+ '&.no-wrap': {
67
+ whiteSpace: 'nowrap'
68
+ },
69
+ '&.is-focused': _objectSpread({}, defaultFocus)
70
+ });
71
+ var _default = {
72
+ thead: thead,
73
+ tbody: tbody,
74
+ caption: caption,
75
+ container: container,
76
+ data: data,
77
+ head: head,
78
+ row: row
79
+ };
80
+ exports["default"] = _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
5
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _index = require("../../index");
9
+ var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
10
+ var _TableBase = _interopRequireDefault(require("./TableBase"));
11
+ var _react3 = require("@emotion/react");
12
+ var testId = 'test-table';
13
+ var defaultProps = {
14
+ 'aria-label': 'table',
15
+ 'data-testid': testId,
16
+ caption: 'Populations of Countries'
17
+ };
18
+ var headers = [{
19
+ key: 'country',
20
+ name: 'Country'
21
+ }, {
22
+ key: 'population',
23
+ name: 'Population'
24
+ }, {
25
+ key: 'continent',
26
+ name: 'Continent'
27
+ }];
28
+ var objects = [{
29
+ key: '1',
30
+ country: 'USA',
31
+ population: '320,000,000',
32
+ continent: 'South America',
33
+ cellProps: {
34
+ noWrap: true
35
+ }
36
+ }, {
37
+ key: '2',
38
+ country: 'Canada',
39
+ population: '37,000,000',
40
+ continent: 'North America'
41
+ }, {
42
+ key: '3',
43
+ country: 'China',
44
+ population: '1,398,000,000',
45
+ continent: 'Asia'
46
+ }, {
47
+ key: '4',
48
+ country: 'France',
49
+ population: '67,000,000',
50
+ continent: 'Europe'
51
+ }];
52
+ var getComponent = function getComponent() {
53
+ return (0, _react2.render)((0, _react3.jsx)(_TableBase["default"], defaultProps, (0, _react3.jsx)(_index.THead, {
54
+ columns: headers
55
+ }, function (head) {
56
+ return (0, _react3.jsx)(_index.Column, {
57
+ key: head.key
58
+ }, head.name);
59
+ }), (0, _react3.jsx)(_index.TBody, {
60
+ items: objects
61
+ }, function (row) {
62
+ return (0, _react3.jsx)(_index.Row, {
63
+ key: row.key
64
+ }, function (columnKey) {
65
+ return (0, _react3.jsx)(_index.Cell, row.cellProps || {}, row[columnKey]);
66
+ });
67
+ })));
68
+ };
69
+
70
+ // Needs to be added to each components test file
71
+ (0, _universalComponentTest.universalComponentTests)({
72
+ renderComponent: function renderComponent(props) {
73
+ return (0, _react3.jsx)(_TableBase["default"], (0, _extends2["default"])({}, defaultProps, props), (0, _react3.jsx)(_index.THead, {
74
+ columns: headers
75
+ }, function (head) {
76
+ return (0, _react3.jsx)(_index.Column, {
77
+ key: head.key
78
+ }, head.name);
79
+ }), (0, _react3.jsx)(_index.TBody, {
80
+ items: objects
81
+ }, function (row) {
82
+ return (0, _react3.jsx)(_index.Row, {
83
+ key: row.key
84
+ }, function (columnKey) {
85
+ return (0, _react3.jsx)(_index.Cell, null, row[columnKey]);
86
+ });
87
+ }));
88
+ }
89
+ });
90
+ test('default table', function () {
91
+ getComponent();
92
+ var table = _react2.screen.getByTestId(testId);
93
+ expect(table).toBeInTheDocument();
94
+ });
95
+ test('renders caption', function () {
96
+ getComponent();
97
+ var caption = _react2.screen.getByText(defaultProps.caption);
98
+ expect(caption).toBeInTheDocument();
99
+ });
100
+ test('renders table headers', function () {
101
+ getComponent();
102
+ var headerCells = _react2.screen.getAllByRole('columnheader');
103
+ expect(headerCells).toHaveLength(headers.length);
104
+ (0, _forEach["default"])(headers).call(headers, function (header) {
105
+ expect(_react2.screen.getByText(header.name)).toBeInTheDocument();
106
+ });
107
+ });
108
+ test('renders table rows', function () {
109
+ getComponent();
110
+ var rows = _react2.screen.getAllByRole('row');
111
+ expect(rows).toHaveLength(objects.length + 1);
112
+ (0, _forEach["default"])(objects).call(objects, function (object) {
113
+ expect(_react2.screen.getByText(object.country)).toBeInTheDocument();
114
+ expect(_react2.screen.getByText(object.population)).toBeInTheDocument();
115
+ expect(_react2.screen.getByText(object.continent)).toBeInTheDocument();
116
+ });
117
+ });
118
+ test('renders cell with noWrap prop', function () {
119
+ getComponent();
120
+ var cell = _react2.screen.getByText('South America');
121
+ expect(cell).toHaveClass('no-wrap');
122
+ });
@@ -0,0 +1 @@
1
+ export { default } from './TableBase';