@nice-digital/nds-grid 4.0.2-alpha.0 → 4.0.3

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/es/Grid.d.ts CHANGED
@@ -3,22 +3,22 @@ import { GridItem } from "./GridItem";
3
3
  import "../scss/grid.scss";
4
4
  export { GridItem };
5
5
  declare type ValidGridItemProps = React.ReactElement<typeof GridItem> | boolean | null | undefined;
6
- export declare enum HorizontalAlignmentEnum {
7
- left = "left",
8
- center = "center",
9
- right = "right"
10
- }
11
- export declare enum VerticalAlignmentEnum {
12
- top = "top",
13
- middle = "middle",
14
- bottom = "bottom"
15
- }
16
- export declare enum GutterEnum {
17
- standard = "standard",
18
- none = "none",
19
- compact = "compact",
20
- loose = "loose"
21
- }
6
+ export declare const gutterTypes: {
7
+ readonly standard: "standard";
8
+ readonly none: "none";
9
+ readonly compact: "compact";
10
+ readonly loose: "loose";
11
+ };
12
+ export declare const horizontalAlignmentTypes: {
13
+ readonly left: "left";
14
+ readonly center: "center";
15
+ readonly right: "right";
16
+ };
17
+ export declare const verticalAlignmentTypes: {
18
+ readonly top: "top";
19
+ readonly middle: "middle";
20
+ readonly bottom: "bottom";
21
+ };
22
22
  export interface GridProps {
23
23
  /** Grid item elements */
24
24
  children: ValidGridItemProps[] | ValidGridItemProps;
@@ -27,11 +27,11 @@ export interface GridProps {
27
27
  /** Make children of grid items ahve 100% height to fill the vertical space */
28
28
  equalHeight?: boolean;
29
29
  /** The horizontal alignment of items within the grid, when there are empty columns. Leave blank to default to left. */
30
- horizontalAlignment?: HorizontalAlignmentEnum;
30
+ horizontalAlignment?: keyof typeof horizontalAlignmentTypes;
31
31
  /** The vertical alignment of items within the grid. Leave blank to default to top. */
32
- verticalAlignment?: VerticalAlignmentEnum;
32
+ verticalAlignment?: keyof typeof verticalAlignmentTypes;
33
33
  /** The gap between grid cells. Leave blank to default to the standard gutter. */
34
- gutter?: GutterEnum;
34
+ gutter?: keyof typeof gutterTypes;
35
35
  /** Debug puts a coloured outline around the grid and its cells */
36
36
  debug?: boolean;
37
37
  /** Additional classes to add to the grid, for example mt--e */
@@ -39,4 +39,22 @@ export interface GridProps {
39
39
  /** The type of DOM node to render for the grid. Leave blank to default to div. */
40
40
  elementType?: React.ElementType;
41
41
  }
42
- export declare const Grid: React.FC<GridProps>;
42
+ export declare const Grid: {
43
+ (props: GridProps): JSX.Element;
44
+ gutter: {
45
+ readonly standard: "standard";
46
+ readonly none: "none";
47
+ readonly compact: "compact";
48
+ readonly loose: "loose";
49
+ };
50
+ horizontalAlignment: {
51
+ readonly left: "left";
52
+ readonly center: "center";
53
+ readonly right: "right";
54
+ };
55
+ verticalAlignment: {
56
+ readonly top: "top";
57
+ readonly middle: "middle";
58
+ readonly bottom: "bottom";
59
+ };
60
+ };
package/es/Grid.js CHANGED
@@ -14,44 +14,41 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Grid = exports.GutterEnum = exports.VerticalAlignmentEnum = exports.HorizontalAlignmentEnum = exports.GridItem = void 0;
17
+ exports.Grid = exports.verticalAlignmentTypes = exports.horizontalAlignmentTypes = exports.gutterTypes = exports.GridItem = void 0;
18
18
  const jsx_runtime_1 = require("react/jsx-runtime");
19
19
  const classnames_1 = __importDefault(require("classnames"));
20
20
  const GridItem_1 = require("./GridItem");
21
21
  Object.defineProperty(exports, "GridItem", { enumerable: true, get: function () { return GridItem_1.GridItem; } });
22
22
  require("../scss/grid.scss");
23
- var HorizontalAlignmentEnum;
24
- (function (HorizontalAlignmentEnum) {
25
- HorizontalAlignmentEnum["left"] = "left";
26
- HorizontalAlignmentEnum["center"] = "center";
27
- HorizontalAlignmentEnum["right"] = "right";
28
- })(HorizontalAlignmentEnum = exports.HorizontalAlignmentEnum || (exports.HorizontalAlignmentEnum = {}));
29
- var VerticalAlignmentEnum;
30
- (function (VerticalAlignmentEnum) {
31
- VerticalAlignmentEnum["top"] = "top";
32
- VerticalAlignmentEnum["middle"] = "middle";
33
- VerticalAlignmentEnum["bottom"] = "bottom";
34
- })(VerticalAlignmentEnum = exports.VerticalAlignmentEnum || (exports.VerticalAlignmentEnum = {}));
35
- var GutterEnum;
36
- (function (GutterEnum) {
37
- GutterEnum["standard"] = "standard";
38
- GutterEnum["none"] = "none";
39
- GutterEnum["compact"] = "compact";
40
- GutterEnum["loose"] = "loose";
41
- })(GutterEnum = exports.GutterEnum || (exports.GutterEnum = {}));
23
+ exports.gutterTypes = {
24
+ standard: "standard",
25
+ none: "none",
26
+ compact: "compact",
27
+ loose: "loose"
28
+ };
29
+ exports.horizontalAlignmentTypes = {
30
+ left: "left",
31
+ center: "center",
32
+ right: "right"
33
+ };
34
+ exports.verticalAlignmentTypes = {
35
+ top: "top",
36
+ middle: "middle",
37
+ bottom: "bottom"
38
+ };
42
39
  const Grid = (props) => {
43
40
  const { children, reverse, equalHeight, gutter, horizontalAlignment, verticalAlignment, debug, className, elementType } = props, rest = __rest(props, ["children", "reverse", "equalHeight", "gutter", "horizontalAlignment", "verticalAlignment", "debug", "className", "elementType"]);
44
41
  const classNames = (0, classnames_1.default)({
45
42
  grid: true,
46
43
  "grid--rev": reverse,
47
44
  "grid--equal-height": equalHeight,
48
- "grid--gutterless": gutter === GutterEnum.none,
49
- "grid--compact": gutter === GutterEnum.compact,
50
- "grid--loose": gutter === GutterEnum.loose,
51
- "grid--center": horizontalAlignment === HorizontalAlignmentEnum.center,
52
- "grid--right": horizontalAlignment === HorizontalAlignmentEnum.right,
53
- "grid--middle": verticalAlignment === VerticalAlignmentEnum.middle,
54
- "grid--bottom": verticalAlignment === VerticalAlignmentEnum.bottom,
45
+ "grid--gutterless": gutter === exports.gutterTypes.none,
46
+ "grid--compact": gutter === exports.gutterTypes.compact,
47
+ "grid--loose": gutter === exports.gutterTypes.loose,
48
+ "grid--center": horizontalAlignment === exports.horizontalAlignmentTypes.center,
49
+ "grid--right": horizontalAlignment === exports.horizontalAlignmentTypes.right,
50
+ "grid--middle": verticalAlignment === exports.verticalAlignmentTypes.middle,
51
+ "grid--bottom": verticalAlignment === exports.verticalAlignmentTypes.bottom,
55
52
  "grid--debug": debug,
56
53
  [`${className}`]: className
57
54
  });
@@ -59,3 +56,7 @@ const Grid = (props) => {
59
56
  return ((0, jsx_runtime_1.jsx)(GridElementType, Object.assign({ className: classNames }, rest, { children: children })));
60
57
  };
61
58
  exports.Grid = Grid;
59
+ // Legacy references - deprecated!
60
+ exports.Grid.gutter = exports.gutterTypes;
61
+ exports.Grid.horizontalAlignment = exports.horizontalAlignmentTypes;
62
+ exports.Grid.verticalAlignment = exports.verticalAlignmentTypes;
package/es/Grid.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Grid.js","names":["React","PropTypes","classnames","GridItem","Grid","props","children","reverse","equalHeight","gutter","horizontalAlignment","verticalAlignment","debug","className","GridElementType","elementType","rest","classNames","grid","none","compact","loose","center","right","middle","bottom","standard","left","top","propTypes","oneOfType","arrayOf","element","isRequired","bool","oneOf","string","defaultProps"],"sources":["../src/Grid.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classnames from \"classnames\";\nimport { GridItem } from \"./GridItem\";\nimport \"../scss/grid.scss\";\nexport { GridItem };\n\nexport const Grid = (props) => {\n\tconst {\n\t\tchildren,\n\t\treverse,\n\t\tequalHeight,\n\t\tgutter,\n\t\thorizontalAlignment,\n\t\tverticalAlignment,\n\t\tdebug,\n\t\tclassName,\n\t\telementType: GridElementType,\n\t\t...rest\n\t} = props;\n\n\tconst classNames = classnames({\n\t\tgrid: true,\n\t\t\"grid--rev\": reverse,\n\t\t\"grid--equal-height\": equalHeight,\n\t\t\"grid--gutterless\": gutter === Grid.gutter.none,\n\t\t\"grid--compact\": gutter === Grid.gutter.compact,\n\t\t\"grid--loose\": gutter === Grid.gutter.loose,\n\t\t\"grid--center\": horizontalAlignment === Grid.horizontalAlignment.center,\n\t\t\"grid--right\": horizontalAlignment === Grid.horizontalAlignment.right,\n\t\t\"grid--middle\": verticalAlignment === Grid.verticalAlignment.middle,\n\t\t\"grid--bottom\": verticalAlignment === Grid.verticalAlignment.bottom,\n\t\t\"grid--debug\": debug,\n\t\t[className]: className\n\t});\n\treturn (\n\t\t<GridElementType className={classNames} {...rest}>\n\t\t\t{children}\n\t\t</GridElementType>\n\t);\n};\n\nGrid.gutter = {\n\tnone: \"none\",\n\tstandard: \"standard\",\n\tcompact: \"compact\",\n\tloose: \"loose\"\n};\n\nGrid.horizontalAlignment = {\n\tleft: \"left\",\n\tcenter: \"center\",\n\tright: \"right\"\n};\n\nGrid.verticalAlignment = {\n\ttop: \"top\",\n\tmiddle: \"middle\",\n\tbottom: \"bottom\"\n};\n\nGrid.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.element),\n\t\tPropTypes.element\n\t]).isRequired,\n\treverse: PropTypes.bool,\n\tequalHeight: PropTypes.bool,\n\thorizontalAlignment: PropTypes.oneOf([\n\t\tGrid.horizontalAlignment.left,\n\t\tGrid.horizontalAlignment.center,\n\t\tGrid.horizontalAlignment.right\n\t]),\n\tverticalAlignment: PropTypes.oneOf([\n\t\tGrid.verticalAlignment.top,\n\t\tGrid.verticalAlignment.middle,\n\t\tGrid.verticalAlignment.bottom\n\t]),\n\tgutter: PropTypes.oneOf([\n\t\tGrid.gutter.standard,\n\t\tGrid.gutter.none,\n\t\tGrid.gutter.compact,\n\t\tGrid.gutter.loose\n\t]),\n\tdebug: PropTypes.bool,\n\tclassName: PropTypes.string,\n\telementType: PropTypes.elementType\n};\n\nGrid.defaultProps = {\n\treverse: false,\n\tequalHeight: false,\n\tgutter: Grid.gutter.standard,\n\thorizontalAlignment: Grid.horizontalAlignment.left,\n\tverticalAlignment: Grid.verticalAlignment.top,\n\telementType: \"div\"\n};\n"],"mappings":"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"}
package/es/GridItem.js CHANGED
@@ -43,6 +43,6 @@ const GridItem = (props) => {
43
43
  .concat(bpGridDefKeys)
44
44
  .filter((col) => col)
45
45
  .join(" ");
46
- return ((0, jsx_runtime_1.jsx)(GridItemElementType, Object.assign({ "data-g": gridColsAttr, className: className }, rest, { children: children })));
46
+ return ((0, jsx_runtime_1.jsx)(GridItemElementType, Object.assign({ "data-g": gridColsAttr, "data-component": "grid-item", className: className }, rest, { children: children })));
47
47
  };
48
48
  exports.GridItem = GridItem;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridItem.js","names":["React","PropTypes","GridItem","props","children","cols","push","pull","xs","sm","md","lg","xl","className","elementType","GridItemElementType","rest","gridColsAttr","toString","bpGridDefs","mapBpToAttr","bp","bpGridDef","gridDefAttr","concat","Object","keys","map","filter","col","join","breakpointPropType","oneOfType","number","shape","isRequired","propTypes","arrayOf","node","string"],"sources":["../src/GridItem.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nexport const GridItem = (props) => {\n\tconst {\n\t\tchildren,\n\t\tcols = 12,\n\t\tpush,\n\t\tpull,\n\t\txs,\n\t\tsm,\n\t\tmd,\n\t\tlg,\n\t\txl,\n\t\tclassName,\n\t\telementType: GridItemElementType = \"div\",\n\t\t...rest\n\t} = props;\n\n\tlet gridColsAttr = [cols.toString()];\n\n\tif (push) gridColsAttr.push(\"push:\" + push);\n\tif (pull) gridColsAttr.push(\"pull:\" + pull);\n\n\tconst bpGridDefs = { xs, sm, md, lg, xl };\n\tconst mapBpToAttr = (bp) => {\n\t\tconst bpGridDef = bpGridDefs[bp];\n\n\t\tif (!bpGridDef) return null;\n\n\t\t// E.g. \"xs:6\"\n\t\tif (typeof bpGridDef === \"number\") return bp + \":\" + bpGridDef;\n\n\t\t// E.g. \"xs:6 xs:push:3\"\n\t\tconst { cols, pull, push } = bpGridDef;\n\t\tlet gridDefAttr = bp + \":\" + cols;\n\t\tif (pull) gridDefAttr += ` ${bp}:pull:${pull}`;\n\t\tif (push) gridDefAttr += ` ${bp}:push:${push}`;\n\t\treturn gridDefAttr;\n\t};\n\tgridColsAttr = gridColsAttr\n\t\t.concat(Object.keys(bpGridDefs).map(mapBpToAttr))\n\t\t.filter((col) => col)\n\t\t.join(\" \");\n\n\treturn (\n\t\t<GridItemElementType data-g={gridColsAttr} className={className} {...rest}>\n\t\t\t{children}\n\t\t</GridItemElementType>\n\t);\n};\n\nconst breakpointPropType = PropTypes.oneOfType([\n\tPropTypes.number,\n\tPropTypes.shape({\n\t\tcols: PropTypes.number.isRequired,\n\t\tpush: PropTypes.number,\n\t\tpull: PropTypes.number\n\t})\n]);\n\nGridItem.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired,\n\tcols: PropTypes.number,\n\tpush: PropTypes.number,\n\tpull: PropTypes.number,\n\txs: breakpointPropType,\n\tsm: breakpointPropType,\n\tmd: breakpointPropType,\n\tlg: breakpointPropType,\n\txl: breakpointPropType,\n\tclassName: PropTypes.string,\n\telementType: PropTypes.elementType\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice-digital/nds-grid",
3
- "version": "4.0.2-alpha.0",
3
+ "version": "4.0.3",
4
4
  "description": "Grid component for the NICE Design System",
5
5
  "keywords": [
6
6
  "grid"
@@ -33,13 +33,13 @@
33
33
  "url": "https://github.com/nice-digital/nice-design-system/issues"
34
34
  },
35
35
  "dependencies": {
36
- "@nice-digital/nds-core": "^4.0.2-alpha.0",
36
+ "@nice-digital/nds-core": "^4.0.2",
37
37
  "classnames": "^2.2.6"
38
38
  },
39
39
  "peerDependencies": {
40
40
  "react": "^16 || ^17 || ^18"
41
41
  },
42
- "gitHead": "4e9cad8a2b94cdf4af05b18a6610835883bedf0e",
42
+ "gitHead": "d8feb7beba5fffa49da42d6a550cb8f67a50727d",
43
43
  "devDependencies": {
44
44
  "@testing-library/jest-dom": "^5.16.5",
45
45
  "@testing-library/react": "^13.4.0",
package/es/Grid.test.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};
package/es/Grid.test.js DELETED
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const react_1 = require("@testing-library/react");
5
- const Grid_1 = require("./Grid");
6
- describe("Grid", () => {
7
- it("should match snapshot", () => {
8
- const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsxs)(Grid_1.Grid, { children: [(0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" })), (0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" }))] }));
9
- expect(wrapper).toMatchSnapshot();
10
- });
11
- it("should add rev class name to grid with reverse prop", () => {
12
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.Grid, Object.assign({ reverse: true }, { children: (0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" })) })));
13
- expect(container.querySelector(".grid")).toHaveClass("grid grid--rev");
14
- });
15
- describe("gutters", () => {
16
- const gutterTest = (gutter, expectedClassName) => {
17
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.Grid, Object.assign({ gutter: gutter }, { children: (0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" })) })));
18
- expect(container.querySelector(".grid")).toHaveClass(expectedClassName);
19
- };
20
- it("shouldn't add any class to grid with gutter prop as standard", () => {
21
- gutterTest(Grid_1.GutterEnum.standard, "grid");
22
- });
23
- it("should add gutterless class to grid with gutter prop as none", () => {
24
- gutterTest(Grid_1.GutterEnum.none, "grid grid--gutterless");
25
- });
26
- it("should add compact class to grid with gutter prop as compact", () => {
27
- gutterTest(Grid_1.GutterEnum.compact, "grid grid--compact");
28
- });
29
- it("should add compact class to grid with gutter prop as compact", () => {
30
- gutterTest(Grid_1.GutterEnum.loose, "grid grid--loose");
31
- });
32
- });
33
- describe("horizontal alignment", () => {
34
- const horizontalAlignmentTest = (hAlignment, expectedClassName) => {
35
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.Grid, Object.assign({ horizontalAlignment: hAlignment }, { children: (0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" })) })));
36
- expect(container.querySelector(".grid")).toHaveClass(expectedClassName);
37
- };
38
- it("shouldn't add any class to grid with horizontalAlignment prop as left", () => {
39
- horizontalAlignmentTest(Grid_1.HorizontalAlignmentEnum.left, "grid");
40
- });
41
- it("should add center modifier class to grid when horizontalAlignment prop set to center", () => {
42
- horizontalAlignmentTest(Grid_1.HorizontalAlignmentEnum.center, "grid grid--center");
43
- });
44
- it("should add right modifier class to grid when horizontalAlignment prop set to right", () => {
45
- horizontalAlignmentTest(Grid_1.HorizontalAlignmentEnum.right, "grid grid--right");
46
- });
47
- });
48
- describe("vertical alignment", () => {
49
- const verticalAlignmentTest = (vAlignment, expectedClassName) => {
50
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.Grid, Object.assign({ verticalAlignment: vAlignment }, { children: (0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" })) })));
51
- expect(container.querySelector(".grid")).toHaveClass(expectedClassName);
52
- };
53
- it("shouldn't add any class to grid with vertical alignment prop as top", () => {
54
- verticalAlignmentTest(Grid_1.VerticalAlignmentEnum.top, "grid");
55
- });
56
- it("should add middle modifier class to grid when verticalAlignment prop set to middle", () => {
57
- verticalAlignmentTest(Grid_1.VerticalAlignmentEnum.middle, "grid grid--middle");
58
- });
59
- it("should add bottom modifier class to grid when verticalAlignment prop set to bottom", () => {
60
- verticalAlignmentTest(Grid_1.VerticalAlignmentEnum.bottom, "grid grid--bottom");
61
- });
62
- });
63
- it("should add a debug modifier class when debug prop set to true", () => {
64
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.Grid, Object.assign({ debug: true }, { children: (0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" })) })));
65
- expect(container.querySelector(".grid")).toHaveClass("grid grid--debug");
66
- });
67
- it("should add given additional class names to rendered grid class names", () => {
68
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.Grid, Object.assign({ className: "mt--d" }, { children: (0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" })) })));
69
- expect(container.querySelector(".grid")).toHaveClass("grid mt--d");
70
- });
71
- it("should use elementType prop as rendered DOM node type", () => {
72
- const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.Grid, Object.assign({ elementType: "ul" }, { children: (0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" })) })));
73
- expect(wrapper.getByRole("list")).toBeInTheDocument();
74
- });
75
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const react_1 = require("@testing-library/react");
5
- const Grid_1 = require("../src/Grid");
6
- describe("GridItem", () => {
7
- it("should match snapshot", () => {
8
- const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6 }, { children: "Test" })));
9
- expect(wrapper).toMatchSnapshot();
10
- });
11
- it("should add push columns to data attribute", () => {
12
- var _a;
13
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6, push: 2 }, { children: "Test" })));
14
- expect((_a = container.querySelector("div")) === null || _a === void 0 ? void 0 : _a.getAttribute("data-g")).toBe("6 push:2");
15
- });
16
- it("should add pull columns to data attribute", () => {
17
- var _a;
18
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6, pull: 2 }, { children: "Test" })));
19
- expect((_a = container.querySelector("div")) === null || _a === void 0 ? void 0 : _a.getAttribute("data-g")).toBe("6 pull:2");
20
- });
21
- describe("breakpoints", () => {
22
- const pushDef = { cols: 4, push: 2, toString: () => "push 2" };
23
- const pullDef = { cols: 3, pull: 1, toString: () => "pull 1" };
24
- it.each([
25
- ["xs", 8, "xs:8"],
26
- ["xs", pushDef, "xs:4 xs:push:2"],
27
- ["xs", pullDef, "xs:3 xs:pull:1"],
28
- ["sm", 8, "sm:8"],
29
- ["sm", pushDef, "sm:4 sm:push:2"],
30
- ["sm", pullDef, "sm:3 sm:pull:1"],
31
- ["md", 8, "md:8"],
32
- ["md", pushDef, "md:4 md:push:2"],
33
- ["md", pullDef, "md:3 md:pull:1"],
34
- ["lg", 8, "lg:8"],
35
- ["lg", pushDef, "lg:4 lg:push:2"],
36
- ["lg", pullDef, "lg:3 lg:pull:1"],
37
- ["xl", 8, "xl:8"],
38
- ["xl", pushDef, "xl:4 xl:push:2"],
39
- ["xl", pullDef, "xl:3 xl:pull:1"]
40
- ])("for breakpoint '%s' and grid definition '%s' should set data-g to '%s'", (breakpointName, breakpointGridDef, expected) => {
41
- var _a;
42
- const cols = 6;
43
- const breakPointProps = {
44
- [breakpointName]: breakpointGridDef
45
- };
46
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: cols }, breakPointProps, { children: "Test" })));
47
- expect((_a = container.querySelector("div")) === null || _a === void 0 ? void 0 : _a.getAttribute("data-g")).toBe(cols + " " + expected);
48
- });
49
- });
50
- it("should add given additional class names to rendered grid item class names", () => {
51
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6, className: "mt--d" }, { children: "Test" })));
52
- expect(container.querySelector("[data-g]")).toHaveClass("mt--d");
53
- });
54
- it("should add other props to rendered grid item", () => {
55
- var _a;
56
- const { container } = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6, "aria-label": "test" }, { children: "Test" })));
57
- expect((_a = container.querySelector("[data-g]")) === null || _a === void 0 ? void 0 : _a.getAttribute("aria-label")).toBe("test");
58
- });
59
- it("should use elementType prop as rendered DOM node type", () => {
60
- const wrapper = (0, react_1.render)((0, jsx_runtime_1.jsx)(Grid_1.GridItem, Object.assign({ cols: 6, elementType: "li" }, { children: "Test" })));
61
- expect(wrapper.getByRole("listitem")).toBeInTheDocument();
62
- });
63
- });