@jobber/components 4.78.4 → 4.78.5-JOB-86464.6

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 {};
@@ -144,6 +144,7 @@ const SEARCH_DEBOUNCE_DELAY = design.tokens["timing-slowest"];
144
144
  const DATA_LIST_FILTERING_SPINNER_TEST_ID = "ATL-DataList-filteringSpinner";
145
145
  const DATA_LIST_LOADING_MORE_SPINNER_TEST_ID = "ATL-DataList-loadingMoreSpinner";
146
146
  const DATA_LOAD_MORE_TEST_ID = "ATL-DataList-LoadMore-trigger";
147
+ const DATA_LIST_STICKY_HEADER_TEST_ID = "ATL-DataList-stickyHeader";
147
148
  const TRANSITION_DURATION_IN_SECONDS = design.tokens["timing-base"] / 1000;
148
149
  const TRANSITION_DELAY_IN_SECONDS = design.tokens["timing-quick"] / 1000;
149
150
 
@@ -1016,7 +1017,7 @@ function DataListStickyHeader({ children }) {
1016
1017
  ref.current && observer.unobserve(ref.current);
1017
1018
  };
1018
1019
  }, [handleObserver, ref.current]);
1019
- return (React__default["default"].createElement("div", { ref: ref, className: classnames__default["default"](styles$5.header, { [styles$5.stuck]: isStuck }) }, children));
1020
+ 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));
1020
1021
  }
1021
1022
 
1022
1023
  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";
@@ -1230,6 +1231,7 @@ function DataList(_a) {
1230
1231
  const emptyStateComponents = getCompoundComponents(props.children, DataListEmptyState);
1231
1232
  const itemActionComponent = getCompoundComponent(props.children, DataListItemActions);
1232
1233
  const bulkActionsComponent = getCompoundComponent(props.children, DataListBulkActions);
1234
+ const shouldRenderStickyHeader = !!filterComponent || !!searchComponent;
1233
1235
  return (React__default["default"].createElement(DataListContext.Provider, { value: Object.assign(Object.assign({ searchComponent,
1234
1236
  filterComponent,
1235
1237
  layoutComponents,
@@ -1242,7 +1244,7 @@ function DataList(_a) {
1242
1244
  registerLayout }, props), { selected,
1243
1245
  // T !== DataListObject
1244
1246
  sorting: sorting }) },
1245
- React__default["default"].createElement(InternalDataList, null)));
1247
+ React__default["default"].createElement(InternalDataList, { shouldRenderStickyHeader: shouldRenderStickyHeader })));
1246
1248
  function registerLayoutBreakpoints(size) {
1247
1249
  setLayoutBreakpoints(prev => sortBreakpoints([...prev, size]));
1248
1250
  }
@@ -1250,7 +1252,7 @@ function DataList(_a) {
1250
1252
  setLayouts(prev => (Object.assign(Object.assign({}, prev), { [size]: children })));
1251
1253
  }
1252
1254
  }
1253
- function InternalDataList() {
1255
+ function InternalDataList({ shouldRenderStickyHeader, }) {
1254
1256
  const { data, title, totalCount, loadingState = "none", layoutComponents, } = useDataListContext();
1255
1257
  const backToTopRef = React.useRef(null);
1256
1258
  const initialLoading = loadingState === "initial";
@@ -1261,12 +1263,12 @@ function InternalDataList() {
1261
1263
  title && React__default["default"].createElement(Heading.Heading, { level: 3 }, title),
1262
1264
  React__default["default"].createElement(DataListTotalCount, { totalCount: totalCount, loading: initialLoading })),
1263
1265
  React__default["default"].createElement("div", { ref: backToTopRef }),
1264
- React__default["default"].createElement(DataListStickyHeader, null,
1266
+ shouldRenderStickyHeader && (React__default["default"].createElement(DataListStickyHeader, null,
1265
1267
  React__default["default"].createElement("div", { className: styles$g.headerFilters },
1266
1268
  React__default["default"].createElement(InternalDataListFilters, null),
1267
1269
  React__default["default"].createElement(InternalDataListSearch, null)),
1268
1270
  React__default["default"].createElement(InternalDataListStatusBar, null),
1269
- React__default["default"].createElement(DataListHeader, null)),
1271
+ React__default["default"].createElement(DataListHeader, null))),
1270
1272
  initialLoading && React__default["default"].createElement(DataListLoadingState, null),
1271
1273
  showEmptyState && React__default["default"].createElement(InternalDataListEmptyState, null),
1272
1274
  layoutComponents,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "4.78.4",
3
+ "version": "4.78.5-JOB-86464.6+7e7ac9fa",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "@jobber/design": "^0.53.0",
23
- "@jobber/formatters": "*",
23
+ "@jobber/formatters": "^0.2.2",
24
24
  "@jobber/hooks": "^2.8.2",
25
25
  "@popperjs/core": "^2.0.6",
26
26
  "@std-proposal/temporal": "0.0.1",
@@ -84,5 +84,5 @@
84
84
  "> 1%",
85
85
  "IE 10"
86
86
  ],
87
- "gitHead": "f1a0ac8ba5499c0d892c534a5916c2c799e85ad7"
87
+ "gitHead": "7e7ac9fa0bde548e99b05903093a6de447884f63"
88
88
  }