@uxf/cms 4.0.0-beta.7 → 4.0.0-beta.8

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.
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { FileResponse } from "../../../ui/FileUploadInput";
3
+ export interface DropZoneProps {
4
+ name: string;
5
+ }
6
+ export declare type FileState = FileResponse;
7
+ export declare const DropZone: React.FC<DropZoneProps>;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
68
+ var __read = (this && this.__read) || function (o, n) {
69
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
70
+ if (!m) return o;
71
+ var i = m.call(o), r, ar = [], e;
72
+ try {
73
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
74
+ }
75
+ catch (error) { e = { error: error }; }
76
+ finally {
77
+ try {
78
+ if (r && !r.done && (m = i["return"])) m.call(i);
79
+ }
80
+ finally { if (e) throw e.error; }
81
+ }
82
+ return ar;
83
+ };
84
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
85
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
86
+ if (ar || !(i in from)) {
87
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
88
+ ar[i] = from[i];
89
+ }
90
+ }
91
+ return to.concat(ar || Array.prototype.slice.call(from));
92
+ };
93
+ Object.defineProperty(exports, "__esModule", { value: true });
94
+ exports.DropZone = void 0;
95
+ var react_dropzone_1 = require("react-dropzone");
96
+ var react_1 = __importStar(require("react"));
97
+ var react_final_form_1 = require("react-final-form");
98
+ var config_1 = require("../../../config");
99
+ var resizer_1 = require("@uxf/core/utils/resizer");
100
+ var ImagePreview = function (props) {
101
+ var loading = props.loading, onRemove = props.onRemove, src = props.src, alt = props.alt, title = props.title;
102
+ return (react_1.default.createElement("div", { className: "w-16 h-16 mr-2 mb-2 rounded-md overflow-hidden relative border border-gray-300" },
103
+ onRemove && (react_1.default.createElement("button", { className: "absolute right-0 top-0 bg-black hover:bg-opacity-70 bg-opacity-50 rounded-bl-md", onClick: onRemove },
104
+ react_1.default.createElement("svg", { className: "w-5 h-5 text-white", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
105
+ react_1.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" })))),
106
+ react_1.default.createElement("img", { alt: alt, title: title, className: "h-full w-full", src: src }),
107
+ loading && (react_1.default.createElement("div", { className: "absolute top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50" },
108
+ react_1.default.createElement("svg", { className: "animate-spin h-6 w-6 text-white", xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24" },
109
+ react_1.default.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
110
+ react_1.default.createElement("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" }))))));
111
+ };
112
+ var DropZone = function (props) {
113
+ var name = props.name;
114
+ var input = (0, react_final_form_1.useField)(name, {}).input;
115
+ var fieldValue = input.value || [];
116
+ var _a = __read((0, react_1.useState)([]), 2), acceptedFiles = _a[0], setAcceptedFiles = _a[1];
117
+ var _b = (0, react_dropzone_1.useDropzone)({
118
+ onDrop: function (acceptedFiles) { return __awaiter(void 0, void 0, void 0, function () {
119
+ var uploadFile, responses, successResponses;
120
+ return __generator(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0:
123
+ setAcceptedFiles(acceptedFiles);
124
+ uploadFile = config_1.container.get("api.uploadFile");
125
+ return [4 /*yield*/, Promise.allSettled(acceptedFiles.map(function (af) { return uploadFile(af); }))];
126
+ case 1:
127
+ responses = _a.sent();
128
+ successResponses = responses
129
+ .map(function (r) { return (r.status === "fulfilled" ? r.value : null); })
130
+ .filter(function (r) { return r !== null; });
131
+ setAcceptedFiles([]);
132
+ input.onChange(__spreadArray(__spreadArray([], __read(fieldValue), false), __read(successResponses), false));
133
+ return [2 /*return*/];
134
+ }
135
+ });
136
+ }); },
137
+ }), getRootProps = _b.getRootProps, getInputProps = _b.getInputProps, isDragActive = _b.isDragActive;
138
+ var onRemove = function (index) { return function () {
139
+ // eslint-disable-next-line no-alert
140
+ if (confirm("Opravdu chcete smazat fotografii?")) {
141
+ var newWalue = __spreadArray([], __read(fieldValue), false);
142
+ newWalue.splice(index, 1);
143
+ input.onChange(newWalue);
144
+ }
145
+ }; };
146
+ return (react_1.default.createElement("div", null,
147
+ react_1.default.createElement("div", __assign({}, getRootProps({ className: "dropzone" }), { className: "border-dashed rounded-md border-2 py-8 bg-gray-100 hover:border-gray-300 cursor-pointer " +
148
+ (isDragActive ? "border-gray-300" : "border-gray-200") }),
149
+ react_1.default.createElement("input", __assign({}, getInputProps())),
150
+ react_1.default.createElement("p", { className: "text-center text-xs text-gray-400" }, "Drag drop some files here, or click to select files")),
151
+ react_1.default.createElement("div", { className: "pt-2 flex flex-row flex-wrap" },
152
+ fieldValue.map(function (file, index) {
153
+ var _a;
154
+ return (react_1.default.createElement(ImagePreview, { key: file.id, src: (_a = (0, resizer_1.resizerImageUrl)(file, 200, 200, {})) !== null && _a !== void 0 ? _a : "", onRemove: onRemove(index), alt: file.name, title: file.name }));
155
+ }),
156
+ acceptedFiles.map(function (file) { return (react_1.default.createElement(ImagePreview, { key: file.name, loading: true, src: URL.createObjectURL(file) })); }))));
157
+ };
158
+ exports.DropZone = DropZone;
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcFpvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZm9ybXMvY29tcG9uZW50cy9Ecm9wWm9uZS9Ecm9wWm9uZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlEQUE2QztBQUM3Qyw2Q0FBd0M7QUFDeEMscURBQTRDO0FBRTVDLDBDQUE0QztBQUM1QyxtREFBMEQ7QUFnQjFELElBQU0sWUFBWSxHQUFnQyxVQUFDLEtBQUs7SUFDNUMsSUFBQSxPQUFPLEdBQWdDLEtBQUssUUFBckMsRUFBRSxRQUFRLEdBQXNCLEtBQUssU0FBM0IsRUFBRSxHQUFHLEdBQWlCLEtBQUssSUFBdEIsRUFBRSxHQUFHLEdBQVksS0FBSyxJQUFqQixFQUFFLEtBQUssR0FBSyxLQUFLLE1BQVYsQ0FBVztJQUNyRCxPQUFPLENBQ0gsdUNBQUssU0FBUyxFQUFDLGdGQUFnRjtRQUMxRixRQUFRLElBQUksQ0FDVCwwQ0FDSSxTQUFTLEVBQUMsaUZBQWlGLEVBQzNGLE9BQU8sRUFBRSxRQUFRO1lBRWpCLHVDQUNJLFNBQVMsRUFBQyxvQkFBb0IsRUFDOUIsSUFBSSxFQUFDLE1BQU0sRUFDWCxNQUFNLEVBQUMsY0FBYyxFQUNyQixPQUFPLEVBQUMsV0FBVyxFQUNuQixLQUFLLEVBQUMsNEJBQTRCO2dCQUVsQyx3Q0FBTSxhQUFhLEVBQUMsT0FBTyxFQUFDLGNBQWMsRUFBQyxPQUFPLEVBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsc0JBQXNCLEdBQUcsQ0FDNUYsQ0FDRCxDQUNaO1FBQ0QsdUNBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxlQUFlLEVBQUMsR0FBRyxFQUFFLEdBQUcsR0FBSTtRQUNs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
@@ -0,0 +1 @@
1
+ export * from "./DropZone";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./DropZone"), exports);
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZm9ybXMvY29tcG9uZW50cy9Ecm9wWm9uZS9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/cms",
3
- "version": "4.0.0-beta.7",
3
+ "version": "4.0.0-beta.8",
4
4
  "description": "UXF Cms",
5
5
  "author": "UXFans <dev@uxf.cz>",
6
6
  "homepage": "https://gitlab.com/uxf-npm/cms#readme",
@@ -68,6 +68,7 @@
68
68
  "qs": "^6.10.1",
69
69
  "react": "^17.0.2",
70
70
  "react-dom": "^17.0.2",
71
+ "react-dropzone": "^14.2.2",
71
72
  "react-final-form": "^6.5.7",
72
73
  "react-final-form-arrays": "^3.1.3",
73
74
  "redux-devtools-extension": "^2.13.9",
@@ -90,6 +91,7 @@
90
91
  "final-form-calculate": "^1.3.2",
91
92
  "react": "^17.0.0",
92
93
  "react-dom": "^17.0.0",
94
+ "react-dropzone": "^14.2.2",
93
95
  "react-final-form": "^6.5.1",
94
96
  "react-final-form-arrays": "^3.1.3"
95
97
  }