Socket
Socket
Sign inDemoInstall

@rpldy/shared-ui

Package Overview
Dependencies
Maintainers
1
Versions
105
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rpldy/shared-ui - npm Package Compare versions

Comparing version 0.1.4 to 0.1.5

lib/useUploadOptions.js

14

lib/assertContext.js

@@ -6,9 +6,13 @@ "use strict";

});
exports["default"] = void 0;
exports["default"] = exports.ERROR_MSG = void 0;
var _invariant = _interopRequireDefault(require("invariant"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var ERROR_MSG = "Uploady - valid UploadyContext not found. Make sure you render inside <Uploady>";
exports.ERROR_MSG = ERROR_MSG;
var _default = function _default(context) {
if (!context || !context.uploader) {
throw new Error("Uploady - valid UploadyContext not found. Make sure you render inside <Uploady>");
}
(0, _invariant["default"])(context && context.hasUploader(), ERROR_MSG);
return context;

@@ -15,0 +19,0 @@ };

@@ -6,3 +6,3 @@ "use strict";

});
exports.useFileErrorListener = exports.useFileCancelListener = exports.useFileProgressListener = exports.useFileFinishListener = exports.useFileStartListener = exports.useBatchCancelledListener = exports.useBatchFinishListener = exports.useBatchStartListener = void 0;
exports.useRequestPreSend = exports.useItemErrorListener = exports.useItemCancelListener = exports.useItemProgressListener = exports.useItemFinishListener = exports.useItemStartListener = exports.useBatchProgressListener = exports.useBatchAbortListener = exports.useBatchCancelledListener = exports.useBatchFinishListener = exports.useBatchStartListener = exports.useBatchAddListener = void 0;

@@ -19,2 +19,4 @@ var _uploader = require("@rpldy/uploader");

var useBatchAddListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.BATCH_ADD);
exports.useBatchAddListener = useBatchAddListener;
var useBatchStartListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.BATCH_START);

@@ -26,13 +28,21 @@ exports.useBatchStartListener = useBatchStartListener;

exports.useBatchCancelledListener = useBatchCancelledListener;
var useFileStartListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.FILE_START);
exports.useFileStartListener = useFileStartListener;
var useFileFinishListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.FILE_FINISH);
exports.useFileFinishListener = useFileFinishListener;
var useFileProgressListener = (0, _utils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.FILE_PROGRESS, function (item) {
var useBatchAbortListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.BATCH_ABORT);
exports.useBatchAbortListener = useBatchAbortListener;
var useBatchProgressListener = (0, _utils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.BATCH_PROGRESS, function (batch) {
return _objectSpread({}, batch);
});
exports.useBatchProgressListener = useBatchProgressListener;
var useItemStartListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.ITEM_START);
exports.useItemStartListener = useItemStartListener;
var useItemFinishListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.ITEM_FINISH);
exports.useItemFinishListener = useItemFinishListener;
var useItemCancelListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.ITEM_CANCEL);
exports.useItemCancelListener = useItemCancelListener;
var useItemErrorListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.ITEM_ERROR);
exports.useItemErrorListener = useItemErrorListener;
var useItemProgressListener = (0, _utils.generateUploaderEventHookWithState)(_uploader.UPLOADER_EVENTS.ITEM_PROGRESS, function (item) {
return _objectSpread({}, item);
});
exports.useFileProgressListener = useFileProgressListener;
var useFileCancelListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.FILE_CANCEL);
exports.useFileCancelListener = useFileCancelListener;
var useFileErrorListener = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.FILE_ERROR);
exports.useFileErrorListener = useFileErrorListener;
exports.useItemProgressListener = useItemProgressListener;
var useRequestPreSend = (0, _utils.generateUploaderEventHook)(_uploader.UPLOADER_EVENTS.REQUEST_PRE_SEND);
exports.useRequestPreSend = useRequestPreSend;

