@jobber/components 3.0.6-pre.3 → 3.1.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/CHANGELOG.md +19 -0
- package/dist/Card/Card.d.ts +3 -15
- package/dist/Card/CardHeader.d.ts +10 -0
- package/dist/Card/index.js +9 -1
- package/dist/Card/types.d.ts +33 -0
- package/dist/{Card-270d6549.js → Card-0810e0f8.js} +41 -4
- package/dist/DataDump/index.js +9 -1
- package/dist/Menu/Menu.d.ts +1 -2
- package/dist/Menu/index.d.ts +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,25 @@ menu: Changelog
|
|
|
8
8
|
All notable changes to this project will be documented in this file.
|
|
9
9
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
10
10
|
|
|
11
|
+
# [3.1.0](https://github.com/GetJobber/atlantis/compare/@jobber/components@3.0.6...@jobber/components@3.1.0) (2023-02-17)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **components:** Add Customizable Header Prop to Atlantis Web Card Component ([#1026](https://github.com/GetJobber/atlantis/issues/1026)) ([4961208](https://github.com/GetJobber/atlantis/commit/4961208efa6db6e2aec4318f29cb637334f43ea1))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [3.0.6](https://github.com/GetJobber/atlantis/compare/@jobber/components@3.0.5...@jobber/components@3.0.6) (2023-02-16)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @jobber/components
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
11
30
|
## [3.0.5](https://github.com/GetJobber/atlantis/compare/@jobber/components@3.0.4...@jobber/components@3.0.5) (2023-02-14)
|
|
12
31
|
|
|
13
32
|
**Note:** Version bump only for package @jobber/components
|
package/dist/Card/Card.d.ts
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { XOR } from "ts-xor";
|
|
3
|
-
import
|
|
4
|
-
interface CardProps {
|
|
5
|
-
/**
|
|
6
|
-
* The `accent`, if provided, will effect the color accent at the top of
|
|
7
|
-
* the card.
|
|
8
|
-
*/
|
|
9
|
-
readonly accent?: keyof typeof colors;
|
|
10
|
-
readonly children: ReactNode | ReactNode[];
|
|
11
|
-
/**
|
|
12
|
-
* The title of the card.
|
|
13
|
-
*/
|
|
14
|
-
readonly title?: string;
|
|
15
|
-
}
|
|
3
|
+
import { CardProps } from "./types";
|
|
16
4
|
interface LinkCardProps extends CardProps {
|
|
17
5
|
/**
|
|
18
6
|
* URL that the card would navigate to once clicked.
|
|
@@ -27,5 +15,5 @@ interface ClickableCardProps extends CardProps {
|
|
|
27
15
|
onClick(event: React.MouseEvent<HTMLAnchorElement | HTMLDivElement>): void;
|
|
28
16
|
}
|
|
29
17
|
declare type CardPropOptions = XOR<CardProps, XOR<LinkCardProps, ClickableCardProps>>;
|
|
30
|
-
export declare function Card({ accent, children, onClick, title, url, external, }: CardPropOptions): JSX.Element;
|
|
18
|
+
export declare function Card({ accent, header, children, onClick, title, url, external, }: CardPropOptions): JSX.Element;
|
|
31
19
|
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CardProps } from "./types";
|
|
2
|
+
interface CardHeaderProps extends Pick<CardProps, "title" | "header"> {
|
|
3
|
+
className: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Intended to be used in the Card component.
|
|
7
|
+
* Use `<Card header={header} />` component instead.
|
|
8
|
+
*/
|
|
9
|
+
export declare function CardHeader({ className, title, header }: CardHeaderProps): JSX.Element;
|
|
10
|
+
export {};
|
package/dist/Card/index.js
CHANGED
|
@@ -2,13 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Card = require('../Card-
|
|
5
|
+
var Card = require('../Card-0810e0f8.js');
|
|
6
6
|
require('../tslib.es6-5b50eb8e.js');
|
|
7
7
|
require('react');
|
|
8
8
|
require('classnames');
|
|
9
9
|
require('../style-inject.es-dcee06b6.js');
|
|
10
10
|
require('../Heading-a9a66964.js');
|
|
11
11
|
require('../Typography-fbe0ed6e.js');
|
|
12
|
+
require('../Button-cd30df0f.js');
|
|
13
|
+
require('react-router-dom');
|
|
14
|
+
require('../Icon-d5ad1a6d.js');
|
|
15
|
+
require('@jobber/design');
|
|
16
|
+
require('../Menu-13deda94.js');
|
|
17
|
+
require('uuid');
|
|
18
|
+
require('framer-motion');
|
|
19
|
+
require('@jobber/hooks');
|
|
12
20
|
|
|
13
21
|
|
|
14
22
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ReactElement, ReactNode } from "react";
|
|
2
|
+
import colors from "./colors.css";
|
|
3
|
+
import { ButtonProps } from "../Button";
|
|
4
|
+
import { MenuProps } from "../Menu";
|
|
5
|
+
export declare type ActionProps = ReactElement<Omit<ButtonProps, "size" | "fullWidth"> | MenuProps>;
|
|
6
|
+
export interface HeaderActionProps {
|
|
7
|
+
/**
|
|
8
|
+
* The title of the card.
|
|
9
|
+
*/
|
|
10
|
+
readonly title?: string;
|
|
11
|
+
/**
|
|
12
|
+
* The action props that renders into a button on the card header.
|
|
13
|
+
*/
|
|
14
|
+
readonly action?: ActionProps;
|
|
15
|
+
}
|
|
16
|
+
export interface CardProps {
|
|
17
|
+
/**
|
|
18
|
+
* The `accent`, if provided, will effect the color accent at the top of
|
|
19
|
+
* the card.
|
|
20
|
+
*/
|
|
21
|
+
readonly accent?: keyof typeof colors;
|
|
22
|
+
readonly children: ReactNode | ReactNode[];
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated
|
|
25
|
+
* Use header instead.
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
readonly title?: string;
|
|
29
|
+
/**
|
|
30
|
+
* The header props of the card.
|
|
31
|
+
*/
|
|
32
|
+
readonly header?: string | HeaderActionProps | ReactElement;
|
|
33
|
+
}
|
|
@@ -5,13 +5,15 @@ var React = require('react');
|
|
|
5
5
|
var classnames = require('classnames');
|
|
6
6
|
var styleInject_es = require('./style-inject.es-dcee06b6.js');
|
|
7
7
|
var Heading = require('./Heading-a9a66964.js');
|
|
8
|
+
var Button = require('./Button-cd30df0f.js');
|
|
9
|
+
var Menu = require('./Menu-13deda94.js');
|
|
8
10
|
|
|
9
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
12
|
|
|
11
13
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
14
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
13
15
|
|
|
14
|
-
var css$1 = ":root {\n --card--accent-color: var(--color-grey);\n --card--base-padding: var(--space-base);\n}\n\n._2w-ENhwzKCQRe6WuvVd7_U {\n --card--border-color: var(--color-border);\n display: block;\n width: 100%;\n border: var(--border-base) solid var(--card--border-color);\n border-radius: var(--radius-base);\n outline-color: var(--color-focus);\n background-color: var(--color-surface);\n}\n\n/* Adjust `Content` components public padding to match the cards */\n\n._2w-ENhwzKCQRe6WuvVd7_U > * {\n --public-content--padding: var(--card--base-padding);\n}\n\n/* Remove the nested `Content` components public padding */\n\n._2w-ENhwzKCQRe6WuvVd7_U > * > * {\n --public-content--padding: 0;\n}\n\n._2w-ENhwzKCQRe6WuvVd7_U:active {\n outline: 0;\n}\n\n._1UYHkzg1Vo2DMU6bWTiDvE {\n border-top-width: 0;\n}\n\n._1UYHkzg1Vo2DMU6bWTiDvE::before {\n content: \" \";\n display: block;\n margin: 0 calc(-1 * var(--border-base));\n border-top: 0.5rem solid var(--color-grey);\n border-top: 0.5rem solid var(--color-grey);\n border-top: 0.5rem solid var(--card--accent-color);\n border-radius: var(--radius-base) var(--radius-base) 0 0;\n}\n\n._3rK5LR5T1LRokq5vsb0JUl {\n --card--border-color: transparent;\n box-shadow: var(--shadow-base);\n color: inherit;\n text-decoration: inherit;\n cursor: pointer;\n transition: all var(--timing-quick) linear;\n}\n\n._3rK5LR5T1LRokq5vsb0JUl:hover,\n._3rK5LR5T1LRokq5vsb0JUl:focus {\n background-color: var(--color-surface--hover);\n}\n\n._1XhV_cQQhlcMC9ag5E9jhU {\n padding: var(--space-base);\n padding: var(--space-base);\n padding: var(--card--base-padding);\n background-color: var(--color-surface--background);\n}\n";
|
|
16
|
+
var css$1 = ":root {\n --card--accent-color: var(--color-grey);\n --card--base-padding: var(--space-base);\n}\n\n._2w-ENhwzKCQRe6WuvVd7_U {\n --card--border-color: var(--color-border);\n display: block;\n width: 100%;\n border: var(--border-base) solid var(--card--border-color);\n border-radius: var(--radius-base);\n outline-color: var(--color-focus);\n background-color: var(--color-surface);\n}\n\n/* Adjust `Content` components public padding to match the cards */\n\n._2w-ENhwzKCQRe6WuvVd7_U > * {\n --public-content--padding: var(--card--base-padding);\n}\n\n/* Remove the nested `Content` components public padding */\n\n._2w-ENhwzKCQRe6WuvVd7_U > * > * {\n --public-content--padding: 0;\n}\n\n._2w-ENhwzKCQRe6WuvVd7_U:active {\n outline: 0;\n}\n\n._1UYHkzg1Vo2DMU6bWTiDvE {\n border-top-width: 0;\n}\n\n._1UYHkzg1Vo2DMU6bWTiDvE::before {\n content: \" \";\n display: block;\n margin: 0 calc(-1 * var(--border-base));\n border-top: 0.5rem solid var(--color-grey);\n border-top: 0.5rem solid var(--color-grey);\n border-top: 0.5rem solid var(--card--accent-color);\n border-radius: var(--radius-base) var(--radius-base) 0 0;\n}\n\n._3rK5LR5T1LRokq5vsb0JUl {\n --card--border-color: transparent;\n box-shadow: var(--shadow-base);\n color: inherit;\n text-decoration: inherit;\n cursor: pointer;\n transition: all var(--timing-quick) linear;\n}\n\n._3rK5LR5T1LRokq5vsb0JUl:hover,\n._3rK5LR5T1LRokq5vsb0JUl:focus {\n background-color: var(--color-surface--hover);\n}\n\n._1XhV_cQQhlcMC9ag5E9jhU {\n display: -ms-flexbox;\n display: flex;\n padding: var(--space-base);\n padding: var(--space-base);\n padding: var(--card--base-padding);\n background-color: var(--color-surface--background);\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: start;\n align-items: flex-start;\n grid-gap: var(--space-small);\n grid-gap: var(--space-small);\n gap: var(--space-small);\n}\n";
|
|
15
17
|
var styles = {"card":"_2w-ENhwzKCQRe6WuvVd7_U","accent":"_1UYHkzg1Vo2DMU6bWTiDvE","clickable":"_3rK5LR5T1LRokq5vsb0JUl","header":"_1XhV_cQQhlcMC9ag5E9jhU"};
|
|
16
18
|
styleInject_es.styleInject(css$1);
|
|
17
19
|
|
|
@@ -47,12 +49,47 @@ function CardClickable(_a) {
|
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
|
|
52
|
+
/**
|
|
53
|
+
* Intended to be used in the Card component.
|
|
54
|
+
* Use `<Card header={header} />` component instead.
|
|
55
|
+
*/
|
|
56
|
+
function CardHeader(_a) {
|
|
57
|
+
var className = _a.className, title = _a.title, header = _a.header;
|
|
58
|
+
// Case 1: Deprecated Title
|
|
59
|
+
if (title) {
|
|
60
|
+
return (React__default["default"].createElement("div", { className: className }, title && React__default["default"].createElement(Heading.Heading, { level: 3 }, title)));
|
|
61
|
+
}
|
|
62
|
+
if (typeof header === "string") {
|
|
63
|
+
return (React__default["default"].createElement("div", { className: className }, header && React__default["default"].createElement(Heading.Heading, { level: 3 }, header)));
|
|
64
|
+
}
|
|
65
|
+
// header is a custom component
|
|
66
|
+
if (React__default["default"].isValidElement(header)) {
|
|
67
|
+
return header;
|
|
68
|
+
}
|
|
69
|
+
// header is an action
|
|
70
|
+
if (header === null || header === void 0 ? void 0 : header.action) {
|
|
71
|
+
return (React__default["default"].createElement("div", { className: className },
|
|
72
|
+
(header === null || header === void 0 ? void 0 : header.title) && React__default["default"].createElement(Heading.Heading, { level: 3 }, header === null || header === void 0 ? void 0 : header.title),
|
|
73
|
+
renderHeaderAction(header.action)));
|
|
74
|
+
}
|
|
75
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
76
|
+
}
|
|
77
|
+
function renderHeaderAction(action) {
|
|
78
|
+
if (action.type === Button.Button) {
|
|
79
|
+
var props = tslib_es6.__assign(tslib_es6.__assign({ type: "tertiary" }, action.props), { size: "small" });
|
|
80
|
+
return action && React__default["default"].createElement(Button.Button, tslib_es6.__assign({}, props));
|
|
81
|
+
}
|
|
82
|
+
if (action.type === Menu.Menu) {
|
|
83
|
+
return action && React__default["default"].createElement(Menu.Menu, tslib_es6.__assign({}, action.props));
|
|
84
|
+
}
|
|
85
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
86
|
+
}
|
|
87
|
+
|
|
50
88
|
function Card(_a) {
|
|
51
|
-
var accent = _a.accent, children = _a.children, onClick = _a.onClick, title = _a.title, url = _a.url, _b = _a.external, external = _b === void 0 ? false : _b;
|
|
89
|
+
var accent = _a.accent, header = _a.header, children = _a.children, onClick = _a.onClick, title = _a.title, url = _a.url, _b = _a.external, external = _b === void 0 ? false : _b;
|
|
52
90
|
var className = classnames__default["default"](styles.card, accent && styles.accent, (url || onClick) && styles.clickable, accent && colors[accent]);
|
|
53
91
|
var cardContent = (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
54
|
-
|
|
55
|
-
React__default["default"].createElement(Heading.Heading, { level: 3 }, title))),
|
|
92
|
+
React__default["default"].createElement(CardHeader, { className: styles.header, title: title, header: header }),
|
|
56
93
|
children));
|
|
57
94
|
if (onClick) {
|
|
58
95
|
return (React__default["default"].createElement(CardClickable, { className: className, onClick: onClick }, cardContent));
|
package/dist/DataDump/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var Card = require('../Card-
|
|
6
|
+
var Card = require('../Card-0810e0f8.js');
|
|
7
7
|
var Content = require('../Content-18de5fbb.js');
|
|
8
8
|
var Emphasis = require('../Emphasis-75a3f411.js');
|
|
9
9
|
require('../tslib.es6-5b50eb8e.js');
|
|
@@ -11,6 +11,14 @@ require('classnames');
|
|
|
11
11
|
require('../style-inject.es-dcee06b6.js');
|
|
12
12
|
require('../Heading-a9a66964.js');
|
|
13
13
|
require('../Typography-fbe0ed6e.js');
|
|
14
|
+
require('../Button-cd30df0f.js');
|
|
15
|
+
require('react-router-dom');
|
|
16
|
+
require('../Icon-d5ad1a6d.js');
|
|
17
|
+
require('@jobber/design');
|
|
18
|
+
require('../Menu-13deda94.js');
|
|
19
|
+
require('uuid');
|
|
20
|
+
require('framer-motion');
|
|
21
|
+
require('@jobber/hooks');
|
|
14
22
|
|
|
15
23
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
24
|
|
package/dist/Menu/Menu.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { ReactElement } from "react";
|
|
2
2
|
import { IconNames } from "@jobber/design";
|
|
3
|
-
interface MenuProps {
|
|
3
|
+
export interface MenuProps {
|
|
4
4
|
/**
|
|
5
5
|
* Custom menu activator. If this is not provided a default [… More] will be used.
|
|
6
6
|
*/
|
|
@@ -43,4 +43,3 @@ export interface ActionProps {
|
|
|
43
43
|
*/
|
|
44
44
|
shouldFocus?: boolean;
|
|
45
45
|
}
|
|
46
|
-
export {};
|
package/dist/Menu/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { Menu, SectionProps, ActionProps } from "./Menu";
|
|
1
|
+
export { Menu, SectionProps, ActionProps, MenuProps } from "./Menu";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"dist/*"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@jobber/design": "^0.28.
|
|
22
|
-
"@jobber/formatters": "^0.2.
|
|
23
|
-
"@jobber/hooks": "^1.12.
|
|
21
|
+
"@jobber/design": "^0.28.3",
|
|
22
|
+
"@jobber/formatters": "^0.2.0",
|
|
23
|
+
"@jobber/hooks": "^1.12.1",
|
|
24
24
|
"@popperjs/core": "^2.0.6",
|
|
25
25
|
"@std-proposal/temporal": "0.0.1",
|
|
26
26
|
"@tanstack/react-table": "8.5.13",
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"> 1%",
|
|
88
88
|
"IE 10"
|
|
89
89
|
],
|
|
90
|
-
"gitHead": "
|
|
90
|
+
"gitHead": "13f5f954bfa837d4c49d6b812fe4db63b5acadfc"
|
|
91
91
|
}
|