@jobber/components 2.84.3 → 2.84.4-pre.11

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/Gallery.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./dist/Gallery";
package/Gallery.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true,
5
+ });
6
+
7
+ var Gallery = require("./dist/Gallery");
8
+
9
+ Object.keys(Gallery).forEach(function(key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ Object.defineProperty(exports, key, {
12
+ enumerable: true,
13
+ get: function get() {
14
+ return Gallery[key];
15
+ },
16
+ });
17
+ });
@@ -0,0 +1,2 @@
1
+ import { GalleryProps } from "./GalleryTypes";
2
+ export declare function Gallery({ files, size, max, onDelete }: GalleryProps): JSX.Element;
@@ -0,0 +1 @@
1
+ export { Gallery } from "./Gallery";
@@ -0,0 +1,95 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
+
7
+ var __chunk_1 = require('../chunk-b67af3cb.js');
8
+ var React = require('react');
9
+ var React__default = _interopDefault(React);
10
+ var __chunk_2 = require('../chunk-17e02351.js');
11
+ require('classnames');
12
+ require('../Typography/index.js');
13
+ require('../Text/index.js');
14
+ require('@jobber/design');
15
+ require('../Icon/index.js');
16
+ require('../Heading/index.js');
17
+ require('react-router-dom');
18
+ var index$5 = require('../Button/index.js');
19
+ require('framer-motion');
20
+ require('@jobber/hooks');
21
+ require('../ButtonDismiss/index.js');
22
+ require('react-dom');
23
+ require('../Modal/index.js');
24
+ require('../Content/index.js');
25
+ require('react-markdown');
26
+ require('../Emphasis/index.js');
27
+ require('../Markdown/index.js');
28
+ require('../ConfirmationModal/index.js');
29
+ require('filesize');
30
+ var index$8 = require('../FormatFile/index.js');
31
+ require('../ProgressBar/index.js');
32
+ require('react-image-lightbox');
33
+ var index$9 = require('../LightBox/index.js');
34
+ require('react-image-lightbox/style.css');
35
+
36
+ var css = ".oLHYkzv718LqMvtqFZFcZ,\n._2JSG0uYj1HSXFads63nptQ {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n grid-gap: var(--space-small);\n grid-gap: var(--space-small);\n gap: var(--space-small);\n}\n\n._2JSG0uYj1HSXFads63nptQ {\n grid-gap: var(--space-base);\n grid-gap: var(--space-base);\n gap: var(--space-base);\n}\n\n.FG8mZ6UcMPRsMC9HQinY2 {\n display: -ms-flexbox;\n display: flex;\n width: 56px;\n}\n\n._1cTzKosWc22qxWZSiI0CzZ {\n display: -ms-flexbox;\n display: flex;\n width: 168px;\n}\n";
37
+ var styles = {"gallery":"oLHYkzv718LqMvtqFZFcZ","galleryLarge":"_2JSG0uYj1HSXFads63nptQ","baseShowMoreButton":"FG8mZ6UcMPRsMC9HQinY2","largeShowMoreButton":"_1cTzKosWc22qxWZSiI0CzZ"};
38
+ __chunk_2.styleInject(css);
39
+
40
+ function Gallery(_a) {
41
+ var files = _a.files, _b = _a.size, size = _b === void 0 ? "base" : _b, max = _a.max, onDelete = _a.onDelete;
42
+ var _c = generateImagesArray(files), images = _c.images, filesToImageIndex = _c.filesToImageIndex;
43
+ var _d = __chunk_1.__read(React.useState(false), 2), lightboxOpen = _d[0], setLightboxOpen = _d[1];
44
+ var _e = __chunk_1.__read(React.useState(0), 2), lightboxIndex = _e[0], setLightboxIndex = _e[1];
45
+ var _f = __chunk_1.__read(React.useState(max ? false : true), 2), displayPastMax = _f[0], setDisplayPastMax = _f[1];
46
+ var visibleFiles = displayPastMax ? files : files.slice(0, max);
47
+ return (React__default.createElement(React__default.Fragment, null,
48
+ React__default.createElement("div", { className: size === "large" ? styles.galleryLarge : styles.gallery },
49
+ visibleFiles.map(function (file, index) {
50
+ return (React__default.createElement(index$8.FormatFile, { key: file.key, file: __chunk_1.__assign(__chunk_1.__assign({}, file), { src: function () { return Promise.resolve(file.src); } }), display: "compact", displaySize: size, onClick: function () {
51
+ handleThumbnailClicked(index);
52
+ }, onDelete: function () { return onDelete === null || onDelete === void 0 ? void 0 : onDelete(file); } }));
53
+ }),
54
+ max && files.length > max && !displayPastMax && (React__default.createElement("div", { className: styles[size + "ShowMoreButton"] },
55
+ React__default.createElement(index$5.Button, { type: "tertiary", size: size, label: "+ " + (files.length - max), fullWidth: true, onClick: function () {
56
+ setDisplayPastMax(true);
57
+ } })))),
58
+ React__default.createElement(index$9.LightBox, { open: lightboxOpen, images: images, imageIndex: lightboxIndex, onRequestClose: handleLightboxClose })));
59
+ function handleThumbnailClicked(index) {
60
+ if (files[index].type.startsWith("image/")) {
61
+ handleLightboxOpen(index);
62
+ }
63
+ else {
64
+ window.open(files[index].src, "_blank");
65
+ }
66
+ }
67
+ function handleLightboxOpen(index) {
68
+ var fileToImageIndex = filesToImageIndex[index];
69
+ if (fileToImageIndex !== undefined) {
70
+ setLightboxIndex(fileToImageIndex);
71
+ setLightboxOpen(true);
72
+ }
73
+ }
74
+ function handleLightboxClose() {
75
+ setLightboxOpen(false);
76
+ }
77
+ }
78
+ function generateImagesArray(files) {
79
+ var images = [];
80
+ var filesToImageIndex = [];
81
+ var imageIndex = 0;
82
+ for (var i = 0; i < files.length; i++) {
83
+ if (files[i].type.startsWith("image/")) {
84
+ images.push({ title: files[i].name, url: files[i].src });
85
+ filesToImageIndex.push(imageIndex);
86
+ imageIndex++;
87
+ }
88
+ else {
89
+ filesToImageIndex.push(undefined);
90
+ }
91
+ }
92
+ return { images: images, filesToImageIndex: filesToImageIndex };
93
+ }
94
+
95
+ exports.Gallery = Gallery;
@@ -18,7 +18,7 @@ var index$5 = require('../Button/index.js');
18
18
  var index$3 = require('../Avatar/index.js');