@@ -20,2 +20,26 @@ "use strict";

});
Object.defineProperty(exports, "useWithForwardRef", {
enumerable: true,
get: function get() {
return _useWithForwardRef["default"];
}
});
Object.defineProperty(exports, "assertContext", {
enumerable: true,
get: function get() {
return _assertContext["default"];
}
});
Object.defineProperty(exports, "useUploadOptions", {
enumerable: true,
get: function get() {
return _useUploadOptions["default"];
}
});
Object.defineProperty(exports, "useBatchAddListener", {
enumerable: true,
get: function get() {
return _eventListenerHooks.useBatchAddListener;
}
});
Object.defineProperty(exports, "useBatchStartListener", {

@@ -27,2 +51,8 @@ enumerable: true,

});
Object.defineProperty(exports, "useBatchProgressListener", {
enumerable: true,
get: function get() {
return _eventListenerHooks.useBatchProgressListener;
}
});
Object.defineProperty(exports, "useBatchFinishListener", {

@@ -40,45 +70,55 @@ enumerable: true,

});
Object.defineProperty(exports, "useFileStartListener", {
Object.defineProperty(exports, "useBatchAbortListener", {
enumerable: true,
get: function get() {
return _eventListenerHooks.useFileStartListener;
return _eventListenerHooks.useBatchAbortListener;
}
});
Object.defineProperty(exports, "useFileFinishListener", {
Object.defineProperty(exports, "useItemStartListener", {
enumerable: true,
get: function get() {
return _eventListenerHooks.useFileFinishListener;
return _eventListenerHooks.useItemStartListener;
}
});
Object.defineProperty(exports, "useFileProgressListener", {
Object.defineProperty(exports, "useItemFinishListener", {
enumerable: true,
get: function get() {
return _eventListenerHooks.useFileProgressListener;
return _eventListenerHooks.useItemFinishListener;
}
});
Object.defineProperty(exports, "useFileCancelListener", {
Object.defineProperty(exports, "useItemProgressListener", {
enumerable: true,
get: function get() {
return _eventListenerHooks.useFileCancelListener;
return _eventListenerHooks.useItemProgressListener;
}
});
Object.defineProperty(exports, "useFileErrorListener", {
Object.defineProperty(exports, "useItemCancelListener", {
enumerable: true,
get: function get() {
return _eventListenerHooks.useFileErrorListener;
return _eventListenerHooks.useItemCancelListener;
}
});
Object.defineProperty(exports, "assertContext", {
Object.defineProperty(exports, "useItemErrorListener", {
enumerable: true,
get: function get() {
return _assertContext["default"];
return _eventListenerHooks.useItemErrorListener;
}
});
Object.defineProperty(exports, "useRequestPreSend", {
enumerable: true,
get: function get() {
return _eventListenerHooks.useRequestPreSend;
}
});
var _UploadyContext = _interopRequireWildcard(require("./UploadyContext"));
var _eventListenerHooks = require("./eventListenerHooks");
var _useWithForwardRef = _interopRequireDefault(require("./useWithForwardRef"));
var _assertContext = _interopRequireDefault(require("./assertContext"));
var _useUploadOptions = _interopRequireDefault(require("./useUploadOptions"));
var _eventListenerHooks = require("./eventListenerHooks");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -85,0 +125,0 @@

@@ -6,6 +6,10 @@ "use strict";

});
exports.createContextApi = exports["default"] = void 0;
exports["default"] = exports.createContextApi = void 0;
var _react = _interopRequireDefault(require("react"));
var _invariant = _interopRequireDefault(require("invariant"));
var _shared = require("@rpldy/shared");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

@@ -15,15 +19,44 @@

var createContextApi = function createContextApi(uploader, inputRef) {
var NO_INPUT_ERROR_MSG = "Uploady - Context. File input isn't available";
var createContextApi = function createContextApi(uploader, internalInputRef) {
var fileInputRef, showFileUploadOptions;
if (internalInputRef) {
fileInputRef = internalInputRef;
} else {
_shared.logger.debugLog("Uploady context - didn't receive input field ref - waiting for external ref");
}
var getInputField = function getInputField() {
return inputRef.current;
var _fileInputRef;
return (_fileInputRef = fileInputRef) === null || _fileInputRef === void 0 ? void 0 : _fileInputRef.current;
};
var showFileUpload = function showFileUpload() {
var setExternalFileInput = function setExternalFileInput(extRef) {
fileInputRef = extRef;
};
var showFileUpload = function showFileUpload(addOptions) {
var input = getInputField();
(0, _invariant["default"])(input, NO_INPUT_ERROR_MSG); //allow components like upload button to override options
if (input) {
input.click();
}
showFileUploadOptions = addOptions;
input.removeEventListener("change", onFileInputChange);
input.addEventListener("change", onFileInputChange); //clear the input value so same file can be uploaded again
input.value = "";
input.click();
};
var onFileInputChange = function onFileInputChange() {
var input = getInputField();
(0, _invariant["default"])(input, NO_INPUT_ERROR_MSG);
input.removeEventListener("change", onFileInputChange);
var addOptions = showFileUploadOptions;
showFileUploadOptions = null;
upload(input.files, addOptions);
};
var upload = function upload(files, addOptions) {

@@ -33,7 +66,46 @@ uploader.add(files, addOptions);

var setOptions = function setOptions(options) {
uploader.update(options);
};
var getOptions = function getOptions() {
return uploader.getOptions();
};
var abort = function abort(itemId) {
uploader.abort(itemId);
};
var abortBatch = function abortBatch(batchId) {
uploader.abortBatch(batchId);
};
var on = function on(name, cb) {
return uploader.on(name, cb);
};
var once = function once(name, cb) {
return uploader.once(name, cb);
};
var off = function off(name, cb) {
return uploader.off(name, cb);
};
var hasUploader = function hasUploader() {
return !!uploader;
};
return {
uploader: uploader,
getInputField: getInputField,
hasUploader: hasUploader,
setExternalFileInput: setExternalFileInput,
showFileUpload: showFileUpload,
upload: upload
upload: upload,
setOptions: setOptions,
getOptions: getOptions,
abort: abort,
abortBatch: abortBatch,
on: on,
once: once,
off: off
};

@@ -40,0 +112,0 @@ };

@@ -26,9 +26,10 @@ "use strict";

var context = (0, _assertContext["default"])((0, _react.useContext)(_uploady.UploadyContext));
var uploader = context.uploader;
var on = context.on,
off = context.off;
(0, _react.useEffect)(function () {
uploader.on(event, fn);
on(event, fn);
return function () {
uploader.off(event, fn);
off(event, fn);
};
}, [event, fn, uploader]);
}, [event, fn, on, off]);
};

@@ -35,0 +36,0 @@

{
"version": "0.1.4",
"name": "@rpldy/shared-ui",
"description": "",
"author": "yoav niran (https://github.com/yoavniran",
"main": "lib/index.js",
"module": "src/index.js",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/yoavniran/react-uploady.git",
"directory": "packages/ui/shared"
},
"scripts": {
"build": "node ../../../scripts/build.js"
},
"dependencies": {
"@rpldy/shared": "^0.1.4",
"@rpldy/uploader": "^0.1.4"
},
"peerDependencies": {
"react": ">=16.8",
"react-dom": ">=16.8"
},
"publishConfig": {
"access": "public"
},
"gitHead": "ee693c1d4f8c2f7cb7809ed848d8c8b780459a2a"
"version": "0.1.5",
"name": "@rpldy/shared-ui",
"description": "",
"author": "yoav niran (https://github.com/yoavniran)",
"main": "lib/index.js",
"module": "src/index.js",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/yoavniran/react-uploady.git",
"directory": "packages/ui/shared"
},
"scripts": {
"build": "node ../../../scripts/build.js",
"flow:copy": "flow-copy-source ./src ./lib; cp src/types.js lib/types.js"
},
"dependencies": {
"@rpldy/shared": "^0.1.5",
"@rpldy/uploader": "^0.1.5",
"invariant": "^2.2.4",
"lodash": "^4.17.15"
},
"devDependencies": {
"flow-bin": "^0.119.1"
},
"peerDependencies": {
"react": ">=16.8",
"react-dom": ">=16.8"
},
"publishConfig": {
"access": "public"
},
"gitHead": "0974c6250a302c0a59132e161237bebb9a135c41"
}
// @flow
import invariant from "invariant";
import type { UploadyContextType } from "@rpldy/uploady";
export default (context: ?UploadyContextType) : UploadyContextType => {
if (!context || !context.uploader) {
throw new Error("Uploady - valid UploadyContext not found. Make sure you render inside <Uploady>");
}
export const ERROR_MSG = "Uploady - valid UploadyContext not found. Make sure you render inside <Uploady>";
return context;
};
export default (context: ?UploadyContextType): UploadyContextType => {
invariant(
context && context.hasUploader(),
ERROR_MSG
);
return context;
};
// @flow
import { UPLOADER_EVENTS } from "@rpldy/uploader";
import {
generateUploaderEventHook,
generateUploaderEventHookWithState
generateUploaderEventHook,
generateUploaderEventHookWithState
} from "./utils";
import type { BatchItem } from "@rpldy/shared";
import type { Batch, BatchItem } from "@rpldy/shared";
const useBatchAddListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_ADD);
const useBatchStartListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_START);
const useBatchFinishListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_FINISH);
const useBatchCancelledListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_CANCEL);
const useBatchAbortListener = generateUploaderEventHook(UPLOADER_EVENTS.BATCH_ABORT);
const useFileStartListener = generateUploaderEventHook(UPLOADER_EVENTS.FILE_START);
const useFileFinishListener = generateUploaderEventHook(UPLOADER_EVENTS.FILE_FINISH);
const useFileProgressListener = generateUploaderEventHookWithState(
UPLOADER_EVENTS.FILE_PROGRESS,
(item: BatchItem) => ({ ...item }));
const useBatchProgressListener = generateUploaderEventHookWithState(
UPLOADER_EVENTS.BATCH_PROGRESS,
(batch: Batch) => ({ ...batch }));
const useFileCancelListener = generateUploaderEventHook(UPLOADER_EVENTS.FILE_CANCEL);
const useFileErrorListener = generateUploaderEventHook(UPLOADER_EVENTS.FILE_ERROR);
const useItemStartListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_START);
const useItemFinishListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_FINISH);
const useItemCancelListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_CANCEL);
const useItemErrorListener = generateUploaderEventHook(UPLOADER_EVENTS.ITEM_ERROR);
const useItemProgressListener = generateUploaderEventHookWithState(
UPLOADER_EVENTS.ITEM_PROGRESS,
(item: BatchItem) => ({ ...item }));
const useRequestPreSend = generateUploaderEventHook(UPLOADER_EVENTS.REQUEST_PRE_SEND);
export {
useBatchStartListener,
useBatchFinishListener,
useBatchCancelledListener,
useBatchAddListener,
useBatchStartListener,
useBatchFinishListener,
useBatchCancelledListener,
useBatchAbortListener,
useBatchProgressListener,
useFileStartListener,
useFileFinishListener,
useFileProgressListener,
useFileCancelListener,
useFileErrorListener,
};
useItemStartListener,
useItemFinishListener,
useItemProgressListener,
useItemCancelListener,
useItemErrorListener,
useRequestPreSend,
};
// @flow
import UploadyContext, { createContextApi } from "./UploadyContext";
import {
useBatchStartListener,
useBatchFinishListener,
useBatchCancelledListener,
useFileStartListener,
useFileFinishListener,
useFileProgressListener,
useFileCancelListener,
useFileErrorListener,
} from "./eventListenerHooks";
import useWithForwardRef from "./useWithForwardRef";
import assertContext from "./assertContext";
import useUploadOptions from "./useUploadOptions";
import type { UploadyContextType } from "./types";
export type {
UploadyContextType,
};
InputRef,
UploadyContextType,
} from "./types";
export {
UploadyContext,
createContextApi,
useBatchAddListener,
useBatchStartListener,
useBatchProgressListener,
useBatchFinishListener,
useBatchCancelledListener,
useBatchAbortListener,
assertContext,
useItemStartListener,
useItemFinishListener,
useItemProgressListener,
useItemCancelListener,
useItemErrorListener,
useBatchStartListener,
useBatchFinishListener,
useBatchCancelledListener,
useRequestPreSend,
} from "./eventListenerHooks";
useFileStartListener,
useFileFinishListener,
useFileProgressListener,
useFileCancelListener,
useFileErrorListener,
};
export {
UploadyContext,
createContextApi,
useUploadOptions,
assertContext,
useWithForwardRef,
};
// @flow
import type { UploaderType } from "@rpldy/uploader";
import type { UploadInfo, UploadOptions } from "@rpldy/shared";
import type { CreateOptions, UploadInfo, UploadOptions } from "@rpldy/shared";
import type { OnAndOnceMethod, OffMethod } from "@rpldy/life-events";
export type AddUploadFunction = (files: UploadInfo | UploadInfo[], addOptions: UploadOptions) => void;
export type AddUploadFunction = (files: UploadInfo | UploadInfo[], addOptions: ?UploadOptions) => void;
export type InputRef = { current: ?HTMLInputElement };
export type UploadyContextType = {
uploader: UploaderType,
getInputField: () => ?HTMLInputElement,
showFileUpload: () => void,
setExternalFileInput: (InputRef) => void,
hasUploader: () => boolean,
showFileUpload: (?UploadOptions) => void,
upload: AddUploadFunction,
};
setOptions: (CreateOptions) => void,
getOptions: () => CreateOptions,
on: OnAndOnceMethod,
once: OnAndOnceMethod,
off: OffMethod,
abort: (id?: string) => void,
abortBatch: (id: string) => void,
};
// @flow
import React from "react";
import invariant from "invariant";
import { logger } from "@rpldy/shared";
import type { UploaderType } from "@rpldy/uploader";
import type { UploadyContextType } from "./types";
import type { UploadInfo, UploadOptions } from "@rpldy/shared";
import type { UploadInfo, UploadOptions, GetExact, CreateOptions } from "@rpldy/shared";
import type { EventCallback } from "@rpldy/life-events";
import type { UploadyContextType, InputRef } from "./types";
const UploadyContext = React.createContext<?UploadyContextType>(null);
const createContextApi = (uploader: UploaderType, inputRef: { current: ?HTMLInputElement }): UploadyContextType => {
const NO_INPUT_ERROR_MSG = "Uploady - Context. File input isn't available";
const getInputField = () => inputRef.current;
export const createContextApi =
(uploader: UploaderType, internalInputRef: ?InputRef): UploadyContextType => {
let fileInputRef, showFileUploadOptions;
const showFileUpload = () => {
const input = getInputField();
if (input) {
input.click();
}
};
if (internalInputRef) {
fileInputRef = internalInputRef;
} else {
logger.debugLog("Uploady context - didn't receive input field ref - waiting for external ref");
}
const upload = (files: UploadInfo | UploadInfo[], addOptions: UploadOptions) => {
uploader.add(files, addOptions);
};
const getInputField = () => fileInputRef?.current;
return {
uploader,
getInputField,
showFileUpload,
upload,
};
};
const setExternalFileInput = (extRef: InputRef) => {
fileInputRef = extRef;
};
const showFileUpload = (addOptions?: ?GetExact<UploadOptions>) => {
const input: ?HTMLInputElement = getInputField();
invariant(
input,
NO_INPUT_ERROR_MSG
);
//allow components like upload button to override options
showFileUploadOptions = addOptions;
input.removeEventListener("change", onFileInputChange);
input.addEventListener("change", onFileInputChange);
//clear the input value so same file can be uploaded again
input.value = "";
input.click();
};
const onFileInputChange = () => {
const input: ?HTMLInputElement = getInputField();
invariant(
input,
NO_INPUT_ERROR_MSG
);
input.removeEventListener("change", onFileInputChange);
const addOptions = showFileUploadOptions;
showFileUploadOptions = null;
upload(input.files, addOptions);
};
const upload = (files: UploadInfo | UploadInfo[], addOptions?: ?UploadOptions) => {
uploader.add(files, addOptions);
};
const setOptions = (options: CreateOptions) => {
uploader.update(options);
};
const getOptions = () => {
return uploader.getOptions();
};
const abort = (itemId?: string) => {
uploader.abort(itemId);
};
const abortBatch = (batchId: string) => {
uploader.abortBatch(batchId);
};
const on = (name: any, cb: EventCallback) => {
return uploader.on(name, cb);
};
const once = (name: any, cb: EventCallback) => {
return uploader.once(name, cb);
};
const off = (name: any, cb?: EventCallback) => {
return uploader.off(name, cb);
};
const hasUploader = () => !!uploader;
return {
hasUploader,
setExternalFileInput,
showFileUpload,
upload,
setOptions,
getOptions,
abort,
abortBatch,
on,
once,
off,
};
};
export default UploadyContext;
export {
createContextApi,
};

@@ -10,11 +10,11 @@ // @flow

const context = assertContext(useContext(UploadyContext));
const { uploader } = context;
const { on, off } = context;
useEffect(() => {
uploader.on(event, fn);
on(event, fn);
return () => {
uploader.off(event, fn);
off(event, fn);
};
}, [event, fn, uploader]);
}, [event, fn, on, off]);
};

@@ -27,3 +27,2 @@

const eventCallback = useCallback((...args) => {
setEventState(stateCalculator(...args));

@@ -49,2 +48,2 @@

generateUploaderEventHookWithState,
};
};
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc