@jobber/components 4.0.2 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/Autocomplete/Autocomplete.d.ts +1 -1
  2. package/dist/Autocomplete/Option.d.ts +2 -2
  3. package/dist/Autocomplete/index.js +51 -67
  4. package/dist/Avatar/Avatar.d.ts +2 -2
  5. package/dist/Avatar/index.js +2 -2
  6. package/dist/{Avatar-cfd04e86.js → Avatar-89cfd0a6.js} +14 -18
  7. package/dist/Banner/Banner.d.ts +1 -1
  8. package/dist/Banner/index.js +15 -19
  9. package/dist/Button/Button.d.ts +1 -1
  10. package/dist/Button/index.js +3 -4
  11. package/dist/{Button-cd30df0f.js → Button-16e043ec.js} +21 -24
  12. package/dist/ButtonDismiss/index.js +4 -5
  13. package/dist/{ButtonDismiss-a9590195.js → ButtonDismiss-3fb1eaf9.js} +2 -3
  14. package/dist/Card/Card.d.ts +1 -1
  15. package/dist/Card/index.js +6 -7
  16. package/dist/Card/types.d.ts +1 -1
  17. package/dist/{Card-b9f8d6f3.js → Card-edab9c3c.js} +18 -22
  18. package/dist/Checkbox/Checkbox.d.ts +1 -1
  19. package/dist/Checkbox/index.js +4 -5
  20. package/dist/{Checkbox-5103d2b9.js → Checkbox-c1efc2f6.js} +10 -12
  21. package/dist/Chips/ChipsTypes.d.ts +1 -1
  22. package/dist/Chips/InternalChipDismissible/InternalChipDismissibleTypes.d.ts +1 -1
  23. package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissible.d.ts +1 -1
  24. package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissibleInput.d.ts +3 -3
  25. package/dist/Chips/InternalChipMultiSelect.d.ts +1 -1
  26. package/dist/Chips/InternalChipSingleSelect.d.ts +1 -1
  27. package/dist/Chips/index.js +165 -185
  28. package/dist/ConfirmationModal/ConfirmationModal.d.ts +1 -1
  29. package/dist/ConfirmationModal/index.js +11 -12
  30. package/dist/{ConfirmationModal-e95f46d7.js → ConfirmationModal-6a7beee2.js} +28 -31
  31. package/dist/Content/index.js +1 -1
  32. package/dist/{Content-18de5fbb.js → Content-05df8f7f.js} +2 -3
  33. package/dist/Countdown/Countdown.d.ts +1 -1
  34. package/dist/Countdown/computeTimeUnit.d.ts +1 -1
  35. package/dist/Countdown/index.js +15 -18
  36. package/dist/DataDump/index.js +9 -11
  37. package/dist/DataTable/Footer.d.ts +1 -1
  38. package/dist/DataTable/createTableSettings.d.ts +2 -2
  39. package/dist/DataTable/index.js +74 -106
  40. package/dist/DataTable/test-utilities/helpers.d.ts +1 -1
  41. package/dist/DataTable/types.d.ts +2 -2
  42. package/dist/DatePicker/DatePicker.d.ts +10 -2
  43. package/dist/DatePicker/index.js +4 -5
  44. package/dist/{DatePicker-7c67e8d2.js → DatePicker-0696b0f0.js} +41 -38
  45. package/dist/DescriptionList/index.js +5 -10
  46. package/dist/Disclosure/index.js +8 -10
  47. package/dist/Divider/index.js +8 -10
  48. package/dist/Drawer/index.js +10 -14
  49. package/dist/Emphasis/index.js +2 -3
  50. package/dist/{Emphasis-75a3f411.js → Emphasis-23dc2a0a.js} +4 -6
  51. package/dist/FeatureSwitch/index.js +15 -17
  52. package/dist/Form/index.js +23 -33
  53. package/dist/FormField/FormFieldTypes.d.ts +2 -2
  54. package/dist/FormField/index.js +8 -8
  55. package/dist/{FormField-ac310b6f.js → FormField-79a0a375.js} +68 -76
  56. package/dist/FormatDate/index.js +2 -3
  57. package/dist/FormatEmail/index.js +2 -3
  58. package/dist/FormatFile/index.js +13 -14
  59. package/dist/{FormatFile-18e8a54a.js → FormatFile-3512f838.js} +33 -40
  60. package/dist/FormatRelativeDateTime/index.js +5 -6
  61. package/dist/FormatTime/index.js +6 -7
  62. package/dist/Gallery/GalleryTypes.d.ts +2 -2
  63. package/dist/Gallery/index.js +31 -33
  64. package/dist/Heading/index.js +2 -3
  65. package/dist/{Heading-a9a66964.js → Heading-7b203f7f.js} +4 -6
  66. package/dist/Icon/index.js +1 -1
  67. package/dist/{Icon-d5ad1a6d.js → Icon-405a216c.js} +7 -8
  68. package/dist/InlineLabel/InlineLabel.d.ts +1 -1
  69. package/dist/InlineLabel/index.js +4 -6
  70. package/dist/InputAvatar/index.js +15 -20
  71. package/dist/InputDate/index.js +15 -15
  72. package/dist/InputEmail/InputEmail.d.ts +1 -1
  73. package/dist/InputEmail/index.js +12 -12
  74. package/dist/InputFile/index.js +6 -6
  75. package/dist/{InputFile-e108a7f8.js → InputFile-5e0ed2b5.js} +48 -62
  76. package/dist/InputGroup/index.js +4 -5
  77. package/dist/InputNumber/index.js +22 -22
  78. package/dist/InputPassword/index.js +12 -12
  79. package/dist/InputText/InputText.d.ts +1 -1
  80. package/dist/InputText/index.js +9 -9
  81. package/dist/{InputText-70f7d947.js → InputText-95ea24f9.js} +23 -24
  82. package/dist/InputTime/index.js +27 -27
  83. package/dist/InputValidation/index.js +4 -5
  84. package/dist/{InputValidation-06a8a7ba.js → InputValidation-97dd0dcf.js} +7 -8
  85. package/dist/LightBox/index.js +5 -6
  86. package/dist/{LightBox-1ad62669.js → LightBox-dd1afa97.js} +22 -26
  87. package/dist/List/index.js +26 -32
  88. package/dist/Markdown/index.js +6 -7
  89. package/dist/{Markdown-b53e0308.js → Markdown-be2dcd0c.js} +12 -18
  90. package/dist/Menu/index.js +4 -5
  91. package/dist/{Menu-826cfb89.js → Menu-d6a7d17b.js} +31 -36
  92. package/dist/Modal/index.js +6 -7
  93. package/dist/{Modal-cc3bd7bf.js → Modal-757e83fd.js} +13 -17
  94. package/dist/MultiSelect/index.js +53 -60
  95. package/dist/MultiSelect/types.d.ts +1 -1
  96. package/dist/{Option-7d5de76b.js → Option-4b665afd.js} +3 -5
  97. package/dist/Page/Page.d.ts +1 -1
  98. package/dist/Page/index.js +21 -24
  99. package/dist/Popover/index.js +11 -13
  100. package/dist/ProgressBar/index.js +1 -1
  101. package/dist/{ProgressBar-e9a49129.js → ProgressBar-f028b159.js} +3 -4
  102. package/dist/RadioGroup/RadioOption.d.ts +2 -2
  103. package/dist/RadioGroup/index.js +9 -13
  104. package/dist/RecurringSelect/types.d.ts +2 -2
  105. package/dist/Select/Select.d.ts +1 -1
  106. package/dist/Select/index.js +9 -9
  107. package/dist/Spinner/index.js +1 -1
  108. package/dist/{Spinner-e4e9c8eb.js → Spinner-ae4c8a85.js} +5 -7
  109. package/dist/StatusLabel/StatusLabel.d.ts +1 -1
  110. package/dist/StatusLabel/index.js +6 -9
  111. package/dist/Switch/index.js +2 -3
  112. package/dist/{Switch-f03b70fc.js → Switch-7ac32f7b.js} +12 -16
  113. package/dist/Table/index.js +9 -17
  114. package/dist/Tabs/index.js +28 -34
  115. package/dist/Text/index.js +2 -3
  116. package/dist/{Text-e012fb46.js → Text-7ce00adb.js} +4 -5
  117. package/dist/Toast/Toast.d.ts +2 -2
  118. package/dist/Toast/index.js +31 -32
  119. package/dist/Tooltip/index.js +3 -4
  120. package/dist/Tooltip/useTooltipPositioning.d.ts +1 -1
  121. package/dist/{Tooltip-041feb00.js → Tooltip-1090a43d.js} +25 -28
  122. package/dist/Typography/Typography.d.ts +1 -1
  123. package/dist/Typography/index.js +1 -2
  124. package/dist/{Typography-fbe0ed6e.js → Typography-9262511f.js} +5 -7
  125. package/dist/tslib.es6-efe27175.js +38 -0
  126. package/package.json +3 -3
  127. package/dist/tslib.es6-5b50eb8e.js +0 -103
@@ -2,25 +2,25 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
6
5
  var reactTable = require('@tanstack/react-table');
7
6
  var classnames = require('classnames');
8
7
  var React = require('react');
9
8
  var jobberHooks = require('@jobber/hooks');
10
9
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
11
- var Option = require('../Option-7d5de76b.js');
12
- var Button = require('../Button-cd30df0f.js');
13
- var Text = require('../Text-e012fb46.js');
14
- require('../FormField-ac310b6f.js');
10
+ var tslib_es6 = require('../tslib.es6-efe27175.js');
11
+ var Option = require('../Option-4b665afd.js');
12
+ var Button = require('../Button-16e043ec.js');
13
+ var Text = require('../Text-7ce00adb.js');
14
+ require('../FormField-79a0a375.js');
15
15
  require('uuid');
16
16
  require('react-hook-form');
17
- require('../Icon-d5ad1a6d.js');
17
+ require('../Icon-405a216c.js');
18
18
  require('@jobber/design');
19
- require('../InputValidation-06a8a7ba.js');
19
+ require('../InputValidation-97dd0dcf.js');
20
20
  require('framer-motion');
21
- require('../Spinner-e4e9c8eb.js');
21
+ require('../Spinner-ae4c8a85.js');
22
22
  require('react-router-dom');
