@jobber/components 2.86.2 → 2.86.3-pre.12

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 (79) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/DataTable.d.ts +1 -0
  3. package/DataTable.js +17 -0
  4. package/dist/Autocomplete/index.js +7 -7
  5. package/dist/Banner/index.js +5 -5
  6. package/dist/Button/index.js +2 -2
  7. package/dist/Button-739af4d8.js +60 -0
  8. package/dist/ButtonDismiss/index.js +3 -3
  9. package/dist/{ButtonDismiss-4cde8f7c.js → ButtonDismiss-e7bcefbd.js} +1 -1
  10. package/dist/Card/index.js +2 -2
  11. package/dist/{Card-368e01a3.js → Card-45037587.js} +1 -1
  12. package/dist/Checkbox/index.js +2 -2
  13. package/dist/Chips/index.js +5 -5
  14. package/dist/ConfirmationModal/index.js +9 -9
  15. package/dist/{ConfirmationModal-b7ef110f.js → ConfirmationModal-ccef9b30.js} +2 -2
  16. package/dist/DataDump/index.js +3 -3
  17. package/dist/DataTable/Body.d.ts +7 -0
  18. package/dist/DataTable/DataTable.d.ts +48 -0
  19. package/dist/DataTable/Footer.d.ts +8 -0
  20. package/dist/DataTable/Header.d.ts +10 -0
  21. package/dist/DataTable/createTableSettings.d.ts +6 -0
  22. package/dist/DataTable/index.d.ts +3 -0
  23. package/dist/DataTable/index.js +190 -0
  24. package/dist/DataTable/test-utilities/index.d.ts +1 -0
  25. package/dist/DataTable/test-utilities/mocks.d.ts +11 -0
  26. package/dist/DataTable/types.d.ts +83 -0
  27. package/dist/DatePicker/index.js +3 -3
  28. package/dist/{DatePicker-ad6f8630.js → DatePicker-5286c461.js} +2 -2
  29. package/dist/DescriptionList/index.js +3 -3
  30. package/dist/Disclosure/index.js +2 -2
  31. package/dist/Drawer/index.js +3 -3
  32. package/dist/Emphasis/index.js +2 -2
  33. package/dist/{Emphasis-fd845639.js → Emphasis-bab99882.js} +1 -1
  34. package/dist/FeatureSwitch/index.js +7 -7
  35. package/dist/FormField/index.js +5 -5
  36. package/dist/{FormField-a92c7bac.js → FormField-05b0b30b.js} +3 -3
  37. package/dist/FormatFile/index.js +10 -10
  38. package/dist/{FormatFile-5391d4cf.js → FormatFile-bd1cc3e1.js} +4 -4
  39. package/dist/Gallery/index.js +10 -10
  40. package/dist/Heading/index.js +2 -2
  41. package/dist/{Heading-56750113.js → Heading-adeda503.js} +1 -1
  42. package/dist/InlineLabel/index.js +1 -1
  43. package/dist/InputAvatar/index.js +3 -3
  44. package/dist/InputDate/index.js +6 -6
  45. package/dist/InputEmail/index.js +5 -5
  46. package/dist/InputFile/index.js +3 -3
  47. package/dist/{InputFile-b5cf90c3.js → InputFile-bb2848b9.js} +3 -3
  48. package/dist/InputNumber/index.js +5 -5
  49. package/dist/InputPassword/index.js +5 -5
  50. package/dist/InputText/index.js +6 -6
  51. package/dist/{InputText-cb3be15c.js → InputText-f2607ff5.js} +1 -1
  52. package/dist/InputTime/index.js +5 -5
  53. package/dist/InputValidation/index.js +3 -3
  54. package/dist/{InputValidation-24d3621a.js → InputValidation-c7f91798.js} +1 -1
  55. package/dist/List/index.js +5 -5
  56. package/dist/Markdown/index.js +5 -5
  57. package/dist/{Markdown-69986c49.js → Markdown-a532e42a.js} +3 -3
  58. package/dist/Menu/index.js +3 -3
  59. package/dist/{Menu-6a392af6.js → Menu-90b96506.js} +4 -4
  60. package/dist/Modal/index.js +4 -4
  61. package/dist/{Modal-aaaaf2df.js → Modal-28bf985d.js} +3 -3
  62. package/dist/Option-076ef1e3.js +21 -0
  63. package/dist/Page/index.js +7 -7
  64. package/dist/Popover/index.js +3 -3
  65. package/dist/RadioGroup/index.js +2 -2
  66. package/dist/Select/index.js +10 -20
  67. package/dist/StatusLabel/index.js +2 -2
  68. package/dist/Switch/index.js +2 -2
  69. package/dist/{Switch-d2bec677.js → Switch-fd6f2195.js} +1 -1
  70. package/dist/Tabs/index.js +1 -1
  71. package/dist/Text/index.js +2 -2
  72. package/dist/{Text-9bc093e9.js → Text-3bf41a36.js} +1 -1
  73. package/dist/Toast/index.js +2 -2
  74. package/dist/Tooltip/index.js +3 -3
  75. package/dist/{Tooltip-4396164d.js → Tooltip-4fcd28d3.js} +1 -1
  76. package/dist/Typography/index.js +1 -1
  77. package/dist/{Typography-7e542a72.js → Typography-b9663407.js} +1 -1
  78. package/package.json +4 -3
  79. package/dist/Button-5b2f1636.js +0 -60
package/CHANGELOG.md CHANGED
@@ -8,6 +8,17 @@ menu: Changelog
8
8
  All notable changes to this project will be documented in this file.
9
9
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
10
10
 
