@jobber/components 3.4.4-pre.0 → 3.4.5
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 +16 -0
- package/dist/Banner/index.js +18 -15
- package/dist/Card/index.js +2 -2
- package/dist/{Card-9056628f.js → Card-b9f8d6f3.js} +1 -1
- package/dist/DataDump/index.js +2 -2
- package/dist/DescriptionList/index.js +2 -2
- package/dist/Gallery/index.js +6 -7
- package/dist/InputAvatar/index.js +1 -1
- package/dist/InputFile/index.js +1 -1
- package/dist/{InputFile-3ae4cf99.js → InputFile-e108a7f8.js} +1 -1
- package/dist/LightBox/LightBox.d.ts +2 -2
- package/dist/LightBox/index.js +12 -3
- package/dist/LightBox-4eb2e6f0.js +118 -0
- package/dist/Menu/index.js +1 -1
- package/dist/{Menu-13deda94.js → Menu-826cfb89.js} +2 -2
- package/dist/Page/index.js +1 -1
- package/package.json +2 -3
- package/rollup.config.js +0 -2
- package/dist/LightBox-6aea2128.js +0 -42
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [3.4.5](https://github.com/GetJobber/atlantis/compare/@jobber/components@3.4.4...@jobber/components@3.4.5) (2023-03-06)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @jobber/components
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [3.4.4](https://github.com/GetJobber/atlantis/compare/@jobber/components@3.4.3...@jobber/components@3.4.4) (2023-03-03)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @jobber/components
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
## [3.4.3](https://github.com/GetJobber/atlantis/compare/@jobber/components@3.4.2...@jobber/components@3.4.3) (2023-03-03)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @jobber/components
|
package/dist/Banner/index.js
CHANGED
|
@@ -19,8 +19,8 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
19
19
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
20
20
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
21
21
|
|
|
22
|
-
var css$1 = ".
|
|
23
|
-
var styles = {"
|
|
22
|
+
var css$1 = ":root {\n --flash--inset: var(--space-base);\n --flash--inset--small: var(--space-small);\n}\n\n._364vcgV1m5AeWxKbtAvmwW {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-shadow: var(--shadow-base);\n padding: var(--space-base);\n padding: var(--space-base);\n padding: var(--flash--inset);\n color: var(--color-black);\n background-color: var(--color-grey--lightest);\n -ms-flex-align: center;\n align-items: center;\n}\n\n._3vGMT9on-QbjXBlSaiNcgm {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n._2iRHpLiGUYBO-8xY0h00rp {\n -ms-flex-item-align: center;\n align-self: center;\n}\n\n._3GnUCvx5Y7mFbH2Z7IN5U- {\n padding-top: var(--space-smallest);\n padding-right: var(--space-base);\n padding-right: var(--space-base);\n padding-right: var(--flash--inset);\n}\n\n._3vGMT9on-QbjXBlSaiNcgm > * {\n margin-top: var(--space-small);\n margin-top: var(--space-small);\n margin-top: var(--flash--inset--small);\n margin-bottom: var(--space-small);\n margin-bottom: var(--space-small);\n margin-bottom: var(--flash--inset--small);\n}\n\n._3vGMT9on-QbjXBlSaiNcgm > *:first-child {\n margin-top: 0;\n margin-right: var(--space-base);\n}\n\n._3vGMT9on-QbjXBlSaiNcgm > *:last-child {\n margin-bottom: 0;\n}\n\n._1S5EoHZng2ePaBlNMXhUYb ._3vGMT9on-QbjXBlSaiNcgm {\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n._1S5EoHZng2ePaBlNMXhUYb ._3vGMT9on-QbjXBlSaiNcgm > * {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n._12QzEnq3z7-XCpLmgYARp {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n._2MtsHfzp46XdG3BZQtOLm- {\n padding: var(--space-smallest);\n border: none;\n background-color: transparent;\n cursor: pointer;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n -ms-flex: 0;\n flex: 0;\n -ms-flex-item-align: start;\n align-self: flex-start;\n}\n\n._2MtsHfzp46XdG3BZQtOLm-:hover {\n background: rgba(0, 0, 0, 0.025);\n}\n\n._2MtsHfzp46XdG3BZQtOLm-:focus {\n box-shadow: var(--shadow-focus);\n outline: none;\n background: rgba(0, 0, 0, 0.05);\n}\n";
|
|
23
|
+
var styles = {"flash":"_364vcgV1m5AeWxKbtAvmwW","bannerContent":"_3vGMT9on-QbjXBlSaiNcgm","bannerChildren":"_2iRHpLiGUYBO-8xY0h00rp","dismissibleSpacing":"_3GnUCvx5Y7mFbH2Z7IN5U-","medium":"_1S5EoHZng2ePaBlNMXhUYb","bannerAction":"_12QzEnq3z7-XCpLmgYARp","closeButton":"_2MtsHfzp46XdG3BZQtOLm-"};
|
|
24
24
|
styleInject_es.styleInject(css$1);
|
|
25
25
|
|
|
26
26
|
var css = ".nw7Tf4jicBNmfENtxh7tG {\n background-color: var(--color-informative--surface);\n}\n\n/* Our Banner \"surface\" colors should be lighter than they are so we're leaving the following alone for now */\n\n.myY4eq0vr_r4Twz0QcBwu {\n background-color: var(--color-green--lighter);\n}\n\n.eExwEf69eCfam2C6Ekk5D {\n background-color: var(--color-yellow--lighter);\n}\n\n._1U_-uPZepxvaZPO5hh8G4O {\n background-color: var(--color-red--lighter);\n}\n";
|
|
@@ -28,21 +28,21 @@ var types = {"notice":"nw7Tf4jicBNmfENtxh7tG","success":"myY4eq0vr_r4Twz0QcBwu",
|
|
|
28
28
|
styleInject_es.styleInject(css);
|
|
29
29
|
|
|
30
30
|
function Banner(_a) {
|
|
31
|
-
var _b;
|
|
32
|
-
var children = _a.children, type = _a.type, primaryAction = _a.primaryAction,
|
|
33
|
-
var
|
|
31
|
+
var _b, _c;
|
|
32
|
+
var children = _a.children, type = _a.type, primaryAction = _a.primaryAction, _d = _a.dismissible, dismissible = _d === void 0 ? true : _d, onDismiss = _a.onDismiss;
|
|
33
|
+
var _e = tslib_es6.__read(React.useState(true), 2), showFlash = _e[0], setShowFlash = _e[1];
|
|
34
34
|
var bannerWidths = {
|
|
35
35
|
small: 320,
|
|
36
36
|
medium: 480,
|
|
37
37
|
};
|
|
38
|
-
var
|
|
38
|
+
var _f = tslib_es6.__read(jobberHooks.useResizeObserver({
|
|
39
39
|
widths: bannerWidths,
|
|
40
|
-
}), 2), bannerRef =
|
|
40
|
+
}), 2), bannerRef = _f[0], _g = _f[1].width, bannerWidth = _g === void 0 ? bannerWidths.small : _g;
|
|
41
41
|
var iconColors = {
|
|
42
|
-
notice: "
|
|
43
|
-
success: "
|
|
44
|
-
warning: "
|
|
45
|
-
error: "
|
|
42
|
+
notice: "lightBlue",
|
|
43
|
+
success: "green",
|
|
44
|
+
warning: "yellow",
|
|
45
|
+
error: "red",
|
|
46
46
|
};
|
|
47
47
|
if (primaryAction != undefined) {
|
|
48
48
|
primaryAction = Object.assign({
|
|
@@ -51,11 +51,14 @@ function Banner(_a) {
|
|
|
51
51
|
variation: type === "notice" ? "learning" : "work",
|
|
52
52
|
}, primaryAction);
|
|
53
53
|
}
|
|
54
|
-
var
|
|
54
|
+
var flashClassNames = classnames__default["default"](styles.flash, types[type], (_b = {},
|
|
55
55
|
_b[styles.medium] = bannerWidth >= bannerWidths.medium,
|
|
56
56
|
_b));
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
var contentClassNames = classnames__default["default"](styles.bannerContent, (_c = {},
|
|
58
|
+
_c[styles.dismissibleSpacing] = dismissible,
|
|
59
|
+
_c));
|
|
60
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null, showFlash && (React__default["default"].createElement("div", { className: flashClassNames, ref: bannerRef, role: type === "error" ? "alert" : "status" },
|
|
61
|
+
React__default["default"].createElement("div", { className: contentClassNames },
|
|
59
62
|
React__default["default"].createElement("div", { className: styles.bannerChildren },
|
|
60
63
|
React__default["default"].createElement(BannerChildren, null, children)),
|
|
61
64
|
primaryAction && (React__default["default"].createElement("div", { className: styles.bannerAction },
|
|
@@ -63,7 +66,7 @@ function Banner(_a) {
|
|
|
63
66
|
dismissible && (React__default["default"].createElement("button", { className: styles.closeButton, onClick: handleClose, "aria-label": "Close this notification" },
|
|
64
67
|
React__default["default"].createElement(Icon.Icon, { name: "cross", color: iconColors[type] })))))));
|
|
65
68
|
function handleClose() {
|
|
66
|
-
|
|
69
|
+
setShowFlash(!showFlash);
|
|
67
70
|
onDismiss && onDismiss();
|
|
68
71
|
}
|
|
69
72
|
}
|
package/dist/Card/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Card = require('../Card-
|
|
5
|
+
var Card = require('../Card-b9f8d6f3.js');
|
|
6
6
|
require('../tslib.es6-5b50eb8e.js');
|
|
7
7
|
require('react');
|
|
8
8
|
require('classnames');
|
|
@@ -13,7 +13,7 @@ require('../Button-cd30df0f.js');
|
|
|
13
13
|
require('react-router-dom');
|
|
14
14
|
require('../Icon-d5ad1a6d.js');
|
|
15
15
|
require('@jobber/design');
|
|
16
|
-
require('../Menu-
|
|
16
|
+
require('../Menu-826cfb89.js');
|
|
17
17
|
require('uuid');
|
|
18
18
|
require('framer-motion');
|
|
19
19
|
require('@jobber/hooks');
|
|
@@ -6,7 +6,7 @@ var classnames = require('classnames');
|
|
|
6
6
|
var styleInject_es = require('./style-inject.es-dcee06b6.js');
|
|
7
7
|
var Heading = require('./Heading-a9a66964.js');
|
|
8
8
|
var Button = require('./Button-cd30df0f.js');
|
|
9
|
-
var Menu = require('./Menu-
|
|
9
|
+
var Menu = require('./Menu-826cfb89.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
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-b9f8d6f3.js');
|
|
7
7
|
var Content = require('../Content-18de5fbb.js');
|
|
8
8
|
var Emphasis = require('../Emphasis-75a3f411.js');
|
|
9
9
|
require('../tslib.es6-5b50eb8e.js');
|
|
@@ -15,7 +15,7 @@ require('../Button-cd30df0f.js');
|
|
|
15
15
|
require('react-router-dom');
|
|
16
16
|
require('../Icon-d5ad1a6d.js');
|
|
17
17
|
require('@jobber/design');
|
|
18
|
-
require('../Menu-
|
|
18
|
+
require('../Menu-826cfb89.js');
|
|
19
19
|
require('uuid');
|
|
20
20
|
require('framer-motion');
|
|
21
21
|
require('@jobber/hooks');
|
|
@@ -21,8 +21,8 @@ function DescriptionList(_a) {
|
|
|
21
21
|
return (React__default["default"].createElement("dl", { className: styles.descriptionList }, data.map(function (_a) {
|
|
22
22
|
var _b = tslib_es6.__read(_a, 2), term = _b[0], description = _b[1];
|
|
23
23
|
return (React__default["default"].createElement("div", { key: term, className: styles.termGroup },
|
|
24
|
-
React__default["default"].createElement(Typography.Typography, { element: "dt", textColor: "
|
|
25
|
-
React__default["default"].createElement(Typography.Typography, { element: "dd", textColor: "
|
|
24
|
+
React__default["default"].createElement(Typography.Typography, { element: "dt", textColor: "heading", size: "base" }, term),
|
|
25
|
+
React__default["default"].createElement(Typography.Typography, { element: "dd", textColor: "text", size: "base" }, description)));
|
|
26
26
|
})));
|
|
27
27
|
}
|
|
28
28
|
|
package/dist/Gallery/index.js
CHANGED
|
@@ -6,20 +6,19 @@ var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var classnames = require('classnames');
|
|
8
8
|
var styleInject_es = require('../style-inject.es-dcee06b6.js');
|
|
9
|
-
var LightBox = require('../LightBox-
|
|
9
|
+
var LightBox = require('../LightBox-4eb2e6f0.js');
|
|
10
10
|
var FormatFile = require('../FormatFile-44fc7b58.js');
|
|
11
11
|
var Button = require('../Button-cd30df0f.js');
|
|
12
|
-
require('
|
|
13
|
-
require('react-
|
|
12
|
+
require('framer-motion');
|
|
13
|
+
require('react-dom');
|
|
14
|
+
require('lodash/debounce');
|
|
15
|
+
require('@jobber/hooks');
|
|
16
|
+
require('../ButtonDismiss-a9590195.js');
|
|
14
17
|
require('filesize');
|
|
15
18
|
require('../ConfirmationModal-e95f46d7.js');
|
|
16
|
-
require('@jobber/hooks');
|
|
17
19
|
require('../Modal-cc3bd7bf.js');
|
|
18
|
-
require('react-dom');
|
|
19
|
-
require('framer-motion');
|
|
20
20
|
require('../Heading-a9a66964.js');
|
|
21
21
|
require('../Typography-fbe0ed6e.js');
|
|
22
|
-
require('../ButtonDismiss-a9590195.js');
|
|
23
22
|
require('../Content-18de5fbb.js');
|
|
24
23
|
require('../Markdown-b53e0308.js');
|
|
25
24
|
require('react-markdown');
|
|
@@ -6,7 +6,7 @@ var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var styleInject_es = require('../style-inject.es-dcee06b6.js');
|
|
8
8
|
var Avatar = require('../Avatar-cfd04e86.js');
|
|
9
|
-
var InputFile = require('../InputFile-
|
|
9
|
+
var InputFile = require('../InputFile-e108a7f8.js');
|
|
10
10
|
var ProgressBar = require('../ProgressBar-e9a49129.js');
|
|
11
11
|
var Button = require('../Button-cd30df0f.js');
|
|
12
12
|
require('classnames');
|
package/dist/InputFile/index.js
CHANGED
|
@@ -44,7 +44,7 @@ function InputFile(_a) {
|
|
|
44
44
|
React__default["default"].createElement("input", tslib_es6.__assign({}, getInputProps())),
|
|
45
45
|
variation === "dropzone" && (React__default["default"].createElement(Content.Content, { spacing: "small" },
|
|
46
46
|
React__default["default"].createElement(Button.Button, { label: buttonLabel, size: "small", type: "secondary" }),
|
|
47
|
-
size === "base" && (React__default["default"].createElement(Typography.Typography, { size: "small", textColor: "
|
|
47
|
+
size === "base" && (React__default["default"].createElement(Typography.Typography, { size: "small", textColor: "textSecondary" }, hintText)))),
|
|
48
48
|
variation === "button" && (React__default["default"].createElement(Button.Button, { label: buttonLabel, size: size, type: "secondary", fullWidth: true }))));
|
|
49
49
|
function handleDrop(acceptedFiles) {
|
|
50
50
|
acceptedFiles.forEach(function (file) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "react
|
|
1
|
+
import React from "react";
|
|
2
2
|
interface PresentedImage {
|
|
3
3
|
title?: string;
|
|
4
4
|
caption?: string;
|
|
@@ -33,5 +33,5 @@ interface LightBoxProps {
|
|
|
33
33
|
*/
|
|
34
34
|
onRequestClose(options: RequestCloseOptions): void;
|
|
35
35
|
}
|
|
36
|
-
export declare function LightBox({ open, images, imageIndex, onRequestClose, }: LightBoxProps):
|
|
36
|
+
export declare function LightBox({ open, images, imageIndex, onRequestClose, }: LightBoxProps): React.ReactPortal;
|
|
37
37
|
export {};
|
package/dist/LightBox/index.js
CHANGED
|
@@ -2,12 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var LightBox = require('../LightBox-
|
|
5
|
+
var LightBox = require('../LightBox-4eb2e6f0.js');
|
|
6
6
|
require('../tslib.es6-5b50eb8e.js');
|
|
7
7
|
require('react');
|
|
8
|
-
require('
|
|
8
|
+
require('framer-motion');
|
|
9
|
+
require('react-dom');
|
|
10
|
+
require('lodash/debounce');
|
|
11
|
+
require('@jobber/hooks');
|
|
9
12
|
require('../style-inject.es-dcee06b6.js');
|
|
10
|
-
require('
|
|
13
|
+
require('../ButtonDismiss-a9590195.js');
|
|
14
|
+
require('../Button-cd30df0f.js');
|
|
15
|
+
require('classnames');
|
|
16
|
+
require('react-router-dom');
|
|
17
|
+
require('../Icon-d5ad1a6d.js');
|
|
18
|
+
require('@jobber/design');
|
|
19
|
+
require('../Typography-fbe0ed6e.js');
|
|
11
20
|
|
|
12
21
|
|
|
13
22
|
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var framerMotion = require('framer-motion');
|
|
6
|
+
var ReactDOM = require('react-dom');
|
|
7
|
+
var debounce = require('lodash/debounce');
|
|
8
|
+
var jobberHooks = require('@jobber/hooks');
|
|
9
|
+
var styleInject_es = require('./style-inject.es-dcee06b6.js');
|
|
10
|
+
var ButtonDismiss = require('./ButtonDismiss-a9590195.js');
|
|
11
|
+
var Button = require('./Button-cd30df0f.js');
|
|
12
|
+
|
|
13
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
|
+
|
|
15
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
16
|
+
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
17
|
+
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
18
|
+
|
|
19
|
+
var css = "._2qgU3ylcPWUJGRthB18cb,\n._27gh3HPkx5J1Ru4Tqp_1tF {\n display: -ms-flexbox;\n display: flex;\n position: absolute;\n top: 50%;\n z-index: var(--elevation-base);\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n}\n\n._2qgU3ylcPWUJGRthB18cb {\n right: var(--space-base);\n}\n\n._27gh3HPkx5J1Ru4Tqp_1tF {\n left: var(--space-base);\n}\n\n._3FuSx2b8rfxjzTQKeVn6MW {\n display: -ms-flexbox;\n display: flex;\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--elevation-modal);\n width: 100%;\n height: 100%;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n._2gGRj41uQJhcl0zcSNgsOA {\n display: -ms-flexbox;\n display: flex;\n z-index: var(--elevation-base);\n padding: var(--space-small) var(--space-base);\n color: var(--color-text--reverse--secondary);\n font-size: var(--typography--fontSize-large);\n background-color: var(--color-surface--reverse);\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n\n.oyIA3-aR1Fvwn0lpp1Mgx {\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n._1PPDSsP7v3FAZG3DA--Oq3 {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n position: relative;\n -ms-flex: 1 1 0px;\n flex: 1 1 0;\n min-height: 0;\n}\n\n._23IH8HE3ZATpurQqLyWj-l {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: var(--color-overlay);\n}\n\n._2UNyNw_u8HDWIzzxcSLUU6 {\n position: absolute;\n top: 50%;\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n}\n";
|
|
20
|
+
var styles = {"next":"_2qgU3ylcPWUJGRthB18cb","prev":"_27gh3HPkx5J1Ru4Tqp_1tF","lightboxWrapper":"_3FuSx2b8rfxjzTQKeVn6MW","toolbar":"_2gGRj41uQJhcl0zcSNgsOA","title":"oyIA3-aR1Fvwn0lpp1Mgx","imagesWrapper":"_1PPDSsP7v3FAZG3DA--Oq3","overlay":"_23IH8HE3ZATpurQqLyWj-l","image":"_2UNyNw_u8HDWIzzxcSLUU6"};
|
|
21
|
+
styleInject_es.styleInject(css);
|
|
22
|
+
|
|
23
|
+
var swipeConfidenceThreshold = 10000;
|
|
24
|
+
var swipePower = function (offset, velocity) {
|
|
25
|
+
return Math.abs(offset) * velocity;
|
|
26
|
+
};
|
|
27
|
+
var variants = {
|
|
28
|
+
enter: function (direction) {
|
|
29
|
+
return {
|
|
30
|
+
x: direction > 0 ? 1000 : -1000,
|
|
31
|
+
opacity: 0,
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
center: {
|
|
35
|
+
zIndex: 1,
|
|
36
|
+
x: 0,
|
|
37
|
+
opacity: 1,
|
|
38
|
+
},
|
|
39
|
+
exit: function (direction) {
|
|
40
|
+
return {
|
|
41
|
+
zIndex: 0,
|
|
42
|
+
x: direction < 0 ? 1000 : -1000,
|
|
43
|
+
opacity: 0,
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
var imageTransition = {
|
|
48
|
+
x: { type: "spring", stiffness: 300, damping: 30 },
|
|
49
|
+
opacity: { duration: 0.2 },
|
|
50
|
+
};
|
|
51
|
+
// A little bit more than the transition's duration
|
|
52
|
+
// We're doing this to prevent a bug from framer-motion
|
|
53
|
+
// https://github.com/framer/motion/issues/1769
|
|
54
|
+
var debounceDuration = 250;
|
|
55
|
+
function LightBox(_a) {
|
|
56
|
+
var open = _a.open, images = _a.images, _b = _a.imageIndex, imageIndex = _b === void 0 ? 0 : _b, onRequestClose = _a.onRequestClose;
|
|
57
|
+
var _c = tslib_es6.__read(React.useState(imageIndex), 2), currentImageIndex = _c[0], setCurrentImageIndex = _c[1];
|
|
58
|
+
var _d = tslib_es6.__read(React.useState(0), 2), direction = _d[0], setDirection = _d[1];
|
|
59
|
+
var lightboxRef = jobberHooks.useFocusTrap(open);
|
|
60
|
+
var debouncedHandleNext = debounce__default["default"](handleMoveNext, debounceDuration);
|
|
61
|
+
var debouncedHandlePrevious = debounce__default["default"](handleMovePrevious, debounceDuration);
|
|
62
|
+
jobberHooks.useRefocusOnActivator(open);
|
|
63
|
+
jobberHooks.useOnKeyDown(handleRequestClose, "Escape");
|
|
64
|
+
jobberHooks.useOnKeyDown(debouncedHandlePrevious, {
|
|
65
|
+
key: "ArrowLeft",
|
|
66
|
+
});
|
|
67
|
+
jobberHooks.useOnKeyDown(debouncedHandleNext, {
|
|
68
|
+
key: "ArrowRight",
|
|
69
|
+
});
|
|
70
|
+
React.useEffect(function () {
|
|
71
|
+
setCurrentImageIndex(imageIndex);
|
|
72
|
+
}, [imageIndex, open]);
|
|
73
|
+
var template = (React__default["default"].createElement(React__default["default"].Fragment, null, open && (React__default["default"].createElement("div", { className: styles.lightboxWrapper, tabIndex: 0, "aria-label": "Lightbox", key: "Lightbox", ref: lightboxRef },
|
|
74
|
+
React__default["default"].createElement("div", { className: styles.toolbar },
|
|
75
|
+
React__default["default"].createElement("span", { className: styles.title }, images[currentImageIndex].title),
|
|
76
|
+
React__default["default"].createElement(ButtonDismiss.ButtonDismiss, { ariaLabel: "Close", onClick: handleRequestClose })),
|
|
77
|
+
React__default["default"].createElement("div", { className: styles.imagesWrapper },
|
|
78
|
+
React__default["default"].createElement(framerMotion.AnimatePresence, { initial: false },
|
|
79
|
+
React__default["default"].createElement(framerMotion.motion.img, { key: currentImageIndex, variants: variants, src: images[currentImageIndex].url, custom: direction, className: styles.image, style: { y: "-50%" }, initial: "enter", animate: "center", exit: "exit", transition: imageTransition, drag: "x", dragConstraints: { left: 0, right: 0 }, dragElastic: 1, onDragEnd: handleOnDragEnd }))),
|
|
80
|
+
React__default["default"].createElement(PreviousButton, { onClick: debouncedHandlePrevious }),
|
|
81
|
+
React__default["default"].createElement(NextButton, { onClick: debouncedHandleNext }),
|
|
82
|
+
React__default["default"].createElement("div", { className: styles.toolbar }, images[currentImageIndex].caption),
|
|
83
|
+
React__default["default"].createElement("div", { className: styles.overlay, onClick: handleRequestClose })))));
|
|
84
|
+
return ReactDOM__default["default"].createPortal(template, document.body);
|
|
85
|
+
function handleMovePrevious() {
|
|
86
|
+
setDirection(-1);
|
|
87
|
+
setCurrentImageIndex((currentImageIndex + images.length - 1) % images.length);
|
|
88
|
+
}
|
|
89
|
+
function handleMoveNext() {
|
|
90
|
+
setDirection(1);
|
|
91
|
+
setCurrentImageIndex((currentImageIndex + 1) % images.length);
|
|
92
|
+
}
|
|
93
|
+
function handleRequestClose() {
|
|
94
|
+
onRequestClose({ lastPosition: currentImageIndex });
|
|
95
|
+
}
|
|
96
|
+
function handleOnDragEnd(event, _a) {
|
|
97
|
+
var offset = _a.offset, velocity = _a.velocity;
|
|
98
|
+
var swipe = swipePower(offset.x, velocity.x);
|
|
99
|
+
if (swipe < -swipeConfidenceThreshold) {
|
|
100
|
+
handleMoveNext();
|
|
101
|
+
}
|
|
102
|
+
else if (swipe > swipeConfidenceThreshold) {
|
|
103
|
+
handleMovePrevious();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function PreviousButton(_a) {
|
|
108
|
+
var onClick = _a.onClick;
|
|
109
|
+
return (React__default["default"].createElement("div", { className: styles.prev },
|
|
110
|
+
React__default["default"].createElement(Button.Button, { size: "large", variation: "subtle", type: "secondary", icon: "arrowLeft", ariaLabel: "Previous image", onClick: onClick })));
|
|
111
|
+
}
|
|
112
|
+
function NextButton(_a) {
|
|
113
|
+
var onClick = _a.onClick;
|
|
114
|
+
return (React__default["default"].createElement("div", { className: styles.next },
|
|
115
|
+
React__default["default"].createElement(Button.Button, { size: "large", variation: "subtle", type: "secondary", icon: "arrowRight", ariaLabel: "Next image", onClick: onClick })));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
exports.LightBox = LightBox;
|
package/dist/Menu/index.js
CHANGED
|
@@ -113,7 +113,7 @@ function Menu(_a) {
|
|
|
113
113
|
function SectionHeader(_a) {
|
|
114
114
|
var text = _a.text;
|
|
115
115
|
return (React__default["default"].createElement("div", { className: styles.sectionHeader, "aria-hidden": true },
|
|
116
|
-
React__default["default"].createElement(Typography.Typography, { element: "h6", size: "small", textCase: "uppercase", textColor: "
|
|
116
|
+
React__default["default"].createElement(Typography.Typography, { element: "h6", size: "small", textCase: "uppercase", textColor: "textSecondary", fontWeight: "bold" }, text)));
|
|
117
117
|
}
|
|
118
118
|
function Action(_a) {
|
|
119
119
|
var label = _a.label, sectionLabel = _a.sectionLabel, icon = _a.icon, onClick = _a.onClick, _b = _a.shouldFocus, shouldFocus = _b === void 0 ? false : _b;
|
|
@@ -126,7 +126,7 @@ function Action(_a) {
|
|
|
126
126
|
return (React__default["default"].createElement("button", { role: "menuitem", type: "button", className: styles.action, key: label, onClick: onClick, ref: actionButtonRef },
|
|
127
127
|
icon && (React__default["default"].createElement("span", { className: styles.icon },
|
|
128
128
|
React__default["default"].createElement(Icon.Icon, { name: icon }))),
|
|
129
|
-
React__default["default"].createElement(Typography.Typography, { element: "span", size: "base", textColor: "
|
|
129
|
+
React__default["default"].createElement(Typography.Typography, { element: "span", size: "base", textColor: "text" },
|
|
130
130
|
sectionLabel && (React__default["default"].createElement("span", { className: styles.screenReaderOnly }, sectionLabel)),
|
|
131
131
|
label)));
|
|
132
132
|
}
|
package/dist/Page/index.js
CHANGED
|
@@ -12,7 +12,7 @@ var Text = require('../Text-e012fb46.js');
|
|
|
12
12
|
var Content = require('../Content-18de5fbb.js');
|
|
13
13
|
var Markdown = require('../Markdown-b53e0308.js');
|
|
14
14
|
var Button = require('../Button-cd30df0f.js');
|
|
15
|
-
var Menu = require('../Menu-
|
|
15
|
+
var Menu = require('../Menu-826cfb89.js');
|
|
16
16
|
var Emphasis = require('../Emphasis-75a3f411.js');
|
|
17
17
|
require('../Typography-fbe0ed6e.js');
|
|
18
18
|
require('react-markdown');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.5",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -41,7 +41,6 @@
|
|
|
41
41
|
"react-datepicker": "^4.10.0",
|
|
42
42
|
"react-dropzone": "^11.0.2",
|
|
43
43
|
"react-hook-form": "^6.15.8",
|
|
44
|
-
"react-image-lightbox": "^5.1.1",
|
|
45
44
|
"react-markdown": "^8.0.3",
|
|
46
45
|
"react-popper": "^2.2.5",
|
|
47
46
|
"react-router-dom": "~5.2.0",
|
|
@@ -85,5 +84,5 @@
|
|
|
85
84
|
"> 1%",
|
|
86
85
|
"IE 10"
|
|
87
86
|
],
|
|
88
|
-
"gitHead": "
|
|
87
|
+
"gitHead": "34fab41222c5603f7babe5bb58867c12a9175854"
|
|
89
88
|
}
|
package/rollup.config.js
CHANGED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var ExternalLightBox = require('react-image-lightbox');
|
|
6
|
-
var styleInject_es = require('./style-inject.es-dcee06b6.js');
|
|
7
|
-
require('react-image-lightbox/style.css');
|
|
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 ExternalLightBox__default = /*#__PURE__*/_interopDefaultLegacy(ExternalLightBox);
|
|
13
|
-
|
|
14
|
-
var css = "._23H2TI8rNmnv0zlHOHZooa.ril__outer {\n font-family: var(--typography--fontFamily-normal);\n background-color: transparent;\n}\n\n._23H2TI8rNmnv0zlHOHZooa.ril__outer:before {\n content: \"\";\n display: block;\n width: 100%;\n height: 100%;\n background-color: var(--color-overlay);\n}\n\n._23H2TI8rNmnv0zlHOHZooa.ril__outer .ril__captionContent {\n color: var(--color-greyBlue--lighter);\n}\n\n._23H2TI8rNmnv0zlHOHZooa.ril__outer .ril__toolbarItem {\n color: var(--color-greyBlue--lighter);\n}\n";
|
|
15
|
-
var styles = {"wrapper":"_23H2TI8rNmnv0zlHOHZooa"};
|
|
16
|
-
styleInject_es.styleInject(css);
|
|
17
|
-
|
|
18
|
-
function LightBox(_a) {
|
|
19
|
-
var open = _a.open, images = _a.images, _b = _a.imageIndex, imageIndex = _b === void 0 ? 0 : _b, onRequestClose = _a.onRequestClose;
|
|
20
|
-
var _c = tslib_es6.__read(React.useState(imageIndex), 2), currentImageIndex = _c[0], setCurrentImageIndex = _c[1];
|
|
21
|
-
var nextSrc = undefined;
|
|
22
|
-
var prevSrc = undefined;
|
|
23
|
-
if (images.length > 1) {
|
|
24
|
-
nextSrc = images[(currentImageIndex + 1) % images.length].url;
|
|
25
|
-
prevSrc =
|
|
26
|
-
images[(currentImageIndex + images.length - 1) % images.length].url;
|
|
27
|
-
}
|
|
28
|
-
React.useEffect(function () {
|
|
29
|
-
setCurrentImageIndex(imageIndex);
|
|
30
|
-
}, [imageIndex]);
|
|
31
|
-
return (React__default["default"].createElement(React__default["default"].Fragment, null, open && (React__default["default"].createElement(ExternalLightBox__default["default"], { wrapperClassName: styles.wrapper, mainSrc: images[currentImageIndex].url, enableZoom: false, nextSrc: nextSrc, prevSrc: prevSrc, imageTitle: images[currentImageIndex].title, imageCaption: images[currentImageIndex].caption, onCloseRequest: function () {
|
|
32
|
-
return onRequestClose({ lastPosition: currentImageIndex });
|
|
33
|
-
}, onMovePrevRequest: handleMovePrevious, onMoveNextRequest: handleMoveNext }))));
|
|
34
|
-
function handleMovePrevious() {
|
|
35
|
-
setCurrentImageIndex((currentImageIndex + images.length - 1) % images.length);
|
|
36
|
-
}
|
|
37
|
-
function handleMoveNext() {
|
|
38
|
-
setCurrentImageIndex((currentImageIndex + 1) % images.length);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
exports.LightBox = LightBox;
|