23
- require('../Typography-fbe0ed6e.js');
23
+ require('../Typography-9262511f.js');
24
24
 
25
25
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
26
 
@@ -50,17 +50,15 @@ var css$3 = "._1gVnBnwO8rEyN5yXaSAnJz {\n position: relative;\n border: var(--
50
50
  var styles$3 = {"dataTableContainer":"_1gVnBnwO8rEyN5yXaSAnJz","tableContainer":"_2FsiaQmYMKjm0oAa_Dm7Jv","table":"_2EflglZd2SRwkv61KFJrg9","pinFirstColumn":"QRm47JXl1pWi9jKv7PNPG","stickyHeader":"_3VxR0m_2LtggJeSToEDE2y","pinFirstHeaderSortable":"_1RROVWbMjf1ZfuVpquC4OS","sortableColumn":"_2uM74VHCeNJuZjyD_SPXR3","clickableRow":"_3P5HGvBjzojCSGgtBjPjJi","emptyState":"_1n7mmwsIdhl2OvMBcfI1st"};
51
51
  styleInject_es.styleInject(css$3);
52
52
 
53
- function Body(_a) {
54
- var _b;
55
- var table = _a.table, onRowClick = _a.onRowClick, emptyState = _a.emptyState;
56
- var bodyRowClasses = classnames__default["default"]((_b = {}, _b[styles$3.clickableRow] = !!onRowClick, _b));
57
- var handleRowClick = React.useCallback(function (row) { return function () {
53
+ function Body({ table, onRowClick, emptyState, }) {
54
+ const bodyRowClasses = classnames__default["default"]({ [styles$3.clickableRow]: !!onRowClick });
55
+ const handleRowClick = React.useCallback((row) => () => {
58
56
  if (onRowClick == undefined)
59
57
  return;
60
58
  onRowClick(row);
61
- }; }, [onRowClick]);
62
- return table.getRowModel().rows.length ? (React__default["default"].createElement("tbody", null, table.getRowModel().rows.map(function (row) {
63
- return (React__default["default"].createElement("tr", { key: row.id, onClick: handleRowClick(row), className: bodyRowClasses }, row.getVisibleCells().map(function (cell) {
59
+ }, [onRowClick]);
60
+ return table.getRowModel().rows.length ? (React__default["default"].createElement("tbody", null, table.getRowModel().rows.map(row => {
61
+ return (React__default["default"].createElement("tr", { key: row.id, onClick: handleRowClick(row), className: bodyRowClasses }, row.getVisibleCells().map(cell => {
64
62
  return (React__default["default"].createElement("td", { key: cell.id, style: {
65
63
  width: cell.column.getSize(),
66
64
  minWidth: cell.column.columnDef.minSize,
@@ -72,30 +70,30 @@ function Body(_a) {
72
70
 
73
71
  function createTableSettings(data, columns, options) {
74
72
  var _a;
75
- var _b = getPaginationSettings(options === null || options === void 0 ? void 0 : options.pagination), paginationState = _b.state, restPaginationSettings = tslib_es6.__rest(_b, ["state"]);
76
- var _c = getSortingSettings(options === null || options === void 0 ? void 0 : options.sorting), sortingState = _c.state, restSortingSettings = tslib_es6.__rest(_c, ["state"]);
77
- var initialPatinationState;
73
+ const _b = getPaginationSettings(options === null || options === void 0 ? void 0 : options.pagination), { state: paginationState } = _b, restPaginationSettings = tslib_es6.__rest(_b, ["state"]);
74
+ const _c = getSortingSettings(options === null || options === void 0 ? void 0 : options.sorting), { state: sortingState } = _c, restSortingSettings = tslib_es6.__rest(_c, ["state"]);
75
+ let initialPatinationState;
78
76
  if ((_a = options === null || options === void 0 ? void 0 : options.pagination) === null || _a === void 0 ? void 0 : _a.itemsPerPage) {
79
77
  initialPatinationState = {
80
78
  pageIndex: 0,
81
79
  pageSize: options.pagination.itemsPerPage[0],
82
80
  };
83
81
  }
84
- var tableSettings = tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign({ data: data,
85
- columns: columns, state: tslib_es6.__assign(tslib_es6.__assign({}, paginationState), sortingState), getCoreRowModel: reactTable.getCoreRowModel() }, restPaginationSettings), restSortingSettings), { initialState: {
82
+ const tableSettings = Object.assign(Object.assign(Object.assign({ data,
83
+ columns, state: Object.assign(Object.assign({}, paginationState), sortingState), getCoreRowModel: reactTable.getCoreRowModel() }, restPaginationSettings), restSortingSettings), { initialState: {
86
84
  pagination: initialPatinationState,
87
85
  } });
88
86
  return tableSettings;
89
87
  }
90
88
  function getPaginationSettings(pagination) {
91
- var paginationSettings = {};
89
+ const paginationSettings = {};
92
90
  if (!pagination) {
93
91
  return paginationSettings;
94
92
  }
95
- var manualPagination = pagination.manualPagination;
93
+ const { manualPagination } = pagination;
96
94
  paginationSettings.manualPagination = manualPagination;
97
95
  if (manualPagination) {
98
- var state = pagination.state, pageCount = pagination.pageCount, onPaginationChange = pagination.onPaginationChange;
96
+ const { state, pageCount, onPaginationChange } = pagination;
99
97
  paginationSettings.state = { pagination: state };
100
98
  paginationSettings.pageCount = pageCount;
101
99
  paginationSettings.onPaginationChange = onPaginationChange;
@@ -106,13 +104,13 @@ function getPaginationSettings(pagination) {
106
104
  return paginationSettings;
107
105
  }
108
106
  function getSortingSettings(sorting) {
109
- var sortingSettings = {};
107
+ const sortingSettings = {};
110
108
  if (!sorting)
111
109
  return sortingSettings;
112
- var manualSorting = sorting.manualSorting;
110
+ const { manualSorting } = sorting;
113
111
  sortingSettings.manualSorting = manualSorting;
114
112
  if (manualSorting) {
115
- var onSortingChange = sorting.onSortingChange, state = sorting.state, enableSortingRemoval = sorting.enableSortingRemoval;
113
+ const { onSortingChange, state, enableSortingRemoval } = sorting;
116
114
  sortingSettings.state = { sorting: state };
117
115
  sortingSettings.onSortingChange = onSortingChange;
118
116
  sortingSettings.enableSortingRemoval = enableSortingRemoval !== null && enableSortingRemoval !== void 0 ? enableSortingRemoval : true;
@@ -127,54 +125,46 @@ var css$2 = "._1z97TFF0phXLaqvqXHnYJf {\n display: -ms-flexbox;\n display: fle
127
125
  var styles$2 = {"pagination":"_1z97TFF0phXLaqvqXHnYJf","paginationInfo":"_12APWOsSPQzcBXU_VtquSF","paginationNav":"_36ZeprNonyJdE1RQA8egHT","paginationSelect":"e6F11Aovvn4caXYkkQNRo","paginationSelectLabel":"_3ACIaIFtTSOkMt-sRN5VOO","paginationButtons":"JBRw_pSS6W6hGIxxLABwo"};
128
126
  styleInject_es.styleInject(css$2);
129
127
 
130
- var defaultItemsPerPageOptions = ["10", "20", "30", "40", "50"];
131
- function Pagination(_a) {
132
- var table = _a.table, itemsPerPage = _a.itemsPerPage, totalItems = _a.totalItems;
133
- var _b = table.getState().pagination, pageIndex = _b.pageIndex, pageSize = _b.pageSize;
134
- var totalRows = totalItems;
135
- var firstPosition = pageIndex * pageSize + 1;
136
- var secondPosition = Math.min(totalRows, pageSize * (pageIndex + 1));
137
- var itemsPerPageOptions = React.useMemo(function () { var _a; return (_a = itemsPerPage === null || itemsPerPage === void 0 ? void 0 : itemsPerPage.map(function (item) { return String(item); })) !== null && _a !== void 0 ? _a : defaultItemsPerPageOptions; }, [itemsPerPage]);
128
+ const defaultItemsPerPageOptions = ["10", "20", "30", "40", "50"];
129
+ function Pagination({ table, itemsPerPage, totalItems, }) {
130
+ const { pageIndex, pageSize } = table.getState().pagination;
131
+ const totalRows = totalItems;
132
+ const firstPosition = pageIndex * pageSize + 1;
133
+ const secondPosition = Math.min(totalRows, pageSize * (pageIndex + 1));
134
+ const itemsPerPageOptions = React.useMemo(() => { var _a; return (_a = itemsPerPage === null || itemsPerPage === void 0 ? void 0 : itemsPerPage.map(item => String(item))) !== null && _a !== void 0 ? _a : defaultItemsPerPageOptions; }, [itemsPerPage]);
138
135
  return secondPosition <= 0 ? (React__default["default"].createElement("div", { className: styles$2.pagination },
139
136
  React__default["default"].createElement("div", { className: styles$2.paginationInfo },
140
137
  React__default["default"].createElement(Text.Text, null, "No items")))) : (React__default["default"].createElement("div", { className: styles$2.pagination },
141
- React__default["default"].createElement("div", { className: styles$2.paginationInfo }, "Showing " + firstPosition + "-" + secondPosition + " of " + totalRows + " items"),
138
+ React__default["default"].createElement("div", { className: styles$2.paginationInfo }, `Showing ${firstPosition}-${secondPosition} of ${totalRows} items`),
142
139
  React__default["default"].createElement("div", { className: styles$2.paginationNav },
143
140
  React__default["default"].createElement("div", { className: styles$2.paginationSelect },
144
- React__default["default"].createElement(Option.Select, { value: table.getState().pagination.pageSize, onChange: function (value) {
141
+ React__default["default"].createElement(Option.Select, { value: table.getState().pagination.pageSize, onChange: value => {
145
142
  table.setPageSize(Number(value));
146
- }, size: "small" }, itemsPerPageOptions.map(function (numOfPages) { return (React__default["default"].createElement(Option.SelectOption, { key: numOfPages, value: numOfPages }, numOfPages)); })),
143
+ }, size: "small" }, itemsPerPageOptions.map(numOfPages => (React__default["default"].createElement(Option.SelectOption, { key: numOfPages, value: numOfPages }, numOfPages)))),
147
144
  React__default["default"].createElement("span", { className: styles$2.paginationSelectLabel }, "per page")),
148
145
  React__default["default"].createElement("div", { className: styles$2.paginationButtons },
149
- React__default["default"].createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowLeft", ariaLabel: "arrowLeft", onClick: function () { return table.previousPage(); }, disabled: !table.getCanPreviousPage() }),
150
- React__default["default"].createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowRight", ariaLabel: "arrowRight", onClick: function () { return table.nextPage(); }, disabled: !table.getCanNextPage() })))));
146
+ React__default["default"].createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowLeft", ariaLabel: "arrowLeft", onClick: () => table.previousPage(), disabled: !table.getCanPreviousPage() }),
147
+ React__default["default"].createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowRight", ariaLabel: "arrowRight", onClick: () => table.nextPage(), disabled: !table.getCanNextPage() })))));
151
148
  }
152
149
 
153
150
  var css$1 = "._39TtNRcIeia0yD1gs7L70 {\n padding: var(--space-base);\n border-top: var(--border-thick) solid var(--color-border);\n}\n\n._1AkupnXfMaD9bSt37OKKpW {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: justify;\n justify-content: space-between;\n font-weight: bold;\n}\n\n[dir=\"ltr\"] ._1AkupnXfMaD9bSt37OKKpW * {\n text-align: left;\n}\n\n[dir=\"ltr\"] ._1AkupnXfMaD9bSt37OKKpW * {\n text-align: left;\n}\n\n._1AkupnXfMaD9bSt37OKKpW *:dir(ltr) {\n text-align: left;\n}\n\n[dir=\"rtl\"] ._1AkupnXfMaD9bSt37OKKpW * {\n text-align: right;\n}\n\n[dir=\"rtl\"] ._1AkupnXfMaD9bSt37OKKpW * {\n text-align: right;\n}\n\n._1AkupnXfMaD9bSt37OKKpW *:dir(rtl) {\n text-align: right;\n}\n\n[dir=\"ltr\"] ._1AkupnXfMaD9bSt37OKKpW * {\n text-align: left;\n}\n\n._1AkupnXfMaD9bSt37OKKpW *:dir(ltr) {\n text-align: left;\n}\n\n[dir=\"rtl\"] ._1AkupnXfMaD9bSt37OKKpW * {\n text-align: right;\n}\n\n._1AkupnXfMaD9bSt37OKKpW *:dir(rtl) {\n text-align: right;\n}\n\n._1AkupnXfMaD9bSt37OKKpW * {\n text-align: start;\n}\n\n[dir=\"ltr\"] ._2tNVzbdCh57muuCvPjItW9,[dir=\"ltr\"] \n._2tNVzbdCh57muuCvPjItW9 * {\n text-align: right;\n}\n\n[dir=\"ltr\"] ._2tNVzbdCh57muuCvPjItW9,[dir=\"ltr\"] \n._2tNVzbdCh57muuCvPjItW9 * {\n text-align: right;\n}\n\n._2tNVzbdCh57muuCvPjItW9:dir(ltr),\n._2tNVzbdCh57muuCvPjItW9 *:dir(ltr) {\n text-align: right;\n}\n\n[dir=\"rtl\"] ._2tNVzbdCh57muuCvPjItW9,[dir=\"rtl\"] \n._2tNVzbdCh57muuCvPjItW9 * {\n text-align: left;\n}\n\n[dir=\"rtl\"] ._2tNVzbdCh57muuCvPjItW9,[dir=\"rtl\"] \n._2tNVzbdCh57muuCvPjItW9 * {\n text-align: left;\n}\n\n._2tNVzbdCh57muuCvPjItW9:dir(rtl),\n._2tNVzbdCh57muuCvPjItW9 *:dir(rtl) {\n text-align: left;\n}\n\n[dir=\"ltr\"] ._2tNVzbdCh57muuCvPjItW9,[dir=\"ltr\"] \n._2tNVzbdCh57muuCvPjItW9 * {\n text-align: right;\n}\n\n._2tNVzbdCh57muuCvPjItW9:dir(ltr),\n._2tNVzbdCh57muuCvPjItW9 *:dir(ltr) {\n text-align: right;\n}\n\n[dir=\"rtl\"] ._2tNVzbdCh57muuCvPjItW9,[dir=\"rtl\"] \n._2tNVzbdCh57muuCvPjItW9 * {\n text-align: left;\n}\n\n._2tNVzbdCh57muuCvPjItW9:dir(rtl),\n._2tNVzbdCh57muuCvPjItW9 *:dir(rtl) {\n text-align: left;\n}\n\n._2tNVzbdCh57muuCvPjItW9,\n._2tNVzbdCh57muuCvPjItW9 * {\n font-weight: normal;\n text-align: end;\n}\n\n._1AkupnXfMaD9bSt37OKKpW:not(:last-child) {\n padding-bottom: var(--space-small);\n}\n";
154
151
  var styles$1 = {"mobileFooterContainer":"_39TtNRcIeia0yD1gs7L70","mobileFooterRow":"_1AkupnXfMaD9bSt37OKKpW","mobileFooterRowData":"_2tNVzbdCh57muuCvPjItW9"};
155
152
  styleInject_es.styleInject(css$1);
156
153
 
157
- var DesktopView = function (_a) {
158
- var table = _a.table;
159
- return (React__default["default"].createElement("tfoot", { "data-testid": "data-table-desktop-footer" }, table.getFooterGroups().map(function (footerGroup) { return (React__default["default"].createElement("tr", { key: footerGroup.id }, footerGroup.headers.map(function (header) { return (React__default["default"].createElement("th", { key: header.id, style: {
160
- width: header.getSize(),
161
- minWidth: header.column.columnDef.minSize,
162
- maxWidth: header.column.columnDef.maxSize,
163
- } }, reactTable.flexRender(header.column.columnDef.footer, header.getContext()))); }))); })));
164
- };
165
- var HandheldView = function (_a) {
166
- var table = _a.table;
167
- return (React__default["default"].createElement("div", { className: styles$1.mobileFooterContainer, "data-testid": "data-table-handheld-footer" }, table.getFooterGroups().map(function (footerGroup) { return (React__default["default"].createElement("div", { key: footerGroup.id }, footerGroup.headers
168
- .filter(function (header) { return header.column.columnDef.footer; })
169
- .map(function (header, index) { return (React__default["default"].createElement(React__default["default"].Fragment, null, index === 0 ? (React__default["default"].createElement("div", { className: styles$1.mobileFooterRow }, reactTable.flexRender(header.column.columnDef.footer, header.getContext()))) : (React__default["default"].createElement("div", { className: styles$1.mobileFooterRow, key: footerGroup.id },
170
- reactTable.flexRender(header.column.columnDef.header, header.getContext()),
171
- React__default["default"].createElement("div", { className: styles$1.mobileFooterRowData }, reactTable.flexRender(header.column.columnDef.footer, header.getContext())))))); }))); })));
172
- };
173
- var Footer = function (_a) {
174
- var table = _a.table, _b = _a.viewType, viewType = _b === void 0 ? "handheld" : _b;
175
- var hasFooter = table
154
+ const DesktopView = ({ table }) => (React__default["default"].createElement("tfoot", { "data-testid": "data-table-desktop-footer" }, table.getFooterGroups().map(footerGroup => (React__default["default"].createElement("tr", { key: footerGroup.id }, footerGroup.headers.map(header => (React__default["default"].createElement("th", { key: header.id, style: {
155
+ width: header.getSize(),
156
+ minWidth: header.column.columnDef.minSize,
157
+ maxWidth: header.column.columnDef.maxSize,
158
+ } }, reactTable.flexRender(header.column.columnDef.footer, header.getContext())))))))));
159
+ const HandheldView = ({ table }) => (React__default["default"].createElement("div", { className: styles$1.mobileFooterContainer, "data-testid": "data-table-handheld-footer" }, table.getFooterGroups().map(footerGroup => (React__default["default"].createElement("div", { key: footerGroup.id }, footerGroup.headers
160
+ .filter(header => header.column.columnDef.footer)
161
+ .map((header, index) => (React__default["default"].createElement(React__default["default"].Fragment, null, index === 0 ? (React__default["default"].createElement("div", { className: styles$1.mobileFooterRow }, reactTable.flexRender(header.column.columnDef.footer, header.getContext()))) : (React__default["default"].createElement("div", { className: styles$1.mobileFooterRow, key: footerGroup.id },
162
+ reactTable.flexRender(header.column.columnDef.header, header.getContext()),
163
+ React__default["default"].createElement("div", { className: styles$1.mobileFooterRowData }, reactTable.flexRender(header.column.columnDef.footer, header.getContext()))))))))))));
164
+ const Footer = ({ table, viewType = "handheld", }) => {
165
+ const hasFooter = table
176
166
  .getAllColumns()
177
- .find(function (column) { return column.columnDef.footer; });
167
+ .find(column => column.columnDef.footer);
178
168
  if (hasFooter) {
179
169
  return viewType === "handheld" ? (React__default["default"].createElement(HandheldView, { table: table })) : (React__default["default"].createElement(DesktopView, { table: table }));
180
170
  }
@@ -191,7 +181,7 @@ var SortDirection;
191
181
  SortDirection[SortDirection["descending"] = 1] = "descending";
192
182
  SortDirection[SortDirection["equilibrium"] = 2] = "equilibrium";
193
183
  })(SortDirection || (SortDirection = {}));
194
- var sortStyleIndex = [
184
+ const sortStyleIndex = [
195
185
  {
196
186
  option: SortDirection.equilibrium,
197
187
  upArrowStyle: undefined,
@@ -208,27 +198,23 @@ var sortStyleIndex = [
208
198
  downArrowStyle: classnames__default["default"](styles.active),
209
199
  },
210
200
  ];
211
- function SortIcon(_a) {
212
- var direction = _a.direction;
213
- var foundStyle = sortStyleIndex.find(function (style) { return style.option === direction; });
214
- var finalStyle = foundStyle === undefined ? sortStyleIndex[0] : foundStyle;
201
+ function SortIcon({ direction }) {
202
+ const foundStyle = sortStyleIndex.find(style => style.option === direction);
203
+ const finalStyle = foundStyle === undefined ? sortStyleIndex[0] : foundStyle;
215
204
  return (React__default["default"].createElement("div", { className: classnames__default["default"](styles.sortIcon) },
216
205
  React__default["default"].createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
217
206
  React__default["default"].createElement("path", { className: finalStyle.upArrowStyle, d: "M16.2929 10.6661C15.9024 11.0566 15.2692 11.0566 14.8787 10.6661L12.2891 8.14263L9.70711 10.6661C9.31658 11.0566 8.68342 11.0566 8.29289 10.6661C7.90237 10.2756 7.90237 9.64239 8.29289 9.25186L11.5858 5.95897C11.9763 5.56845 12.6095 5.56845 13 5.95897L16.2929 9.25186C16.6834 9.64239 16.6834 10.2756 16.2929 10.6661Z" }),
218
207
  React__default["default"].createElement("path", { className: finalStyle.downArrowStyle, d: "M8.29292 13.3339C8.68345 12.9434 9.31661 12.9434 9.70714 13.3339L12.2968 15.8573L14.8787 13.3339C15.2692 12.9434 15.9024 12.9434 16.2929 13.3339C16.6834 13.7244 16.6834 14.3576 16.2929 14.7481L13 18.041C12.6095 18.4315 11.9763 18.4315 11.5858 18.041L8.29292 14.7481C7.9024 14.3576 7.9024 13.7244 8.29292 13.3339Z" }))));
219
208
  }
220
209
 
221
- function Header(_a) {
222
- var _b;
223
- var table = _a.table, stickyHeader = _a.stickyHeader, sorting = _a.sorting, onRowClick = _a.onRowClick;
224
- var stickyClass = classnames__default["default"]((_b = {}, _b[styles$3.stickyHeader] = stickyHeader, _b));
225
- return (React__default["default"].createElement("thead", { className: stickyClass }, table.getHeaderGroups().map(function (headerGroup) { return (React__default["default"].createElement("tr", { key: headerGroup.id }, headerGroup.headers.map(function (header) {
226
- var _a;
227
- var isSorting = sorting && header.column.getCanSort();
210
+ function Header({ table, stickyHeader, sorting, onRowClick, }) {
211
+ const stickyClass = classnames__default["default"]({ [styles$3.stickyHeader]: stickyHeader });
212
+ return (React__default["default"].createElement("thead", { className: stickyClass }, table.getHeaderGroups().map(headerGroup => (React__default["default"].createElement("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
213
+ const isSorting = sorting && header.column.getCanSort();
228
214
  return (React__default["default"].createElement("th", { key: header.id, colSpan: header.colSpan, className: isSorting
229
- ? classnames__default["default"](styles$3.sortableColumn, (_a = {},
230
- _a[styles$3.pinFirstHeaderSortable] = !!onRowClick,
231
- _a))
215
+ ? classnames__default["default"](styles$3.sortableColumn, {
216
+ [styles$3.pinFirstHeaderSortable]: !!onRowClick,
217
+ })
232
218
  : "", onClick: sorting ? header.column.getToggleSortingHandler() : undefined, style: {
233
219
  width: header.getSize(),
234
220
  minWidth: header.column.columnDef.minSize,
@@ -244,23 +230,21 @@ function Header(_a) {
244
230
  asc: React__default["default"].createElement(SortIcon, { direction: SortDirection.ascending }),
245
231
  desc: React__default["default"].createElement(SortIcon, { direction: SortDirection.descending }),
246
232
  }[header.column.getIsSorted()]))));
247
- }))); })));
233
+ }))))));
248
234
  }
249
235
 
250
- function DataTable(_a) {
251
- var _b;
252
- var data = _a.data, columns = _a.columns, pagination = _a.pagination, sorting = _a.sorting, height = _a.height, stickyHeader = _a.stickyHeader, pinFirstColumn = _a.pinFirstColumn, onRowClick = _a.onRowClick, emptyState = _a.emptyState;
253
- var _c = tslib_es6.__read(jobberHooks.useResizeObserver(), 2), ref = _c[0], exactWidth = _c[1].exactWidth;
254
- var tableSettings = createTableSettings(data, columns, {
255
- pagination: pagination,
256
- sorting: sorting,
236
+ function DataTable({ data, columns, pagination, sorting, height, stickyHeader, pinFirstColumn, onRowClick, emptyState, }) {
237
+ const [ref, { exactWidth }] = jobberHooks.useResizeObserver();
238
+ const tableSettings = createTableSettings(data, columns, {
239
+ pagination,
240
+ sorting,
241
+ });
242
+ const tableClasses = classnames__default["default"](styles$3.table, {
243
+ [styles$3.pinFirstColumn]: pinFirstColumn,
257
244
  });
258
- var tableClasses = classnames__default["default"](styles$3.table, (_b = {},
259
- _b[styles$3.pinFirstColumn] = pinFirstColumn,
260
- _b));
261
- var table = reactTable.useReactTable(tableSettings);
245
+ const table = reactTable.useReactTable(tableSettings);
262
246
  return (React__default["default"].createElement("div", { className: styles$3.dataTableContainer },
263
- React__default["default"].createElement("div", { className: styles$3.tableContainer, style: { height: height }, ref: ref },
247
+ React__default["default"].createElement("div", { className: styles$3.tableContainer, style: { height }, ref: ref },
264
248
  React__default["default"].createElement("table", { className: tableClasses },
265
249
  React__default["default"].createElement(Header, { table: table, sorting: sorting, onRowClick: onRowClick, stickyHeader: stickyHeader }),
266
250
  React__default["default"].createElement(Body, { table: table, onRowClick: onRowClick, height: height ? height * 0.7 : undefined, emptyState: emptyState }),
@@ -275,7 +259,7 @@ function DataTable(_a) {
275
259
  : table.getCoreRowModel().rows.length }))));
276
260
  }
277
261
 
278
- var mockContainerWidth = function (exactWidth) {
262
+ const mockContainerWidth = (exactWidth) => {
279
263
  jest.spyOn(jobberHooks__namespace, "useResizeObserver").mockReturnValue([
280
264
  { current: null },
281
265
  {
@@ -287,22 +271,6 @@ var mockContainerWidth = function (exactWidth) {
287
271
  ]);
288
272
  };
289
273
 
290
- Object.defineProperty(exports, 'ColumnDef', {
291
- enumerable: true,
292
- get: function () { return reactTable.ColumnDef; }
293
- });
294
- Object.defineProperty(exports, 'PaginationState', {
295
- enumerable: true,
296
- get: function () { return reactTable.PaginationState; }
297
- });
298
- Object.defineProperty(exports, 'Row', {
299
- enumerable: true,
300
- get: function () { return reactTable.Row; }
301
- });
302
- Object.defineProperty(exports, 'SortingState', {
303
- enumerable: true,
304
- get: function () { return reactTable.SortingState; }
305
- });
306
274
  Object.defineProperty(exports, 'createColumnHelper', {
307
275
  enumerable: true,
308
276
  get: function () { return reactTable.createColumnHelper; }
@@ -1 +1 @@
1
- export declare const mockContainerWidth: (exactWidth?: number | undefined) => void;
1
+ export declare const mockContainerWidth: (exactWidth?: number) => void;
@@ -47,7 +47,7 @@ export interface DefaultPagination {
47
47
  manualPagination: false;
48
48
  itemsPerPage?: number[];
49
49
  }
50
- export declare type PaginationType = DefaultPagination | ManualPagination;
50
+ export type PaginationType = DefaultPagination | ManualPagination;
51
51
  export interface ManualSorting {
52
52
  /**
53
53
  * Represents the current sorting state of the table.
@@ -80,4 +80,4 @@ export interface DefaultSorting {
80
80
  */
81
81
  manualSorting: false;
82
82
  }
83
- export declare type SortingType = DefaultSorting | ManualSorting;
83
+ export type SortingType = DefaultSorting | ManualSorting;
@@ -19,10 +19,18 @@ interface BaseDatePickerProps {
19
19
  * the activator
20
20
  */
21
21
  readonly smartAutofocus?: boolean;
22
+ /**
23
+ * Dates on the calendar to highlight
24
+ */
25
+ readonly highlightDates?: Date[];
22
26
  /**
23
27
  * Change handler that will return the date selected.
24
28
  */
25
29
  onChange(val: Date): void;
30
+ /**
31
+ * Change handler when the selected month changes
32
+ */
33
+ onMonthChange?(val: Date): void;
26
34
  }
27
35
  interface DatePickerModalProps extends BaseDatePickerProps {
28
36
  /**
@@ -45,6 +53,6 @@ interface DatePickerModalProps extends BaseDatePickerProps {
45
53
  interface DatePickerInlineProps extends BaseDatePickerProps {
46
54
  readonly inline?: boolean;
47
55
  }
48
- declare type DatePickerProps = XOR<DatePickerModalProps, DatePickerInlineProps>;
49
- export declare function DatePicker({ onChange, activator, inline, selected, readonly, disabled, fullWidth, smartAutofocus, maxDate, minDate, }: DatePickerProps): JSX.Element;
56
+ type DatePickerProps = XOR<DatePickerModalProps, DatePickerInlineProps>;
57
+ export declare function DatePicker({ onChange, onMonthChange, activator, inline, selected, readonly, disabled, fullWidth, smartAutofocus, maxDate, minDate, highlightDates, }: DatePickerProps): JSX.Element;
50
58
  export {};
@@ -2,17 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var DatePicker = require('../DatePicker-7c67e8d2.js');
6
- require('../tslib.es6-5b50eb8e.js');
5
+ var DatePicker = require('../DatePicker-0696b0f0.js');
7
6
  require('react');
8
7
  require('classnames');
9
8
  require('react-datepicker');
10
9
  require('@jobber/hooks');
11
10
  require('../style-inject.es-dcee06b6.js');
12
- require('../Typography-fbe0ed6e.js');
13
- require('../Button-cd30df0f.js');
11
+ require('../Typography-9262511f.js');
12
+ require('../Button-16e043ec.js');
14
13
  require('react-router-dom');
15
- require('../Icon-d5ad1a6d.js');
14
+ require('../Icon-405a216c.js');
16
15
  require('@jobber/design');
17
16
  require('lodash');
18
17