@algolia/satellite 1.0.0-beta.120 → 1.0.0-beta.124

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/cjs/AutoComplete/AutoComplete.d.ts +4 -0
  2. package/cjs/AutoComplete/AutoComplete.js +10 -5
  3. package/cjs/AutoComplete/types.d.ts +5 -0
  4. package/cjs/Button/styles.d.ts +1 -1
  5. package/cjs/Checkbox/Checkbox.js +1 -0
  6. package/cjs/DatePicker/DatePicker.tailwind.js +7 -2
  7. package/cjs/Dropdown/DropdownButton.d.ts +1 -1
  8. package/cjs/Pagination/DotPagination/DotPagination.d.ts +2 -1
  9. package/cjs/Pagination/DotPagination/DotPagination.js +4 -2
  10. package/cjs/Pagination/Pagination/Pagination.js +3 -0
  11. package/cjs/ProgressSpinner/ProgressSpinner.js +1 -1
  12. package/cjs/Tables/DataTable/DataTable.d.ts +41 -0
  13. package/cjs/Tables/DataTable/DataTable.js +281 -0
  14. package/cjs/Tables/DataTable/DataTable.tailwind.d.ts +5 -0
  15. package/cjs/Tables/DataTable/DataTable.tailwind.js +23 -0
  16. package/cjs/Tables/DataTable/components/Body.d.ts +14 -0
  17. package/cjs/Tables/DataTable/components/Body.js +125 -0
  18. package/cjs/Tables/DataTable/components/Footer.d.ts +8 -0
  19. package/cjs/Tables/DataTable/components/Footer.js +81 -0
  20. package/cjs/Tables/DataTable/components/Header.d.ts +10 -0
  21. package/cjs/Tables/DataTable/components/Header.js +44 -0
  22. package/cjs/Tables/DataTable/components/HeaderCell.d.ts +11 -0
  23. package/cjs/Tables/DataTable/components/HeaderCell.js +61 -0
  24. package/cjs/Tables/DataTable/components/Loader.d.ts +6 -0
  25. package/cjs/Tables/DataTable/components/Loader.js +63 -0
  26. package/cjs/Tables/DataTable/components/index.d.ts +5 -0
  27. package/cjs/Tables/DataTable/components/index.js +70 -0
  28. package/cjs/Tables/DataTable/index.d.ts +3 -0
  29. package/cjs/Tables/DataTable/index.js +46 -0
  30. package/cjs/Tables/DataTable/types.d.ts +49 -0
  31. package/cjs/Tables/DataTable/types.js +5 -0
  32. package/cjs/Tables/DataTable/utils.d.ts +4 -0
  33. package/cjs/Tables/DataTable/utils.js +32 -0
  34. package/cjs/{Table → Tables/Table}/Table.d.ts +1 -1
  35. package/cjs/{Table → Tables/Table}/Table.js +8 -6
  36. package/cjs/Tables/Table/Table.tailwind.d.ts +5 -0
  37. package/cjs/{Table → Tables/Table}/Table.tailwind.js +6 -20
  38. package/cjs/Tables/Table/components/Footer.d.ts +8 -0
  39. package/cjs/Tables/Table/components/Footer.js +35 -0
  40. package/cjs/Tables/Table/index.d.ts +2 -0
  41. package/cjs/{Table → Tables/Table}/index.js +7 -5
  42. package/cjs/Tables/index.d.ts +3 -0
  43. package/cjs/Tables/index.js +46 -0
  44. package/cjs/index.d.ts +1 -1
  45. package/cjs/index.js +4 -4
  46. package/cjs/styles/tailwind.config.js +1 -1
  47. package/cjs/utils/index.d.ts +1 -0
  48. package/cjs/utils/index.js +9 -1
  49. package/cjs/utils/toSentenceCase.d.ts +3 -0
  50. package/cjs/utils/toSentenceCase.js +21 -0
  51. package/esm/AutoComplete/AutoComplete.d.ts +4 -0
  52. package/esm/AutoComplete/AutoComplete.js +10 -5
  53. package/esm/AutoComplete/types.d.ts +5 -0
  54. package/esm/Button/styles.d.ts +1 -1
  55. package/esm/Checkbox/Checkbox.js +1 -0
  56. package/esm/DatePicker/DatePicker.tailwind.js +7 -2
  57. package/esm/Dropdown/DropdownButton.d.ts +1 -1
  58. package/esm/Pagination/DotPagination/DotPagination.d.ts +2 -1
  59. package/esm/Pagination/DotPagination/DotPagination.js +4 -2
  60. package/esm/Pagination/Pagination/Pagination.js +3 -0
  61. package/esm/ProgressSpinner/ProgressSpinner.js +1 -1
  62. package/esm/Tables/DataTable/DataTable.d.ts +41 -0
  63. package/esm/Tables/DataTable/DataTable.js +249 -0
  64. package/esm/Tables/DataTable/DataTable.tailwind.d.ts +5 -0
  65. package/esm/Tables/DataTable/DataTable.tailwind.js +21 -0
  66. package/esm/Tables/DataTable/components/Body.d.ts +14 -0
  67. package/esm/Tables/DataTable/components/Body.js +106 -0
  68. package/esm/Tables/DataTable/components/Footer.d.ts +8 -0
  69. package/esm/Tables/DataTable/components/Footer.js +60 -0
  70. package/esm/Tables/DataTable/components/Header.d.ts +10 -0
  71. package/esm/Tables/DataTable/components/Header.js +29 -0
  72. package/esm/Tables/DataTable/components/HeaderCell.d.ts +11 -0
  73. package/esm/Tables/DataTable/components/HeaderCell.js +42 -0
  74. package/esm/Tables/DataTable/components/Loader.d.ts +6 -0
  75. package/esm/Tables/DataTable/components/Loader.js +40 -0
  76. package/esm/Tables/DataTable/components/index.d.ts +5 -0
  77. package/esm/Tables/DataTable/components/index.js +5 -0
  78. package/esm/Tables/DataTable/index.d.ts +3 -0
  79. package/esm/Tables/DataTable/index.js +3 -0
  80. package/esm/Tables/DataTable/types.d.ts +49 -0
  81. package/esm/Tables/DataTable/types.js +1 -0
  82. package/esm/Tables/DataTable/utils.d.ts +4 -0
  83. package/esm/Tables/DataTable/utils.js +14 -0
  84. package/esm/{Table → Tables/Table}/Table.d.ts +1 -1
  85. package/esm/{Table → Tables/Table}/Table.js +7 -6
  86. package/esm/Tables/Table/Table.tailwind.d.ts +5 -0
  87. package/esm/{Table → Tables/Table}/Table.tailwind.js +6 -20
  88. package/esm/Tables/Table/components/Footer.d.ts +8 -0
  89. package/esm/Tables/Table/components/Footer.js +20 -0
  90. package/esm/Tables/Table/index.d.ts +2 -0
  91. package/esm/Tables/Table/index.js +2 -0
  92. package/esm/Tables/index.d.ts +3 -0
  93. package/esm/Tables/index.js +3 -0
  94. package/esm/index.d.ts +1 -1
  95. package/esm/index.js +1 -1
  96. package/esm/styles/tailwind.config.js +1 -1
  97. package/esm/utils/index.d.ts +1 -0
  98. package/esm/utils/index.js +2 -1
  99. package/esm/utils/toSentenceCase.d.ts +3 -0
  100. package/esm/utils/toSentenceCase.js +9 -0
  101. package/package.json +1 -1
  102. package/satellite.css +18 -18
  103. package/satellite.min.css +1 -1
  104. package/cjs/Table/Table.tailwind.d.ts +0 -5
  105. package/cjs/Table/index.d.ts +0 -3
  106. package/esm/Table/Table.tailwind.d.ts +0 -5
  107. package/esm/Table/index.d.ts +0 -3
  108. package/esm/Table/index.js +0 -3
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.Body = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _satellitePrefixer = _interopRequireDefault(require("../../../styles/helpers/satellitePrefixer"));
21
+
22
+ var _EmptyState = _interopRequireDefault(require("../../../EmptyState"));
23
+
24
+ var _utils = require("../utils");
25
+
26
+ var _templateObject, _templateObject2, _templateObject3;
27
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
+
32
+ var Body = function Body(_ref) {
33
+ var rows = _ref.rows,
34
+ columns = _ref.columns,
35
+ status = _ref.status,
36
+ noDataContent = _ref.noDataContent,
37
+ errorContent = _ref.errorContent,
38
+ selectMode = _ref.selectMode,
39
+ _ref$selection = _ref.selection,
40
+ selection = _ref$selection === void 0 ? [] : _ref$selection,
41
+ onSelectionChange = _ref.onSelectionChange,
42
+ onRowHoverChange = _ref.onRowHoverChange,
43
+ _ref$canHoverRow = _ref.canHoverRow,
44
+ canHoverRow = _ref$canHoverRow === void 0 ? function () {
45
+ return true;
46
+ } : _ref$canHoverRow;
47
+
48
+ var handleRowSelection = function handleRowSelection(row) {
49
+ if (!onSelectionChange) return;
50
+ var rowId = row.id;
51
+ var isSelected = selection.includes(rowId);
52
+ var newSelection = isSelected ? selection.filter(function (id) {
53
+ return id !== rowId;
54
+ }) : selectMode === "multi" ? [].concat((0, _toConsumableArray2["default"])(selection), [rowId]) : [rowId];
55
+ onSelectionChange(newSelection);
56
+ };
57
+
58
+ var additionalRowProps = function additionalRowProps(row) {
59
+ return _objectSpread(_objectSpread({}, canHoverRow(row) ? {
60
+ onMouseEnter: function onMouseEnter() {
61
+ return onRowHoverChange(row);
62
+ },
63
+ onMouseLeave: function onMouseLeave() {
64
+ return onRowHoverChange(null);
65
+ },
66
+ className: "hoverable"
67
+ } : {
68
+ className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["row-disabled"])))
69
+ }), row.selectable && {
70
+ onClick: function onClick() {
71
+ return handleRowSelection(row);
72
+ }
73
+ });
74
+ };
75
+
76
+ if (status === "error") {
77
+ return /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", {
78
+ colSpan: columns.length
79
+ }, /*#__PURE__*/_react["default"].createElement("span", {
80
+ className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["flex justify-center py-6"])))
81
+ }, errorContent || /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
82
+ title: "Error",
83
+ description: "An error occurred while loading data.",
84
+ centered: true,
85
+ usageContext: "result"
86
+ })))));
87
+ }
88
+
89
+ if (rows.length === 0 && status !== "loading") {
90
+ return /*#__PURE__*/_react["default"].createElement("tbody", null, /*#__PURE__*/_react["default"].createElement("tr", null, /*#__PURE__*/_react["default"].createElement("td", {
91
+ colSpan: columns.length
92
+ }, /*#__PURE__*/_react["default"].createElement("span", {
93
+ className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["flex justify-center py-6"])))
94
+ }, noDataContent || /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
95
+ title: "Empty",
96
+ description: "There is no data to display",
97
+ centered: true,
98
+ usageContext: "result"
99
+ })))));
100
+ }
101
+
102
+ return /*#__PURE__*/_react["default"].createElement("tbody", null, rows.map(function (row, rowIndex) {
103
+ return /*#__PURE__*/_react["default"].createElement("tr", (0, _extends2["default"])({}, additionalRowProps(row), {
104
+ key: rowIndex
105
+ }), columns.map(function (column) {
106
+ var value = (0, _utils.getCellValue)(column, row);
107
+ var Cell = column.Cell;
108
+ return Cell ? /*#__PURE__*/_react["default"].createElement("td", {
109
+ className: column === null || column === void 0 ? void 0 : column.className,
110
+ key: column.id
111
+ }, /*#__PURE__*/_react["default"].createElement(Cell, {
112
+ row: rows[rowIndex],
113
+ column: column,
114
+ value: value
115
+ })) : /*#__PURE__*/_react["default"].createElement("td", {
116
+ className: column === null || column === void 0 ? void 0 : column.className,
117
+ key: column.id
118
+ }, value !== null && value !== void 0 ? value : "-");
119
+ }));
120
+ }));
121
+ };
122
+
123
+ exports.Body = Body;
124
+ var _default = Body;
125
+ exports["default"] = _default;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import type { PaginationConfiguration, DataConfiguration } from "../types";
3
+ export interface FooterProps {
4
+ pagination: PaginationConfiguration;
5
+ onChange(dataConfiguration: DataConfiguration): void;
6
+ }
7
+ export declare const Footer: ({ pagination, onChange }: FooterProps) => JSX.Element | null;
8
+ export default Footer;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = exports.Footer = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _Pagination = _interopRequireWildcard(require("../../../Pagination"));
17
+
18
+ var _utils = require("../utils");
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
25
+
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
+
28
+ var Footer = function Footer(_ref) {
29
+ var pagination = _ref.pagination,
30
+ onChange = _ref.onChange;
31
+ return (0, _utils.isDeterminatePagination)(pagination) ? /*#__PURE__*/_react["default"].createElement(_Pagination["default"], {
32
+ nbPages: Math.ceil(pagination.totalItemsCount / pagination.itemsPerPage),
33
+ currentPage: pagination.currentPage,
34
+ maxButtons: 8,
35
+ onChange: function (_onChange) {
36
+ function onChange(_x) {
37
+ return _onChange.apply(this, arguments);
38
+ }
39
+
40
+ onChange.toString = function () {
41
+ return _onChange.toString();
42
+ };
43
+
44
+ return onChange;
45
+ }(function (page) {
46
+ return onChange({
47
+ pagination: _objectSpread(_objectSpread({}, pagination), {}, {
48
+ currentPage: page
49
+ }),
50
+ sorting: []
51
+ });
52
+ })
53
+ }) : (0, _utils.isIndeterminatePagination)(pagination) ? /*#__PURE__*/_react["default"].createElement(_Pagination.CompactPagination, {
54
+ label: "compact",
55
+ currentPage: pagination.currentPage,
56
+ showGoToFirstPage: true,
57
+ nextDisabled: pagination.isLastPage,
58
+ onChange: function (_onChange2) {
59
+ function onChange(_x2) {
60
+ return _onChange2.apply(this, arguments);
61
+ }
62
+
63
+ onChange.toString = function () {
64
+ return _onChange2.toString();
65
+ };
66
+
67
+ return onChange;
68
+ }(function (page) {
69
+ return onChange({
70
+ pagination: _objectSpread(_objectSpread({}, pagination), {}, {
71
+ currentPage: page
72
+ }),
73
+ sorting: []
74
+ });
75
+ })
76
+ }) : null;
77
+ };
78
+
79
+ exports.Footer = Footer;
80
+ var _default = Footer;
81
+ exports["default"] = _default;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import type { AdvancedColumnDefinition, Sorting, SortingDirection } from "../types";
3
+ export interface HeaderProps<Item> {
4
+ columns: AdvancedColumnDefinition<Item>[];
5
+ sorting?: Sorting[];
6
+ onToggleSort: (columnId: string, direction: SortingDirection) => void;
7
+ disabled?: boolean;
8
+ }
9
+ export declare const Header: <Item extends {}>({ columns, sorting, onToggleSort, disabled }: HeaderProps<Item>) => JSX.Element;
10
+ export default Header;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.Header = void 0;
9
+
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _HeaderCell = _interopRequireDefault(require("./HeaderCell"));
15
+
16
+ var Header = function Header(_ref) {
17
+ var columns = _ref.columns,
18
+ _ref$sorting = _ref.sorting,
19
+ sorting = _ref$sorting === void 0 ? [] : _ref$sorting,
20
+ onToggleSort = _ref.onToggleSort,
21
+ disabled = _ref.disabled;
22
+ return /*#__PURE__*/_react["default"].createElement("thead", null, /*#__PURE__*/_react["default"].createElement("tr", null, columns.map(function (column) {
23
+ var Header = column.Header;
24
+ var sortingDirection = sorting.find(function (_ref2) {
25
+ var _ref3 = (0, _slicedToArray2["default"])(_ref2, 1),
26
+ colId = _ref3[0];
27
+
28
+ return colId === column.id;
29
+ }) || [null];
30
+ return /*#__PURE__*/_react["default"].createElement(_HeaderCell["default"], {
31
+ key: column.id,
32
+ column: column,
33
+ disabled: disabled,
34
+ sortingDirection: sortingDirection[1],
35
+ onToggleSort: onToggleSort
36
+ }, Header ? /*#__PURE__*/_react["default"].createElement(Header, {
37
+ column: column
38
+ }) : Header);
39
+ })));
40
+ };
41
+
42
+ exports.Header = Header;
43
+ var _default = Header;
44
+ exports["default"] = _default;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import type { AdvancedColumnDefinition, SortingDirection } from "../types";
3
+ export interface HeaderCellProps<Item> extends React.HTMLAttributes<HTMLTableCellElement> {
4
+ column: AdvancedColumnDefinition<Item>;
5
+ disabled?: boolean;
6
+ sortingDirection?: SortingDirection;
7
+ onToggleSort: (columnId: string, sortingDirection: SortingDirection) => void;
8
+ children: React.ReactNode;
9
+ }
10
+ export declare const HeaderCell: <Item extends {}>({ sortingDirection, onToggleSort, column: { id, className, sort }, disabled, children, ...props }: HeaderCellProps<Item>) => JSX.Element;
11
+ export default HeaderCell;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.HeaderCell = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _reactFeather = require("react-feather");
21
+
22
+ var _satellitePrefixer = _interopRequireDefault(require("../../../styles/helpers/satellitePrefixer"));
23
+
24
+ var _excluded = ["sortingDirection", "onToggleSort", "column", "disabled", "children"];
25
+
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
27
+
28
+ var iconClassName = (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["h-4 inline ml-1"])));
29
+
30
+ var HeaderCell = function HeaderCell(_ref) {
31
+ var _ref$sortingDirection = _ref.sortingDirection,
32
+ sortingDirection = _ref$sortingDirection === void 0 ? "none" : _ref$sortingDirection,
33
+ onToggleSort = _ref.onToggleSort,
34
+ _ref$column = _ref.column,
35
+ id = _ref$column.id,
36
+ className = _ref$column.className,
37
+ _ref$column$sort = _ref$column.sort,
38
+ sort = _ref$column$sort === void 0 ? false : _ref$column$sort,
39
+ disabled = _ref.disabled,
40
+ children = _ref.children,
41
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
42
+ return /*#__PURE__*/_react["default"].createElement("th", (0, _extends2["default"])({}, props, {
43
+ "aria-sort": sortingDirection === "desc" ? "descending" : sortingDirection === "asc" ? "ascending" : "none",
44
+ onClick: function onClick() {
45
+ return sort && !disabled && onToggleSort(id, sortingDirection === "desc" ? "asc" : sortingDirection === "asc" ? "none" : "desc");
46
+ },
47
+ className: (0, _classnames["default"])(className, (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["group ", ""])), sort && (disabled ? "cursor-not-allowed" : "cursor-pointer")))
48
+ }), /*#__PURE__*/_react["default"].createElement("span", {
49
+ className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["inline-flex items-center"])))
50
+ }, children, sort ? sortingDirection === "desc" ? /*#__PURE__*/_react["default"].createElement(_reactFeather.ChevronDown, {
51
+ className: iconClassName
52
+ }) : sortingDirection === "asc" ? /*#__PURE__*/_react["default"].createElement(_reactFeather.ChevronUp, {
53
+ className: iconClassName
54
+ }) : /*#__PURE__*/_react["default"].createElement(_reactFeather.ChevronDown, {
55
+ className: (0, _classnames["default"])(iconClassName, (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["text-grey-300 opacity-0 group-hover:opacity-100"]))))
56
+ }) : null));
57
+ };
58
+
59
+ exports.HeaderCell = HeaderCell;
60
+ var _default = HeaderCell;
61
+ exports["default"] = _default;
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export interface LoaderProps {
3
+ className?: string;
4
+ }
5
+ export declare const Loader: ({ className }: LoaderProps) => JSX.Element;
6
+ export default Loader;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = exports.Loader = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _satellitePrefixer = _interopRequireDefault(require("../../../styles/helpers/satellitePrefixer"));
19
+
20
+ var _EmptyState = _interopRequireDefault(require("../../../EmptyState"));
21
+
22
+ var _ProgressSpinner = _interopRequireDefault(require("../../../ProgressSpinner"));
23
+
24
+ var _templateObject;
25
+
26
+ 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); }
27
+
28
+ 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; }
29
+
30
+ var Loader = function Loader(_ref) {
31
+ var className = _ref.className;
32
+
33
+ var _useState = (0, _react.useState)(false),
34
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
35
+ showLoadMessage = _useState2[0],
36
+ setShowLoadMessage = _useState2[1];
37
+
38
+ (0, _react.useEffect)(function () {
39
+ // See https://github.com/algolia/AlgoliaWeb/blob/develop/_client/src/common/components/AsyncWrapper/AsyncWrapper.tsx#L56
40
+ var loadTimer = setTimeout(function () {
41
+ return setShowLoadMessage(true);
42
+ }, 5000);
43
+ return function () {
44
+ clearTimeout(loadTimer);
45
+ setShowLoadMessage(false);
46
+ };
47
+ }, []);
48
+ return /*#__PURE__*/_react["default"].createElement("div", {
49
+ className: className
50
+ }, showLoadMessage ? /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
51
+ usageContext: "result",
52
+ medallion: /*#__PURE__*/_react["default"].createElement("div", {
53
+ className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["flex justify-center"])))
54
+ }, /*#__PURE__*/_react["default"].createElement(_ProgressSpinner["default"], null)),
55
+ title: "It appears to be taking a while to get your data",
56
+ description: "Please hold or try again later",
57
+ centered: true
58
+ }) : /*#__PURE__*/_react["default"].createElement(_ProgressSpinner["default"], null));
59
+ };
60
+
61
+ exports.Loader = Loader;
62
+ var _default = Loader;
63
+ exports["default"] = _default;
@@ -0,0 +1,5 @@
1
+ export * from "./Header";
2
+ export * from "./HeaderCell";
3
+ export * from "./Body";
4
+ export * from "./Footer";
5
+ export * from "./Loader";
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _Header = require("./Header");
8
+
9
+ Object.keys(_Header).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _Header[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Header[key];
16
+ }
17
+ });
18
+ });
19
+
20
+ var _HeaderCell = require("./HeaderCell");
21
+
22
+ Object.keys(_HeaderCell).forEach(function (key) {
23
+ if (key === "default" || key === "__esModule") return;
24
+ if (key in exports && exports[key] === _HeaderCell[key]) return;
25
+ Object.defineProperty(exports, key, {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _HeaderCell[key];
29
+ }
30
+ });
31
+ });
32
+
33
+ var _Body = require("./Body");
34
+
35
+ Object.keys(_Body).forEach(function (key) {
36
+ if (key === "default" || key === "__esModule") return;
37
+ if (key in exports && exports[key] === _Body[key]) return;
38
+ Object.defineProperty(exports, key, {
39
+ enumerable: true,
40
+ get: function get() {
41
+ return _Body[key];
42
+ }
43
+ });
44
+ });
45
+
46
+ var _Footer = require("./Footer");
47
+
48
+ Object.keys(_Footer).forEach(function (key) {
49
+ if (key === "default" || key === "__esModule") return;
50
+ if (key in exports && exports[key] === _Footer[key]) return;
51
+ Object.defineProperty(exports, key, {
52
+ enumerable: true,
53
+ get: function get() {
54
+ return _Footer[key];
55
+ }
56
+ });
57
+ });
58
+
59
+ var _Loader = require("./Loader");
60
+
61
+ Object.keys(_Loader).forEach(function (key) {
62
+ if (key === "default" || key === "__esModule") return;
63
+ if (key in exports && exports[key] === _Loader[key]) return;
64
+ Object.defineProperty(exports, key, {
65
+ enumerable: true,
66
+ get: function get() {
67
+ return _Loader[key];
68
+ }
69
+ });
70
+ });
@@ -0,0 +1,3 @@
1
+ export * from "./DataTable";
2
+ export * from "./types";
3
+ export { default } from "./DataTable";
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ var _exportNames = {};
9
+ Object.defineProperty(exports, "default", {
10
+ enumerable: true,
11
+ get: function get() {
12
+ return _DataTable["default"];
13
+ }
14
+ });
15
+
16
+ var _DataTable = _interopRequireWildcard(require("./DataTable"));
17
+
18
+ Object.keys(_DataTable).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
21
+ if (key in exports && exports[key] === _DataTable[key]) return;
22
+ Object.defineProperty(exports, key, {
23
+ enumerable: true,
24
+ get: function get() {
25
+ return _DataTable[key];
26
+ }
27
+ });
28
+ });
29
+
30
+ var _types = require("./types");
31
+
32
+ Object.keys(_types).forEach(function (key) {
33
+ if (key === "default" || key === "__esModule") return;
34
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
35
+ if (key in exports && exports[key] === _types[key]) return;
36
+ Object.defineProperty(exports, key, {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _types[key];
40
+ }
41
+ });
42
+ });
43
+
44
+ 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); }
45
+
46
+ 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; }
@@ -0,0 +1,49 @@
1
+ /// <reference types="react" />
2
+ export declare type Status = "loading" | "error" | "success";
3
+ export declare type SelectMode = "single" | "multi" | "none";
4
+ export declare type SortingDirection = "asc" | "desc" | "none";
5
+ export declare type Sorting = [columnId: string, direction: SortingDirection];
6
+ export declare type GetItemId<Item> = string | ((item: Item, idx: number) => string);
7
+ export interface Row<Item> {
8
+ item: Item;
9
+ id: string;
10
+ hovered: boolean;
11
+ selected: boolean;
12
+ selectable: boolean;
13
+ }
14
+ export interface CellProps<Item> {
15
+ value: any;
16
+ row: Row<Item>;
17
+ column: AdvancedColumnDefinition<Item>;
18
+ }
19
+ export interface HeaderProps<Item> {
20
+ column: AdvancedColumnDefinition<Item>;
21
+ }
22
+ export interface AdvancedColumnDefinition<Item> {
23
+ /** The ID of the column - Should be unique */
24
+ id: string;
25
+ /** A string or a function which determines how to get the column data */
26
+ accessor: string | ((item: Item) => any);
27
+ sort?: boolean;
28
+ Header?: React.ComponentType<HeaderProps<Item>>;
29
+ Cell?: React.ComponentType<CellProps<Item>>;
30
+ className?: string;
31
+ }
32
+ export declare type ColumnDefinition<Item> = string | AdvancedColumnDefinition<Item>;
33
+ export interface IndeterminatePagination {
34
+ currentPage: number;
35
+ itemsPerPage: number;
36
+ isLastPage?: boolean;
37
+ }
38
+ export interface DeterminatePagination {
39
+ currentPage: number;
40
+ itemsPerPage: number;
41
+ totalItemsCount: number;
42
+ }
43
+ export declare type PaginationConfiguration = false | IndeterminatePagination | DeterminatePagination;
44
+ export interface DataConfiguration {
45
+ /** The current pagination configuration */
46
+ pagination: PaginationConfiguration;
47
+ /** The current sorting configuration */
48
+ sorting: Sorting[];
49
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ import type { Row, DeterminatePagination, IndeterminatePagination, PaginationConfiguration, AdvancedColumnDefinition } from "./types";
2
+ export declare const isDeterminatePagination: (pagination: PaginationConfiguration) => pagination is DeterminatePagination;
3
+ export declare const isIndeterminatePagination: (pagination: PaginationConfiguration) => pagination is IndeterminatePagination;
4
+ export declare const getCellValue: <Item extends {}>(column: AdvancedColumnDefinition<Item>, row: Row<Item>) => any;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.isIndeterminatePagination = exports.isDeterminatePagination = exports.getCellValue = void 0;
9
+
10
+ var _get = _interopRequireDefault(require("lodash/get"));
11
+
12
+ var isDeterminatePagination = function isDeterminatePagination(pagination) {
13
+ return pagination !== false && "totalItemsCount" in pagination;
14
+ };
15
+
16
+ exports.isDeterminatePagination = isDeterminatePagination;
17
+
18
+ var isIndeterminatePagination = function isIndeterminatePagination(pagination) {
19
+ return pagination !== false && !("totalItemsCount" in pagination) && "currentPage" in pagination && typeof pagination.currentPage === "number";
20
+ };
21
+
22
+ exports.isIndeterminatePagination = isIndeterminatePagination;
23
+
24
+ var getCellValue = function getCellValue(column, row) {
25
+ if (typeof column.accessor === "string") {
26
+ return (0, _get["default"])(row.item, column.accessor);
27
+ }
28
+
29
+ return column.accessor(row.item);
30
+ };
31
+
32
+ exports.getCellValue = getCellValue;
@@ -6,7 +6,7 @@ export interface TableProps extends React.DetailedHTMLProps<React.TableHTMLAttri
6
6
  highlight?: boolean;
7
7
  }
8
8
  /**
9
- * Data tables are used to structure content in a grid to make it easier to see relationships and to facilitate understanding.
9
+ * Tables are used to structure content in a grid to make it easier to see relationships and to facilitate understanding.
10
10
  *
11
11
  * #### Do
12
12
  *