@jobber/components 4.14.1-import-typ.5 → 4.15.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.
- package/Grid.d.ts +1 -0
- package/Grid.js +17 -0
- package/dist/Grid/Grid.d.ts +25 -0
- package/dist/Grid/GridCell/GridCell.d.ts +22 -0
- package/dist/Grid/GridCell/index.d.ts +1 -0
- package/dist/Grid/index.d.ts +1 -0
- package/dist/Grid/index.js +65 -0
- package/package.json +4 -4
- package/rollup.config.js +0 -1
package/Grid.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./dist/Grid";
|
package/Grid.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true,
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var Grid = require("./dist/Grid");
|
|
8
|
+
|
|
9
|
+
Object.keys(Grid).forEach(function(key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
Object.defineProperty(exports, key, {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function get() {
|
|
14
|
+
return Grid[key];
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactElement } from "react";
|
|
2
|
+
import { GridCell, GridCellProps } from "./GridCell";
|
|
3
|
+
import alignments from "./GridAlign.css";
|
|
4
|
+
interface GridProps {
|
|
5
|
+
/**
|
|
6
|
+
* Add spacing between elements.
|
|
7
|
+
*/
|
|
8
|
+
readonly gap?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Adjust the alignment of columns. We only support a few select properties
|
|
11
|
+
* from `align-items` due to the nature of the other properties acting the
|
|
12
|
+
* same. Read more about [align-items](https://developer.mozilla.org/en-US/docs/Web/CSS/align-items) property values.
|
|
13
|
+
*/
|
|
14
|
+
readonly alignItems?: keyof typeof alignments;
|
|
15
|
+
/**
|
|
16
|
+
* Array of `Grid.Cell` children
|
|
17
|
+
*/
|
|
18
|
+
readonly children: Array<ReactElement<GridCellProps>>;
|
|
19
|
+
}
|
|
20
|
+
export declare const GRID_TEST_ID = "ATL-Grid";
|
|
21
|
+
export declare function Grid({ alignItems, gap, children, }: GridProps): JSX.Element;
|
|
22
|
+
export declare namespace Grid {
|
|
23
|
+
var Cell: typeof GridCell;
|
|
24
|
+
}
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PropsWithChildren } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Breakpoints that we support
|
|
4
|
+
*/
|
|
5
|
+
declare const breakpoints: readonly ["xs", "sm", "md", "lg", "xl"];
|
|
6
|
+
/**
|
|
7
|
+
* Grab the type from breakpoints const
|
|
8
|
+
*/
|
|
9
|
+
type ValuesOf<T extends readonly unknown[]> = T[number];
|
|
10
|
+
type Breakpoints = ValuesOf<typeof breakpoints>;
|
|
11
|
+
type ColumnSizes = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
12
|
+
export interface GridCellProps {
|
|
13
|
+
/**
|
|
14
|
+
* Set how many columns wide the cell is in the grid
|
|
15
|
+
*/
|
|
16
|
+
readonly size: {
|
|
17
|
+
[Breakpoint in Breakpoints]?: ColumnSizes;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare const GRID_CELL_TEST_ID = "ATL-Grid-GridCell";
|
|
21
|
+
export declare function GridCell({ size, children }: PropsWithChildren<GridCellProps>): JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./GridCell";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Grid";
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var classnames = require('classnames');
|
|
7
|
+
var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
|
|
8
|
+
|
|
9
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
+
|
|
11
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
13
|
+
|
|
14
|
+
var css_248z$2 = "._3ktwlV3aNFk- {\n grid-column: initial;\n grid-column-end: span var(--gridCell--size-xs);\n}@media (min-width:490px) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-sm);\n}\n }@media (--small-screens-and-up) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-sm);\n}\n }@media (min-width: 640px) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-md);\n}\n }@media (--medium-screens) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-md);\n}\n }@media (min-width:1440px) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-lg);\n}\n }@media (--large-screens-and-up) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-lg);\n}\n }@media (min-width:1680px) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-xl);\n}\n }@media (--extra-large-screens-and-up) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-xl);\n}\n }\n";
|
|
15
|
+
var styles$1 = {"gridCell":"_3ktwlV3aNFk-"};
|
|
16
|
+
styleInject_es.styleInject(css_248z$2);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Breakpoints that we support
|
|
20
|
+
*/
|
|
21
|
+
const breakpoints = ["xs", "sm", "md", "lg", "xl"];
|
|
22
|
+
const MAX_COLUMNS = 12;
|
|
23
|
+
const GRID_CELL_TEST_ID = "ATL-Grid-GridCell";
|
|
24
|
+
function GridCell({ size, children }) {
|
|
25
|
+
/**
|
|
26
|
+
* Build CSS variables for column sizes for all possible breakpoints to size
|
|
27
|
+
* the column
|
|
28
|
+
*/
|
|
29
|
+
const cssSizeVariables = breakpoints.reduce(getSizeCSSVariables(size), {});
|
|
30
|
+
return (React__default["default"].createElement("div", { "data-testid": GRID_CELL_TEST_ID, className: styles$1.gridCell, style: cssSizeVariables }, children));
|
|
31
|
+
}
|
|
32
|
+
function getSizeCSSVariables(size) {
|
|
33
|
+
return (breakpointsObj, currentSize) => {
|
|
34
|
+
let columnSize = size[currentSize];
|
|
35
|
+
// If a column size isn't provided in the size prop, use the previous
|
|
36
|
+
// breakpoint's value
|
|
37
|
+
if (!columnSize) {
|
|
38
|
+
const existingValues = Object.values(breakpointsObj);
|
|
39
|
+
const lastKnownValue = existingValues[existingValues.length - 1];
|
|
40
|
+
columnSize = lastKnownValue || MAX_COLUMNS;
|
|
41
|
+
}
|
|
42
|
+
breakpointsObj[`--gridCell--size-${currentSize}`] = columnSize;
|
|
43
|
+
return breakpointsObj;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
var css_248z$1 = ".NqFGJV-UF3Q- {\n display: grid;\n grid-template-columns: repeat(12, minmax(0, 1fr));\n}\n\n.IZLiiSquUTM- {\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n@media (min-width:768px) {\n .IZLiiSquUTM- {\n gap: calc(16px * 1);\n gap: var(--space-base);\n }\n}\n\n@media (--medium-screens-and-up) {\n .IZLiiSquUTM- {\n gap: calc(16px * 1);\n gap: var(--space-base);\n }\n}\n";
|
|
48
|
+
var styles = {"grid":"NqFGJV-UF3Q-","gap":"IZLiiSquUTM-"};
|
|
49
|
+
styleInject_es.styleInject(css_248z$1);
|
|
50
|
+
|
|
51
|
+
var css_248z = "._8XlrWg3FV-Q- {\n -ms-flex-align: center;\n align-items: center;\n}\n\n.uKzqJPlYxJs- {\n -ms-flex-align: start;\n align-items: start;\n}\n\n.CSBjeFlj2xQ- {\n -ms-flex-align: end;\n align-items: end;\n}\n\n.BYyFdzONXyk- {\n -ms-flex-align: stretch;\n align-items: stretch;\n}\n";
|
|
52
|
+
var alignments = {"center":"_8XlrWg3FV-Q-","start":"uKzqJPlYxJs-","end":"CSBjeFlj2xQ-","stretch":"BYyFdzONXyk-"};
|
|
53
|
+
styleInject_es.styleInject(css_248z);
|
|
54
|
+
|
|
55
|
+
const GRID_TEST_ID = "ATL-Grid";
|
|
56
|
+
function Grid({ alignItems = "start", gap = true, children, }) {
|
|
57
|
+
const classnames = classnames__default["default"](styles.grid, alignments[alignItems], {
|
|
58
|
+
[styles.gap]: gap,
|
|
59
|
+
});
|
|
60
|
+
return (React__default["default"].createElement("div", { "data-testid": GRID_TEST_ID, className: classnames }, children));
|
|
61
|
+
}
|
|
62
|
+
Grid.Cell = GridCell;
|
|
63
|
+
|
|
64
|
+
exports.GRID_TEST_ID = GRID_TEST_ID;
|
|
65
|
+
exports.Grid = Grid;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.15.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"dist/*"
|
|
20
20
|
],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@jobber/design": "^0.
|
|
23
|
-
"@jobber/formatters": "
|
|
22
|
+
"@jobber/design": "^0.39.0",
|
|
23
|
+
"@jobber/formatters": "*",
|
|
24
24
|
"@jobber/hooks": "^2.1.1",
|
|
25
25
|
"@popperjs/core": "^2.0.6",
|
|
26
26
|
"@std-proposal/temporal": "0.0.1",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"> 1%",
|
|
84
84
|
"IE 10"
|
|
85
85
|
],
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "ee6d0ff34cc6b097c94a320e6b0391fc83907c66"
|
|
87
87
|
}
|
package/rollup.config.js
CHANGED