@jobber/components 3.4.4 → 3.4.6

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 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.6](https://github.com/GetJobber/atlantis/compare/@jobber/components@3.4.5...@jobber/components@3.4.6) (2023-03-06)
7
+
8
+ **Note:** Version bump only for package @jobber/components
9
+
10
+
11
+
12
+
13
+
14
+ ## [3.4.5](https://github.com/GetJobber/atlantis/compare/@jobber/components@3.4.4...@jobber/components@3.4.5) (2023-03-06)
15
+
16
+ **Note:** Version bump only for package @jobber/components
17
+
18
+
19
+
20
+
21
+
6
22
  ## [3.4.4](https://github.com/GetJobber/atlantis/compare/@jobber/components@3.4.3...@jobber/components@3.4.4) (2023-03-03)
7
23
 
8
24
  **Note:** Version bump only for package @jobber/components
@@ -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 = ":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-"};
22
+ var css$1 = ".XnQ3RJFzByInxjZ8LTsv8 {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-shadow: var(--shadow-base);\n padding: var(--space-base);\n color: var(--color-text);\n background-color: var(--color-surface--background);\n grid-gap: var(--space-small);\n grid-gap: var(--space-small);\n gap: var(--space-small);\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 grid-gap: var(--space-small);\n grid-gap: var(--space-small);\n gap: var(--space-small);\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._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._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 margin: calc(var(--space-smallest) * -1) 0;\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 = {"banner":"XnQ3RJFzByInxjZ8LTsv8","bannerContent":"_3vGMT9on-QbjXBlSaiNcgm","bannerChildren":"_2iRHpLiGUYBO-8xY0h00rp","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, _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];
31
+ var _b;
32
+ var children = _a.children, type = _a.type, primaryAction = _a.primaryAction, _c = _a.dismissible, dismissible = _c === void 0 ? true : _c, onDismiss = _a.onDismiss;
33
+ var _d = tslib_es6.__read(React.useState(true), 2), showBanner = _d[0], setShowBanner = _d[1];
34
34
  var bannerWidths = {
35
35
  small: 320,
36
36
  medium: 480,
37
37
  };
38
- var _f = tslib_es6.__read(jobberHooks.useResizeObserver({
38
+ var _e = tslib_es6.__read(jobberHooks.useResizeObserver({
39
39
  widths: bannerWidths,
40
- }), 2), bannerRef = _f[0], _g = _f[1].width, bannerWidth = _g === void 0 ? bannerWidths.small : _g;
40
+ }), 2), bannerRef = _e[0], _f = _e[1].width, bannerWidth = _f === void 0 ? bannerWidths.small : _f;
41
41
  var iconColors = {
42
- notice: "lightBlue",
43
- success: "green",
44
- warning: "yellow",
45
- error: "red",
42
+ notice: "informative",
43
+ success: "success",
44
+ warning: "warning",
45
+ error: "critical",
46
46
  };
47
47
  if (primaryAction != undefined) {
48
48
  primaryAction = Object.assign({
@@ -51,14 +51,11 @@ function Banner(_a) {
51
51
  variation: type === "notice" ? "learning" : "work",
52
52
  }, primaryAction);
53
53
  }
54
- var flashClassNames = classnames__default["default"](styles.flash, types[type], (_b = {},
54
+ var bannerClassNames = classnames__default["default"](styles.banner, types[type], (_b = {},
55
55
  _b[styles.medium] = bannerWidth >= bannerWidths.medium,
56
56
  _b));
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 },
57
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, showBanner && (React__default["default"].createElement("div", { className: bannerClassNames, ref: bannerRef, role: type === "error" ? "alert" : "status" },
58
+ React__default["default"].createElement("div", { className: styles.bannerContent },
62
59
  React__default["default"].createElement("div", { className: styles.bannerChildren },
63
60
  React__default["default"].createElement(BannerChildren, null, children)),
64
61
  primaryAction && (React__default["default"].createElement("div", { className: styles.bannerAction },
@@ -66,7 +63,7 @@ function Banner(_a) {
66
63
  dismissible && (React__default["default"].createElement("button", { className: styles.closeButton, onClick: handleClose, "aria-label": "Close this notification" },
67
64
  React__default["default"].createElement(Icon.Icon, { name: "cross", color: iconColors[type] })))))));
68
65
  function handleClose() {
69
- setShowFlash(!showFlash);
66
+ setShowBanner(!showBanner);
70
67
  onDismiss && onDismiss();
71
68
  }
72
69
  }
@@ -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-6aea2128.js');
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('react-image-lightbox');
13
- require('react-image-lightbox/style.css');
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');
@@ -1,4 +1,4 @@
1
- import "react-image-lightbox/style.css";
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): JSX.Element;
36
+ export declare function LightBox({ open, images, imageIndex, onRequestClose, }: LightBoxProps): React.ReactPortal;
37
37
  export {};
@@ -2,12 +2,21 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var LightBox = require('../LightBox-6aea2128.js');
5
+ var LightBox = require('../LightBox-4eb2e6f0.js');
6
6
  require('../tslib.es6-5b50eb8e.js');
7
7
  require('react');
8
- require('react-image-lightbox');
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('react-image-lightbox/style.css');
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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "3.4.4",
3
+ "version": "3.4.6",
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": "df4f27f66d6c395606d792bc11ccc80ea72c04e6"
87
+ "gitHead": "21b448c0e770de4c7763c77db64719089fb3c5f9"
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;