@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.
- package/lib/cjs/components/Button/Button.stories.d.ts +1 -0
- package/lib/cjs/components/Button/Button.stories.js +8 -2
- package/lib/cjs/components/Button/Buttons.styles.d.ts +48 -0
- package/lib/cjs/components/Button/Buttons.styles.js +9 -1
- package/lib/cjs/components/Callout/Callout.js +14 -16
- package/lib/cjs/components/Callout/Callout.stories.d.ts +9 -0
- package/lib/cjs/components/Callout/Callout.stories.js +24 -1
- package/lib/cjs/components/Callout/Callout.styles.d.ts +14 -22
- package/lib/cjs/components/Callout/Callout.styles.js +19 -23
- package/lib/cjs/components/Callout/stories/CalloutNextGenComponent.d.ts +2 -0
- package/lib/cjs/components/Callout/stories/CalloutNextGenComponent.js +33 -0
- package/lib/cjs/components/Callout/stories/NextGenCallout.chromatic.stories.d.ts +6 -0
- package/lib/cjs/components/Callout/stories/NextGenCallout.chromatic.stories.js +22 -0
- package/lib/cjs/components/Callout/stories/NextGenDarkCallout.chomatic.stories.d.ts +6 -0
- package/lib/cjs/components/Callout/stories/NextGenDarkCallout.chomatic.stories.js +22 -0
- package/lib/cjs/components/Card/Card.styles.d.ts +11 -0
- package/lib/cjs/components/Card/Card.styles.js +6 -1
- package/lib/cjs/components/RockerButtonGroup/RockerButtonGroup.mdx +1 -1
- package/lib/cjs/components/Table/Table.stories.js +4 -5
- package/lib/cjs/components/Table/Table.styles.d.ts +5 -3
- package/lib/cjs/components/Table/Table.styles.js +8 -6
- package/lib/cjs/components/TableBase/TableBase.d.ts +9 -0
- package/lib/cjs/components/TableBase/TableBase.js +238 -0
- package/lib/cjs/components/TableBase/TableBase.mdx +30 -0
- package/lib/cjs/components/TableBase/TableBase.stories.d.ts +6 -0
- package/lib/cjs/components/TableBase/TableBase.stories.js +111 -0
- package/lib/cjs/components/TableBase/TableBase.styles.d.ts +76 -0
- package/lib/cjs/components/TableBase/TableBase.styles.js +80 -0
- package/lib/cjs/components/TableBase/TableBase.test.d.ts +1 -0
- package/lib/cjs/components/TableBase/TableBase.test.js +122 -0
- package/lib/cjs/components/TableBase/index.d.ts +1 -0
- package/lib/cjs/components/TableBase/index.js +14 -0
- package/lib/cjs/components/TableBase/stories/NextGenDarkTableBase.chromatic.stories.d.ts +6 -0
- package/lib/cjs/components/TableBase/stories/NextGenDarkTableBase.chromatic.stories.js +22 -0
- package/lib/cjs/components/TableBase/stories/NextGenTableBase.chromatic.stories.d.ts +6 -0
- package/lib/cjs/components/TableBase/stories/NextGenTableBase.chromatic.stories.js +22 -0
- package/lib/cjs/components/TableBase/stories/NextGenTableBase.d.ts +3 -0
- package/lib/cjs/components/TableBase/stories/NextGenTableBase.js +67 -0
- package/lib/cjs/hooks/useGetTheme/useGetTheme.d.ts +3 -41
- package/lib/cjs/index.d.ts +3 -2
- package/lib/cjs/index.js +74 -20
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/callout.d.ts +27 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/callout.js +35 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +48 -0
- package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +24 -0
- package/lib/cjs/styles/themes/astro/customProperties/index.d.ts +4 -4
- package/lib/cjs/styles/themes/astro/customProperties/tShirtSizes.d.ts +4 -4
- package/lib/cjs/styles/themes/astro/customProperties/tShirtSizes.js +4 -4
- package/lib/cjs/styles/themes/next-gen/colors/colors.d.ts +1 -0
- package/lib/cjs/styles/themes/next-gen/colors/colors.js +2 -1
- package/lib/cjs/styles/themes/next-gen/convertedComponentList.d.ts +1 -0
- package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +3 -2
- package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +179 -1
- package/lib/cjs/styles/themes/next-gen/variants/callout.d.ts +34 -0
- package/lib/cjs/styles/themes/next-gen/variants/callout.js +45 -0
- package/lib/cjs/styles/themes/next-gen/variants/cards.d.ts +14 -1
- package/lib/cjs/styles/themes/next-gen/variants/cards.js +7 -2
- package/lib/cjs/styles/themes/next-gen/variants/table.d.ts +45 -0
- package/lib/cjs/styles/themes/next-gen/variants/table.js +65 -0
- package/lib/cjs/styles/themes/next-gen/variants/tableBase.d.ts +86 -0
- package/lib/cjs/styles/themes/next-gen/variants/tableBase.js +99 -0
- package/lib/cjs/styles/themes/next-gen/variants/variants.d.ts +164 -0
- package/lib/cjs/styles/themes/next-gen/variants/variants.js +7 -1
- package/lib/cjs/styles/variants/variants.js +5 -2
- package/lib/cjs/types/callout.d.ts +2 -0
- package/lib/cjs/types/cell.d.ts +12 -0
- package/lib/cjs/types/cell.js +6 -0
- package/lib/cjs/types/tableBase.d.ts +45 -0
- package/lib/cjs/types/tableBase.js +6 -0
- package/lib/cjs/utils/devUtils/constants/items.d.ts +10 -0
- package/lib/cjs/utils/devUtils/constants/items.js +87 -0
- package/lib/components/Button/Button.stories.js +5 -0
- package/lib/components/Button/Buttons.styles.js +9 -1
- package/lib/components/Callout/Callout.js +14 -16
- package/lib/components/Callout/Callout.stories.js +22 -0
- package/lib/components/Callout/Callout.styles.js +19 -24
- package/lib/components/Callout/stories/CalloutNextGenComponent.js +24 -0
- package/lib/components/Callout/stories/NextGenCallout.chromatic.stories.js +12 -0
- package/lib/components/Callout/stories/NextGenDarkCallout.chomatic.stories.js +12 -0
- package/lib/components/Card/Card.styles.js +6 -1
- package/lib/components/RockerButtonGroup/RockerButtonGroup.mdx +1 -1
- package/lib/components/Table/Table.stories.js +5 -6
- package/lib/components/Table/Table.styles.js +8 -6
- package/lib/components/TableBase/TableBase.js +221 -0
- package/lib/components/TableBase/TableBase.mdx +30 -0
- package/lib/components/TableBase/TableBase.stories.js +100 -0
- package/lib/components/TableBase/TableBase.styles.js +72 -0
- package/lib/components/TableBase/TableBase.test.js +119 -0
- package/lib/components/TableBase/index.js +1 -0
- package/lib/components/TableBase/stories/NextGenDarkTableBase.chromatic.stories.js +12 -0
- package/lib/components/TableBase/stories/NextGenTableBase.chromatic.stories.js +12 -0
- package/lib/components/TableBase/stories/NextGenTableBase.js +58 -0
- package/lib/index.js +3 -2
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/callout.js +27 -0
- package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +24 -0
- package/lib/styles/themes/astro/customProperties/tShirtSizes.js +4 -4
- package/lib/styles/themes/next-gen/colors/colors.js +2 -1
- package/lib/styles/themes/next-gen/convertedComponentList.js +3 -2
- package/lib/styles/themes/next-gen/variants/callout.js +36 -0
- package/lib/styles/themes/next-gen/variants/cards.js +7 -2
- package/lib/styles/themes/next-gen/variants/table.js +57 -0
- package/lib/styles/themes/next-gen/variants/tableBase.js +91 -0
- package/lib/styles/themes/next-gen/variants/variants.js +7 -1
- package/lib/styles/variants/variants.js +5 -2
- package/lib/types/cell.js +1 -0
- package/lib/types/tableBase.js +1 -0
- package/lib/utils/devUtils/constants/items.js +79 -0
- 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';
|