@jobber/components 3.3.1 → 3.3.2-pre.1

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.
@@ -6,27 +6,25 @@ 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-6aea2128.js');
9
+ var LightBox = require('../LightBox-2077d32f.js');
10
10
  var FormatFile = require('../FormatFile-8d3b95d6.js');
11
11
  var Button = require('../Button-cd30df0f.js');
12
- require('react-image-lightbox');
13
- require('react-image-lightbox/style.css');
12
+ require('framer-motion');
13
+ require('@jobber/hooks');
14
+ require('../Icon-d5ad1a6d.js');
15
+ require('@jobber/design');
16
+ require('../ButtonDismiss-a9590195.js');
14
17
  require('filesize');
15
18
  require('../ConfirmationModal-c9dc96c6.js');
16
- require('@jobber/hooks');
17
19
  require('../Modal-eb97d4c3.js');
18
20
  require('react-dom');
19
- require('framer-motion');
20
21
  require('../Heading-a9a66964.js');
21
22
  require('../Typography-fbe0ed6e.js');
22
- require('../ButtonDismiss-a9590195.js');
23
23
  require('../Content-18de5fbb.js');
24
24
  require('../Markdown-b53e0308.js');
25
25
  require('react-markdown');
26
26
  require('../Text-e012fb46.js');
27
27
  require('../Emphasis-75a3f411.js');
28
- require('../Icon-d5ad1a6d.js');
29
- require('@jobber/design');
30
28
  require('../ProgressBar-e9a49129.js');
31
29
  require('react-router-dom');
32
30
 