11
+ # [2.87.0](https://github.com/GetJobber/atlantis/compare/@jobber/components@2.86.2...@jobber/components@2.87.0) (2022-11-02)
12
+
13
+
14
+ ### Features
15
+
16
+ * **components:** Data table component ([#925](https://github.com/GetJobber/atlantis/issues/925)) ([777f4dc](https://github.com/GetJobber/atlantis/commit/777f4dce695e0c28880db77483e6d77903b7b484))
17
+
18
+
19
+
20
+
21
+
11
22
  ## [2.86.2](https://github.com/GetJobber/atlantis/compare/@jobber/components@2.86.1...@jobber/components@2.86.2) (2022-11-01)
12
23
 
13
24
  **Note:** Version bump only for package @jobber/components
package/DataTable.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./dist/DataTable";
package/DataTable.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+
7
+ var DataTable = require("./dist/DataTable");
8
+
9
+ Object.keys(DataTable).forEach(function(key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ Object.defineProperty(exports, key, {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return DataTable[key];
15
+ },
16
+ });
17
+ });
@@ -8,18 +8,18 @@ var debounce = require('lodash/debounce');
8
8
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
9
9
  var classnames = require('classnames');
10
10
  var useEventListener = require('@use-it/event-listener');
11
- var Text = require('../Text-9bc093e9.js');
11
+ var Text = require('../Text-3bf41a36.js');
12
12
  var Icon = require('../Icon-d5ad1a6d.js');
13
- var Heading = require('../Heading-56750113.js');
14
- var InputText = require('../InputText-cb3be15c.js');
15
- require('../Typography-7e542a72.js');
13
+ var Heading = require('../Heading-adeda503.js');
14
+ var InputText = require('../InputText-f2607ff5.js');
15
+ require('../Typography-b9663407.js');
16
16
  require('@jobber/design');
17
- require('../FormField-a92c7bac.js');
17
+ require('../FormField-05b0b30b.js');
18
18
  require('uuid');
19
19
  require('react-hook-form');
20
- require('../Button-5b2f1636.js');
20
+ require('../Button-739af4d8.js');
21
21
  require('react-router-dom');
22
- require('../InputValidation-24d3621a.js');
22
+ require('../InputValidation-c7f91798.js');
23
23
  require('framer-motion');
24
24
  require('../Spinner-18d3dee6.js');
25
25
 
@@ -8,10 +8,10 @@ var classnames = require('classnames');
8
8
  var hooks = require('@jobber/hooks');
9
9
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
10
10
  var Icon = require('../Icon-d5ad1a6d.js');
11
- var Text = require('../Text-9bc093e9.js');
12
- var Button = require('../Button-5b2f1636.js');
11
+ var Text = require('../Text-3bf41a36.js');
12
+ var Button = require('../Button-739af4d8.js');
13
13
  require('@jobber/design');
14
- require('../Typography-7e542a72.js');
14
+ require('../Typography-b9663407.js');
15
15
  require('react-router-dom');
16
16
 
17
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -19,11 +19,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
19
19
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
20
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
21
21
 
22
- var css$1 = ":root {\n --flash--inset: var(--space-base);\n --flash--inset--small: var(--space-small);\n}\n\n._364vcgV1m5AeWxKbtAvmwW {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-shadow: var(--shadow-base);\n padding: var(--space-base);\n padding: var(--space-base);\n padding: var(--flash--inset);\n color: var(--color-black);\n background-color: var(--color-grey--lightest);\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n._3vGMT9on-QbjXBlSaiNcgm {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n._3GnUCvx5Y7mFbH2Z7IN5U- {\n padding-top: var(--space-smallest);\n padding-right: var(--space-base);\n padding-right: var(--space-base);\n padding-right: var(--flash--inset);\n}\n\n._3vGMT9on-QbjXBlSaiNcgm > * {\n margin-top: var(--space-small);\n margin-top: var(--space-small);\n margin-top: var(--flash--inset--small);\n margin-bottom: var(--space-small);\n margin-bottom: var(--space-small);\n margin-bottom: var(--flash--inset--small);\n}\n\n._3vGMT9on-QbjXBlSaiNcgm > *:first-child {\n margin-top: 0;\n margin-right: var(--space-base);\n}\n\n._3vGMT9on-QbjXBlSaiNcgm > *:last-child {\n margin-bottom: 0;\n}\n\n._1S5EoHZng2ePaBlNMXhUYb ._3vGMT9on-QbjXBlSaiNcgm {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n._1S5EoHZng2ePaBlNMXhUYb ._3vGMT9on-QbjXBlSaiNcgm > * {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n._12QzEnq3z7-XCpLmgYARp {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n._2MtsHfzp46XdG3BZQtOLm- {\n padding: var(--space-smallest);\n border: none;\n background-color: transparent;\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n -ms-flex: 0;\n flex: 0;\n}\n\n._2MtsHfzp46XdG3BZQtOLm-:hover {\n background: rgba(0, 0, 0, 0.025);\n}\n\n._2MtsHfzp46XdG3BZQtOLm-:focus {\n box-shadow: var(--shadow-focus);\n outline: none;\n background: rgba(0, 0, 0, 0.05);\n}\n";
22
+ var css$1 = ":root {\n --flash--inset: var(--space-base);\n --flash--inset--small: var(--space-small);\n}\n\n._364vcgV1m5AeWxKbtAvmwW {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-shadow: var(--shadow-base);\n padding: var(--space-base);\n padding: var(--space-base);\n padding: var(--flash--inset);\n color: var(--color-text);\n background-color: var(--color-surface--background);\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n._3vGMT9on-QbjXBlSaiNcgm {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n._3GnUCvx5Y7mFbH2Z7IN5U- {\n padding-top: var(--space-smallest);\n padding-right: var(--space-base);\n padding-right: var(--space-base);\n padding-right: var(--flash--inset);\n}\n\n._3vGMT9on-QbjXBlSaiNcgm > * {\n margin-top: var(--space-small);\n margin-top: var(--space-small);\n margin-top: var(--flash--inset--small);\n margin-bottom: var(--space-small);\n margin-bottom: var(--space-small);\n margin-bottom: var(--flash--inset--small);\n}\n\n._3vGMT9on-QbjXBlSaiNcgm > *:first-child {\n margin-top: 0;\n margin-right: var(--space-base);\n}\n\n._3vGMT9on-QbjXBlSaiNcgm > *:last-child {\n margin-bottom: 0;\n}\n\n._1S5EoHZng2ePaBlNMXhUYb ._3vGMT9on-QbjXBlSaiNcgm {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n._1S5EoHZng2ePaBlNMXhUYb ._3vGMT9on-QbjXBlSaiNcgm > * {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n._12QzEnq3z7-XCpLmgYARp {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n._2MtsHfzp46XdG3BZQtOLm- {\n padding: var(--space-smallest);\n border: none;\n background-color: transparent;\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n -ms-flex: 0;\n flex: 0;\n}\n\n._2MtsHfzp46XdG3BZQtOLm-:hover {\n background: rgba(0, 0, 0, 0.025);\n}\n\n._2MtsHfzp46XdG3BZQtOLm-:focus {\n box-shadow: var(--shadow-focus);\n outline: none;\n background: rgba(0, 0, 0, 0.05);\n}\n";
23
23
  var styles = {"flash":"_364vcgV1m5AeWxKbtAvmwW","bannerContent":"_3vGMT9on-QbjXBlSaiNcgm","dismissibleSpacing":"_3GnUCvx5Y7mFbH2Z7IN5U-","medium":"_1S5EoHZng2ePaBlNMXhUYb","bannerAction":"_12QzEnq3z7-XCpLmgYARp","closeButton":"_2MtsHfzp46XdG3BZQtOLm-"};
24
24
  styleInject_es.styleInject(css$1);
25
25
 
26
- var css = ".nw7Tf4jicBNmfENtxh7tG {\n background-color: var(--color-informative--surface);\n}\n\n/* Our Banner \"surface\" colors should be lighter than they are so we're leaving the following alone for now */\n\n.myY4eq0vr_r4Twz0QcBwu {\n background-color: var(--color-green--lighter);\n}\n\n.eExwEf69eCfam2C6Ekk5D {\n background-color: var(--color-yellow--lighter);\n}\n\n._1U_-uPZepxvaZPO5hh8G4O {\n background-color: var(--color-red--lighter);\n}\n";
26
+ var css = ".nw7Tf4jicBNmfENtxh7tG {\n background-color: var(--color-informative--surface);\n}\n\n/* Our Banner \"surface\" colors should be lighter than they are so we're leaving the following alone for now */\n\n.myY4eq0vr_r4Twz0QcBwu {\n background-color: var(--color-success--surface);\n}\n\n.eExwEf69eCfam2C6Ekk5D {\n background-color: var(--color-warning--surface);\n}\n\n._1U_-uPZepxvaZPO5hh8G4O {\n background-color: var(--color-critical--surface);\n}\n";
27
27
  var types = {"notice":"nw7Tf4jicBNmfENtxh7tG","success":"myY4eq0vr_r4Twz0QcBwu","warning":"eExwEf69eCfam2C6Ekk5D","error":"_1U_-uPZepxvaZPO5hh8G4O"};
28
28
  styleInject_es.styleInject(css);
29
29
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Button = require('../Button-5b2f1636.js');
5
+ var Button = require('../Button-739af4d8.js');
6
6
  require('../tslib.es6-5b50eb8e.js');
7
7
  require('react');
8
8
  require('classnames');
@@ -10,7 +10,7 @@ require('react-router-dom');
10
10
  require('../style-inject.es-dcee06b6.js');
11
11
  require('../Icon-d5ad1a6d.js');
12
12
  require('@jobber/design');
13
- require('../Typography-7e542a72.js');
13
+ require('../Typography-b9663407.js');
14
14
 
15
15
 
16
16
 
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
4
+ var React = require('react');
5
+ var classnames = require('classnames');
6
+ var reactRouterDom = require('react-router-dom');
7
+ var styleInject_es = require('./style-inject.es-dcee06b6.js');
8
+ var Icon = require('./Icon-d5ad1a6d.js');
9
+ var Typography = require('./Typography-b9663407.js');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
15
+
16
+ var css = ":root {\n --button--color-variation: var(--color-interactive);\n --button--color-variation--hover: var(--color-interactive--hover);\n --button--color-surface: var(--color-surface);\n --button--color-surface--hover: var(--color-surface--background);\n --button--color-primaryLabel: var(--color-surface);\n\n --button--duration-loading: 2s;\n}\n\n.mvrsWRM8T3kCECXcDS2gd {\n display: -ms-inline-flexbox;\n display: inline-flex;\n min-height: calc(var(--base-unit) * 2.25);\n box-sizing: border-box;\n margin: 0;\n border: var(--border-base) solid var(--color-interactive);\n border: var(--border-base) solid var(--color-interactive);\n border: var(--border-base) solid var(--button--color-variation);\n border-radius: var(--radius-base);\n color: var(--color-interactive);\n color: var(--color-interactive);\n color: var(--button--color-variation);\n fill: var(--color-interactive);\n fill: var(--color-interactive);\n fill: var(--button--color-variation);\n -webkit-font-smoothing: antialiased;\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n background-color: var(--color-surface);\n background-color: var(--color-surface);\n background-color: var(--button--color-surface);\n cursor: pointer;\n transition: all var(--timing-base);\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.mvrsWRM8T3kCECXcDS2gd * {\n color: inherit;\n fill: inherit !important; /* required to over-ride very specific fill from <Icon> */\n}\n\n.mvrsWRM8T3kCECXcDS2gd:hover,\na.mvrsWRM8T3kCECXcDS2gd:hover,\n.mvrsWRM8T3kCECXcDS2gd:focus,\na.mvrsWRM8T3kCECXcDS2gd:focus,\n.mvrsWRM8T3kCECXcDS2gd:active,\na.mvrsWRM8T3kCECXcDS2gd:active {\n border-color: var(--color-interactive--hover);\n border-color: var(--color-interactive--hover);\n border-color: var(--button--color-variation--hover);\n color: var(--color-interactive--hover);\n color: var(--color-interactive--hover);\n color: var(--button--color-variation--hover);\n fill: var(--color-interactive--hover);\n fill: var(--color-interactive--hover);\n fill: var(--button--color-variation--hover);\n background-color: var(--color-surface--background);\n background-color: var(--color-surface--background);\n background-color: var(--button--color-surface--hover);\n}\n\n.mvrsWRM8T3kCECXcDS2gd:focus,\na.mvrsWRM8T3kCECXcDS2gd:focus,\n.mvrsWRM8T3kCECXcDS2gd:active,\na.mvrsWRM8T3kCECXcDS2gd:active {\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n/* Variation */\n\n._32HTPrDFyNRObzZRUxmhK6 {\n --button--color-variation: var(--color-interactive);\n --button--color-variation--hover: var(--color-interactive--hover);\n}\n\n._2skm9hoZI_lSBKFKHaBFHp {\n --button--color-variation: var(--color-informative);\n --button--color-variation--hover: var(--color-informative--onSurface);\n}\n\n._1XNe0NyiiX5gO7kNceanXE {\n --button--color-variation: var(--color-destructive);\n --button--color-variation--hover: var(--color-destructive--hover);\n}\n\n/* Subtle is special because, by default, it's styled as a secondary button */\n\n._15tUs2IB4Sic31aZYG7h3E {\n --button--color-variation: var(--color-interactive--subtle);\n --button--color-variation--hover: var(--color-interactive--subtle--hover);\n}\n\n/* Type */\n\n._3ReFsKtTKUcgG7PduYChd3:not(._15tUs2IB4Sic31aZYG7h3E):not(._2A9nPQukZwPTOhSExvR0-Z),\n._3ReFsKtTKUcgG7PduYChd3:not(._15tUs2IB4Sic31aZYG7h3E):not(._2A9nPQukZwPTOhSExvR0-Z):hover,\n._3ReFsKtTKUcgG7PduYChd3:not(._15tUs2IB4Sic31aZYG7h3E):not(._2A9nPQukZwPTOhSExvR0-Z):focus {\n color: var(--color-surface);\n color: var(--color-surface);\n color: var(--button--color-primaryLabel);\n background-color: var(--color-interactive);\n background-color: var(--color-interactive);\n background-color: var(--button--color-variation);\n fill: var(--color-surface);\n fill: var(--color-surface);\n fill: var(--button--color-primaryLabel);\n}\n\n._3ReFsKtTKUcgG7PduYChd3:not(._15tUs2IB4Sic31aZYG7h3E):not(._2A9nPQukZwPTOhSExvR0-Z):hover,\n._3ReFsKtTKUcgG7PduYChd3:not(._15tUs2IB4Sic31aZYG7h3E):not(._2A9nPQukZwPTOhSExvR0-Z):focus {\n background-color: var(--color-interactive--hover);\n background-color: var(--color-interactive--hover);\n background-color: var(--button--color-variation--hover);\n}\n\n._15tUs2IB4Sic31aZYG7h3E._3ReFsKtTKUcgG7PduYChd3 {\n color: var(--color-interactive);\n color: var(--color-interactive);\n color: var(--button--color-variation);\n fill: var(--color-interactive);\n fill: var(--color-interactive);\n fill: var(--button--color-variation);\n background-color: var(--color-surface);\n background-color: var(--color-surface);\n background-color: var(--button--color-surface);\n}\n\n._3QATgEdYmR2g9Hx6X6wCF-,\n._15tUs2IB4Sic31aZYG7h3E._3ReFsKtTKUcgG7PduYChd3 {\n border-color: var(--color-interactive);\n border-color: var(--color-interactive);\n border-color: var(--button--color-variation);\n}\n\n._15tUs2IB4Sic31aZYG7h3E._3ReFsKtTKUcgG7PduYChd3:hover,\n._15tUs2IB4Sic31aZYG7h3E._3ReFsKtTKUcgG7PduYChd3:focus {\n color: var(--color-interactive--hover);\n color: var(--color-interactive--hover);\n color: var(--button--color-variation--hover);\n background-color: var(--color-surface--background);\n background-color: var(--color-surface--background);\n background-color: var(--button--color-surface--hover);\n fill: var(--color-interactive--hover);\n fill: var(--color-interactive--hover);\n fill: var(--button--color-variation--hover);\n}\n\n._15tUs2IB4Sic31aZYG7h3E._3QATgEdYmR2g9Hx6X6wCF- {\n background-color: var(--color-surface);\n background-color: var(--color-surface);\n background-color: var(--button--color-surface);\n}\n\n._1IACxHVlJ8fUbaQh9Wo5wR,\n._15tUs2IB4Sic31aZYG7h3E._3QATgEdYmR2g9Hx6X6wCF- {\n border-color: transparent;\n}\n\n._15tUs2IB4Sic31aZYG7h3E._3QATgEdYmR2g9Hx6X6wCF-:hover,\n._15tUs2IB4Sic31aZYG7h3E._3QATgEdYmR2g9Hx6X6wCF-:focus {\n background-color: var(--color-surface--background);\n background-color: var(--color-surface--background);\n background-color: var(--button--color-surface--hover);\n}\n\n._1IACxHVlJ8fUbaQh9Wo5wR:hover,\n._1IACxHVlJ8fUbaQh9Wo5wR:focus,\na._1IACxHVlJ8fUbaQh9Wo5wR:hover,\na._1IACxHVlJ8fUbaQh9Wo5wR:focus,\n._15tUs2IB4Sic31aZYG7h3E._3QATgEdYmR2g9Hx6X6wCF-:hover,\n._15tUs2IB4Sic31aZYG7h3E._3QATgEdYmR2g9Hx6X6wCF-:focus,\na._15tUs2IB4Sic31aZYG7h3E._3QATgEdYmR2g9Hx6X6wCF-:hover,\na._15tUs2IB4Sic31aZYG7h3E._3QATgEdYmR2g9Hx6X6wCF-:focus {\n border-color: transparent;\n}\n\n._15tUs2IB4Sic31aZYG7h3E._1IACxHVlJ8fUbaQh9Wo5wR {\n border-color: transparent;\n background-color: transparent;\n}\n\n._15tUs2IB4Sic31aZYG7h3E._1IACxHVlJ8fUbaQh9Wo5wR:hover,\n._15tUs2IB4Sic31aZYG7h3E._1IACxHVlJ8fUbaQh9Wo5wR:focus,\na._15tUs2IB4Sic31aZYG7h3E._1IACxHVlJ8fUbaQh9Wo5wR:hover,\na._15tUs2IB4Sic31aZYG7h3E._1IACxHVlJ8fUbaQh9Wo5wR:focus {\n border-color: transparent;\n color: var(--color-interactive--subtle--hover);\n fill: var(--color-interactive--subtle--hover);\n}\n\n/* Disabled */\n\n.mvrsWRM8T3kCECXcDS2gd._2A9nPQukZwPTOhSExvR0-Z,\na.mvrsWRM8T3kCECXcDS2gd._2A9nPQukZwPTOhSExvR0-Z,\n.mvrsWRM8T3kCECXcDS2gd._2A9nPQukZwPTOhSExvR0-Z:hover,\na.mvrsWRM8T3kCECXcDS2gd._2A9nPQukZwPTOhSExvR0-Z:hover {\n border-color: var(--color-disabled--secondary);\n color: var(--color-disabled);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: var(--color-disabled--secondary);\n fill: var(--color-disabled);\n pointer-events: none;\n cursor: not-allowed;\n}\n\n/* Sizes */\n\n._2bWEvNhV0hrUXGMEL-47ZW {\n min-height: calc(var(--base-unit) * 1.5);\n padding: 0 var(--space-small);\n}\n\n._1RWacHIaSoZ24Qq5QuiwLl {\n min-height: calc(var(--base-unit) * 2.25);\n padding: 0 calc(var(--space-base) - 4px);\n}\n\n._2lIWqvRcZzkk5iJxGXwXOZ {\n min-height: calc(var(--base-unit) * 3);\n padding: 0 var(--space-base);\n}\n\n/* Icon */\n\n.s4L5ovtQ1xiOYCxjZtZzA {\n width: calc(var(--base-unit) * 2.25);\n padding: 0;\n}\n\n.s4L5ovtQ1xiOYCxjZtZzA._2bWEvNhV0hrUXGMEL-47ZW {\n width: calc(var(--space-small) * 3);\n}\n\n.s4L5ovtQ1xiOYCxjZtZzA._1RWacHIaSoZ24Qq5QuiwLl {\n width: calc(var(--space-base) * 2.25);\n}\n\n.s4L5ovtQ1xiOYCxjZtZzA._2lIWqvRcZzkk5iJxGXwXOZ {\n width: calc(var(--space-large) * 2);\n}\n\n._2QzHdqV8dZvAzrDhFuq9VR {\n width: auto;\n}\n\n[dir=\"ltr\"] ._2QzHdqV8dZvAzrDhFuq9VR > * {\n text-align: left;\n}\n\n[dir=\"ltr\"] ._2QzHdqV8dZvAzrDhFuq9VR > * {\n text-align: left;\n}\n\n._2QzHdqV8dZvAzrDhFuq9VR > *:dir(ltr) {\n text-align: left;\n}\n\n[dir=\"rtl\"] ._2QzHdqV8dZvAzrDhFuq9VR > * {\n text-align: right;\n}\n\n[dir=\"rtl\"] ._2QzHdqV8dZvAzrDhFuq9VR > * {\n text-align: right;\n}\n\n._2QzHdqV8dZvAzrDhFuq9VR > *:dir(rtl) {\n text-align: right;\n}\n\n[dir=\"ltr\"] ._2QzHdqV8dZvAzrDhFuq9VR > * {\n text-align: left;\n}\n\n._2QzHdqV8dZvAzrDhFuq9VR > *:dir(ltr) {\n text-align: left;\n}\n\n[dir=\"rtl\"] ._2QzHdqV8dZvAzrDhFuq9VR > * {\n text-align: right;\n}\n\n._2QzHdqV8dZvAzrDhFuq9VR > *:dir(rtl) {\n text-align: right;\n}\n\n._2QzHdqV8dZvAzrDhFuq9VR > * {\n text-align: start;\n}\n\n._2QzHdqV8dZvAzrDhFuq9VR > *:first-child {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-right: var(--space-small);\n}\n\n.ynAOdrWxU2gjfmktgPvCV > *:first-child {\n margin-left: var(--space-small);\n margin-right: 0;\n -ms-flex-order: 1;\n order: 1;\n}\n\n.azjQzmR6DJOHc9VhR8P_8 {\n width: 100%;\n}\n\n._3tkzLKKpGYFY0HgS8OkM_e {\n background-image: linear-gradient(\n 135deg,\n rgba(0, 0, 0, 0.1) 0%,\n rgba(0, 0, 0, 0.1) 25%,\n transparent 25%,\n transparent 50%,\n rgba(0, 0, 0, 0.1) 50%,\n rgba(0, 0, 0, 0.1) 75%,\n transparent 75%,\n transparent 100%\n );\n background-size: var(--space-larger) var(--space-larger);\n pointer-events: none;\n cursor: not-allowed;\n -webkit-animation-duration: 2s;\n -webkit-animation-duration: 2s;\n -webkit-animation-duration: var(--button--duration-loading);\n animation-duration: 2s;\n animation-duration: 2s;\n animation-duration: var(--button--duration-loading);\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n -webkit-animation-name: _1g5cSkv2FhbaOp_SpZQve_;\n animation-name: _1g5cSkv2FhbaOp_SpZQve_;\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n}\n\n._3ReFsKtTKUcgG7PduYChd3._3tkzLKKpGYFY0HgS8OkM_e:not(._15tUs2IB4Sic31aZYG7h3E) {\n background-image: linear-gradient(\n 135deg,\n rgba(255, 255, 255, 0.25) 0%,\n rgba(255, 255, 255, 0.25) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.25) 50%,\n rgba(255, 255, 255, 0.25) 75%,\n transparent 75%,\n transparent 100%\n );\n}\n\n@-webkit-keyframes _1g5cSkv2FhbaOp_SpZQve_ {\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: var(--space-larger) var(--space-larger);\n }\n}\n\n@keyframes _1g5cSkv2FhbaOp_SpZQve_ {\n 0% {\n background-position: 0 0;\n }\n 100% {\n background-position: var(--space-larger) var(--space-larger);\n }\n}\n";
17
+ var styles = {"button":"mvrsWRM8T3kCECXcDS2gd","work":"_32HTPrDFyNRObzZRUxmhK6","learning":"_2skm9hoZI_lSBKFKHaBFHp","destructive":"_1XNe0NyiiX5gO7kNceanXE","subtle":"_15tUs2IB4Sic31aZYG7h3E","primary":"_3ReFsKtTKUcgG7PduYChd3","disabled":"_2A9nPQukZwPTOhSExvR0-Z","secondary":"_3QATgEdYmR2g9Hx6X6wCF-","tertiary":"_1IACxHVlJ8fUbaQh9Wo5wR","small":"_2bWEvNhV0hrUXGMEL-47ZW","base":"_1RWacHIaSoZ24Qq5QuiwLl","large":"_2lIWqvRcZzkk5iJxGXwXOZ","onlyIcon":"s4L5ovtQ1xiOYCxjZtZzA","hasIconAndLabel":"_2QzHdqV8dZvAzrDhFuq9VR","iconOnRight":"ynAOdrWxU2gjfmktgPvCV","fullWidth":"azjQzmR6DJOHc9VhR8P_8","loading":"_3tkzLKKpGYFY0HgS8OkM_e","animateStripes":"_1g5cSkv2FhbaOp_SpZQve_"};
18
+ styleInject_es.styleInject(css);
19
+
20
+ function Button(props) {
21
+ var _a;
22
+ var ariaControls = props.ariaControls, ariaHaspopup = props.ariaHaspopup, ariaExpanded = props.ariaExpanded, ariaLabel = props.ariaLabel, _b = props.disabled, disabled = _b === void 0 ? false : _b, external = props.external, fullWidth = props.fullWidth, icon = props.icon, label = props.label, iconOnRight = props.iconOnRight, id = props.id, loading = props.loading, onClick = props.onClick, onMouseDown = props.onMouseDown, _c = props.size, size = _c === void 0 ? "base" : _c, _d = props.type, type = _d === void 0 ? "primary" : _d, url = props.url, to = props.to, _e = props.variation, variation = _e === void 0 ? "work" : _e, submit = props.submit;
23
+ var buttonClassNames = classnames__default["default"](styles.button, styles[size], (_a = {},
24
+ _a[styles.onlyIcon] = icon && !label,
25
+ _a[styles.hasIconAndLabel] = icon && label,
26
+ _a[styles.iconOnRight] = iconOnRight,
27
+ _a[styles[variation]] = variation,
28
+ _a[styles[type]] = type,
29
+ _a[styles.disabled] = disabled,
30
+ _a[styles.fullWidth] = fullWidth,
31
+ _a[styles.loading] = loading,
32
+ _a));
33
+ var buttonType = submit ? "submit" : "button";
34
+ var tagProps = tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign({ className: buttonClassNames, disabled: disabled,
35
+ id: id }, (!disabled && { href: url })), (!disabled && { onClick: onClick })), (!disabled && { onMouseDown: onMouseDown })), (external && { target: "_blank" })), (url === undefined && to === undefined && { type: buttonType })), { "aria-controls": ariaControls, "aria-haspopup": ariaHaspopup, "aria-expanded": ariaExpanded, "aria-label": ariaLabel });
36
+ var buttonInternals = React__default["default"].createElement(ButtonInternals, tslib_es6.__assign({}, props));
37
+ if (to) {
38
+ return (React__default["default"].createElement(reactRouterDom.Link, tslib_es6.__assign({}, tagProps, { to: to }), buttonInternals));
39
+ }
40
+ var Tag = url ? "a" : "button";
41
+ return React__default["default"].createElement(Tag, tslib_es6.__assign({}, tagProps), buttonInternals);
42
+ }
43
+ function ButtonInternals(_a) {
44
+ var label = _a.label, icon = _a.icon, _b = _a.size, size = _b === void 0 ? "base" : _b;
45
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
46
+ icon && React__default["default"].createElement(Icon.Icon, { name: icon, size: size }),
47
+ React__default["default"].createElement(Typography.Typography, { element: "span", textCase: "uppercase", fontWeight: "extraBold", size: getTypeSizes(size) }, label)));
48
+ }
49
+ function getTypeSizes(size) {
50
+ switch (size) {
51
+ case "small":
52
+ return "smaller";
53
+ case "large":
54
+ return "base";
55
+ default:
56
+ return "small";
57
+ }
58
+ }
59
+
60
+ exports.Button = Button;
@@ -2,16 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var ButtonDismiss = require('../ButtonDismiss-4cde8f7c.js');
5
+ var ButtonDismiss = require('../ButtonDismiss-e7bcefbd.js');
6
6
  require('react');
