@jobber/components 4.79.2 → 4.80.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.
|
@@ -15,6 +15,7 @@ export declare const SEARCH_DEBOUNCE_DELAY: number;
|
|
|
15
15
|
export declare const DATA_LIST_FILTERING_SPINNER_TEST_ID = "ATL-DataList-filteringSpinner";
|
|
16
16
|
export declare const DATA_LIST_LOADING_MORE_SPINNER_TEST_ID = "ATL-DataList-loadingMoreSpinner";
|
|
17
17
|
export declare const DATA_LOAD_MORE_TEST_ID = "ATL-DataList-LoadMore-trigger";
|
|
18
|
+
export declare const DATA_LIST_STICKY_HEADER_TEST_ID = "ATL-DataList-stickyHeader";
|
|
18
19
|
export declare const TRANSITION_DURATION_IN_SECONDS: number;
|
|
19
20
|
export declare const TRANSITION_DELAY_IN_SECONDS: number;
|
|
20
21
|
export {};
|
package/dist/DataList/index.js
CHANGED
|
@@ -145,6 +145,7 @@ const SEARCH_DEBOUNCE_DELAY = design.tokens["timing-slowest"];
|
|
|
145
145
|
const DATA_LIST_FILTERING_SPINNER_TEST_ID = "ATL-DataList-filteringSpinner";
|
|
146
146
|
const DATA_LIST_LOADING_MORE_SPINNER_TEST_ID = "ATL-DataList-loadingMoreSpinner";
|
|
147
147
|
const DATA_LOAD_MORE_TEST_ID = "ATL-DataList-LoadMore-trigger";
|
|
148
|
+
const DATA_LIST_STICKY_HEADER_TEST_ID = "ATL-DataList-stickyHeader";
|
|
148
149
|
const TRANSITION_DURATION_IN_SECONDS = design.tokens["timing-base"] / 1000;
|
|
149
150
|
const TRANSITION_DELAY_IN_SECONDS = design.tokens["timing-quick"] / 1000;
|
|
150
151
|
|
|
@@ -1017,7 +1018,7 @@ function DataListStickyHeader({ children }) {
|
|
|
1017
1018
|
ref.current && observer.unobserve(ref.current);
|
|
1018
1019
|
};
|
|
1019
1020
|
}, [handleObserver, ref.current]);
|
|
1020
|
-
return (React__default["default"].createElement("div", { ref: ref, className: classnames__default["default"](styles$5.header, { [styles$5.stuck]: isStuck }) }, children));
|
|
1021
|
+
return (React__default["default"].createElement("div", { "data-testid": DATA_LIST_STICKY_HEADER_TEST_ID, ref: ref, className: classnames__default["default"](styles$5.header, { [styles$5.stuck]: isStuck }) }, children));
|
|
1021
1022
|
}
|
|
1022
1023
|
|
|
1023
1024
|
var css_248z$4 = ".tj0MOMhLEEY- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.SaPMOnvw-3c- {\n --transition-properties: var(--timing-base) ease-in-out;\n --button-offset: calc(var(--space-largest) - var(--space-smaller));\n\n position: absolute;\n top: 50%;\n right: calc((16px * 3) - (16px / 4));\n right: calc(calc(16px * 3) - calc(16px / 4));\n right: var(--button-offset);\n visibility: hidden;\n width: 0;\n padding: calc(16px / 4) 0;\n padding: var(--space-smaller) 0;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n opacity: 0;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n transition: opacity 200ms ease-in-out,\n width 200ms ease-in-out, visibility 200ms ease-in-out;\n transition: opacity var(--transition-properties),\n width var(--transition-properties), visibility var(--transition-properties);\n}\n\n._3S1-91v2SYI- {\n visibility: visible;\n width: calc(100% - var(--button-offset));\n opacity: 1;\n}\n\n@media (min-width: 768px) {\n\n.SaPMOnvw-3c-,\n._3S1-91v2SYI- {\n position: static;\n visibility: visible;\n width: auto;\n padding: 0;\n background-color: transparent;\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n transition: none;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n.SaPMOnvw-3c-,\n._3S1-91v2SYI- {\n position: static;\n visibility: visible;\n width: auto;\n padding: 0;\n background-color: transparent;\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n transition: none;\n}\n }\n\n._9GlBktsUALw- {\n display: block;\n}\n\n@media (min-width: 768px) {\n\n._9GlBktsUALw- {\n display: none;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n._9GlBktsUALw- {\n display: none;\n}\n }\n\n/*\n * No Filters Styling\n *\n * When there are no filters, the search input is always visible.\n * ------------------------------------------------------------------------- */\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n position: static;\n visibility: visible;\n width: auto;\n opacity: 1;\n transition: none;\n}\n\n@media (min-width: 768px) {\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n max-width: 30%;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n max-width: 30%;\n}\n }\n\n._3Pjrt42x454- ._9GlBktsUALw- {\n display: none;\n}\n";
|
|
@@ -1231,6 +1232,7 @@ function DataList(_a) {
|
|
|
1231
1232
|
const emptyStateComponents = getCompoundComponents(props.children, DataListEmptyState);
|
|
1232
1233
|
const itemActionComponent = getCompoundComponent(props.children, DataListItemActions);
|
|
1233
1234
|
const bulkActionsComponent = getCompoundComponent(props.children, DataListBulkActions);
|
|
1235
|
+
const shouldRenderStickyHeader = !!filterComponent || !!searchComponent;
|
|
1234
1236
|
return (React__default["default"].createElement(DataListContext.Provider, { value: Object.assign(Object.assign({ searchComponent,
|
|
1235
1237
|
filterComponent,
|
|
1236
1238
|
layoutComponents,
|
|
@@ -1243,7 +1245,7 @@ function DataList(_a) {
|
|
|
1243
1245
|
registerLayout }, props), { selected,
|
|
1244
1246
|
// T !== DataListObject
|
|
1245
1247
|
sorting: sorting }) },
|
|
1246
|
-
React__default["default"].createElement(InternalDataList,
|
|
1248
|
+
React__default["default"].createElement(InternalDataList, { shouldRenderStickyHeader: shouldRenderStickyHeader })));
|
|
1247
1249
|
function registerLayoutBreakpoints(size) {
|
|
1248
1250
|
setLayoutBreakpoints(prev => sortBreakpoints([...prev, size]));
|
|
1249
1251
|
}
|
|
@@ -1251,7 +1253,7 @@ function DataList(_a) {
|
|
|
1251
1253
|
setLayouts(prev => (Object.assign(Object.assign({}, prev), { [size]: children })));
|
|
1252
1254
|
}
|
|
1253
1255
|
}
|
|
1254
|
-
function InternalDataList() {
|
|
1256
|
+
function InternalDataList({ shouldRenderStickyHeader, }) {
|
|
1255
1257
|
const { data, title, totalCount, loadingState = "none", layoutComponents, } = useDataListContext();
|
|
1256
1258
|
const backToTopRef = React.useRef(null);
|
|
1257
1259
|
const initialLoading = loadingState === "initial";
|
|
@@ -1262,12 +1264,12 @@ function InternalDataList() {
|
|
|
1262
1264
|
title && React__default["default"].createElement(Heading.Heading, { level: 3 }, title),
|
|
1263
1265
|
React__default["default"].createElement(DataListTotalCount, { totalCount: totalCount, loading: initialLoading })),
|
|
1264
1266
|
React__default["default"].createElement("div", { ref: backToTopRef }),
|
|
1265
|
-
React__default["default"].createElement(DataListStickyHeader, null,
|
|
1267
|
+
shouldRenderStickyHeader && (React__default["default"].createElement(DataListStickyHeader, null,
|
|
1266
1268
|
React__default["default"].createElement("div", { className: styles$g.headerFilters },
|
|
1267
1269
|
React__default["default"].createElement(InternalDataListFilters, null),
|
|
1268
1270
|
React__default["default"].createElement(InternalDataListSearch, null)),
|
|
1269
1271
|
React__default["default"].createElement(InternalDataListStatusBar, null),
|
|
1270
|
-
React__default["default"].createElement(DataListHeader, null)),
|
|
1272
|
+
React__default["default"].createElement(DataListHeader, null))),
|
|
1271
1273
|
initialLoading && React__default["default"].createElement(DataListLoadingState, null),
|
|
1272
1274
|
showEmptyState && React__default["default"].createElement(InternalDataListEmptyState, null),
|
|
1273
1275
|
layoutComponents,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.80.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -84,5 +84,5 @@
|
|
|
84
84
|
"> 1%",
|
|
85
85
|
"IE 10"
|
|
86
86
|
],
|
|
87
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "27d2f51f40be024878597b432bed1ce7602b1721"
|
|
88
88
|
}
|