@@ -1,4 +1,3 @@
1
- import "react-image-lightbox/style.css";
2
1
  interface PresentedImage {
3
2
  title?: string;
4
3
  caption?: string;
@@ -2,12 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var LightBox = require('../LightBox-6aea2128.js');
5
+ var LightBox = require('../LightBox-2077d32f.js');
6
6
  require('../tslib.es6-5b50eb8e.js');
7
7
  require('react');
8
- require('react-image-lightbox');
8
+ require('framer-motion');
9
+ require('@jobber/hooks');
9
10
  require('../style-inject.es-dcee06b6.js');
10
- require('react-image-lightbox/style.css');
11
+ require('../Icon-d5ad1a6d.js');
12
+ require('@jobber/design');
13
+ require('../ButtonDismiss-a9590195.js');
14
+ require('../Button-cd30df0f.js');
15
+ require('classnames');
16
+ require('react-router-dom');
17
+ require('../Typography-fbe0ed6e.js');
11
18
 
12
19
 
13
20
 
@@ -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 jobberHooks = require('@jobber/hooks');
7
+ var styleInject_es = require('./style-inject.es-dcee06b6.js');
8
+ var Icon = require('./Icon-d5ad1a6d.js');
9
+ var ButtonDismiss = require('./ButtonDismiss-a9590195.js');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
+
15
+ 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\n._2qgU3ylcPWUJGRthB18cb,\n._27gh3HPkx5J1Ru4Tqp_1tF {\n display: -ms-flexbox;\n display: flex;\n position: absolute;\n top: calc(50% - 20px);\n z-index: 2;\n width: 20px;\n height: 34px;\n padding: 30px 20px;\n font-size: 18px;\n font-weight: bold;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: rgba(0, 0, 0, 0.2);\n cursor: pointer;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n._2qgU3ylcPWUJGRthB18cb {\n right: 0px;\n}\n\n._27gh3HPkx5J1Ru4Tqp_1tF {\n left: 0px;\n}\n\n._3FuSx2b8rfxjzTQKeVn6MW {\n display: -ms-flexbox;\n display: flex;\n position: fixed;\n top: 0;\n left: 0;\n z-index: 10;\n width: 100%;\n height: 100%;\n background-color: var(--color-overlay);\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 padding: var(--space-small) var(--space-base);\n color: var(--color-greyBlue--lighter);\n font-size: var(--typography--fontSize-large);\n background-color: rgba(0, 0, 0, 0.5);\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}\n";
16
+ var styles = {"wrapper":"_23H2TI8rNmnv0zlHOHZooa","next":"_2qgU3ylcPWUJGRthB18cb","prev":"_27gh3HPkx5J1Ru4Tqp_1tF","lightboxWrapper":"_3FuSx2b8rfxjzTQKeVn6MW","toolbar":"_2gGRj41uQJhcl0zcSNgsOA","title":"oyIA3-aR1Fvwn0lpp1Mgx","imagesWrapper":"_1PPDSsP7v3FAZG3DA--Oq3"};
17
+ styleInject_es.styleInject(css);
18
+
19
+ var swipeConfidenceThreshold = 10000;
20
+ var swipePower = function (offset, velocity) {
21
+ return Math.abs(offset) * velocity;
22
+ };
23
+ var variants = {
24
+ enter: function (direction) {
25
+ return {
26
+ x: direction > 0 ? 2000 : -2000,
27
+ opacity: 0,
28
+ };
29
+ },
30
+ center: {
31
+ zIndex: 1,
32
+ x: 0,
33
+ opacity: 1,
34
+ },
35
+ };
36
+ var imageTransition = {
37
+ x: { type: "spring", stiffness: 300, damping: 30 },
38
+ opacity: { duration: 0.2 },
39
+ };
40
+ function LightBox(_a) {
41
+ var open = _a.open, images = _a.images, _b = _a.imageIndex, imageIndex = _b === void 0 ? 0 : _b, onRequestClose = _a.onRequestClose;
42
+ var _c = tslib_es6.__read(React.useState(imageIndex), 2), currentImageIndex = _c[0], setCurrentImageIndex = _c[1];
43
+ jobberHooks.useRefocusOnActivator(open);
44
+ jobberHooks.useOnKeyDown(function () {
45
+ onRequestClose({ lastPosition: currentImageIndex });
46
+ }, "Escape");
47
+ jobberHooks.useOnKeyDown(handleMovePrevious, {
48
+ key: "ArrowLeft",
49
+ });
50
+ jobberHooks.useOnKeyDown(handleMoveNext, {
51
+ key: "ArrowRight",
52
+ });
53
+ React.useEffect(function () {
54
+ setCurrentImageIndex(imageIndex);
55
+ }, [imageIndex, open]);
56
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
57
+ React__default["default"].createElement(framerMotion.AnimatePresence, { initial: false }, open && (React__default["default"].createElement(LightBoxWrapper, { key: "lightbox" },
58
+ React__default["default"].createElement(Toolbar, null,
59
+ React__default["default"].createElement(Title, null, images[currentImageIndex].title),
60
+ React__default["default"].createElement(ButtonDismiss.ButtonDismiss, { ariaLabel: "Close lightbox", onClick: function () {
61
+ onRequestClose({ lastPosition: currentImageIndex });
62
+ } })),
63
+ React__default["default"].createElement(ImagesWrapper, { handleImageWrapperClick: handleImageWrapperClick },
64
+ React__default["default"].createElement(PreviousButton, { onClick: handleMovePrevious }),
65
+ React__default["default"].createElement(framerMotion.motion.img, { key: currentImageIndex, variants: variants, src: images[currentImageIndex].url, initial: "enter", animate: "center", transition: imageTransition, drag: "x", dragConstraints: { left: 0, right: 0 }, dragElastic: 1, onDragEnd: handleOnDragEnd }),
66
+ React__default["default"].createElement(NextButton, { onClick: handleMoveNext })),
67
+ React__default["default"].createElement(Toolbar, null, images[currentImageIndex].caption))))));
68
+ function handleMovePrevious() {
69
+ setCurrentImageIndex((currentImageIndex + images.length - 1) % images.length);
70
+ }
71
+ function handleMoveNext() {
72
+ setCurrentImageIndex((currentImageIndex + 1) % images.length);
73
+ }
74
+ function handleImageWrapperClick(event) {
75
+ var target = event.target;
76
+ if (target.id === "imageWrapper") {
77
+ onRequestClose({ lastPosition: currentImageIndex });
78
+ }
79
+ }
80
+ function handleOnDragEnd(event, _a) {
81
+ var offset = _a.offset, velocity = _a.velocity;
82
+ var swipe = swipePower(offset.x, velocity.x);
83
+ if (swipe < -swipeConfidenceThreshold) {
84
+ handleMovePrevious();
85
+ }
86
+ else if (swipe > swipeConfidenceThreshold) {
87
+ handleMoveNext();
88
+ }
89
+ }
90
+ }
91
+ function Title(_a) {
92
+ var children = _a.children;
93
+ return React__default["default"].createElement("span", { className: styles.title }, children);
94
+ }
95
+ function Toolbar(_a) {
96
+ var children = _a.children;
97
+ return React__default["default"].createElement("div", { className: styles.toolbar }, children);
98
+ }
99
+ function LightBoxWrapper(_a) {
100
+ var children = _a.children;
101
+ return (React__default["default"].createElement("div", { className: styles.lightboxWrapper, tabIndex: 0, "aria-label": "Lightbox" }, children));
102
+ }
103
+ function ImagesWrapper(_a) {
104
+ var children = _a.children, handleImageWrapperClick = _a.handleImageWrapperClick;
105
+ return (React__default["default"].createElement("div", { className: styles.imagesWrapper, onClick: handleImageWrapperClick, id: "imageWrapper" }, children));
106
+ }
107
+ function PreviousButton(_a) {
108
+ var onClick = _a.onClick;
109
+ return (React__default["default"].createElement("div", { className: styles.prev, onClick: onClick },
110
+ React__default["default"].createElement(Icon.Icon, { name: "arrowLeft", color: "white", size: "large" })));
111
+ }
112
+ function NextButton(_a) {
113
+ var onClick = _a.onClick;
114
+ return (React__default["default"].createElement("div", { className: styles.next, onClick: onClick },
115
+ React__default["default"].createElement(Icon.Icon, { name: "arrowRight", color: "white", size: "large" })));
116
+ }
117
+
118
+ exports.LightBox = LightBox;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "3.3.1",
3
+ "version": "3.3.2-pre.1+fbcb0d57",
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.7.2",
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": "ff93678b378eebc0a462c5dbeffecee57c36331d"
87
+ "gitHead": "fbcb0d57f65018e709689e9698aff3eb10d3929f"
89
88
  }
package/rollup.config.js CHANGED
@@ -50,8 +50,6 @@ export default {
50
50
  "react-countdown",
51
51
  "react-popper",
52
52
  "react-datepicker",
53
- "react-image-lightbox",
54
- "react-image-lightbox/style.css",
55
53
  "react-dropzone",
56
54
  "axios",
57
55
  "filesize",
@@ -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;