@canonical/react-components 3.12.0 → 3.12.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.
@@ -51,7 +51,7 @@ const generateHeaders = (currentSortKey, currentSortDirection, expanding, header
51
51
  return /*#__PURE__*/_react.default.createElement(_TableHeader.default, _extends({
52
52
  key: index,
53
53
  sort: sortDirection,
54
- onClick: sortable && sortKey ? updateSort.bind(void 0, setSortKey, setSortDirection, sortKey, sortDirection) : undefined
54
+ onSort: sortable && sortKey ? updateSort.bind(void 0, setSortKey, setSortDirection, sortKey, sortDirection) : undefined
55
55
  }, props), content);
56
56
  });
57
57
  // When there is expanding content then provide an extra hidden header to
@@ -9,6 +9,8 @@ export type Props = PropsWithSpread<{
9
9
  * The direction of sorting, if applicable.
10
10
  */
11
11
  sort?: SortDirection;
12
+ /** Function to call when the sort button is clicked. */
13
+ onSort?: () => void;
12
14
  }, HTMLProps<HTMLTableHeaderCellElement>>;
13
- declare const TableHeader: ({ children, sort, ...props }: Props) => React.JSX.Element;
15
+ declare const TableHeader: ({ children, sort, onSort, ...props }: Props) => React.JSX.Element;
14
16
  export default TableHeader;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- const _excluded = ["children", "sort"];
8
+ const _excluded = ["children", "sort", "onSort"];
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
10
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
11
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
@@ -13,12 +13,17 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
13
13
  const TableHeader = _ref => {
14
14
  let {
15
15
  children,
16
- sort
16
+ sort,
17
+ onSort
17
18
  } = _ref,
18
19
  props = _objectWithoutProperties(_ref, _excluded);
20
+ const headerContents = () => sort && onSort ? /*#__PURE__*/_react.default.createElement("button", {
21
+ className: "p-table__sort-button",
22
+ onClick: onSort
23
+ }, children) : children;
19
24
  return /*#__PURE__*/_react.default.createElement("th", _extends({
20
25
  role: "columnheader",
21
26
  "aria-sort": sort
22
- }, props), children);
27
+ }, props), headerContents());
23
28
  };
24
29
  var _default = exports.default = TableHeader;
@@ -42,7 +42,7 @@ var generateHeaders = (currentSortKey, currentSortDirection, expanding, headers,
42
42
  return /*#__PURE__*/React.createElement(TableHeader, _extends({
43
43
  key: index,
44
44
  sort: sortDirection,
45
- onClick: sortable && sortKey ? updateSort.bind(this, setSortKey, setSortDirection, sortKey, sortDirection) : undefined
45
+ onSort: sortable && sortKey ? updateSort.bind(this, setSortKey, setSortDirection, sortKey, sortDirection) : undefined
46
46
  }, props), content);
47
47
  });
48
48
  // When there is expanding content then provide an extra hidden header to
@@ -9,6 +9,8 @@ export type Props = PropsWithSpread<{
9
9
  * The direction of sorting, if applicable.
10
10
  */
11
11
  sort?: SortDirection;
12
+ /** Function to call when the sort button is clicked. */
13
+ onSort?: () => void;
12
14
  }, HTMLProps<HTMLTableHeaderCellElement>>;
13
- declare const TableHeader: ({ children, sort, ...props }: Props) => React.JSX.Element;
15
+ declare const TableHeader: ({ children, sort, onSort, ...props }: Props) => React.JSX.Element;
14
16
  export default TableHeader;
@@ -1,4 +1,4 @@
1
- var _excluded = ["children", "sort"];
1
+ var _excluded = ["children", "sort", "onSort"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
4
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -6,12 +6,17 @@ import React from "react";
6
6
  var TableHeader = _ref => {
7
7
  var {
8
8
  children,
9
- sort
9
+ sort,
10
+ onSort
10
11
  } = _ref,
11
12
  props = _objectWithoutProperties(_ref, _excluded);
13
+ var headerContents = () => sort && onSort ? /*#__PURE__*/React.createElement("button", {
14
+ className: "p-table__sort-button",
15
+ onClick: onSort
16
+ }, children) : children;
12
17
  return /*#__PURE__*/React.createElement("th", _extends({
13
18
  role: "columnheader",
14
19
  "aria-sort": sort
15
- }, props), children);
20
+ }, props), headerContents());
16
21
  };
17
22
  export default TableHeader;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canonical/react-components",
3
- "version": "3.12.0",
3
+ "version": "3.12.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.js",
6
6
  "author": {