@stokr/components-library 2.1.2 → 2.1.3

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.
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ReactTable = ReactTable;
7
+ exports.default = exports.ReactTableWrapper = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactTable = require("react-table");
10
+ var _Table = require("./Table.styles");
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _Pagination = _interopRequireDefault(require("../../Pagination/Pagination"));
13
+ var _ComponentWrapper = _interopRequireDefault(require("../../ComponentWrapper/ComponentWrapper.styles"));
14
+ var _Card = require("../../Card/Card.styles");
15
+ var _InputWithButton = _interopRequireDefault(require("../../Input/InputWithButton"));
16
+ var _Button = _interopRequireDefault(require("../../Button/Button.styles"));
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+ 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); }
19
+ //This components is used only to memoize the values before we sent them to the react-table
20
+ var ReactTableWrapper = function ReactTableWrapper(props) {
21
+ var makeNewColumns = function makeNewColumns(data) {
22
+ return data === null || data === void 0 ? void 0 : data.map(function (column) {
23
+ if (column.key === 'dropdown') {
24
+ return {
25
+ Header: function Header() {
26
+ return null;
27
+ },
28
+ id: column.key,
29
+ Cell: function Cell(_ref) {
30
+ var row = _ref.row;
31
+ return (
32
+ /*#__PURE__*/
33
+ // Use Cell to render an expander for dropdown cell.
34
+ // We can use the getToggleRowExpandedProps prop-getter
35
+ // to build the expander. (moved to the whole row to make it easier to click)
36
+ _react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_Table.TableDropdownIcon, {
37
+ isActive: row.isExpanded
38
+ }))
39
+ );
40
+ }
41
+ };
42
+ }
43
+ return {
44
+ Header: column.label,
45
+ accessor: column.key
46
+ //totalWidth: 50, // column.width,
47
+ };
48
+ });
49
+ };
50
+
51
+ var memoizedColumns = _react.default.useMemo(function () {
52
+ return makeNewColumns(props.columns);
53
+ }, []);
54
+ var memoizedData = _react.default.useMemo(function () {
55
+ return props.data;
56
+ }, []);
57
+ var memoizedSubColumns = _react.default.useMemo(function () {
58
+ return makeNewColumns(props.subColumns);
59
+ }, []);
60
+ return /*#__PURE__*/_react.default.createElement(ReactTable, {
61
+ columns: memoizedColumns,
62
+ data: memoizedData,
63
+ subColumns: memoizedSubColumns,
64
+ blue: props.blue,
65
+ withSubTable: props.withSubTable,
66
+ calculateSubData: props.calculateSubData
67
+ });
68
+ };
69
+ exports.ReactTableWrapper = ReactTableWrapper;
70
+ function ReactTable(props) {
71
+ var columns = props.columns,
72
+ data = props.data,
73
+ subColumns = props.subColumns,
74
+ blue = props.blue,
75
+ noPagination = props.noPagination,
76
+ withSubTable = props.withSubTable,
77
+ isSubTable = props.isSubTable,
78
+ calculateSubData = props.calculateSubData;
79
+
80
+ // Use the state and functions returned from useTable to build UI
81
+ var _useTable = (0, _reactTable.useTable)({
82
+ columns: columns,
83
+ data: data,
84
+ initialState: {
85
+ pageIndex: 0,
86
+ pageSize: isSubTable ? 10000 : 10
87
+ }
88
+ }, _reactTable.useExpanded, _reactTable.usePagination),
89
+ getTableProps = _useTable.getTableProps,
90
+ getTableBodyProps = _useTable.getTableBodyProps,
91
+ headerGroups = _useTable.headerGroups,
92
+ prepareRow = _useTable.prepareRow,
93
+ visibleColumns = _useTable.visibleColumns,
94
+ page = _useTable.page,
95
+ gotoPage = _useTable.gotoPage,
96
+ setPageSize = _useTable.setPageSize,
97
+ _useTable$state = _useTable.state,
98
+ pageIndex = _useTable$state.pageIndex,
99
+ pageSize = _useTable$state.pageSize;
100
+ return /*#__PURE__*/_react.default.createElement(_Table.Styles, null, /*#__PURE__*/_react.default.createElement(_Table.TableWrap, null, /*#__PURE__*/_react.default.createElement(_Table.StyledReactTable, getTableProps(), /*#__PURE__*/_react.default.createElement("thead", null, headerGroups.map(function (headerGroup) {
101
+ return /*#__PURE__*/_react.default.createElement(_Table.StyledReactTable.Tr, headerGroup.getHeaderGroupProps(), headerGroup.headers.map(function (column) {
102
+ return /*#__PURE__*/_react.default.createElement(_Table.StyledReactTable.Th, _extends({}, column.getHeaderProps({
103
+ className: column.collapse ? 'collapse' : ''
104
+ }), {
105
+ blue: blue
106
+ }), column.render('Header'));
107
+ }));
108
+ })), /*#__PURE__*/_react.default.createElement("tbody", getTableBodyProps(), page.map(function (row, i) {
109
+ prepareRow(row);
110
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Table.StyledReactTable.Tr, row.getRowProps(), row.cells.map(function (cell) {
111
+ return /*#__PURE__*/_react.default.createElement(_Table.StyledReactTable.Td, _extends({}, cell.row.getToggleRowExpandedProps(), cell.getCellProps({
112
+ className: cell.column.collapse ? 'collapse' : ''
113
+ }), {
114
+ blue: blue
115
+ }), cell.render('Cell'));
116
+ })), withSubTable && row.isExpanded && /*#__PURE__*/_react.default.createElement(_Table.StyledReactTable.Tr, {
117
+ key: "".concat(row.id, "-").concat(i)
118
+ }, /*#__PURE__*/_react.default.createElement(_Table.StyledReactTable.Td, {
119
+ colSpan: visibleColumns.length,
120
+ subTable: true
121
+ }, /*#__PURE__*/_react.default.createElement(ReactTable, {
122
+ columns: subColumns,
123
+ data: calculateSubData(row),
124
+ noPagination: true,
125
+ isSubTable: true
126
+ }))));
127
+ })))), !noPagination && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ComponentWrapper.default, {
128
+ noPaddingHorizontal: true,
129
+ flex: true,
130
+ style: {
131
+ justifyContent: 'space-between',
132
+ flexWrap: 'wrap'
133
+ }
134
+ }, /*#__PURE__*/_react.default.createElement(_Pagination.default, {
135
+ currentPage: pageIndex + 1,
136
+ totalCount: data.length,
137
+ pageSize: pageSize,
138
+ onPageChange: function onPageChange(page) {
139
+ return gotoPage(page - 1);
140
+ }
141
+ }), /*#__PURE__*/_react.default.createElement(_Card.Card, {
142
+ noPadding: true
143
+ }, /*#__PURE__*/_react.default.createElement(_Card.CardTitle, {
144
+ style: {
145
+ padding: '2px 20px'
146
+ }
147
+ }, "Page Size:"), /*#__PURE__*/_react.default.createElement(_InputWithButton.default, {
148
+ id: "pageSize",
149
+ name: "pageSize",
150
+ value: pageSize,
151
+ type: "number",
152
+ placeholder: 'Page size',
153
+ onChange: function onChange(e) {
154
+ return setPageSize(Number(e.target.value));
155
+ }
156
+ }, /*#__PURE__*/_react.default.createElement(_Button.default //onClick={() => setPageSize(Number(inputPageSize))}
157
+ , null, "apply"))))));
158
+ }
159
+ ReactTable.propTypes = {
160
+ columns: _propTypes.default.array.isRequired,
161
+ data: _propTypes.default.array.isRequired,
162
+ subColumns: _propTypes.default.array,
163
+ calculateSubData: _propTypes.default.func,
164
+ blue: _propTypes.default.bool,
165
+ noPagination: _propTypes.default.bool,
166
+ withSubTable: _propTypes.default.bool,
167
+ isSubTable: _propTypes.default.bool
168
+ };
169
+ ReactTable.defaultProps = {
170
+ blue: false,
171
+ noPagination: false,
172
+ withSubTable: false,
173
+ isSubTable: false
174
+ };
175
+ var _default = ReactTableWrapper;
176
+ exports.default = _default;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TableWrapper = exports.TableCellType = exports.StyledTable = exports.Row = exports.HeadWrapper = exports.Head = exports.Container = exports.Column = exports.Body = void 0;
6
+ exports.TableWrapper = exports.TableWrap = exports.TableDropdownIcon = exports.TableCellType = exports.Styles = exports.StyledTr = exports.StyledTh = exports.StyledTd = exports.StyledTable = exports.StyledReactTable = exports.Row = exports.HeadWrapper = exports.Head = exports.Container = exports.Column = exports.Body = void 0;
7
7
  var _styledComponents = _interopRequireDefault(require("styled-components"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
9
  var Container = _styledComponents.default.div.withConfig({
@@ -76,4 +76,52 @@ var TableCellType = _styledComponents.default.div.withConfig({
76
76
  }, function (props) {
77
77
  return props.theme.cWhite;
78
78
  });
79
- exports.TableCellType = TableCellType;
79
+ exports.TableCellType = TableCellType;
80
+ var TableDropdownIcon = _styledComponents.default.i.attrs({
81
+ className: 'ion ion-ios-arrow-down'
82
+ }).withConfig({
83
+ displayName: "Tablestyles__TableDropdownIcon",
84
+ componentId: "sc-pdcd6r-9"
85
+ })(["width:14px;height:20px;font-size:20px;margin-top:-10px;transform:rotate(0);transition:0.3s transform;cursor:pointer;", ""], function (props) {
86
+ return props.isActive && "\n transform: rotate(180deg);\n ";
87
+ });
88
+ exports.TableDropdownIcon = TableDropdownIcon;
89
+ var Styles = _styledComponents.default.div.withConfig({
90
+ displayName: "Tablestyles__Styles",
91
+ componentId: "sc-pdcd6r-10"
92
+ })(["display:block;max-width:100%;table{th,td{&.collapse{width:0.0000000001%;}}}"]);
93
+ exports.Styles = Styles;
94
+ var TableWrap = _styledComponents.default.div.withConfig({
95
+ displayName: "Tablestyles__TableWrap",
96
+ componentId: "sc-pdcd6r-11"
97
+ })(["display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;"]);
98
+ exports.TableWrap = TableWrap;
99
+ var StyledTh = _styledComponents.default.th.withConfig({
100
+ displayName: "Tablestyles__StyledTh",
101
+ componentId: "sc-pdcd6r-12"
102
+ })(["text-transform:uppercase;padding:10px;font-size:11px;letter-spacing:1.6px;font-weight:600;background-color:white;color:#000000de;border-bottom:1px solid #e1e1e1;line-height:20px;", ""], function (props) {
103
+ return props.blue && "\n background-color: #0050ca;\n color: #ffffff;\n border:none;\n ";
104
+ });
105
+ exports.StyledTh = StyledTh;
106
+ var StyledTd = _styledComponents.default.td.withConfig({
107
+ displayName: "Tablestyles__StyledTd",
108
+ componentId: "sc-pdcd6r-13"
109
+ })(["padding:26px 15px;border-bottom:1px solid #e1e1e1;font-size:14px;", " ", ""], function (props) {
110
+ return props.blue && "\n background-color: #004bb7;\n color: #ffffff;\n ";
111
+ }, function (props) {
112
+ return props.subTable && "\n padding: 0;\n &:last-child {\n border-bottom: 0;\n }\n ";
113
+ });
114
+ exports.StyledTd = StyledTd;
115
+ var StyledTr = _styledComponents.default.tr.withConfig({
116
+ displayName: "Tablestyles__StyledTr",
117
+ componentId: "sc-pdcd6r-14"
118
+ })([""]);
119
+ exports.StyledTr = StyledTr;
120
+ var StyledReactTable = _styledComponents.default.table.withConfig({
121
+ displayName: "Tablestyles__StyledReactTable",
122
+ componentId: "sc-pdcd6r-15"
123
+ })(["width:100%;border-spacing:0;"]);
124
+ exports.StyledReactTable = StyledReactTable;
125
+ StyledReactTable.Tr = StyledTr;
126
+ StyledReactTable.Th = StyledTh;
127
+ StyledReactTable.Td = StyledTd;
@@ -47,7 +47,9 @@ var Template = function Template(args) {
47
47
  };
48
48
  var BackgroundDefault = Template.bind({});
49
49
  exports.BackgroundDefault = BackgroundDefault;
50
- BackgroundDefault.args = {};
50
+ BackgroundDefault.args = {
51
+ src: 'https://www.cookingclassy.com/wp-content/uploads/2014/06/chocolate-chip-cookie-16.jpg'
52
+ };
51
53
  BackgroundDefault.parameters = {
52
54
  viewport: {
53
55
  defaultViewport: 'reset viewport'
package/dist/index.js CHANGED
@@ -25,6 +25,17 @@ Object.keys(_Table).forEach(function (key) {
25
25
  }
26
26
  });
27
27
  });
28
+ var _ReactTable = require("./components/AdminDashboard/Table/ReactTable");
29
+ Object.keys(_ReactTable).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _ReactTable[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _ReactTable[key];
36
+ }
37
+ });
38
+ });
28
39
  var _AgreementItem = require("./components/AgreementItem/AgreementItem");
29
40
  Object.keys(_AgreementItem).forEach(function (key) {
30
41
  if (key === "default" || key === "__esModule") return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stokr/components-library",
3
- "version": "2.1.2",
3
+ "version": "2.1.3",
4
4
  "description": "STOKR - Components Library",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -67,6 +67,7 @@
67
67
  "react-scripts": "5.0.1",
68
68
  "react-select": "^5.7.0",
69
69
  "react-slick": "^0.29.0",
70
+ "react-table": "^7.8.0",
70
71
  "react-tippy": "^1.4.0",
71
72
  "react-transition-group": "^4.4.5",
72
73
  "scroll-to-element": "^2.0.3",