@jobber/components 4.84.0 → 4.84.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.
@@ -189,7 +189,6 @@ export interface DataListContextProps<T extends DataListObject> extends DataList
189
189
  readonly itemActionComponent?: ReactElement<DataListItemActionsProps<T>>;
190
190
  readonly bulkActionsComponent?: ReactElement<DataListItemActionsProps<T>>;
191
191
  readonly layoutBreakpoints: Breakpoints[];
192
- readonly registerLayoutBreakpoints: (breakpoint: Breakpoints) => void;
193
192
  readonly layouts: {
194
193
  readonly [Breakpoint in Breakpoints]?: LayoutRenderer<T>;
195
194
  };
@@ -85,7 +85,6 @@ const defaultValues$1 = {
85
85
  children: [],
86
86
  selected: [],
87
87
  layoutBreakpoints: [],
88
- registerLayoutBreakpoints: noop__default["default"],
89
88
  layouts: {
90
89
  xs: children => React__default["default"].createElement(React__default["default"].Fragment, null, children),
91
90
  sm: children => React__default["default"].createElement(React__default["default"].Fragment, null, children),
@@ -766,17 +765,14 @@ function DataListItems({ size = "xs", }) {
766
765
  }
767
766
 
768
767
  function DataListLayout({ children, size = "xs", }) {
769
- const { layoutBreakpoints, registerLayout, registerLayoutBreakpoints, loadingState, } = useDataListContext();
770
- const breakpoints = useResponsiveSizing();
771
- React.useEffect(() => {
772
- registerLayoutBreakpoints(size);
773
- }, [size]);
768
+ const { registerLayout, loadingState, layouts } = useDataListContext();
769
+ const { activeBreakpoint } = useActiveLayout();
774
770
  React.useEffect(() => {
771
+ if (layouts[size])
772
+ return;
775
773
  registerLayout(size, children);
776
774
  }, [size, children]);
777
- const sizeIndex = layoutBreakpoints.indexOf(size);
778
- const nextAvailableSize = layoutBreakpoints[sizeIndex + 1];
779
- const shouldRenderList = breakpoints[size] && !breakpoints[nextAvailableSize];
775
+ const shouldRenderList = size === activeBreakpoint;
780
776
  if (loadingState !== "initial" && shouldRenderList) {
781
777
  return React__default["default"].createElement(DataListItems, { size: size });
782
778
  }
@@ -1224,8 +1220,8 @@ function InternalDataListStatusBar() {
1224
1220
 
1225
1221
  function DataList(_a) {
1226
1222
  var { selected = [], sorting } = _a, props = tslib_es6.__rest(_a, ["selected", "sorting"]);
1227
- const [layoutBreakpoints, setLayoutBreakpoints] = React.useState([]);
1228
1223
  const [layouts, setLayouts] = React.useState({});
1224
+ const layoutBreakpoints = React.useMemo(() => sortBreakpoints(Object.keys(layouts)), [layouts]);
1229
1225
  const searchComponent = getCompoundComponent(props.children, DataListSearch);
1230
1226
  const filterComponent = getCompoundComponent(props.children, DataListFilters);
1231
1227
  const layoutComponents = getCompoundComponents(props.children, DataListLayout);
@@ -1241,15 +1237,11 @@ function DataList(_a) {
1241
1237
  itemActionComponent,
1242
1238
  bulkActionsComponent,
1243
1239
  layoutBreakpoints,
1244
- registerLayoutBreakpoints,
1245
1240
  layouts,
1246
1241
  registerLayout }, props), { selected,
1247
1242
  // T !== DataListObject
1248
1243
  sorting: sorting }) },
1249
1244
  React__default["default"].createElement(InternalDataList, { shouldRenderStickyHeader: shouldRenderStickyHeader })));
1250
- function registerLayoutBreakpoints(size) {
1251
- setLayoutBreakpoints(prev => sortBreakpoints([...prev, size]));
1252
- }
1253
1245
  function registerLayout(size, children) {
1254
1246
  setLayouts(prev => (Object.assign(Object.assign({}, prev), { [size]: children })));
1255
1247
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "4.84.0",
3
+ "version": "4.84.1",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -80,5 +80,5 @@
80
80
  "> 1%",
81
81
  "IE 10"
82
82
  ],
83
- "gitHead": "4780cde621bb770d24f6bd324ee868b302afc579"
83
+ "gitHead": "825421391c3feb7c30550303949e6f6f0c36535a"
84
84
  }