@jobber/components 4.0.0 → 4.0.1-pre.4
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.
- package/dist/Autocomplete/Autocomplete.d.ts +1 -1
- package/dist/Autocomplete/Option.d.ts +2 -2
- package/dist/Autocomplete/index.js +51 -67
- package/dist/Avatar/Avatar.d.ts +2 -2
- package/dist/Avatar/index.js +2 -2
- package/dist/{Avatar-cfd04e86.js → Avatar-89cfd0a6.js} +14 -18
- package/dist/Banner/Banner.d.ts +1 -1
- package/dist/Banner/index.js +15 -19
- package/dist/Button/Button.d.ts +1 -1
- package/dist/Button/index.js +3 -4
- package/dist/{Button-cd30df0f.js → Button-16e043ec.js} +21 -24
- package/dist/ButtonDismiss/index.js +4 -5
- package/dist/{ButtonDismiss-a9590195.js → ButtonDismiss-3fb1eaf9.js} +2 -3
- package/dist/Card/Card.d.ts +1 -1
- package/dist/Card/index.js +6 -7
- package/dist/Card/types.d.ts +1 -1
- package/dist/{Card-b9f8d6f3.js → Card-edab9c3c.js} +18 -22
- package/dist/Checkbox/Checkbox.d.ts +1 -1
- package/dist/Checkbox/index.js +4 -5
- package/dist/{Checkbox-5103d2b9.js → Checkbox-c1efc2f6.js} +10 -12
- package/dist/Chips/ChipsTypes.d.ts +1 -1
- package/dist/Chips/InternalChipDismissible/InternalChipDismissibleTypes.d.ts +1 -1
- package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissible.d.ts +1 -1
- package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissibleInput.d.ts +3 -3
- package/dist/Chips/InternalChipMultiSelect.d.ts +1 -1
- package/dist/Chips/InternalChipSingleSelect.d.ts +1 -1
- package/dist/Chips/index.js +165 -185
- package/dist/ConfirmationModal/ConfirmationModal.d.ts +1 -1
- package/dist/ConfirmationModal/index.js +11 -12
- package/dist/{ConfirmationModal-e95f46d7.js → ConfirmationModal-6a7beee2.js} +28 -31
- package/dist/Content/index.js +1 -1
- package/dist/{Content-18de5fbb.js → Content-05df8f7f.js} +2 -3
- package/dist/Countdown/Countdown.d.ts +1 -1
- package/dist/Countdown/computeTimeUnit.d.ts +1 -1
- package/dist/Countdown/index.js +15 -18
- package/dist/DataDump/index.js +9 -11
- package/dist/DataTable/Footer.d.ts +1 -1
- package/dist/DataTable/createTableSettings.d.ts +2 -2
- package/dist/DataTable/index.js +74 -106
- package/dist/DataTable/test-utilities/helpers.d.ts +1 -1
- package/dist/DataTable/types.d.ts +2 -2
- package/dist/DatePicker/DatePicker.d.ts +1 -1
- package/dist/DatePicker/index.js +4 -5
- package/dist/{DatePicker-7c67e8d2.js → DatePicker-af21ae91.js} +31 -36
- package/dist/DescriptionList/index.js +5 -10
- package/dist/Disclosure/index.js +8 -10
- package/dist/Divider/index.js +8 -10
- package/dist/Drawer/index.js +10 -14
- package/dist/Emphasis/index.js +2 -3
- package/dist/{Emphasis-75a3f411.js → Emphasis-23dc2a0a.js} +4 -6
- package/dist/FeatureSwitch/index.js +15 -17
- package/dist/Form/index.js +23 -33
- package/dist/FormField/FormFieldTypes.d.ts +2 -2
- package/dist/FormField/index.js +8 -8
- package/dist/{FormField-76068c0b.js → FormField-1e444bb6.js} +68 -76
- package/dist/FormatDate/index.js +2 -3
- package/dist/FormatEmail/index.js +2 -3
- package/dist/FormatFile/index.js +13 -14
- package/dist/{FormatFile-18e8a54a.js → FormatFile-3512f838.js} +33 -40
- package/dist/FormatRelativeDateTime/index.js +5 -6
- package/dist/FormatTime/index.js +6 -7
- package/dist/Gallery/GalleryTypes.d.ts +2 -2
- package/dist/Gallery/index.js +31 -33
- package/dist/Heading/index.js +2 -3
- package/dist/{Heading-a9a66964.js → Heading-7b203f7f.js} +4 -6
- package/dist/Icon/index.js +1 -1
- package/dist/{Icon-d5ad1a6d.js → Icon-405a216c.js} +7 -8
- package/dist/InlineLabel/InlineLabel.d.ts +1 -1
- package/dist/InlineLabel/index.js +4 -6
- package/dist/InputAvatar/index.js +15 -20
- package/dist/InputDate/index.js +15 -15
- package/dist/InputEmail/InputEmail.d.ts +1 -1
- package/dist/InputEmail/index.js +12 -12
- package/dist/InputFile/index.js +6 -6
- package/dist/{InputFile-e108a7f8.js → InputFile-5e0ed2b5.js} +48 -62
- package/dist/InputGroup/index.js +4 -5
- package/dist/InputNumber/index.js +22 -22
- package/dist/InputPassword/index.js +12 -12
- package/dist/InputText/InputText.d.ts +1 -1
- package/dist/InputText/index.js +9 -9
- package/dist/{InputText-523d0e48.js → InputText-12b112a9.js} +23 -24
- package/dist/InputTime/index.js +27 -27
- package/dist/InputValidation/index.js +4 -5
- package/dist/{InputValidation-06a8a7ba.js → InputValidation-97dd0dcf.js} +7 -8
- package/dist/LightBox/index.js +5 -6
- package/dist/{LightBox-1ad62669.js → LightBox-dd1afa97.js} +22 -26
- package/dist/List/index.js +26 -32
- package/dist/Markdown/index.js +6 -7
- package/dist/{Markdown-b53e0308.js → Markdown-be2dcd0c.js} +12 -18
- package/dist/Menu/index.js +4 -5
- package/dist/{Menu-826cfb89.js → Menu-d6a7d17b.js} +31 -36
- package/dist/Modal/index.js +6 -7
- package/dist/{Modal-cc3bd7bf.js → Modal-757e83fd.js} +13 -17
- package/dist/MultiSelect/index.js +53 -60
- package/dist/MultiSelect/types.d.ts +1 -1
- package/dist/{Option-fdf21181.js → Option-13150f4a.js} +3 -5
- package/dist/Page/Page.d.ts +1 -1
- package/dist/Page/index.js +21 -24
- package/dist/Popover/index.js +11 -13
- package/dist/ProgressBar/index.js +1 -1
- package/dist/{ProgressBar-e9a49129.js → ProgressBar-f028b159.js} +3 -4
- package/dist/RadioGroup/RadioOption.d.ts +2 -2
- package/dist/RadioGroup/index.js +9 -13
- package/dist/RecurringSelect/types.d.ts +2 -2
- package/dist/Select/Select.d.ts +1 -1
- package/dist/Select/index.js +9 -9
- package/dist/Spinner/index.js +1 -1
- package/dist/{Spinner-e4e9c8eb.js → Spinner-ae4c8a85.js} +5 -7
- package/dist/StatusLabel/StatusLabel.d.ts +1 -1
- package/dist/StatusLabel/index.js +6 -9
- package/dist/Switch/index.js +2 -3
- package/dist/{Switch-f03b70fc.js → Switch-7ac32f7b.js} +12 -16
- package/dist/Table/index.js +9 -17
- package/dist/Tabs/index.js +28 -34
- package/dist/Text/index.js +2 -3
- package/dist/{Text-e012fb46.js → Text-7ce00adb.js} +4 -5
- package/dist/Toast/Toast.d.ts +2 -2
- package/dist/Toast/index.js +31 -32
- package/dist/Tooltip/index.js +3 -4
- package/dist/Tooltip/useTooltipPositioning.d.ts +1 -1
- package/dist/{Tooltip-041feb00.js → Tooltip-1090a43d.js} +25 -28
- package/dist/Typography/Typography.d.ts +1 -1
- package/dist/Typography/index.js +1 -2
- package/dist/{Typography-fbe0ed6e.js → Typography-9262511f.js} +5 -7
- package/dist/tslib.es6-efe27175.js +38 -0
- package/package.json +3 -3
- package/dist/tslib.es6-5b50eb8e.js +0 -103
package/dist/DataTable/index.js
CHANGED
|
@@ -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
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
require('../
|
|
10
|
+
var tslib_es6 = require('../tslib.es6-efe27175.js');
|
|
11
|
+
var Option = require('../Option-13150f4a.js');
|
|
12
|
+
var Button = require('../Button-16e043ec.js');
|
|
13
|
+
var Text = require('../Text-7ce00adb.js');
|
|
14
|
+
require('../FormField-1e444bb6.js');
|
|
15
15
|
require('uuid');
|
|
16
16
|
require('react-hook-form');
|
|
17
|
-
require('../Icon-
|
|
17
|
+
require('../Icon-405a216c.js');
|
|
18
18
|
require('@jobber/design');
|
|
19
|
-
require('../InputValidation-
|
|
19
|
+
require('../InputValidation-97dd0dcf.js');
|
|
20
20
|
require('framer-motion');
|
|
21
|
-
require('../Spinner-
|
|
21
|
+
require('../Spinner-ae4c8a85.js');
|
|
22
22
|
require('react-router-dom');
|
|
23
|
-
require('../Typography-
|
|
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(
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
}
|
|
62
|
-
return table.getRowModel().rows.length ? (React__default["default"].createElement("tbody", null, table.getRowModel().rows.map(
|
|
63
|
-
return (React__default["default"].createElement("tr", { key: row.id, onClick: handleRowClick(row), className: bodyRowClasses }, row.getVisibleCells().map(
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
85
|
-
columns
|
|
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
|
-
|
|
89
|
+
const paginationSettings = {};
|
|
92
90
|
if (!pagination) {
|
|
93
91
|
return paginationSettings;
|
|
94
92
|
}
|
|
95
|
-
|
|
93
|
+
const { manualPagination } = pagination;
|
|
96
94
|
paginationSettings.manualPagination = manualPagination;
|
|
97
95
|
if (manualPagination) {
|
|
98
|
-
|
|
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
|
-
|
|
107
|
+
const sortingSettings = {};
|
|
110
108
|
if (!sorting)
|
|
111
109
|
return sortingSettings;
|
|
112
|
-
|
|
110
|
+
const { manualSorting } = sorting;
|
|
113
111
|
sortingSettings.manualSorting = manualSorting;
|
|
114
112
|
if (manualSorting) {
|
|
115
|
-
|
|
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
|
-
|
|
131
|
-
function Pagination(
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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 },
|
|
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:
|
|
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(
|
|
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:
|
|
150
|
-
React__default["default"].createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowRight", ariaLabel: "arrowRight", onClick:
|
|
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
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
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(
|
|
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
|
-
|
|
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(
|
|
212
|
-
|
|
213
|
-
|
|
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(
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
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,
|
|
230
|
-
|
|
231
|
-
|
|
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(
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
83
|
+
export type SortingType = DefaultSorting | ManualSorting;
|
|
@@ -45,6 +45,6 @@ interface DatePickerModalProps extends BaseDatePickerProps {
|
|
|
45
45
|
interface DatePickerInlineProps extends BaseDatePickerProps {
|
|
46
46
|
readonly inline?: boolean;
|
|
47
47
|
}
|
|
48
|
-
|
|
48
|
+
type DatePickerProps = XOR<DatePickerModalProps, DatePickerInlineProps>;
|
|
49
49
|
export declare function DatePicker({ onChange, activator, inline, selected, readonly, disabled, fullWidth, smartAutofocus, maxDate, minDate, }: DatePickerProps): JSX.Element;
|
|
50
50
|
export {};
|
package/dist/DatePicker/index.js
CHANGED
|
@@ -2,17 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var DatePicker = require('../DatePicker-
|
|
6
|
-
require('../tslib.es6-5b50eb8e.js');
|
|
5
|
+
var DatePicker = require('../DatePicker-af21ae91.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-
|
|
13
|
-
require('../Button-
|
|
11
|
+
require('../Typography-9262511f.js');
|
|
12
|
+
require('../Button-16e043ec.js');
|
|
14
13
|
require('react-router-dom');
|
|
15
|
-
require('../Icon-
|
|
14
|
+
require('../Icon-405a216c.js');
|
|
16
15
|
require('@jobber/design');
|
|
17
16
|
require('lodash');
|
|
18
17
|
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
|
|
4
3
|
var React = require('react');
|
|
5
4
|
var classnames = require('classnames');
|
|
6
5
|
var ReactDatePicker = require('react-datepicker');
|
|
7
6
|
var jobberHooks = require('@jobber/hooks');
|
|
8
7
|
var styleInject_es = require('./style-inject.es-dcee06b6.js');
|
|
9
|
-
var Typography = require('./Typography-
|
|
10
|
-
var Button = require('./Button-
|
|
8
|
+
var Typography = require('./Typography-9262511f.js');
|
|
9
|
+
var Button = require('./Button-16e043ec.js');
|
|
11
10
|
var lodash = require('lodash');
|
|
12
11
|
|
|
13
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -20,8 +19,7 @@ var css = "@charset \"UTF-8\";\n/* stylelint-disable */\n.react-datepicker__year
|
|
|
20
19
|
var styles = {"react-datepicker__month--selecting-range":"_3SAj4620ZxCTMkRgUKj7Z7","datePickerWrapper":"_3X5QGNINiwa77cbEb9mEzZ","fullWidth":"_1DR69DMoP49Ux6kq7LUoGR","datePicker":"_2oJDyYPkJRLltnyYbYWifk","inline-left":"_1YVIHRF3DM3t3EzyRTDvbj","inline-right":"_1YVIHRF3DM3t3EzyRTDvbj","inline":"_1YVIHRF3DM3t3EzyRTDvbj","header":"_2XaofeiwYq6Mon3dJkoPd_","month":"_2lX9pishvsqKh-Hj11F0yo"};
|
|
21
20
|
styleInject_es.styleInject(css);
|
|
22
21
|
|
|
23
|
-
function DatePickerCustomHeader(
|
|
24
|
-
var monthDate = _a.monthDate, decreaseMonth = _a.decreaseMonth, increaseMonth = _a.increaseMonth, prevMonthButtonDisabled = _a.prevMonthButtonDisabled, nextMonthButtonDisabled = _a.nextMonthButtonDisabled;
|
|
22
|
+
function DatePickerCustomHeader({ monthDate, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) {
|
|
25
23
|
return (React__default["default"].createElement("div", { className: styles.header },
|
|
26
24
|
React__default["default"].createElement(Button.Button, { onClick: decreaseMonth, disabled: prevMonthButtonDisabled, icon: "arrowLeft", ariaLabel: "Previous Month", variation: "work", type: "tertiary" }),
|
|
27
25
|
React__default["default"].createElement("div", { className: styles.month },
|
|
@@ -32,63 +30,60 @@ function DatePickerCustomHeader(_a) {
|
|
|
32
30
|
React__default["default"].createElement(Button.Button, { onClick: increaseMonth, disabled: nextMonthButtonDisabled, icon: "arrowRight", ariaLabel: "Next Month", variation: "work", type: "tertiary" })));
|
|
33
31
|
}
|
|
34
32
|
|
|
35
|
-
|
|
33
|
+
const DatePickerActivator = React.forwardRef(InternalActivator);
|
|
36
34
|
function InternalActivator(props, ref) {
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
const { activator, fullWidth } = props;
|
|
36
|
+
const newActivatorProps = lodash.omit(props, ["activator", "fullWidth"]);
|
|
39
37
|
if (activator) {
|
|
40
38
|
if (React.isValidElement(activator)) {
|
|
41
|
-
|
|
42
|
-
return React.cloneElement(activator,
|
|
39
|
+
const isAComponent = typeof activator.type === "function";
|
|
40
|
+
return React.cloneElement(activator, Object.assign(Object.assign(Object.assign({}, newActivatorProps), (isAComponent && { fullWidth: fullWidth })), { ref }));
|
|
43
41
|
}
|
|
44
42
|
else {
|
|
45
43
|
return activator(props);
|
|
46
44
|
}
|
|
47
45
|
}
|
|
48
46
|
else {
|
|
49
|
-
return (React__default["default"].createElement(Button.Button,
|
|
47
|
+
return (React__default["default"].createElement(Button.Button, Object.assign({ variation: "work", type: "tertiary", icon: "calendar", ariaLabel: "Open Datepicker", fullWidth: fullWidth }, newActivatorProps)));
|
|
50
48
|
}
|
|
51
49
|
}
|
|
52
50
|
|
|
53
51
|
function useFocusOnSelectedDate() {
|
|
54
|
-
|
|
52
|
+
const ref = React.useRef();
|
|
55
53
|
function focusOnSelectedDate() {
|
|
56
54
|
var _a;
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
const selectedDateClass = ".react-datepicker__day--selected";
|
|
56
|
+
const selectedDate = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.querySelector(selectedDateClass);
|
|
59
57
|
if (selectedDate instanceof HTMLDivElement) {
|
|
60
58
|
selectedDate.focus();
|
|
61
59
|
}
|
|
62
60
|
}
|
|
63
|
-
return { ref
|
|
61
|
+
return { ref, focusOnSelectedDate };
|
|
64
62
|
}
|
|
65
63
|
|
|
66
|
-
function DatePicker(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
var datePickerClassNames = classnames__default["default"](styles.datePicker, (_c = {},
|
|
84
|
-
_c[styles.inline] = inline,
|
|
85
|
-
_c));
|
|
64
|
+
function DatePicker({ onChange, activator, inline, selected, readonly = false, disabled = false, fullWidth = false, smartAutofocus = true, maxDate, minDate, }) {
|
|
65
|
+
const { ref, focusOnSelectedDate } = useFocusOnSelectedDate();
|
|
66
|
+
const [open, setOpen] = React.useState(false);
|
|
67
|
+
const wrapperClassName = classnames__default["default"](styles.datePickerWrapper, {
|
|
68
|
+
// react-datepicker uses this class name to not close the date picker when
|
|
69
|
+
// the activator is clicked
|
|
70
|
+
// https://github.com/Hacker0x01/react-datepicker/blob/master/src/index.jsx#L905
|
|
71
|
+
//
|
|
72
|
+
// It uses react-onclickoutside package and declaring some elements to be
|
|
73
|
+
// ignored via said class name
|
|
74
|
+
// https://www.npmjs.com/package/react-onclickoutside#marking-elements-as-skip-over-this-one-during-the-event-loop
|
|
75
|
+
"react-datepicker-ignore-onclickoutside": !inline,
|
|
76
|
+
[styles.fullWidth]: fullWidth,
|
|
77
|
+
});
|
|
78
|
+
const datePickerClassNames = classnames__default["default"](styles.datePicker, {
|
|
79
|
+
[styles.inline]: inline,
|
|
80
|
+
});
|
|
86
81
|
if (smartAutofocus) {
|
|
87
82
|
jobberHooks.useRefocusOnActivator(open);
|
|
88
83
|
React.useEffect(focusOnSelectedDate, [open]);
|
|
89
84
|
}
|
|
90
85
|
return (React__default["default"].createElement("div", { className: wrapperClassName, ref: ref },
|
|
91
|
-
React__default["default"].createElement(ReactDatePicker__default["default"], { calendarClassName: datePickerClassNames, showPopperArrow: false, selected: selected, inline: inline, disabled: disabled, readOnly: readonly, onChange: handleChange, maxDate: maxDate, minDate: minDate, useWeekdaysShort: true, customInput: React__default["default"].createElement(DatePickerActivator, { activator: activator, fullWidth: fullWidth }), renderCustomHeader:
|
|
86
|
+
React__default["default"].createElement(ReactDatePicker__default["default"], { calendarClassName: datePickerClassNames, showPopperArrow: false, selected: selected, inline: inline, disabled: disabled, readOnly: readonly, onChange: handleChange, maxDate: maxDate, minDate: minDate, useWeekdaysShort: true, customInput: React__default["default"].createElement(DatePickerActivator, { activator: activator, fullWidth: fullWidth }), renderCustomHeader: props => React__default["default"].createElement(DatePickerCustomHeader, Object.assign({}, props)), onCalendarOpen: handleCalendarOpen, onCalendarClose: handleCalendarClose, dateFormat: ["P", "PP", "PPP", "MMM dd yyyy", "MMMM dd yyyy"] })));
|
|
92
87
|
function handleChange(value) {
|
|
93
88
|
onChange(value);
|
|
94
89
|
}
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
|
|
6
5
|
var React = require('react');
|
|
7
6
|
var styleInject_es = require('../style-inject.es-dcee06b6.js');
|
|
8
|
-
var Typography = require('../Typography-
|
|
7
|
+
var Typography = require('../Typography-9262511f.js');
|
|
9
8
|
require('classnames');
|
|
10
9
|
|
|
11
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -16,14 +15,10 @@ var css = "._2v2alHUPCR1uRMbtusHoPI {\n margin: 0;\n}\n\n._3F8K2c6jcFhxba3JNK5d
|
|
|
16
15
|
var styles = {"descriptionList":"_2v2alHUPCR1uRMbtusHoPI","termGroup":"_3F8K2c6jcFhxba3JNK5dok"};
|
|
17
16
|
styleInject_es.styleInject(css);
|
|
18
17
|
|
|
19
|
-
function DescriptionList(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return (React__default["default"].createElement("div", { key: term, className: styles.termGroup },
|
|
24
|
-
React__default["default"].createElement(Typography.Typography, { element: "dt", textColor: "heading", size: "base" }, term),
|
|
25
|
-
React__default["default"].createElement(Typography.Typography, { element: "dd", textColor: "text", size: "base" }, description)));
|
|
26
|
-
})));
|
|
18
|
+
function DescriptionList({ data }) {
|
|
19
|
+
return (React__default["default"].createElement("dl", { className: styles.descriptionList }, data.map(([term, description]) => (React__default["default"].createElement("div", { key: term, className: styles.termGroup },
|
|
20
|
+
React__default["default"].createElement(Typography.Typography, { element: "dt", textColor: "heading", size: "base" }, term),
|
|
21
|
+
React__default["default"].createElement(Typography.Typography, { element: "dd", textColor: "text", size: "base" }, description))))));
|
|
27
22
|
}
|
|
28
23
|
|
|
29
24
|
exports.DescriptionList = DescriptionList;
|
package/dist/Disclosure/index.js
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
|
|
6
5
|
var React = require('react');
|
|
7
6
|
var styleInject_es = require('../style-inject.es-dcee06b6.js');
|
|
8
|
-
var Heading = require('../Heading-
|
|
9
|
-
var Icon = require('../Icon-
|
|
10
|
-
require('../Typography-
|
|
7
|
+
var Heading = require('../Heading-7b203f7f.js');
|
|
8
|
+
var Icon = require('../Icon-405a216c.js');
|
|
9
|
+
require('../Typography-9262511f.js');
|
|
11
10
|
require('classnames');
|
|
12
11
|
require('@jobber/design');
|
|
13
12
|
|
|
@@ -19,11 +18,10 @@ var css = "._359GUq8c3Ojy8ytOlbeU_8 {\n -webkit-transform-origin: 50% 47.5% 0;\
|
|
|
19
18
|
var styles = {"arrowIconWrapper":"_359GUq8c3Ojy8ytOlbeU_8","details":"M6AheKOqP9CP5eAwb3x6r","summary":"_1YM_nAG8-pDqub2waVYnIF","summaryWrap":"QzfYliV58f72hx9_z2PMi","content":"_1tmHsYFm14xDJs73GzHDpJ","openAnimation":"_3BXkEbBVu3FDvlRn5fKdbH"};
|
|
20
19
|
styleInject_es.styleInject(css);
|
|
21
20
|
|
|
22
|
-
function Disclosure(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
React.useEffect(function () {
|
|
21
|
+
function Disclosure({ children, title, defaultOpen = false, }) {
|
|
22
|
+
const [isOpen, setOpen] = React.useState(defaultOpen);
|
|
23
|
+
const [isMounted, setMount] = React.useState(false);
|
|
24
|
+
React.useEffect(() => {
|
|
27
25
|
setMount(true);
|
|
28
26
|
}, []);
|
|
29
27
|
return (React__default["default"].createElement("details", { open: isOpen, onToggle: onToggle, className: styles.details },
|
|
@@ -35,7 +33,7 @@ function Disclosure(_a) {
|
|
|
35
33
|
React__default["default"].createElement("span", { className: styles.content }, children)));
|
|
36
34
|
function onToggle(event) {
|
|
37
35
|
event.preventDefault();
|
|
38
|
-
|
|
36
|
+
const { open: currentToggleState } = event.target;
|
|
39
37
|
if (!isMounted || currentToggleState === isOpen) {
|
|
40
38
|
return;
|
|
41
39
|
}
|
package/dist/Divider/index.js
CHANGED
|
@@ -15,16 +15,14 @@ var css = "._1lHHuy-WH0jlwJ_lGhdiii {\n --divider-width: var(--border-base);\n
|
|
|
15
15
|
var styles = {"divider":"_1lHHuy-WH0jlwJ_lGhdiii","large":"_1La5_WQqF0YS39yJ_pZZ3e","larger":"_3ZdPUgFJAWOcd4dAR08Wlc","largest":"siB9kwvA8N088YvEHsPgj","horizontal":"_2OCfx1xRlcq8zW27BOHOD8","vertical":"gxDpfq11BuK6UcrhdsKuQ"};
|
|
16
16
|
styleInject_es.styleInject(css);
|
|
17
17
|
|
|
18
|
-
function Divider(
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
_b[styles.vertical] = direction == "vertical",
|
|
27
|
-
_b));
|
|
18
|
+
function Divider({ size = "base", direction = "horizontal", }) {
|
|
19
|
+
const className = classnames__default["default"](styles.divider, {
|
|
20
|
+
[styles.large]: size === "large",
|
|
21
|
+
[styles.larger]: size === "larger",
|
|
22
|
+
[styles.largest]: size === "largest",
|
|
23
|
+
[styles.horizontal]: direction == "horizontal",
|
|
24
|
+
[styles.vertical]: direction == "vertical",
|
|
25
|
+
});
|
|
28
26
|
return React__default["default"].createElement("div", { className: className, role: "none presentation" });
|
|
29
27
|
}
|
|
30
28
|
|