7
- require('../Button-5b2f1636.js');
7
+ require('../Button-739af4d8.js');
8
8
  require('../tslib.es6-5b50eb8e.js');
9
9
  require('classnames');
10
10
  require('react-router-dom');
11
11
  require('../style-inject.es-dcee06b6.js');
12
12
  require('../Icon-d5ad1a6d.js');
13
13
  require('@jobber/design');
14
- require('../Typography-7e542a72.js');
14
+ require('../Typography-b9663407.js');
15
15
 
16
16
 
17
17
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var Button = require('./Button-5b2f1636.js');
4
+ var Button = require('./Button-739af4d8.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Card = require('../Card-368e01a3.js');
5
+ var Card = require('../Card-45037587.js');
6
6
  require('../tslib.es6-5b50eb8e.js');
7
7
  require('react');
8
8
  require('classnames');
9
9
  require('../style-inject.es-dcee06b6.js');
10
- require('../Typography-7e542a72.js');
10
+ require('../Typography-b9663407.js');
11
11
 
12
12
 
13
13
 
@@ -4,7 +4,7 @@ var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
4
4
  var React = require('react');
5
5
  var classnames = require('classnames');
6
6
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
7
- var Typography = require('./Typography-7e542a72.js');
7
+ var Typography = require('./Typography-b9663407.js');
8
8
 
9
9
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
10
 
@@ -6,9 +6,9 @@ var React = require('react');
6
6
  var classnames = require('classnames');
7
7
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
8
8
  var Icon = require('../Icon-d5ad1a6d.js');
9
- var Text = require('../Text-9bc093e9.js');
9
+ var Text = require('../Text-3bf41a36.js');
10
10
  require('@jobber/design');
11
- require('../Typography-7e542a72.js');
11
+ require('../Typography-b9663407.js');
12
12
  require('../tslib.es6-5b50eb8e.js');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -9,13 +9,13 @@ var styleInject_es = require('../style-inject.es-dcee06b6.js');
9
9
  var hooks = require('@jobber/hooks');
10
10
  var Icon = require('../Icon-d5ad1a6d.js');
11
11
  var Avatar = require('../Avatar-cfd04e86.js');
12
- var Typography = require('../Typography-7e542a72.js');
13
- var Tooltip = require('../Tooltip-4396164d.js');
12
+ var Typography = require('../Typography-b9663407.js');
13
+ var Tooltip = require('../Tooltip-4fcd28d3.js');
14
14
  var uuid = require('uuid');
15
15
  var lodash = require('lodash');
16
16
  var reactPopper = require('react-popper');
17
- var Text = require('../Text-9bc093e9.js');
18
- var Button = require('../Button-5b2f1636.js');
17
+ var Text = require('../Text-3bf41a36.js');
18
+ var Button = require('../Button-739af4d8.js');
19
19
  var Spinner = require('../Spinner-18d3dee6.js');
20
20
  require('@jobber/design');
21
21
  require('color');
@@ -86,7 +86,7 @@ function InternalChipAffix(_a) {
86
86
  if (invalid && !disabled)
87
87
  return "critical";
88
88
  if (active)
89
- return "white";
89
+ return "textReverse";
90
90
  return;
91
91
  }
92
92
  function assertProps() {
@@ -2,27 +2,27 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var ConfirmationModal = require('../ConfirmationModal-b7ef110f.js');
5
+ var ConfirmationModal = require('../ConfirmationModal-ccef9b30.js');
6
6
  require('../tslib.es6-5b50eb8e.js');
7
7
  require('react');
8
8
  require('@jobber/hooks');
9
- require('../Modal-aaaaf2df.js');
9
+ require('../Modal-28bf985d.js');
10
10
  require('react-dom');
11
11
  require('classnames');
12
12
  require('framer-motion');
13
13
  require('../style-inject.es-dcee06b6.js');
14
- require('../Typography-7e542a72.js');
15
- require('../Button-5b2f1636.js');
14
+ require('../Typography-b9663407.js');
15
+ require('../Button-739af4d8.js');
16
16
  require('react-router-dom');
17
17
  require('../Icon-d5ad1a6d.js');
18
18
  require('@jobber/design');
19
- require('../ButtonDismiss-4cde8f7c.js');
19
+ require('../ButtonDismiss-e7bcefbd.js');
20
20
  require('../Content-18de5fbb.js');
21
- require('../Markdown-69986c49.js');
21
+ require('../Markdown-a532e42a.js');
22
22
  require('react-markdown');
23
- require('../Text-9bc093e9.js');
24
- require('../Emphasis-fd845639.js');
25
- require('../Heading-56750113.js');
23
+ require('../Text-3bf41a36.js');
24
+ require('../Emphasis-bab99882.js');
25
+ require('../Heading-adeda503.js');
26
26
 
27
27
 
28
28
 
@@ -3,9 +3,9 @@
3
3
  var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
4
4
  var React = require('react');
5
5
  var hooks = require('@jobber/hooks');
6
- var Modal = require('./Modal-aaaaf2df.js');
6
+ var Modal = require('./Modal-28bf985d.js');
7
7
  var Content = require('./Content-18de5fbb.js');
8
- var Markdown = require('./Markdown-69986c49.js');
8
+ var Markdown = require('./Markdown-a532e42a.js');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
11
 
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var Card = require('../Card-368e01a3.js');
6
+ var Card = require('../Card-45037587.js');
7
7
  var Content = require('../Content-18de5fbb.js');
8
- var Emphasis = require('../Emphasis-fd845639.js');
8
+ var Emphasis = require('../Emphasis-bab99882.js');
9
9
  require('../tslib.es6-5b50eb8e.js');
10
10
  require('classnames');
11
11
  require('../style-inject.es-dcee06b6.js');
12
- require('../Typography-7e542a72.js');
12
+ require('../Typography-b9663407.js');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15
 
@@ -0,0 +1,7 @@
1
+ import { Row, Table } from "@tanstack/react-table";
2
+ interface BodyProps<T> {
3
+ table: Table<T>;
4
+ onRowClick?: (row: Row<T>) => void;
5
+ }
6
+ export declare function Body<T extends object>({ table, onRowClick }: BodyProps<T>): JSX.Element;
7
+ export {};
@@ -0,0 +1,48 @@
1
+ import { ColumnDef, Row } from "@tanstack/react-table";
2
+ import { Pagination, Sorting } from "./types";
3
+ export interface DataTableProps<T> {
4
+ /**
5
+ * The actual data that will be used for the table.
6
+ * Typescript should infer T from typeof data.
7
+ *
8
+ */
9
+ data: T[];
10
+ /**
11
+ * Should follow the @tanstack/react-table [ColumnDef](https://tanstack.com/table/v8/docs/guide/column-defs).
12
+ * [createColumnHelper](https://tanstack.com/table/v8/docs/guide/column-defs#column-helpers) is also exposed to make it more convenient
13
+ * to create columns.
14
+ */
15
+ columns: ColumnDef<T>[];
16
+ /**
17
+ * Enables pagination, mostly follows:
18
+ * https://tanstack.com/table/v8/docs/api/features/pagination
19
+ *
20
+ */
21
+ pagination?: Pagination;
22
+ /**
23
+ * Enables sorting, mostly follows:
24
+ * https://tanstack.com/table/v8/docs/api/features/sorting#table-options
25
+ *
26
+ */
27
+ sorting?: Sorting;
28
+ /**
29
+ * This will force the table to have the specified hight
30
+ *
31
+ */
32
+ height?: number;
33
+ /**
34
+ * When set to true makes the header sticky while scrolling vertically
35
+ *
36
+ */
37
+ stickyHeader?: boolean;
38
+ /**
39
+ * Pins the firstColumn when scrolling horizontally
40
+ *
41
+ */
42
+ pinFirstColumn?: boolean;
43
+ /**
44
+ * Enables row click action. The provided callback will be executed when the row is clicked.
45
+ */
46
+ onRowClick?: (row: Row<T>) => void;
47
+ }
48
+ export declare function DataTable<T extends object>({ data, columns, pagination, sorting, height, stickyHeader, pinFirstColumn, onRowClick, }: DataTableProps<T>): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { Table } from "@tanstack/react-table";
2
+ interface FooterProps<T> {
3
+ table: Table<T>;
4
+ itemsPerPage?: number[];
5
+ totalItems: number;
6
+ }
7
+ export declare function Footer<T extends object>({ table, itemsPerPage, totalItems, }: FooterProps<T>): JSX.Element;
8
+ export {};
@@ -0,0 +1,10 @@
1
+ import { Row, Table } from "@tanstack/react-table";
2
+ import { Sorting } from "./types";
3
+ interface HeaderProps<T> {
4
+ table: Table<T>;
5
+ stickyHeader?: boolean;
6
+ sorting?: Sorting;
7
+ onRowClick?: (row: Row<T>) => void;
8
+ }
9
+ export declare function Header<T extends object>({ table, stickyHeader, sorting, onRowClick, }: HeaderProps<T>): JSX.Element;
10
+ export {};
@@ -0,0 +1,6 @@
1
+ import { ColumnDef } from "@tanstack/react-table";
2
+ import { Pagination, Sorting } from "./types";
3
+ export declare function createTableSettings<T>(data: T[], columns: ColumnDef<T>[], options?: {
4
+ pagination?: Pagination;
5
+ sorting?: Sorting;
6
+ }): any;
@@ -0,0 +1,3 @@
1
+ export { DataTable } from "./DataTable";
2
+ export * from "./types";
3
+ export { Row, ColumnDef, createColumnHelper, PaginationState, SortingState, } from "@tanstack/react-table";