@jobber/components 4.29.0 → 4.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DataList/DataList.d.ts +3 -1
- package/dist/DataList/components/DataListFilters/DataListFilter.const.d.ts +1 -0
- package/dist/DataList/components/DataListFilters/DataListFilters.d.ts +10 -0
- package/dist/DataList/components/DataListFilters/index.d.ts +1 -0
- package/dist/DataList/context/DataListContext/DataListContext.d.ts +9 -0
- package/dist/DataList/context/DataListContext/index.d.ts +1 -0
- package/dist/DataList/index.js +80 -29
- package/package.json +3 -3
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { DataListLayout } from "./components/DataListLayout";
|
|
3
3
|
import { DataListObject, DataListProps } from "./DataList.types";
|
|
4
|
-
|
|
4
|
+
import { DataListFilters } from "./components/DataListFilters";
|
|
5
|
+
export declare function DataList<T extends DataListObject>(props: DataListProps<T>): JSX.Element;
|
|
5
6
|
export declare namespace DataList {
|
|
6
7
|
var Layout: typeof DataListLayout;
|
|
7
8
|
var EmptyState: typeof import("./components/EmptyState").EmptyState;
|
|
9
|
+
var Filters: typeof DataListFilters;
|
|
8
10
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CONTAINER_TEST_ID = "ATL-DataListFilters-Container";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
|
+
interface DataListFiltersProps {
|
|
3
|
+
readonly children: ReactElement | ReactElement[];
|
|
4
|
+
}
|
|
5
|
+
export declare function DataListFilters(_: DataListFiltersProps): null;
|
|
6
|
+
/**
|
|
7
|
+
* Renders the DataList.Filters component
|
|
8
|
+
*/
|
|
9
|
+
export declare function InternalDataListFilters(): JSX.Element | null;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./DataListFilters";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DataListObject, DataListProps } from "../../DataList.types";
|
|
3
|
+
export declare const defaultValues: {
|
|
4
|
+
data: never[];
|
|
5
|
+
headers: {};
|
|
6
|
+
children: never[];
|
|
7
|
+
};
|
|
8
|
+
export declare const DataListContext: import("react").Context<DataListProps<DataListObject>>;
|
|
9
|
+
export declare function useDataListContext(): DataListProps<DataListObject>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./DataListContext";
|
package/dist/DataList/index.js
CHANGED
|
@@ -11,10 +11,11 @@ var InlineLabel = require('../InlineLabel-afd5fc6f.js');
|
|
|
11
11
|
var FormatDate = require('../FormatDate-70ea5b43.js');
|
|
12
12
|
var Heading = require('../Heading-a1191b15.js');
|
|
13
13
|
var Glimmer = require('../Glimmer-cfa92a88.js');
|
|
14
|
-
require('classnames');
|
|
14
|
+
var classnames = require('classnames');
|
|
15
15
|
require('react-router-dom');
|
|
16
16
|
require('@jobber/design');
|
|
17
17
|
require('../Typography-fd6f932a.js');
|
|
18
|
+
var useInView = require('@jobber/hooks/useInView');
|
|
18
19
|
require('../Icon-405a216c.js');
|
|
19
20
|
require('../tslib.es6-5b8768b7.js');
|
|
20
21
|
require('../Content-2ca1ffe1.js');
|
|
@@ -23,17 +24,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
23
24
|
|
|
24
25
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
25
26
|
var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
|
|
27
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
26
28
|
|
|
27
|
-
var css_248z$
|
|
28
|
-
var styles$
|
|
29
|
-
styleInject_es.styleInject(css_248z$
|
|
29
|
+
var css_248z$5 = ".TkdrExYnvcY- {\n -ms-flex: 1;\n flex: 1;\n}\n\n.IcAlZHoB4LI- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n margin-bottom: calc(16px / 2);\n margin-bottom: var(--space-small);\n}\n\n.Z8C7qJtq5Xc- {\n position: sticky;\n top: 0;\n z-index: 1;\n z-index: var(--elevation-base);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.Z8C7qJtq5Xc-:empty {\n display: none;\n}\n\n.jGHZZYZm1ZY- {\n padding: calc(16px / 2);\n padding: var(--space-small);\n border-bottom: calc(16px / 8) solid rgb(225, 225, 225);\n border-bottom: var(--border-thick) solid var(--color-border);\n}\n\n.Gj9kAGnfKco- > * {\n font-weight: 500;\n}\n\n.ise8kHCfhCY- {\n padding: calc(16px / 2);\n padding: var(--space-small);\n border-bottom: calc(16px / 16) solid rgb(225, 225, 225);\n border-bottom: var(--border-base) solid var(--color-border);\n}\n";
|
|
30
|
+
var styles$5 = {"wrapper":"TkdrExYnvcY-","titleContainer":"IcAlZHoB4LI-","header":"Z8C7qJtq5Xc-","headerTitles":"jGHZZYZm1ZY-","headerLabel":"Gj9kAGnfKco-","listItem":"ise8kHCfhCY-"};
|
|
31
|
+
styleInject_es.styleInject(css_248z$5);
|
|
30
32
|
|
|
31
|
-
var css_248z$
|
|
32
|
-
var styles$
|
|
33
|
-
styleInject_es.styleInject(css_248z$
|
|
33
|
+
var css_248z$4 = "._--dXJma0jX0- {\n display: -ms-flexbox;\n display: flex;\n height: 100%;\n box-sizing: border-box;\n padding: calc(16px * 1);\n padding: var(--space-base);\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-direction: column;\n flex-direction: column;\n row-gap: calc(16px * 1);\n row-gap: var(--space-base);\n -ms-flex-align: center;\n align-items: center;\n}\n";
|
|
34
|
+
var styles$4 = {"emptyStateWrapper":"_--dXJma0jX0-"};
|
|
35
|
+
styleInject_es.styleInject(css_248z$4);
|
|
34
36
|
|
|
35
37
|
function DataListEmptyState({ message, action }) {
|
|
36
|
-
return (React__default["default"].createElement("div", { className: styles$
|
|
38
|
+
return (React__default["default"].createElement("div", { className: styles$4.emptyStateWrapper },
|
|
37
39
|
React__default["default"].createElement(Text.Text, { align: "center" }, message),
|
|
38
40
|
action && (React__default["default"].createElement(Button.Button, Object.assign({}, Object.assign(Object.assign({}, action), { variation: "subtle" }))))));
|
|
39
41
|
}
|
|
@@ -58,9 +60,9 @@ const BREAKPOINT_SIZES = {
|
|
|
58
60
|
xl: 1440,
|
|
59
61
|
};
|
|
60
62
|
|
|
61
|
-
var css_248z$
|
|
62
|
-
var styles$
|
|
63
|
-
styleInject_es.styleInject(css_248z$
|
|
63
|
+
var css_248z$3 = ".WRV-UmQmPzo- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n z-index: 0;\n z-index: var(--elevation-default);\n overflow: hidden;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.liQeWCMenD0- {\n --overflow-bg: var(--color-white);\n\n display: -ms-flexbox;\n\n display: flex;\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-left: calc(16px * 1);\n padding-left: var(--space-base);\n background-image: linear-gradient(\n 90deg,\n transparent 0,\n rgba(255, 255, 255, 1) calc(16px * 1),\n rgba(255, 255, 255, 1) 100%\n );\n background-image: linear-gradient(\n 90deg,\n transparent 0,\n var(--overflow-bg) var(--space-base),\n var(--overflow-bg) 100%\n );\n -ms-flex-align: center;\n align-items: center;\n}\n";
|
|
64
|
+
var styles$3 = {"tags":"WRV-UmQmPzo-","tagCount":"liQeWCMenD0-"};
|
|
65
|
+
styleInject_es.styleInject(css_248z$3);
|
|
64
66
|
|
|
65
67
|
function DataListTags({ items }) {
|
|
66
68
|
const ref = React.useRef(null);
|
|
@@ -82,10 +84,10 @@ function DataListTags({ items }) {
|
|
|
82
84
|
elements === null || elements === void 0 ? void 0 : elements.forEach(element => observer.unobserve(element));
|
|
83
85
|
};
|
|
84
86
|
}, [items]);
|
|
85
|
-
return (React__default["default"].createElement("div", { className: styles$
|
|
87
|
+
return (React__default["default"].createElement("div", { className: styles$3.tags, ref: ref },
|
|
86
88
|
items.filter(Boolean).map((tag, index) => (React__default["default"].createElement("div", { key: tag, "data-tag-element": index },
|
|
87
89
|
React__default["default"].createElement(InlineLabel.InlineLabel, null, tag)))),
|
|
88
|
-
Boolean(visibleItems) && (React__default["default"].createElement("div", { className: styles$
|
|
90
|
+
Boolean(visibleItems) && (React__default["default"].createElement("div", { className: styles$3.tagCount },
|
|
89
91
|
React__default["default"].createElement(Text.Text, null,
|
|
90
92
|
"+",
|
|
91
93
|
visibleItems)))));
|
|
@@ -163,7 +165,7 @@ function generateListItemElements(data) {
|
|
|
163
165
|
* Generate the header elements with the default styling
|
|
164
166
|
*/
|
|
165
167
|
function generateHeaderElements(headers) {
|
|
166
|
-
const headerElements = Object.keys(headers).reduce((acc, key) => (Object.assign(Object.assign({}, acc), { [key]: (React__default["default"].createElement("div", { className: styles$
|
|
168
|
+
const headerElements = Object.keys(headers).reduce((acc, key) => (Object.assign(Object.assign({}, acc), { [key]: (React__default["default"].createElement("div", { className: styles$5.headerLabel },
|
|
167
169
|
React__default["default"].createElement(Text.Text, { variation: "subdued", maxLines: "single", size: "small" }, headers[key]))) })), {});
|
|
168
170
|
return isEmpty__default["default"](headerElements) ? undefined : headerElements;
|
|
169
171
|
}
|
|
@@ -196,9 +198,9 @@ function sortSizeProp(sizeProp) {
|
|
|
196
198
|
return sizeProp.sort((a, b) => BREAKPOINTS.indexOf(a) - BREAKPOINTS.indexOf(b));
|
|
197
199
|
}
|
|
198
200
|
|
|
199
|
-
var css_248z$
|
|
200
|
-
var styles$
|
|
201
|
-
styleInject_es.styleInject(css_248z$
|
|
201
|
+
var css_248z$2 = ".F56prQsXm3A- {\n min-width: 80px;\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n}\n";
|
|
202
|
+
var styles$2 = {"results":"F56prQsXm3A-"};
|
|
203
|
+
styleInject_es.styleInject(css_248z$2);
|
|
202
204
|
|
|
203
205
|
const DATALIST_TOTALCOUNT_TEST_ID = "ATL-DataList-TotalCount";
|
|
204
206
|
function DataListTotalCount({ totalCount, loading, }) {
|
|
@@ -214,12 +216,12 @@ function DataListTotalCount({ totalCount, loading, }) {
|
|
|
214
216
|
totalCount.toLocaleString(),
|
|
215
217
|
" results)"));
|
|
216
218
|
}
|
|
217
|
-
return (React__default["default"].createElement("div", { className: styles$
|
|
219
|
+
return (React__default["default"].createElement("div", { className: styles$2.results, "data-testid": DATALIST_TOTALCOUNT_TEST_ID }, output));
|
|
218
220
|
}
|
|
219
221
|
|
|
220
|
-
var css_248z = ".Rh--6fVpkm4- {\n padding: calc(16px / 2);\n padding: var(--space-small);\n}\n\n.zbS7UvpVoWI- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: calc(16px * 3);\n height: var(--space-largest);\n padding: calc(16px * 1) 0;\n padding: var(--space-base) 0;\n}\n";
|
|
221
|
-
var styles = {"loadingItem":"Rh--6fVpkm4-","mobileLoadingState":"zbS7UvpVoWI-"};
|
|
222
|
-
styleInject_es.styleInject(css_248z);
|
|
222
|
+
var css_248z$1 = ".Rh--6fVpkm4- {\n padding: calc(16px / 2);\n padding: var(--space-small);\n}\n\n.zbS7UvpVoWI- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: justify;\n justify-content: space-between;\n height: calc(16px * 3);\n height: var(--space-largest);\n padding: calc(16px * 1) 0;\n padding: var(--space-base) 0;\n}\n";
|
|
223
|
+
var styles$1 = {"loadingItem":"Rh--6fVpkm4-","mobileLoadingState":"zbS7UvpVoWI-"};
|
|
224
|
+
styleInject_es.styleInject(css_248z$1);
|
|
223
225
|
|
|
224
226
|
function DataListLayoutInternal({ layouts, renderLayout, mediaMatches, }) {
|
|
225
227
|
const sizePropsOfLayouts = layouts === null || layouts === void 0 ? void 0 : layouts.map(layout => layout.props.size || "xs");
|
|
@@ -257,7 +259,7 @@ function DataListItems({ layouts, mediaMatches, data, }) {
|
|
|
257
259
|
const elementData = generateListItemElements(data);
|
|
258
260
|
return (React__default["default"].createElement(DataListLayoutInternal, { layouts: layouts, mediaMatches: mediaMatches, renderLayout: layout => {
|
|
259
261
|
return (React__default["default"].createElement(React__default["default"].Fragment, null, elementData.map((child, i) => {
|
|
260
|
-
return (React__default["default"].createElement("div", { className: styles$
|
|
262
|
+
return (React__default["default"].createElement("div", { className: styles$5.listItem, key: `${data[i].id}` }, layout.props.children(child)));
|
|
261
263
|
})));
|
|
262
264
|
} }));
|
|
263
265
|
}
|
|
@@ -273,7 +275,7 @@ function DataListHeader({ layouts, mediaMatches, headerData, headerVisibility, }
|
|
|
273
275
|
if (!showHeader || !headerData)
|
|
274
276
|
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
275
277
|
return (React__default["default"].createElement(DataListLayoutInternal, { layouts: layouts, renderLayout: layout => {
|
|
276
|
-
return (React__default["default"].createElement("div", { className: styles$
|
|
278
|
+
return (React__default["default"].createElement("div", { className: styles$5.headerTitles }, layout.props.children(headerData)));
|
|
277
279
|
}, mediaMatches: mediaMatches }));
|
|
278
280
|
}
|
|
279
281
|
|
|
@@ -291,13 +293,13 @@ function DataListLoadingState({ loading, headers, layouts, mediaMatches, }) {
|
|
|
291
293
|
if (layout.props.size === "xs") {
|
|
292
294
|
return React__default["default"].createElement(LoadingStateXSBreakpoint, null);
|
|
293
295
|
}
|
|
294
|
-
return (React__default["default"].createElement(React__default["default"].Fragment, null, loadingElements.map((child, i) => (React__default["default"].createElement("div", { className: styles.loadingItem, key: i, "data-testid": DATALIST_LOADINGSTATE_ROW_TEST_ID }, layout.props.children(child))))));
|
|
296
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null, loadingElements.map((child, i) => (React__default["default"].createElement("div", { className: styles$1.loadingItem, key: i, "data-testid": DATALIST_LOADINGSTATE_ROW_TEST_ID }, layout.props.children(child))))));
|
|
295
297
|
} }));
|
|
296
298
|
}
|
|
297
299
|
function LoadingStateXSBreakpoint() {
|
|
298
300
|
const loadingData = new Array(LOADING_STATE_LIMIT_ITEMS).fill(0);
|
|
299
301
|
return (React__default["default"].createElement(React__default["default"].Fragment, null, loadingData.map((_, i) => {
|
|
300
|
-
return (React__default["default"].createElement("div", { className: styles.mobileLoadingState, key: i },
|
|
302
|
+
return (React__default["default"].createElement("div", { className: styles$1.mobileLoadingState, key: i },
|
|
301
303
|
React__default["default"].createElement(Glimmer.Glimmer.Text, null)));
|
|
302
304
|
})));
|
|
303
305
|
}
|
|
@@ -327,7 +329,53 @@ function breakpointToMediaQuery(breakpoint) {
|
|
|
327
329
|
return `(min-width: ${BREAKPOINT_SIZES[breakpoint]}px)`;
|
|
328
330
|
}
|
|
329
331
|
|
|
330
|
-
|
|
332
|
+
const defaultValues = {
|
|
333
|
+
data: [],
|
|
334
|
+
headers: {},
|
|
335
|
+
children: [],
|
|
336
|
+
};
|
|
337
|
+
const DataListContext = React.createContext(defaultValues);
|
|
338
|
+
function useDataListContext() {
|
|
339
|
+
return React.useContext(DataListContext);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
var css_248z = ".E-mG3prPSN8- {\n position: relative;\n}\n\n._0LGNoZxtqSE- {\n display: grid;\n padding: calc(16px / 2) 0;\n padding: var(--space-small) 0;\n overflow-x: auto;\n grid-auto-flow: column;\n grid-auto-columns: -webkit-max-content;\n grid-auto-columns: max-content;\n -ms-flex-align: center;\n align-items: center;\n}\n\n._0LGNoZxtqSE- > :nth-child(n + 3):not(:last-child) {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n}\n\n.LA3-gtgehrE- {\n visibility: hidden;\n}\n\n.fSPvawYWzZ8-::before,\n.ChfEJMPPVTk-::after {\n content: \"\";\n position: absolute;\n top: 0;\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: 100%;\n background-image: linear-gradient(\n to right,\n rgba(255, 255, 255, 1) 0%,\n rgba(255, 255, 255, 0) 100%\n );\n background-image: linear-gradient(\n var(--data-list-filters-overflow-shadow-angle, to right),\n var(--color-surface) 0%,\n rgba(var(--color-white--rgb), 0) 100%\n );\n pointer-events: none;\n}\n\n.fSPvawYWzZ8-::before {\n left: 0;\n}\n\n.ChfEJMPPVTk-::after {\n --data-list-filters-overflow-shadow-angle: to left;\n right: 0;\n}\n";
|
|
343
|
+
var styles = {"filters":"E-mG3prPSN8-","filterActions":"_0LGNoZxtqSE-","overflowTrigger":"LA3-gtgehrE-","overflowLeft":"fSPvawYWzZ8-","overflowRight":"ChfEJMPPVTk-"};
|
|
344
|
+
styleInject_es.styleInject(css_248z);
|
|
345
|
+
|
|
346
|
+
const CONTAINER_TEST_ID = "ATL-DataListFilters-Container";
|
|
347
|
+
|
|
348
|
+
// This component is meant to capture the props of the DataList.Filters
|
|
349
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
350
|
+
function DataListFilters(_) {
|
|
351
|
+
return null;
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Renders the DataList.Filters component
|
|
355
|
+
*/
|
|
356
|
+
function InternalDataListFilters() {
|
|
357
|
+
const { children: parentChildren } = useDataListContext();
|
|
358
|
+
const component = getCompoundComponent(parentChildren, DataListFilters);
|
|
359
|
+
const [leftRef, isLeftVisible] = useInView.useInView();
|
|
360
|
+
const [rightRef, isRightVisible] = useInView.useInView();
|
|
361
|
+
if (!component)
|
|
362
|
+
return null;
|
|
363
|
+
const { children } = component.props;
|
|
364
|
+
return (React__default["default"].createElement("div", { "data-testid": CONTAINER_TEST_ID, className: classnames__default["default"](styles.filters, {
|
|
365
|
+
[styles.overflowLeft]: !isLeftVisible,
|
|
366
|
+
[styles.overflowRight]: !isRightVisible,
|
|
367
|
+
}) },
|
|
368
|
+
React__default["default"].createElement("div", { className: styles.filterActions },
|
|
369
|
+
React__default["default"].createElement("span", { ref: leftRef, className: styles.overflowTrigger }),
|
|
370
|
+
children,
|
|
371
|
+
React__default["default"].createElement("span", { ref: rightRef, className: styles.overflowTrigger }))));
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
function DataList(props) {
|
|
375
|
+
return (React__default["default"].createElement(DataListContext.Provider, { value: props },
|
|
376
|
+
React__default["default"].createElement(InternalDataList, Object.assign({}, props))));
|
|
377
|
+
}
|
|
378
|
+
function InternalDataList({ data, headers, loading = false, filterApplied = false, children, title, totalCount, headerVisibility = { xs: true, sm: true, md: true, lg: true, xl: true }, }) {
|
|
331
379
|
const allLayouts = getCompoundComponents(children, DataListLayout);
|
|
332
380
|
const headerData = generateHeaderElements(headers);
|
|
333
381
|
const mediaMatches = useLayoutMediaQueries();
|
|
@@ -338,16 +386,19 @@ function DataList({ data, headers, loading = false, filterApplied = false, child
|
|
|
338
386
|
isFilterApplied,
|
|
339
387
|
setIsFilterApplied,
|
|
340
388
|
});
|
|
341
|
-
return (React__default["default"].createElement("div", { className: styles$
|
|
342
|
-
React__default["default"].createElement("div", { className: styles$
|
|
389
|
+
return (React__default["default"].createElement("div", { className: styles$5.wrapper },
|
|
390
|
+
React__default["default"].createElement("div", { className: styles$5.titleContainer },
|
|
343
391
|
title && React__default["default"].createElement(Heading.Heading, { level: 3 }, title),
|
|
344
392
|
React__default["default"].createElement(DataListTotalCount, { totalCount: totalCount, loading: loading })),
|
|
345
|
-
|
|
393
|
+
React__default["default"].createElement("div", { className: styles$5.header },
|
|
394
|
+
React__default["default"].createElement(InternalDataListFilters, null),
|
|
395
|
+
headerData && (React__default["default"].createElement(DataListHeader, { layouts: allLayouts, headerData: headerData, headerVisibility: headerVisibility, mediaMatches: mediaMatches }))),
|
|
346
396
|
React__default["default"].createElement(DataListLoadingState, { loading: loading, headers: headers, layouts: allLayouts, mediaMatches: mediaMatches }),
|
|
347
397
|
!loading && (React__default["default"].createElement(DataListItems, { data: data, layouts: allLayouts, mediaMatches: mediaMatches })),
|
|
348
398
|
showEmptyState && EmptyStateComponent));
|
|
349
399
|
}
|
|
350
400
|
DataList.Layout = DataListLayout;
|
|
351
401
|
DataList.EmptyState = DataListEmptyState;
|
|
402
|
+
DataList.Filters = DataListFilters;
|
|
352
403
|
|
|
353
404
|
exports.DataList = DataList;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.30.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@jobber/design": "^0.44.4",
|
|
23
23
|
"@jobber/formatters": "*",
|
|
24
|
-
"@jobber/hooks": "^2.
|
|
24
|
+
"@jobber/hooks": "^2.2.0",
|
|
25
25
|
"@popperjs/core": "^2.0.6",
|
|
26
26
|
"@std-proposal/temporal": "0.0.1",
|
|
27
27
|
"@tanstack/react-table": "8.5.13",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
"> 1%",
|
|
85
85
|
"IE 10"
|
|
86
86
|
],
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "3e19cd88bd918e5e8a6c047bc5b3683d60c31451"
|
|
88
88
|
}
|