Skip to content

Commit 91365be

Browse files
chore(release): 1.4.0 [skip ci]
# [1.4.0](v1.3.9...v1.4.0) (2023-04-13) ### Features * add OrderedGridProps component ([80fe50c](80fe50c))
1 parent 80fe50c commit 91365be

File tree

9 files changed

+141
-4
lines changed

9 files changed

+141
-4
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# [1.4.0](https://github.com/ocadotechnology/codeforlife-package-javascript/compare/v1.3.9...v1.4.0) (2023-04-13)
2+
3+
4+
### Features
5+
6+
* add OrderedGridProps component ([80fe50c](https://github.com/ocadotechnology/codeforlife-package-javascript/commit/80fe50c525895962ef6134b05cb2b7de43ac4425))
7+
18
## [1.3.9](https://github.com/ocadotechnology/codeforlife-package-javascript/compare/v1.3.8...v1.3.9) (2023-04-12)
29

310

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import React from 'react';
2+
import { Grid2Props } from '@mui/material';
3+
interface ItemProps extends Omit<Grid2Props, ('key' | 'order' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xsOffset' | 'smOffset' | 'mdOffset' | 'lgOffset' | 'xlOffset')> {
4+
}
5+
interface GlobalItemProps extends ItemProps {
6+
xs: number;
7+
sm: number;
8+
md: number;
9+
lg: number;
10+
xl: number;
11+
}
12+
export interface OrderedGridProps {
13+
rows: Array<Array<{
14+
element: React.ReactElement;
15+
itemProps?: ItemProps;
16+
}>>;
17+
containerProps?: Omit<Grid2Props, 'container'>;
18+
globalItemProps: GlobalItemProps;
19+
}
20+
declare const OrderedGrid: React.FC<OrderedGridProps>;
21+
export default OrderedGrid;

lib/cjs/components/OrderedGrid.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
"use strict";
2+
var __assign = (this && this.__assign) || function () {
3+
__assign = Object.assign || function(t) {
4+
for (var s, i = 1, n = arguments.length; i < n; i++) {
5+
s = arguments[i];
6+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7+
t[p] = s[p];
8+
}
9+
return t;
10+
};
11+
return __assign.apply(this, arguments);
12+
};
13+
var __importDefault = (this && this.__importDefault) || function (mod) {
14+
return (mod && mod.__esModule) ? mod : { "default": mod };
15+
};
16+
Object.defineProperty(exports, "__esModule", { value: true });
17+
var react_1 = __importDefault(require("react"));
18+
var material_1 = require("@mui/material");
19+
var OrderedGrid = function (_a) {
20+
var _b;
21+
var rows = _a.rows, _c = _a.containerProps, containerProps = _c === void 0 ? {} : _c, globalItemProps = _a.globalItemProps;
22+
var columns = Number((_b = containerProps.columns) !== null && _b !== void 0 ? _b : 12);
23+
var getItemsPerRow = function (size) { return Math.floor(columns / size); };
24+
var getOrder = function (rowIndex, itemIndex, size) { return ((Math.floor(itemIndex / getItemsPerRow(size)) * rows.length) + rowIndex); };
25+
var getOffset = function (itemIndex, size) {
26+
var itemsOnLastRow = rows[0].length % getItemsPerRow(size);
27+
return itemsOnLastRow !== 0 && itemIndex === rows[0].length - 1
28+
? (columns - (itemsOnLastRow * size)) / 2
29+
: 0;
30+
};
31+
return (react_1.default.createElement(material_1.Unstable_Grid2, __assign({ container: true }, containerProps), rows.map(function (row, rowIndex) {
32+
return row.map(function (_a, itemIndex) {
33+
var element = _a.element, _b = _a.itemProps, itemProps = _b === void 0 ? {} : _b;
34+
return (react_1.default.createElement(material_1.Unstable_Grid2, __assign({ key: "".concat(rowIndex, "-").concat(itemIndex), order: {
35+
xs: getOrder(rowIndex, itemIndex, globalItemProps.xs),
36+
sm: getOrder(rowIndex, itemIndex, globalItemProps.sm),
37+
md: getOrder(rowIndex, itemIndex, globalItemProps.md),
38+
lg: getOrder(rowIndex, itemIndex, globalItemProps.lg),
39+
xl: getOrder(rowIndex, itemIndex, globalItemProps.xl)
40+
}, xsOffset: getOffset(itemIndex, globalItemProps.xs), smOffset: getOffset(itemIndex, globalItemProps.sm), mdOffset: getOffset(itemIndex, globalItemProps.md), lgOffset: getOffset(itemIndex, globalItemProps.lg), xlOffset: getOffset(itemIndex, globalItemProps.xl) }, globalItemProps, itemProps), element));
41+
});
42+
})));
43+
};
44+
exports.default = OrderedGrid;

lib/cjs/components/index.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import ElevatedAppBar, { ElevatedAppBarProps } from './ElevatedAppBar';
22
import Image, { ImageProps } from './Image';
33
import ItemizedList, { ItemizedListProps } from './ItemizedList';
4-
export { ElevatedAppBar, type ElevatedAppBarProps, Image, type ImageProps, ItemizedList, type ItemizedListProps };
4+
import OrderedGrid, { OrderedGridProps } from './OrderedGrid';
5+
export { ElevatedAppBar, type ElevatedAppBarProps, Image, type ImageProps, ItemizedList, type ItemizedListProps, OrderedGrid, type OrderedGridProps };

lib/cjs/components/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
33
return (mod && mod.__esModule) ? mod : { "default": mod };
44
};
55
Object.defineProperty(exports, "__esModule", { value: true });
6-
exports.ItemizedList = exports.Image = exports.ElevatedAppBar = void 0;
6+
exports.OrderedGrid = exports.ItemizedList = exports.Image = exports.ElevatedAppBar = void 0;
77
var ElevatedAppBar_1 = __importDefault(require("./ElevatedAppBar"));
88
exports.ElevatedAppBar = ElevatedAppBar_1.default;
99
var Image_1 = __importDefault(require("./Image"));
1010
exports.Image = Image_1.default;
1111
var ItemizedList_1 = __importDefault(require("./ItemizedList"));
1212
exports.ItemizedList = ItemizedList_1.default;
13+
var OrderedGrid_1 = __importDefault(require("./OrderedGrid"));
14+
exports.OrderedGrid = OrderedGrid_1.default;
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import React from 'react';
2+
import { Grid2Props } from '@mui/material';
3+
interface ItemProps extends Omit<Grid2Props, ('key' | 'order' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xsOffset' | 'smOffset' | 'mdOffset' | 'lgOffset' | 'xlOffset')> {
4+
}
5+
interface GlobalItemProps extends ItemProps {
6+
xs: number;
7+
sm: number;
8+
md: number;
9+
lg: number;
10+
xl: number;
11+
}
12+
export interface OrderedGridProps {
13+
rows: Array<Array<{
14+
element: React.ReactElement;
15+
itemProps?: ItemProps;
16+
}>>;
17+
containerProps?: Omit<Grid2Props, 'container'>;
18+
globalItemProps: GlobalItemProps;
19+
}
20+
declare const OrderedGrid: React.FC<OrderedGridProps>;
21+
export default OrderedGrid;

lib/esm/components/OrderedGrid.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
var __assign = (this && this.__assign) || function () {
2+
__assign = Object.assign || function(t) {
3+
for (var s, i = 1, n = arguments.length; i < n; i++) {
4+
s = arguments[i];
5+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6+
t[p] = s[p];
7+
}
8+
return t;
9+
};
10+
return __assign.apply(this, arguments);
11+
};
12+
import React from 'react';
13+
import { Unstable_Grid2 as Grid } from '@mui/material';
14+
var OrderedGrid = function (_a) {
15+
var _b;
16+
var rows = _a.rows, _c = _a.containerProps, containerProps = _c === void 0 ? {} : _c, globalItemProps = _a.globalItemProps;
17+
var columns = Number((_b = containerProps.columns) !== null && _b !== void 0 ? _b : 12);
18+
var getItemsPerRow = function (size) { return Math.floor(columns / size); };
19+
var getOrder = function (rowIndex, itemIndex, size) { return ((Math.floor(itemIndex / getItemsPerRow(size)) * rows.length) + rowIndex); };
20+
var getOffset = function (itemIndex, size) {
21+
var itemsOnLastRow = rows[0].length % getItemsPerRow(size);
22+
return itemsOnLastRow !== 0 && itemIndex === rows[0].length - 1
23+
? (columns - (itemsOnLastRow * size)) / 2
24+
: 0;
25+
};
26+
return (React.createElement(Grid, __assign({ container: true }, containerProps), rows.map(function (row, rowIndex) {
27+
return row.map(function (_a, itemIndex) {
28+
var element = _a.element, _b = _a.itemProps, itemProps = _b === void 0 ? {} : _b;
29+
return (React.createElement(Grid, __assign({ key: "".concat(rowIndex, "-").concat(itemIndex), order: {
30+
xs: getOrder(rowIndex, itemIndex, globalItemProps.xs),
31+
sm: getOrder(rowIndex, itemIndex, globalItemProps.sm),
32+
md: getOrder(rowIndex, itemIndex, globalItemProps.md),
33+
lg: getOrder(rowIndex, itemIndex, globalItemProps.lg),
34+
xl: getOrder(rowIndex, itemIndex, globalItemProps.xl)
35+
}, xsOffset: getOffset(itemIndex, globalItemProps.xs), smOffset: getOffset(itemIndex, globalItemProps.sm), mdOffset: getOffset(itemIndex, globalItemProps.md), lgOffset: getOffset(itemIndex, globalItemProps.lg), xlOffset: getOffset(itemIndex, globalItemProps.xl) }, globalItemProps, itemProps), element));
36+
});
37+
})));
38+
};
39+
export default OrderedGrid;

lib/esm/components/index.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import ElevatedAppBar, { ElevatedAppBarProps } from './ElevatedAppBar';
22
import Image, { ImageProps } from './Image';
33
import ItemizedList, { ItemizedListProps } from './ItemizedList';
4-
export { ElevatedAppBar, type ElevatedAppBarProps, Image, type ImageProps, ItemizedList, type ItemizedListProps };
4+
import OrderedGrid, { OrderedGridProps } from './OrderedGrid';
5+
export { ElevatedAppBar, type ElevatedAppBarProps, Image, type ImageProps, ItemizedList, type ItemizedListProps, OrderedGrid, type OrderedGridProps };

lib/esm/components/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import ElevatedAppBar from './ElevatedAppBar';
22
import Image from './Image';
33
import ItemizedList from './ItemizedList';
4-
export { ElevatedAppBar, Image, ItemizedList };
4+
import OrderedGrid from './OrderedGrid';
5+
export { ElevatedAppBar, Image, ItemizedList, OrderedGrid };

0 commit comments

Comments
 (0)