19
19
  require('color');
20
20
  require('../Content/index.js');
21
- var index$8 = require('../ProgressBar/index.js');
21
+ var index$8$1 = require('../ProgressBar/index.js');
22
22
  require('react-dropzone');
23
23
  require('axios');
24
24
  var index$1 = require('../InputFile/index.js');
@@ -35,7 +35,7 @@ function InputAvatar(_a) {
35
35
  React__default.createElement(index$3.Avatar, __chunk_1.__assign({ size: "large" }, avatarProps)),
36
36
  progress < 1 && (React__default.createElement(Overlay, null,
37
37
  React__default.createElement(Centered, null,
38
- React__default.createElement(index$8.ProgressBar, { size: "small", currentStep: progress * 100, totalSteps: 100 }))))),
38
+ React__default.createElement(index$8$1.ProgressBar, { size: "small", currentStep: progress * 100, totalSteps: 100 }))))),
39
39
  React__default.createElement(index$1.InputFile, { variation: "button", buttonLabel: avatarProps.imageUrl ? "Change Image" : undefined, size: "small", allowedTypes: "images", getUploadParams: getUploadParams, onUploadStart: handleChange, onUploadProgress: handleUpload, onUploadComplete: handleUploadComplete }),
40
40
  avatarProps.imageUrl != undefined && progress === 1 && (React__default.createElement(index$5.Button, { label: "Remove", size: "small", type: "secondary", variation: "destructive", onClick: clearAvatar }))));
41
41
  function handleChange(newFile) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "2.84.3",
3
+ "version": "2.84.4-pre.11+0bc09bbd",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -85,5 +85,5 @@
85
85
  "> 1%",
86
86
  "IE 10"
87
87
  ],
88
- "gitHead": "658dea8297ad5ead65cf4cc13b75695494f75780"
88
+ "gitHead": "0bc09bbdf03734cf84ec041512ce6ecc4a2481d5"
89
89
  }