@oc-digital/react-component-library 7.2.2-beta.2 → 7.2.3-beta.0

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 (246) hide show
  1. package/build/index.js +63000 -1
  2. package/build/index.js.map +1 -1
  3. package/build/style.css +1 -0
  4. package/package.json +23 -24
  5. package/build/Alert/Alert.d.ts +0 -4
  6. package/build/Alert/Alert.js +0 -48
  7. package/build/Alert/Alert.js.map +0 -1
  8. package/build/Alert/Alert.types.d.ts +0 -13
  9. package/build/Alert/Alert.types.js +0 -2
  10. package/build/Alert/Alert.types.js.map +0 -1
  11. package/build/AlphabeticalList/AlphabeticalList.d.ts +0 -4
  12. package/build/AlphabeticalList/AlphabeticalList.js +0 -91
  13. package/build/AlphabeticalList/AlphabeticalList.js.map +0 -1
  14. package/build/AlphabeticalList/AlphabeticalList.types.d.ts +0 -22
  15. package/build/AlphabeticalList/AlphabeticalList.types.js +0 -2
  16. package/build/AlphabeticalList/AlphabeticalList.types.js.map +0 -1
  17. package/build/AutoSave/Select/AutoSave.types.d.ts +0 -11
  18. package/build/AutoSave/Select/AutoSave.types.js +0 -2
  19. package/build/AutoSave/Select/AutoSave.types.js.map +0 -1
  20. package/build/AutoSave/Select/index.d.ts +0 -3
  21. package/build/AutoSave/Select/index.js +0 -31
  22. package/build/AutoSave/Select/index.js.map +0 -1
  23. package/build/AutoSave/Text/AutoSave.types.d.ts +0 -16
  24. package/build/AutoSave/Text/AutoSave.types.js +0 -2
  25. package/build/AutoSave/Text/AutoSave.types.js.map +0 -1
  26. package/build/AutoSave/Text/index.d.ts +0 -3
  27. package/build/AutoSave/Text/index.js +0 -140
  28. package/build/AutoSave/Text/index.js.map +0 -1
  29. package/build/Breadcrumbs/Breadcrumbs.d.ts +0 -4
  30. package/build/Breadcrumbs/Breadcrumbs.js +0 -126
  31. package/build/Breadcrumbs/Breadcrumbs.js.map +0 -1
  32. package/build/Breadcrumbs/Breadcrumbs.types.d.ts +0 -23
  33. package/build/Breadcrumbs/Breadcrumbs.types.js +0 -2
  34. package/build/Breadcrumbs/Breadcrumbs.types.js.map +0 -1
  35. package/build/Button/Button.d.ts +0 -4
  36. package/build/Button/Button.js +0 -54
  37. package/build/Button/Button.js.map +0 -1
  38. package/build/Button/Button.types.d.ts +0 -10
  39. package/build/Button/Button.types.js +0 -2
  40. package/build/Button/Button.types.js.map +0 -1
  41. package/build/ButtonWithConfirm/ButtonWithConfirm.d.ts +0 -4
  42. package/build/ButtonWithConfirm/ButtonWithConfirm.js +0 -63
  43. package/build/ButtonWithConfirm/ButtonWithConfirm.js.map +0 -1
  44. package/build/ButtonWithConfirm/ButtonWithConfirm.types.d.ts +0 -9
  45. package/build/ButtonWithConfirm/ButtonWithConfirm.types.js +0 -2
  46. package/build/ButtonWithConfirm/ButtonWithConfirm.types.js.map +0 -1
  47. package/build/ContentBox/ContentBox.d.ts +0 -4
  48. package/build/ContentBox/ContentBox.js +0 -21
  49. package/build/ContentBox/ContentBox.js.map +0 -1
  50. package/build/ContentBox/ContentBox.types.d.ts +0 -7
  51. package/build/ContentBox/ContentBox.types.js +0 -2
  52. package/build/ContentBox/ContentBox.types.js.map +0 -1
  53. package/build/ContentLabel/ContentLabel.d.ts +0 -4
  54. package/build/ContentLabel/ContentLabel.js +0 -10
  55. package/build/ContentLabel/ContentLabel.js.map +0 -1
  56. package/build/ContentLabel/ContentLabel.types.d.ts +0 -5
  57. package/build/ContentLabel/ContentLabel.types.js +0 -2
  58. package/build/ContentLabel/ContentLabel.types.js.map +0 -1
  59. package/build/DatePicker/DatePicker.d.ts +0 -4
  60. package/build/DatePicker/DatePicker.js +0 -38
  61. package/build/DatePicker/DatePicker.js.map +0 -1
  62. package/build/DatePicker/DatePicker.types.d.ts +0 -5
  63. package/build/DatePicker/DatePicker.types.js +0 -2
  64. package/build/DatePicker/DatePicker.types.js.map +0 -1
  65. package/build/EditableTable/EditableTable.d.ts +0 -4
  66. package/build/EditableTable/EditableTable.js +0 -398
  67. package/build/EditableTable/EditableTable.js.map +0 -1
  68. package/build/EditableTable/EditableTable.types.d.ts +0 -106
  69. package/build/EditableTable/EditableTable.types.js +0 -2
  70. package/build/EditableTable/EditableTable.types.js.map +0 -1
  71. package/build/EditableTable/components/TableCheckbox.d.ts +0 -8
  72. package/build/EditableTable/components/TableCheckbox.js +0 -8
  73. package/build/EditableTable/components/TableCheckbox.js.map +0 -1
  74. package/build/EditableTable/components/TableDateInput.d.ts +0 -9
  75. package/build/EditableTable/components/TableDateInput.js +0 -20
  76. package/build/EditableTable/components/TableDateInput.js.map +0 -1
  77. package/build/EditableTable/components/TableTextInput.d.ts +0 -20
  78. package/build/EditableTable/components/TableTextInput.js +0 -89
  79. package/build/EditableTable/components/TableTextInput.js.map +0 -1
  80. package/build/EditableTable/components/styled/Checkbox.d.ts +0 -5
  81. package/build/EditableTable/components/styled/CheckboxLabel.d.ts +0 -5
  82. package/build/EditableTable/components/styled/Input.d.ts +0 -21
  83. package/build/EditableTable/components/styled/InputAdornmentWrapper.d.ts +0 -5
  84. package/build/EditableTable/components/styled/InputWrapper.d.ts +0 -5
  85. package/build/EditableTable/components/styled/SmallError.d.ts +0 -5
  86. package/build/EditableTable/components/utils/getTextWidth.d.ts +0 -13
  87. package/build/EditableTable/components/utils/getTextWidth.js +0 -58
  88. package/build/EditableTable/components/utils/getTextWidth.js.map +0 -1
  89. package/build/EditableTable/defaultCells.d.ts +0 -30
  90. package/build/EditableTable/defaultCells.js +0 -118
  91. package/build/EditableTable/defaultCells.js.map +0 -1
  92. package/build/EntityList/EntityList.d.ts +0 -4
  93. package/build/EntityList/EntityList.js +0 -53
  94. package/build/EntityList/EntityList.js.map +0 -1
  95. package/build/EntityList/EntityList.types.d.ts +0 -14
  96. package/build/EntityList/EntityList.types.js +0 -2
  97. package/build/EntityList/EntityList.types.js.map +0 -1
  98. package/build/ErrorIndicator/ErrorIndicator.d.ts +0 -4
  99. package/build/ErrorIndicator/ErrorIndicator.js +0 -22
  100. package/build/ErrorIndicator/ErrorIndicator.js.map +0 -1
  101. package/build/ErrorIndicator/ErrorIndicator.types.d.ts +0 -4
  102. package/build/ErrorIndicator/ErrorIndicator.types.js +0 -2
  103. package/build/ErrorIndicator/ErrorIndicator.types.js.map +0 -1
  104. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.d.ts +0 -4
  105. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.js +0 -293
  106. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.js.map +0 -1
  107. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.types.d.ts +0 -8
  108. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.types.js +0 -2
  109. package/build/ImageDisplayAndUpload/ImageDisplayAndUpload.types.js.map +0 -1
  110. package/build/KeyboardDatePicker/KeyboardDatePicker.d.ts +0 -4
  111. package/build/KeyboardDatePicker/KeyboardDatePicker.js +0 -38
  112. package/build/KeyboardDatePicker/KeyboardDatePicker.js.map +0 -1
  113. package/build/KeyboardDatePicker/KeyboardDatePicker.types.d.ts +0 -5
  114. package/build/KeyboardDatePicker/KeyboardDatePicker.types.js +0 -2
  115. package/build/KeyboardDatePicker/KeyboardDatePicker.types.js.map +0 -1
  116. package/build/LeftNavigation/LeftNavigation.d.ts +0 -4
  117. package/build/LeftNavigation/LeftNavigation.js +0 -47
  118. package/build/LeftNavigation/LeftNavigation.js.map +0 -1
  119. package/build/LeftNavigation/LeftNavigation.types.d.ts +0 -96
  120. package/build/LeftNavigation/LeftNavigation.types.js +0 -2
  121. package/build/LeftNavigation/LeftNavigation.types.js.map +0 -1
  122. package/build/LeftNavigation/NavListItem.d.ts +0 -4
  123. package/build/LeftNavigation/NavListItem.js +0 -122
  124. package/build/LeftNavigation/NavListItem.js.map +0 -1
  125. package/build/LeftNavigation/PrimaryLeftNavigation.d.ts +0 -4
  126. package/build/LeftNavigation/PrimaryLeftNavigation.js +0 -108
  127. package/build/LeftNavigation/PrimaryLeftNavigation.js.map +0 -1
  128. package/build/LeftNavigation/SecondaryLeftNavigation.d.ts +0 -4
  129. package/build/LeftNavigation/SecondaryLeftNavigation.js +0 -88
  130. package/build/LeftNavigation/SecondaryLeftNavigation.js.map +0 -1
  131. package/build/LoadingSpinner/LoadingSpinner.d.ts +0 -4
  132. package/build/LoadingSpinner/LoadingSpinner.js +0 -21
  133. package/build/LoadingSpinner/LoadingSpinner.js.map +0 -1
  134. package/build/LoadingSpinner/LoadingSpinner.types.d.ts +0 -5
  135. package/build/LoadingSpinner/LoadingSpinner.types.js +0 -2
  136. package/build/LoadingSpinner/LoadingSpinner.types.js.map +0 -1
  137. package/build/MainLayout/MainLayout.d.ts +0 -4
  138. package/build/MainLayout/MainLayout.js +0 -46
  139. package/build/MainLayout/MainLayout.js.map +0 -1
  140. package/build/MainLayout/MainLayout.types.d.ts +0 -10
  141. package/build/MainLayout/MainLayout.types.js +0 -2
  142. package/build/MainLayout/MainLayout.types.js.map +0 -1
  143. package/build/MobileDatePicker/MobileDatePicker.d.ts +0 -4
  144. package/build/MobileDatePicker/MobileDatePicker.js +0 -38
  145. package/build/MobileDatePicker/MobileDatePicker.js.map +0 -1
  146. package/build/MobileDatePicker/MobileDatePicker.types.d.ts +0 -5
  147. package/build/MobileDatePicker/MobileDatePicker.types.js +0 -2
  148. package/build/MobileDatePicker/MobileDatePicker.types.js.map +0 -1
  149. package/build/NavbarLayout/Navbar.d.ts +0 -12
  150. package/build/NavbarLayout/Navbar.js +0 -101
  151. package/build/NavbarLayout/Navbar.js.map +0 -1
  152. package/build/NavbarLayout/NavbarLayout.d.ts +0 -16
  153. package/build/NavbarLayout/NavbarLayout.js +0 -52
  154. package/build/NavbarLayout/NavbarLayout.js.map +0 -1
  155. package/build/NavbarLayout/index.d.ts +0 -2
  156. package/build/NavbarLayout/index.js +0 -2
  157. package/build/NavbarLayout/index.js.map +0 -1
  158. package/build/SearchBar/SearchBar.d.ts +0 -4
  159. package/build/SearchBar/SearchBar.js +0 -75
  160. package/build/SearchBar/SearchBar.js.map +0 -1
  161. package/build/SearchBar/SearchBar.types.d.ts +0 -33
  162. package/build/SearchBar/SearchBar.types.js +0 -2
  163. package/build/SearchBar/SearchBar.types.js.map +0 -1
  164. package/build/Select/Select.d.ts +0 -4
  165. package/build/Select/Select.js +0 -140
  166. package/build/Select/Select.js.map +0 -1
  167. package/build/Select/Select.types.d.ts +0 -16
  168. package/build/Select/Select.types.js +0 -2
  169. package/build/Select/Select.types.js.map +0 -1
  170. package/build/StaticTable/StaticTable.d.ts +0 -4
  171. package/build/StaticTable/StaticTable.js +0 -147
  172. package/build/StaticTable/StaticTable.js.map +0 -1
  173. package/build/StaticTable/StaticTable.types.d.ts +0 -21
  174. package/build/StaticTable/StaticTable.types.js +0 -2
  175. package/build/StaticTable/StaticTable.types.js.map +0 -1
  176. package/build/SvgComponents/ContainedPartnersLogo.d.ts +0 -4
  177. package/build/SvgComponents/ContainedPartnersLogo.js +0 -8
  178. package/build/SvgComponents/ContainedPartnersLogo.js.map +0 -1
  179. package/build/SvgComponents/HomeSvg.d.ts +0 -4
  180. package/build/SvgComponents/HomeSvg.js +0 -8
  181. package/build/SvgComponents/HomeSvg.js.map +0 -1
  182. package/build/SvgComponents/NovelLogoSvg.d.ts +0 -4
  183. package/build/SvgComponents/NovelLogoSvg.js +0 -8
  184. package/build/SvgComponents/NovelLogoSvg.js.map +0 -1
  185. package/build/SvgComponents/OrganisationList.d.ts +0 -4
  186. package/build/SvgComponents/OrganisationList.js +0 -8
  187. package/build/SvgComponents/OrganisationList.js.map +0 -1
  188. package/build/SvgComponents/ProjectsSvg.d.ts +0 -4
  189. package/build/SvgComponents/ProjectsSvg.js +0 -8
  190. package/build/SvgComponents/ProjectsSvg.js.map +0 -1
  191. package/build/SvgComponents/index.d.ts +0 -5
  192. package/build/SvgComponents/index.js +0 -6
  193. package/build/SvgComponents/index.js.map +0 -1
  194. package/build/SvgComponents/types.d.ts +0 -6
  195. package/build/SvgComponents/types.js +0 -2
  196. package/build/SvgComponents/types.js.map +0 -1
  197. package/build/TextField/TextField.d.ts +0 -15
  198. package/build/TextField/TextField.js +0 -67
  199. package/build/TextField/TextField.js.map +0 -1
  200. package/build/TextField/TextField.types.d.ts +0 -7
  201. package/build/TextField/TextField.types.js +0 -2
  202. package/build/TextField/TextField.types.js.map +0 -1
  203. package/build/Tooltip/OptionalTooltip.d.ts +0 -8
  204. package/build/Tooltip/OptionalTooltip.js +0 -11
  205. package/build/Tooltip/OptionalTooltip.js.map +0 -1
  206. package/build/Tooltip/index.d.ts +0 -1
  207. package/build/Tooltip/index.js +0 -2
  208. package/build/Tooltip/index.js.map +0 -1
  209. package/build/assets/index-DCUzKTQq.css +0 -78
  210. package/build/globals/index.d.ts +0 -26
  211. package/build/globals/index.js +0 -28
  212. package/build/globals/index.js.map +0 -1
  213. package/build/hooks/index.d.ts +0 -3
  214. package/build/hooks/index.js +0 -4
  215. package/build/hooks/index.js.map +0 -1
  216. package/build/hooks/useDebounceEffect.d.ts +0 -2
  217. package/build/hooks/useDebounceEffect.js +0 -12
  218. package/build/hooks/useDebounceEffect.js.map +0 -1
  219. package/build/hooks/useInterval.d.ts +0 -2
  220. package/build/hooks/useInterval.js +0 -19
  221. package/build/hooks/useInterval.js.map +0 -1
  222. package/build/hooks/useWhyDidYouUpdate.d.ts +0 -1
  223. package/build/hooks/useWhyDidYouUpdate.js +0 -43
  224. package/build/hooks/useWhyDidYouUpdate.js.map +0 -1
  225. package/build/index.d.ts +0 -37
  226. package/build/styles/colours.d.ts +0 -3
  227. package/build/styles/colours.js +0 -4
  228. package/build/styles/colours.js.map +0 -1
  229. package/build/styles/font.d.ts +0 -1
  230. package/build/styles/font.js +0 -19
  231. package/build/styles/font.js.map +0 -1
  232. package/build/styles/index.d.ts +0 -3
  233. package/build/styles/index.js +0 -4
  234. package/build/styles/index.js.map +0 -1
  235. package/build/styles/layout.d.ts +0 -1
  236. package/build/styles/layout.js +0 -85
  237. package/build/styles/layout.js.map +0 -1
  238. package/build/styles/spacing.d.ts +0 -1
  239. package/build/styles/spacing.js +0 -50
  240. package/build/styles/spacing.js.map +0 -1
  241. package/build/styles/themes.d.ts +0 -2
  242. package/build/styles/themes.js +0 -56
  243. package/build/styles/themes.js.map +0 -1
  244. package/build/utils/index.d.ts +0 -5
  245. package/build/utils/index.js +0 -14
  246. package/build/utils/index.js.map +0 -1
@@ -1,398 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
- var __rest = (this && this.__rest) || function (s, e) {
49
- var t = {};
50
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
51
- t[p] = s[p];
52
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
53
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
54
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
55
- t[p[i]] = s[p[i]];
56
- }
57
- return t;
58
- };
59
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
60
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
61
- if (ar || !(i in from)) {
62
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
63
- ar[i] = from[i];
64
- }
65
- }
66
- return to.concat(ar || Array.prototype.slice.call(from));
67
- };
68
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
69
- import React, { forwardRef, Fragment, memo, useCallback, useEffect, useState, } from "react";
70
- import { useTable, useRowSelect, useFilters, usePagination, useGlobalFilter, useAsyncDebounce, } from "react-table";
71
- import { Table as MUITable, Typography, Box, Tooltip, InputBase } from "@mui/material";
72
- import makeStyles from "@mui/styles/makeStyles";
73
- import SearchIcon from "@mui/icons-material/Search";
74
- import { EDITED_STATUS, NEW_STATUS } from "../globals";
75
- import { tableTextField } from "./defaultCells";
76
- import { didCellValueChange } from "../utils";
77
- import LoadingSpinner from "../LoadingSpinner/LoadingSpinner";
78
- import { Pagination } from "@mui/material";
79
- import { TableCheckbox } from "./components/TableCheckbox";
80
- import * as classes from "./EditableTable.css" with { type: "css" };
81
- import { useSpacingStyles } from "../styles";
82
- import { NumericFormat } from "react-number-format";
83
- var EditableCell = function (_a) {
84
- var _b = _a.value, initialValue = _b === void 0 ? "" : _b, _c = _a.row, index = _c.index, values = _c.values, original = _c.original, id = _a.column.id, syncCellWithState = _a.syncCellWithState, setRows = _a.setRows, fieldConfig = _a.fieldConfig, disabled = _a.disabled;
85
- var _d = fieldConfig[id], validationRule = _d.validationRule, dependentValidationRule = _d.dependentValidationRule, isCheckbox = _d.isCheckbox, isDateField = _d.isDateField, customRenderFn = _d.customRenderFn, prefix = _d.prefix, suffix = _d.suffix, textAlign = _d.textAlign, configOnBlur = _d.onBlur, onChangeValueModifier = _d.onChangeValueModifier, getCalculatedValue = _d.getCalculatedValue;
86
- var _e = useState(false), error = _e[0], setError = _e[1];
87
- // We need to keep and update the state of the cell normally
88
- var _f = useState(initialValue), value = _f[0], setValue = _f[1];
89
- var checkbox = isCheckbox;
90
- var validateValue = function (value) {
91
- var returnValue = false;
92
- if (validationRule) {
93
- try {
94
- validationRule.validateSync(value);
95
- if (error)
96
- setError(false);
97
- }
98
- catch (e) {
99
- returnValue = true;
100
- !error && setError(e.message);
101
- }
102
- }
103
- if (dependentValidationRule) {
104
- try {
105
- dependentValidationRule(values).validateSync(value);
106
- if (error)
107
- setError(false);
108
- }
109
- catch (e) {
110
- returnValue = true;
111
- !error && setError(e.message);
112
- }
113
- }
114
- return returnValue;
115
- };
116
- // We'll only update the external data when the input is blurred
117
- var onBlur = function (fieldValue, dateFieldError) { return __awaiter(void 0, void 0, void 0, function () {
118
- return __generator(this, function (_a) {
119
- switch (_a.label) {
120
- case 0:
121
- if (checkbox) {
122
- syncCellWithState(index, id, fieldValue, false);
123
- }
124
- else if (isDateField) {
125
- syncCellWithState(index, id, fieldValue, !!dateFieldError);
126
- }
127
- else {
128
- syncCellWithState(index, id, value, !!error);
129
- }
130
- if (!(configOnBlur &&
131
- setRows &&
132
- !error &&
133
- !didCellValueChange(values[id], value, isDateField))) return [3 /*break*/, 2];
134
- return [4 /*yield*/, configOnBlur({
135
- rowIndex: index,
136
- value: value,
137
- setRows: setRows,
138
- values: original,
139
- })];
140
- case 1:
141
- _a.sent();
142
- _a.label = 2;
143
- case 2: return [2 /*return*/];
144
- }
145
- });
146
- }); };
147
- var onChange = function (e) {
148
- var event;
149
- if (isDateField) {
150
- event = e;
151
- var adjustedDateValue = onChangeValueModifier
152
- ? onChangeValueModifier(event)
153
- : event;
154
- setValue(adjustedDateValue);
155
- var dateValidity = validateValue(adjustedDateValue);
156
- onBlur(adjustedDateValue, dateValidity);
157
- return;
158
- }
159
- event = e;
160
- var eventValue = checkbox ? event.target.checked : event.target.value;
161
- if (checkbox) {
162
- setValue(eventValue);
163
- onBlur(eventValue);
164
- }
165
- else {
166
- setValue(eventValue);
167
- validateValue(eventValue);
168
- }
169
- };
170
- // If the initialValue is changed external, sync it up with our state
171
- useEffect(function () {
172
- setValue(initialValue);
173
- var errorStatus = validateValue(initialValue);
174
- if (error !== errorStatus) {
175
- syncCellWithState(index, id, initialValue, errorStatus, true);
176
- }
177
- // eslint-disable-next-line react-hooks/exhaustive-deps
178
- }, [initialValue]);
179
- useEffect(function () {
180
- if (original.errors && !!original.errors[id] !== !!error) {
181
- validateValue(initialValue);
182
- }
183
- // eslint-disable-next-line react-hooks/exhaustive-deps
184
- }, [original.errors]);
185
- // {original} is the row object that is passed into <EditableTable />
186
- // {getCalculatedValue} can use data in the row object, but not in other rows
187
- var valueToRender = getCalculatedValue ? getCalculatedValue(original) : value;
188
- var renderFnProps = {
189
- value: valueToRender,
190
- values: values,
191
- disabled: getCalculatedValue || disabled || original.disabledRow,
192
- error: error,
193
- onChange: onChange,
194
- onBlur: onBlur,
195
- prefix: prefix,
196
- suffix: suffix,
197
- textAlign: textAlign,
198
- originalValues: original,
199
- };
200
- if (customRenderFn) {
201
- return customRenderFn(renderFnProps);
202
- }
203
- else
204
- return tableTextField(renderFnProps);
205
- };
206
- var TableRowContents = forwardRef(function (_a, ref) {
207
- var row = _a.row, disabled = _a.disabled, includeRowSelect = _a.includeRowSelect, rest = __rest(_a, ["row", "disabled", "includeRowSelect"]);
208
- return (_jsx("tr", __assign({}, rest, { ref: ref, className: "".concat(row.original.rowStatus === NEW_STATUS ? classes.newRowHighlight : "", " ").concat(row.original.rowStatus === EDITED_STATUS ? classes.editedBorder : "", "\n").concat(Object.values(row.original.errors || {}).includes(true) ? classes.errorBorder : "", " ").concat(row.original.disabledRow || disabled ? classes.disabled : "", "\n ").concat(classes.rowHoverForStickyCell, " ").concat(classes.tableRow), children: row.cells.map(function (cell, n) { return (_jsx("td", __assign({}, cell.getCellProps(), { "data-align": cell.column.textAlign || "center", style: {
209
- textAlign: cell.column.textAlign || "center",
210
- }, className: "".concat(classes.tableCell, " ").concat(cell.row.original.rowStatus === EDITED_STATUS &&
211
- cell.row.original.edited[cell.column.id]
212
- ? classes.editedCellHighlight
213
- : "", " ").concat(classes.cellPadding, "\n ").concat(cell.column.shadedHeaderGroup
214
- ? "".concat(classes.shadedBody2CellsInsideGroup, " shadedBody2CellsInsideGroup")
215
- : "", "\n ").concat(cell.column.shadedHeader ? "".concat(classes.shadedBodyCell, " shadedBodyCell") : "", "\n ").concat(cell.column.stickyCell
216
- ? "".concat(classes.offsetStickyPosition, " ").concat(classes.rowCellColour, " stickyRowCell")
217
- : "", "\n "), padding: includeRowSelect && n === 0 ? "checkbox" : "normal", children: cell.render("Cell") }))); }) })));
218
- });
219
- // emptyRows is needed for when incoming data is null (loading state).
220
- // useTable requires memoised row data to be defined at all times.
221
- var emptyRows = [];
222
- var EditableTable = memo(function (_a) {
223
- var tableRows = _a.tableRows, tableHeaders = _a.tableHeaders, syncCellWithState = _a.syncCellWithState, _b = _a.setRows, setRows = _b === void 0 ? undefined : _b, _c = _a.skipPageReset, skipPageReset = _c === void 0 ? false : _c, fieldConfig = _a.fieldConfig, _d = _a.disabled, disabled = _d === void 0 ? false : _d, setSelectedRows = _a.setSelectedRows, _e = _a.includeRowSelect, includeRowSelect = _e === void 0 ? true : _e, filterData = _a.filterData, filterTypes = _a.filterTypes, _f = _a.emptyTableText, emptyTableText = _f === void 0 ? "Table is empty" : _f, _g = _a.paginate, paginate = _g === void 0 ? false : _g, _h = _a.defaultPageSize, defaultPageSize = _h === void 0 ? 50 : _h, virtContainerStyling = _a.virtContainerStyling, includeGlobalSearch = _a.includeGlobalSearch, disableHeaderSelect = _a.disableHeaderSelect;
224
- var parentRef = React.useRef(null);
225
- // Set our editable cell renderer as the default Cell renderer
226
- var defaultColumn = React.useMemo(function () { return ({
227
- Cell: EditableCell,
228
- }); }, []);
229
- var _j = useTable({
230
- columns: tableHeaders,
231
- data: tableRows || emptyRows,
232
- defaultColumn: defaultColumn, // custom cell renderer, that we defined above
233
- autoResetPage: paginate ? !skipPageReset : false, // value that is used internally to control page number resets
234
- filterTypes: filterTypes, // fileting config for useFilters hook
235
- initialState: { pageSize: paginate ? defaultPageSize : undefined }, // setting up initial state for
236
- // below are custom methods and variables that will be supplied to EditableCell
237
- syncCellWithState: syncCellWithState, // state function used that controls the state of table
238
- setRows: setRows, // similar to syncCellWithState but you can manipulate whole state
239
- fieldConfig: fieldConfig, //configuration for each of the cells
240
- disabled: disabled,
241
- autoResetGlobalFilter: false,
242
- }, useFilters, // plugging in useFilters hook
243
- useGlobalFilter, // plugging in useGlobalFilters hook
244
- usePagination, // plugging in usePagination hook
245
- useRowSelect, // plugging in useRowSelect hook
246
- function (hooks) {
247
- if (includeRowSelect) {
248
- hooks.visibleColumns.push(function (columns) { return __spreadArray([
249
- // Let's make a column for selection
250
- {
251
- id: "selection",
252
- // The header can use the table's getToggleAllRowsSelectedProps method
253
- // to render a checkbox
254
- Header: function (_a) {
255
- var getToggleAllRowsSelectedProps = _a.getToggleAllRowsSelectedProps, getToggleAllPageRowsSelectedProps = _a.getToggleAllPageRowsSelectedProps;
256
- if (disableHeaderSelect)
257
- return "Select";
258
- var props = paginate
259
- ? getToggleAllPageRowsSelectedProps()
260
- : getToggleAllRowsSelectedProps();
261
- return (_jsx(TableCheckbox, { value: props.checked, onChange: props.onChange, disabled: disabled }));
262
- },
263
- // The cell can use the individual row's getToggleRowSelectedProps method
264
- // to the render a checkbox
265
- Cell: function (_a) {
266
- var row = _a.row;
267
- var props = row.getToggleRowSelectedProps();
268
- return (_jsx(TableCheckbox, { value: props.checked, onChange: props.onChange, disabled: disabled || row.original.disableSelection }));
269
- },
270
- }
271
- ], columns, true); });
272
- }
273
- }), getTableProps = _j.getTableProps, // props to use in table, supplied by react-table
274
- getTableBodyProps = _j.getTableBodyProps, // props to use in table, supplied by react-table
275
- headerGroups = _j.headerGroups, // headers enriched with methods by react-table
276
- rows = _j.rows, // rows enriched with methods by react-table
277
- page = _j.page, // selected slice of data subset of rows. Visible paginated data
278
- prepareRow = _j.prepareRow, // row optimisation function that must be called when rendering rows
279
- _k = _j.state, selectedRowIds = _k.selectedRowIds, pageIndex = _k.pageIndex, // ids of selected rows and page index from internal table state
280
- state = _j.state, setFilter = _j.setFilter, // manipulate filter criteria
281
- pageCount = _j.pageCount, gotoPage = _j.gotoPage, preGlobalFilteredRows = _j.preGlobalFilteredRows, setGlobalFilter = _j.setGlobalFilter, isAllRowsSelected = _j.isAllRowsSelected, // used only to induce re-render in the header and update checkbox state
282
- selectedFlatRows = _j.selectedFlatRows;
283
- var rowsToRender = paginate ? page : rows;
284
- var handlePageChange = useCallback(function (event, value) {
285
- gotoPage(value - 1);
286
- },
287
- // eslint-disable-next-line react-hooks/exhaustive-deps
288
- []);
289
- // provide the data to filter on, if filter types is not present the default filter will be used
290
- useEffect(function () {
291
- if (filterData) {
292
- setFilter(filterData.filterRow, filterData.filterValues);
293
- }
294
- // eslint-disable-next-line react-hooks/exhaustive-deps
295
- }, [filterData]);
296
- useEffect(function () {
297
- if (setSelectedRows) {
298
- setSelectedRows(Object.keys(selectedRowIds).map(function (id) { return +id; }));
299
- }
300
- // eslint-disable-next-line react-hooks/exhaustive-deps
301
- }, [selectedRowIds]);
302
- return (_jsxs(_Fragment, { children: [includeGlobalSearch ? (_jsx(GlobalSearch, { preGlobalFilteredRows: preGlobalFilteredRows, globalFilter: state.globalFilter, setGlobalFilter: setGlobalFilter })) : null, _jsx("div", { ref: parentRef, className: virtContainerStyling || classes.virtualisationContainer, children: _jsx(TableContent, { disabled: disabled, includeRowSelect: includeRowSelect, getTableProps: getTableProps, headerGroups: headerGroups, getTableBodyProps: getTableBodyProps, rowsToRender: rowsToRender, prepareRow: prepareRow, isAllRowsSelected: isAllRowsSelected, selectedFlatRows: selectedFlatRows, fieldConfig: fieldConfig, tableHeaders: tableHeaders }) }), tableRows === null ? (_jsx(Box, { className: classes.emptyLoadingPadding, children: _jsx(LoadingSpinner, {}) })) : null, tableRows && !tableRows.length ? (_jsx(Box, { className: "".concat(classes.emptyLoadingPadding, " ").concat(classes.centeredText), children: _jsx(Typography, { variant: "body2", children: emptyTableText }) })) : null, paginate && (tableRows === null || tableRows === void 0 ? void 0 : tableRows.length) ? (_jsx(Pagination, { className: classes.pagination, count: pageCount, page: pageIndex + 1, onChange: handlePageChange, shape: "rounded", showFirstButton: true, showLastButton: true })) : null] }));
303
- });
304
- export default EditableTable;
305
- var useGlobalSearchStyles = makeStyles(function (theme) { return ({
306
- container: {
307
- display: "flex",
308
- justifyContent: "center",
309
- alignItems: "center",
310
- border: "1px solid ".concat(theme.palette.grey[600]),
311
- borderRadius: "8px",
312
- width: "100%",
313
- maxWidth: "20rem",
314
- marginInline: "auto",
315
- color: theme.palette.grey[600],
316
- "&:hover": {
317
- borderColor: theme.palette.grey[800],
318
- color: theme.palette.grey[800],
319
- },
320
- "&:focus-within": {
321
- borderColor: theme.palette.grey[800],
322
- color: theme.palette.grey[800],
323
- },
324
- },
325
- input: __assign({ width: "100%", maxWidth: "18rem", color: "inherit" }, theme.typography.body2),
326
- }); });
327
- var GlobalSearch = memo(function (_a) {
328
- var preGlobalFilteredRows = _a.preGlobalFilteredRows, globalFilter = _a.globalFilter, setGlobalFilter = _a.setGlobalFilter;
329
- var searchClasses = useGlobalSearchStyles();
330
- var spacingClasses = useSpacingStyles();
331
- var _b = useState(globalFilter), value = _b[0], setValue = _b[1];
332
- var onChange = useAsyncDebounce(function (value) {
333
- setGlobalFilter(value || undefined);
334
- }, 200);
335
- var count = preGlobalFilteredRows.length;
336
- return (_jsxs("div", { className: "".concat(searchClasses.container, " ").concat(spacingClasses.contentBreak), children: [_jsx(SearchIcon, { className: "".concat(spacingClasses.rightSpacer1, " ").concat(spacingClasses.leftSpacer1) }), _jsx(InputBase, { className: "".concat(searchClasses.input), value: value || "", onChange: function (e) {
337
- setValue(e.target.value);
338
- onChange(e.target.value);
339
- }, placeholder: "Search ".concat(count, " records..."), inputProps: { "aria-label": "search" } })] }));
340
- });
341
- var TableContent = memo(function (_a) {
342
- var disabled = _a.disabled, includeRowSelect = _a.includeRowSelect, getTableProps = _a.getTableProps, headerGroups = _a.headerGroups, getTableBodyProps = _a.getTableBodyProps, rowsToRender = _a.rowsToRender, prepareRow = _a.prepareRow, isAllRowsSelected = _a.isAllRowsSelected, selectedFlatRows = _a.selectedFlatRows, fieldConfig = _a.fieldConfig, tableHeaders = _a.tableHeaders;
343
- var shouldShowTotals = rowsToRender.length > 0 &&
344
- Object.values(fieldConfig).some(function (config) { return config.total; });
345
- return (_jsxs(MUITable, __assign({}, getTableProps(), { style: {
346
- borderCollapse: "collapse",
347
- borderTopLeftRadius: 15,
348
- borderTopRightRadius: 15,
349
- }, children: [_jsx(TableHeaderContent, { headerGroups: headerGroups, includeRowSelect: includeRowSelect, isAllRowsSelected: isAllRowsSelected }), _jsxs("tbody", __assign({}, getTableBodyProps(), { children: [_jsx(TableRows, { disabled: disabled, includeRowSelect: includeRowSelect, rowsToRender: rowsToRender, prepareRow: prepareRow, selectedFlatRows: selectedFlatRows }), shouldShowTotals && (_jsxs("tr", { children: [includeRowSelect && (_jsx("td", { className: classes.tableCellTotalsLabel, children: "Totals" })), Object.values(tableHeaders).map(function (header) {
350
- var accessor = header.accessor;
351
- var config = fieldConfig[accessor];
352
- if (!config.total) {
353
- return _jsx("td", {}, "totals-".concat(header.accessor));
354
- }
355
- var sum = rowsToRender.reduce(function (sum, row) {
356
- var rowValue = config.getCalculatedValue
357
- ? config.getCalculatedValue(row.original)
358
- : row.original[accessor];
359
- return sum + Number(rowValue);
360
- }, 0);
361
- return (_jsx("td", { className: "".concat(classes.tableCell, " ").concat(classes.tableTotalCell), children: _jsxs("div", { className: classes.tableTotalWrapper, children: [config.prefix, _jsx(NumericFormat, { value: sum, thousandSeparator: ",", displayType: "text", decimalScale: 2, fixedDecimalScale: true })] }) }, "totals-".concat(header.accessor)));
362
- })] }))] }))] })));
363
- });
364
- var TableHeaderContent = memo(function (_a) {
365
- var headerGroups = _a.headerGroups, includeRowSelect = _a.includeRowSelect, isAllRowsSelected = _a.isAllRowsSelected;
366
- return (_jsx("thead", { className: "".concat(classes.offsetStickyPosition, " ").concat(classes.stickyHeaderZIndex, " ").concat(classes.headerBorders), children: headerGroups.map(function (headerGroup) { return (_jsx("tr", __assign({}, headerGroup.getHeaderGroupProps(), { children: headerGroup.headers.map(function (column, i) {
367
- var _a;
368
- return (_jsx("th", __assign({}, column.getHeaderProps(), { style: {
369
- //@ts-ignore FIX REQUIRED incorrect use of react table props
370
- textAlign: column.textAlign || "center",
371
- }, className: "".concat(classes.headerCellColour, " ").concat(classes.tableCell, " ").concat(classes.tableHeadingCell, "\n ").concat(
372
- //@ts-ignore FIX REQUIRED incorrect use of react table props
373
- !column.shadedHeaderGroup
374
- ? ""
375
- : column.columns
376
- ? "".concat(classes.shadedHeaderGroupParent, " shadedHeaderGroupParent")
377
- : column.parent
378
- ? "".concat(classes.shadedHeaderGroup2Children, " shadedHeaderGroup2Children")
379
- : "", " ").concat(
380
- //@ts-ignore FIX REQUIRED incorrect use of react table props
381
- column.shadedHeader ? "".concat(classes.shadedHeader, " shadedHeader") : "", "\n ").concat(
382
- //@ts-ignore FIX REQUIRED incorrect use of react table props
383
- column.stickyCell || ((_a = column.placeholderOf) === null || _a === void 0 ? void 0 : _a.stickyCell)
384
- ? "".concat(classes.offsetStickyPosition, " ").concat(classes.stickyHeaderZIndex)
385
- : ""), children: column.render("Header") })));
386
- }) }))); }) }));
387
- });
388
- var TableRows = memo(function (_a) {
389
- var rowsToRender = _a.rowsToRender, prepareRow = _a.prepareRow, rest = __rest(_a, ["rowsToRender", "prepareRow"]);
390
- return (_jsx(_Fragment, { children: rowsToRender.map(function (row) {
391
- prepareRow(row);
392
- return (_jsx(Fragment, { children: row.original.disabledRow ? (
393
- //At the moment disabledRow prop is only passed on xero costs so this check is fine
394
- // If this changes will need to change the check to be more specific
395
- _jsx(Tooltip, { title: row.original.tooltipText || "This row is disabled", arrow: true, children: _jsx(TableRowContents, __assign({}, rest, { row: row })) })) : (_jsx(TableRowContents, __assign({}, rest, { row: row }))) }, row.original.rowKey || row.getRowProps().key));
396
- }) }));
397
- });
398
- //# sourceMappingURL=EditableTable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditableTable.js","sourceRoot":"","sources":["../../src/EditableTable/EditableTable.tsx"],"names":[],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- import { CellProps, HeaderGroup, Row, TableBodyPropGetter, TableBodyProps, TablePropGetter, TableProps } from "react-table";
2
- import { SchemaOf } from "yup";
3
- import React from "react";
4
- export type IAlignment = "left" | "right" | "inherit" | "center" | "justify";
5
- export type RowData = {
6
- [key: string]: any;
7
- };
8
- export type ITableHeader = {
9
- Header: string | JSX.Element;
10
- accessor: string;
11
- textAlign?: IAlignment;
12
- };
13
- export type TableCellValues = null | undefined | string | number | Date | boolean | string[];
14
- export type SynchCellWithStateFn = (rowIndex: number, columnId: string, value: TableCellValues, errorStatus: boolean, forceUpdate?: boolean) => void;
15
- export type FieldConfig = {
16
- [key: string]: {
17
- validationRule?: SchemaOf<any>;
18
- dependentValidationRule?: (values: {
19
- [key: string]: any;
20
- }) => SchemaOf<any>;
21
- customRenderFn?: (args: ICustomRenderFnProps) => JSX.Element;
22
- prefix?: React.ReactNode | React.JSXElementConstructor<any>;
23
- suffix?: React.ReactNode | React.JSXElementConstructor<any>;
24
- textAlign?: IAlignment;
25
- onBlur?: (args: {
26
- rowIndex: number;
27
- value: string;
28
- setRows: React.Dispatch<React.SetStateAction<RowData[] | null>>;
29
- values: RowData;
30
- }) => Promise<void>;
31
- isCheckbox?: boolean;
32
- isDateField?: boolean;
33
- onChangeValueModifier?: (value: string) => TableCellValues;
34
- getCalculatedValue?: (values: RowData) => TableCellValues;
35
- total?: boolean;
36
- };
37
- };
38
- export interface IEditableTableProps {
39
- tableRows: RowData[] | null;
40
- tableHeaders: ITableHeader[];
41
- syncCellWithState: SynchCellWithStateFn;
42
- setRows?: React.Dispatch<React.SetStateAction<RowData[] | null>> | undefined;
43
- skipPageReset?: boolean;
44
- fieldConfig: FieldConfig;
45
- disabled?: boolean;
46
- setSelectedRows?: React.Dispatch<React.SetStateAction<number[]>>;
47
- includeRowSelect?: boolean;
48
- filterTypes?: {
49
- [key: string]: (rows: any, id: any, filterValue: any) => any;
50
- };
51
- filterData?: {
52
- filterRow: string;
53
- filterValues: RowData[];
54
- };
55
- emptyTableText?: string;
56
- paginate?: boolean;
57
- defaultPageSize?: number;
58
- virtContainerStyling?: string;
59
- overscan?: number;
60
- rowHeight?: number;
61
- includeGlobalSearch?: boolean;
62
- disableHeaderSelect?: boolean;
63
- }
64
- type AdditionalCellProps = Pick<IEditableTableProps, "fieldConfig" | "syncCellWithState" | "setRows">;
65
- export interface ExtendedCellProps extends AdditionalCellProps, CellProps<RowData> {
66
- disabled: boolean;
67
- }
68
- export interface IEssentialRenderFnProps {
69
- error: string | false;
70
- disabled: boolean;
71
- value: TableCellValues;
72
- onChange: (e: any) => void;
73
- onBlur: any;
74
- prefix?: React.ReactNode | React.JSXElementConstructor<any> | Element;
75
- suffix?: React.ReactNode | React.JSXElementConstructor<any> | Element;
76
- numberField?: boolean;
77
- textAlign?: IAlignment;
78
- fixedDecimalScale?: boolean;
79
- }
80
- export interface ICustomRenderFnProps extends IEssentialRenderFnProps {
81
- values: {
82
- [key: string]: any;
83
- };
84
- originalValues: {
85
- [key: string]: any;
86
- };
87
- }
88
- export interface ITableContentProps extends Pick<IEditableTableProps, "disabled" | "includeRowSelect"> {
89
- getTableProps: (propGetter?: TablePropGetter<RowData> | undefined) => TableProps;
90
- headerGroups: HeaderGroup<RowData>[];
91
- getTableBodyProps: (propGetter?: TableBodyPropGetter<RowData> | undefined) => TableBodyProps;
92
- prepareRow: (row: Row<RowData>) => void;
93
- rowsToRender: Row<RowData>[];
94
- disabled: boolean;
95
- includeRowSelect: boolean;
96
- isAllRowsSelected: boolean;
97
- selectedFlatRows: Row<RowData>[];
98
- fieldConfig: FieldConfig;
99
- tableHeaders: ITableHeader[];
100
- }
101
- export interface IGlobalFilterProps {
102
- preGlobalFilteredRows: RowData[];
103
- globalFilter: string | undefined;
104
- setGlobalFilter: (val: string | undefined) => void;
105
- }
106
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=EditableTable.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditableTable.types.js","sourceRoot":"","sources":["../../src/EditableTable/EditableTable.types.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- /// <reference types="react" />
2
- interface ITableCheckboxProps {
3
- disabled?: boolean;
4
- value: boolean | null | undefined;
5
- onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
6
- }
7
- export declare const TableCheckbox: ({ disabled, value, onChange }: ITableCheckboxProps) => JSX.Element;
8
- export {};
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as classes from "./TableCheckbox.css" with { type: "css" };
3
- var noop = function () { };
4
- export var TableCheckbox = function (_a) {
5
- var disabled = _a.disabled, value = _a.value, onChange = _a.onChange;
6
- return (_jsx("label", { className: disabled ? "".concat(classes.label, " ").concat(classes.disabled) : classes.label, children: _jsx("input", { type: "checkbox", disabled: Boolean(disabled), checked: Boolean(value), onChange: onChange !== null && onChange !== void 0 ? onChange : noop, className: classes.checkbox }) }));
7
- };
8
- //# sourceMappingURL=TableCheckbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableCheckbox.js","sourceRoot":"","sources":["../../../src/EditableTable/components/TableCheckbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC;AAQpE,IAAM,IAAI,GAAG,cAAO,CAAC,CAAC;AAEtB,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,EAAkD;QAAhD,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA;IAA4B,OAAA,CACnF,gBAAO,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAG,OAAO,CAAC,KAAK,cAAI,OAAO,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,YACjF,gBACE,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,IAAI,EAC1B,SAAS,EAAE,OAAO,CAAC,QAAQ,GAC3B,GACI,CACT;AAVoF,CAUpF,CAAC"}
@@ -1,9 +0,0 @@
1
- /// <reference types="react" />
2
- interface ITableDateInputProps {
3
- disabled: boolean;
4
- value: Date | string | null | undefined;
5
- error: string | false;
6
- onChange: (value: Date | string) => void;
7
- }
8
- export declare const TableDateInput: ({ disabled, value, error, onChange, }: ITableDateInputProps) => JSX.Element;
9
- export {};
@@ -1,20 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as inputClasses from "./Input.css" with { type: "css" };
3
- import * as errorClasses from "./SmallError.css" with { type: "css" };
4
- export var TableDateInput = function (_a) {
5
- var _b;
6
- var disabled = _a.disabled, value = _a.value, error = _a.error, onChange = _a.onChange;
7
- // This input can accept Date or string values
8
- var stringMode = typeof value === "string";
9
- var stringValue = stringMode ? value : (_b = value === null || value === void 0 ? void 0 : value.toISOString().split("T")[0]) !== null && _b !== void 0 ? _b : "";
10
- return (_jsxs(_Fragment, { children: [_jsx("input", { type: "date", disabled: disabled, value: stringValue, onChange: function (e) {
11
- var newValue = e.target.value;
12
- // Browsers fire events with blank values when you type some numbers
13
- // Just like with the previous date picker, you can't clear this date
14
- if (newValue) {
15
- var outputValue = stringMode ? newValue : new Date(newValue);
16
- onChange(outputValue);
17
- }
18
- }, "data-valid": !error, className: inputClasses.input }), error && (_jsx("div", { children: _jsx("small", { className: errorClasses.error, children: error }) }))] }));
19
- };
20
- //# sourceMappingURL=TableDateInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableDateInput.js","sourceRoot":"","sources":["../../../src/EditableTable/components/TableDateInput.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,YAAY,MAAM,aAAa,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC;AACjE,OAAO,KAAK,YAAY,MAAM,kBAAkB,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC;AAStE,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,EAKR;;QAJrB,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,KAAK,WAAA,EACL,QAAQ,cAAA;IAER,8CAA8C;IAC9C,IAAM,UAAU,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC;IAC7C,IAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,mCAAI,EAAE,CAAC;IAElF,OAAO,CACL,8BACE,gBACE,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,UAAC,CAAC;oBACV,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAEhC,oEAAoE;oBACpE,qEAAqE;oBACrE,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAE/D,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC,gBACW,CAAC,KAAK,EAClB,SAAS,EAAE,YAAY,CAAC,KAAK,GAC7B,EACD,KAAK,IAAI,CACR,wBACE,gBAAO,SAAS,EAAE,YAAY,CAAC,KAAK,YAAG,KAAK,GAAS,GACjD,CACP,IACA,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -1,20 +0,0 @@
1
- import { PureComponent } from "react";
2
- export interface ITableTextInputProps {
3
- name?: string;
4
- value: string | number | null | undefined;
5
- onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
6
- onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
7
- prefix?: string | React.ReactElement | JSX.Element | null;
8
- suffix?: string | React.ReactElement | JSX.Element | null;
9
- textAlign?: "start" | "end" | "left" | "right" | "center" | "justify" | "match-parent" | "inherit";
10
- numberField?: boolean;
11
- fixedDecimalScale?: boolean;
12
- error?: string | false;
13
- disabled?: boolean;
14
- fullWidth?: boolean;
15
- wrapperStyling?: string;
16
- styling?: string;
17
- }
18
- export declare class TableTextInput extends PureComponent<ITableTextInputProps> {
19
- render(): JSX.Element;
20
- }