@elliemae/ds-uploader 3.0.0-next.2 → 3.0.0-next.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.
@@ -0,0 +1,177 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __export = (target, all) => {
38
+ for (var name in all)
39
+ __defProp(target, name, { get: all[name], enumerable: true });
40
+ };
41
+ var __reExport = (target, module2, copyDefault, desc) => {
42
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
43
+ for (let key of __getOwnPropNames(module2))
44
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
45
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
46
+ }
47
+ return target;
48
+ };
49
+ var __toESM = (module2, isNodeMode) => {
50
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
51
+ };
52
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
53
+ return (module2, temp) => {
54
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
55
+ };
56
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
57
+ var DSUploader_exports = {};
58
+ __export(DSUploader_exports, {
59
+ UploaderWithSchema: () => UploaderWithSchema,
60
+ default: () => DSUploader_default
61
+ });
62
+ var React = __toESM(require("react"));
63
+ var import_react = __toESM(require("react"));
64
+ var import_react_desc = require("react-desc");
65
+ var import_ds_classnames = require("@elliemae/ds-classnames");
66
+ var import_ds_utilities = require("@elliemae/ds-utilities");
67
+ var import_ds_icons = require("@elliemae/ds-icons");
68
+ var import_ds_button = __toESM(require("@elliemae/ds-button"));
69
+ var import_react_dropzone = require("react-dropzone");
70
+ var import_ds_tooltip = __toESM(require("@elliemae/ds-tooltip"));
71
+ var import_propTypes = require("./propTypes");
72
+ const blockName = "uploader";
73
+ const blockNameInfo = `${blockName}-info`;
74
+ const blockNameDragActive = `${blockName}-drag-active`;
75
+ const blockNameWrapper = `${blockName}-wrapper`;
76
+ const UploaderWrapper = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameWrapper, null, ({ disabled }) => ({ disabled }));
77
+ const Uploader = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, null, ({ isDragActive }) => ({ "drag-active": isDragActive }));
78
+ const UploaderDragActive = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameDragActive);
79
+ const UploaderIconArea = (0, import_ds_classnames.aggregatedClasses)("div")(`${blockName}-icon-wrapper`);
80
+ const UploaderInfo = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameInfo);
81
+ const InfoText = (0, import_ds_classnames.aggregatedClasses)("span")(blockNameInfo, "text");
82
+ const UploaderActions = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameInfo, "actions");
83
+ const AcceptedTypes = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameWrapper, "accepted-types");
84
+ const DividerVertical = (0, import_ds_classnames.aggregatedClasses)("div")("divider", null, ({ vertical }) => ({ vertical }));
85
+ function ActionButton(_a) {
86
+ var _b = _a, { labelText } = _b, otherProps = __objRest(_b, ["labelText"]);
87
+ return /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, __spreadProps(__spreadValues({}, otherProps), {
88
+ buttonType: "text",
89
+ labelText
90
+ }));
91
+ }
92
+ const noop = () => null;
93
+ const DSUploader = (_c) => {
94
+ var _d = _c, {
95
+ containerProps = {},
96
+ label = "Browse",
97
+ icon: UploadFileIcon = import_ds_icons.UploadFile,
98
+ defaultActionLabel = "LOCAL DRIVE",
99
+ dragActiveInstructionalText = "DROP FILES HERE",
100
+ dragActiveIcon: DragActiveIcon = import_ds_icons.UploadFile,
101
+ altActionLabel = "DOCUMENTS",
102
+ acceptedTypesText = "JPG, JPEG, PNG, PDF",
103
+ disabledDefault = false,
104
+ disabledAlt = false,
105
+ onDefaultHandlerClick = noop,
106
+ onAltHandlerClick = noop,
107
+ actions = { defaultAction: "LOCAL DRIVE", altAction: "DOCUMENTS" },
108
+ showAltAction = false,
109
+ defaultActionTooltipText,
110
+ altActionTooltipText
111
+ } = _d, dropzoneProps = __objRest(_d, [
112
+ "containerProps",
113
+ "label",
114
+ "icon",
115
+ "defaultActionLabel",
116
+ "dragActiveInstructionalText",
117
+ "dragActiveIcon",
118
+ "altActionLabel",
119
+ "acceptedTypesText",
120
+ "disabledDefault",
121
+ "disabledAlt",
122
+ "onDefaultHandlerClick",
123
+ "onAltHandlerClick",
124
+ "actions",
125
+ "showAltAction",
126
+ "defaultActionTooltipText",
127
+ "altActionTooltipText"
128
+ ]);
129
+ const { getRootProps, getInputProps, isDragActive } = (0, import_react_dropzone.useDropzone)(dropzoneProps);
130
+ const _a = getRootProps(), { onClick: onOpenFile } = _a, rootProps = __objRest(_a, ["onClick"]);
131
+ const disabledAll = disabledDefault && disabledAlt;
132
+ const delfaultActionButton = /* @__PURE__ */ import_react.default.createElement(ActionButton, {
133
+ variant: disabledDefault && import_ds_button.BUTTON_VARIANT.DISABLED,
134
+ labelText: actions.defaultAction ? actions.defaultAction : defaultActionLabel,
135
+ onClick: (...args) => {
136
+ if (!disabledDefault)
137
+ (0, import_ds_utilities.runAll)(onDefaultHandlerClick, onOpenFile)(...args);
138
+ }
139
+ });
140
+ const altActionButton = /* @__PURE__ */ import_react.default.createElement(ActionButton, {
141
+ variant: disabledAlt && import_ds_button.BUTTON_VARIANT.DISABLED,
142
+ labelText: actions.altAction ? actions.altAction : altActionLabel,
143
+ onClick: (...args) => {
144
+ if (!disabledAlt)
145
+ onAltHandlerClick(...args);
146
+ }
147
+ });
148
+ const defaultAction = !defaultActionTooltipText ? delfaultActionButton : /* @__PURE__ */ import_react.default.createElement(import_ds_tooltip.default, {
149
+ containerProps: { id: "default-action-tooltip" },
150
+ interactionType: "hover",
151
+ title: defaultActionTooltipText,
152
+ triggerComponent: delfaultActionButton
153
+ });
154
+ const altAction = !altActionTooltipText ? altActionButton : /* @__PURE__ */ import_react.default.createElement(import_ds_tooltip.default, {
155
+ containerProps: { id: "alt-action-tooltip" },
156
+ interactionType: "hover",
157
+ title: altActionTooltipText,
158
+ triggerComponent: altActionButton
159
+ });
160
+ return /* @__PURE__ */ import_react.default.createElement(UploaderWrapper, __spreadProps(__spreadValues({}, containerProps), {
161
+ classProps: { disabled: disabledAll }
162
+ }), /* @__PURE__ */ import_react.default.createElement(Uploader, __spreadProps(__spreadValues({}, rootProps), {
163
+ classProps: { isDragActive }
164
+ }), /* @__PURE__ */ import_react.default.createElement(UploaderIconArea, null, /* @__PURE__ */ import_react.default.createElement(UploadFileIcon, {
165
+ size: "l"
166
+ })), /* @__PURE__ */ import_react.default.createElement(DividerVertical, null), /* @__PURE__ */ import_react.default.createElement(UploaderInfo, null, /* @__PURE__ */ import_react.default.createElement(InfoText, null, label), /* @__PURE__ */ import_react.default.createElement(UploaderActions, null, actions.defaultAction && defaultAction, (actions.altAction || showAltAction) && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, actions.defaultAction && /* @__PURE__ */ import_react.default.createElement(DividerVertical, null), altAction))), !disabledAll && /* @__PURE__ */ import_react.default.createElement(UploaderDragActive, null, /* @__PURE__ */ import_react.default.createElement(DragActiveIcon, null), dragActiveInstructionalText), !disabledAll && /* @__PURE__ */ import_react.default.createElement("input", __spreadValues({}, getInputProps()))), typeof acceptedTypesText === "string" && /* @__PURE__ */ import_react.default.createElement(AcceptedTypes, null, acceptedTypesText.toUpperCase()));
167
+ };
168
+ DSUploader.actions = {
169
+ defaultAction: "LOCAL DRIVE",
170
+ altAction: "DOCUMENTS"
171
+ };
172
+ DSUploader.propTypes = import_propTypes.propTypes;
173
+ const UploaderWithSchema = (0, import_react_desc.describe)(DSUploader);
174
+ UploaderWithSchema.propTypes = import_propTypes.propTypes;
175
+ var DSUploader_default = DSUploader;
176
+ module.exports = __toCommonJS(DSUploader_exports);
177
+ //# sourceMappingURL=DSUploader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/DSUploader.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React from 'react';\nimport { describe } from 'react-desc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { runAll } from '@elliemae/ds-utilities';\nimport { UploadFile } from '@elliemae/ds-icons';\nimport DSButton, { BUTTON_VARIANT } from '@elliemae/ds-button';\nimport { useDropzone } from 'react-dropzone';\nimport DSTooltip from '@elliemae/ds-tooltip';\nimport { propTypes } from './propTypes';\nimport type { DSUploaderPropsT, ActionButtonPropsT } from './index.d';\n\nconst blockName = 'uploader';\nconst blockNameInfo = `${blockName}-info`;\nconst blockNameDragActive = `${blockName}-drag-active`;\nconst blockNameWrapper = `${blockName}-wrapper`;\n\nconst UploaderWrapper = aggregatedClasses('div')(blockNameWrapper, null, ({ disabled }) => ({ disabled }));\nconst Uploader = aggregatedClasses('div')(blockName, null, ({ isDragActive }) => ({ 'drag-active': isDragActive }));\nconst UploaderDragActive = aggregatedClasses('div')(blockNameDragActive);\nconst UploaderIconArea = aggregatedClasses('div')(`${blockName}-icon-wrapper`);\nconst UploaderInfo = aggregatedClasses('div')(blockNameInfo);\nconst InfoText = aggregatedClasses('span')(blockNameInfo, 'text');\nconst UploaderActions = aggregatedClasses('div')(blockNameInfo, 'actions');\nconst AcceptedTypes = aggregatedClasses('div')(blockNameWrapper, 'accepted-types');\n\nconst DividerVertical = aggregatedClasses('div')('divider', null, ({ vertical }) => ({ vertical }));\n\nfunction ActionButton({ labelText, ...otherProps }: ActionButtonPropsT): React.ReactElement {\n return <DSButton {...otherProps} buttonType=\"text\" labelText={labelText} />;\n}\n\nconst noop = () => null;\n\nconst DSUploader = ({\n containerProps = {},\n label = 'Browse', // todo: i18n\n icon: UploadFileIcon = UploadFile,\n defaultActionLabel = 'LOCAL DRIVE', // todo: i18n\n dragActiveInstructionalText = 'DROP FILES HERE',\n dragActiveIcon: DragActiveIcon = UploadFile,\n altActionLabel = 'DOCUMENTS', // todo: i18n\n acceptedTypesText = 'JPG, JPEG, PNG, PDF',\n disabledDefault = false,\n disabledAlt = false,\n onDefaultHandlerClick = noop,\n onAltHandlerClick = noop,\n actions = { defaultAction: 'LOCAL DRIVE', altAction: 'DOCUMENTS' },\n showAltAction = false,\n defaultActionTooltipText,\n altActionTooltipText,\n ...dropzoneProps\n}: DSUploaderPropsT): JSX.Element => {\n const { getRootProps, getInputProps, isDragActive } = useDropzone(dropzoneProps);\n const { onClick: onOpenFile, ...rootProps } = getRootProps();\n const disabledAll = disabledDefault && disabledAlt;\n\n const delfaultActionButton = (\n <ActionButton\n variant={disabledDefault && BUTTON_VARIANT.DISABLED}\n labelText={actions.defaultAction ? (actions.defaultAction as string) : defaultActionLabel}\n onClick={(...args) => {\n if (!disabledDefault) runAll(onDefaultHandlerClick, onOpenFile)(...args);\n }}\n />\n );\n\n const altActionButton = (\n <ActionButton\n variant={disabledAlt && BUTTON_VARIANT.DISABLED}\n labelText={actions.altAction ? (actions.altAction as string) : altActionLabel}\n onClick={(...args) => {\n if (!disabledAlt) onAltHandlerClick(...args);\n }}\n />\n );\n\n const defaultAction = !defaultActionTooltipText ? (\n delfaultActionButton\n ) : (\n <DSTooltip\n containerProps={{ id: 'default-action-tooltip' }}\n interactionType=\"hover\"\n title={defaultActionTooltipText}\n triggerComponent={delfaultActionButton}\n />\n );\n\n const altAction = !altActionTooltipText ? (\n altActionButton\n ) : (\n <DSTooltip\n containerProps={{ id: 'alt-action-tooltip' }}\n interactionType=\"hover\"\n title={altActionTooltipText}\n triggerComponent={altActionButton}\n />\n );\n\n return (\n <UploaderWrapper {...containerProps} classProps={{ disabled: disabledAll }}>\n <Uploader {...rootProps} classProps={{ isDragActive }}>\n <UploaderIconArea>\n <UploadFileIcon size=\"l\" />\n </UploaderIconArea>\n <DividerVertical />\n <UploaderInfo>\n <InfoText>{label}</InfoText>\n <UploaderActions>\n {actions.defaultAction && defaultAction}\n {(actions.altAction || showAltAction) && (\n <>\n {actions.defaultAction && <DividerVertical />}\n {altAction}\n </>\n )}\n </UploaderActions>\n </UploaderInfo>\n {!disabledAll && (\n <UploaderDragActive>\n <DragActiveIcon />\n {dragActiveInstructionalText}\n </UploaderDragActive>\n )}\n {!disabledAll && <input {...getInputProps()} />}\n </Uploader>\n {typeof acceptedTypesText === 'string' && <AcceptedTypes>{acceptedTypesText.toUpperCase()}</AcceptedTypes>}\n </UploaderWrapper>\n );\n};\n\nDSUploader.actions = {\n defaultAction: 'LOCAL DRIVE',\n altAction: 'DOCUMENTS',\n};\n\nDSUploader.propTypes = propTypes;\n\nconst UploaderWithSchema = describe(DSUploader);\nUploaderWithSchema.propTypes = propTypes;\n\nexport { UploaderWithSchema };\nexport default DSUploader;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAkB;AAClB,wBAAyB;AACzB,2BAAkC;AAClC,0BAAuB;AACvB,sBAA2B;AAC3B,uBAAyC;AACzC,4BAA4B;AAC5B,wBAAsB;AACtB,uBAA0B;AAG1B,MAAM,YAAY;AAClB,MAAM,gBAAgB,GAAG;AACzB,MAAM,sBAAsB,GAAG;AAC/B,MAAM,mBAAmB,GAAG;AAE5B,MAAM,kBAAkB,4CAAkB,OAAO,kBAAkB,MAAM,CAAC,EAAE,eAAgB,GAAE;AAC9F,MAAM,WAAW,4CAAkB,OAAO,WAAW,MAAM,CAAC,EAAE,mBAAoB,GAAE,eAAe;AACnG,MAAM,qBAAqB,4CAAkB,OAAO;AACpD,MAAM,mBAAmB,4CAAkB,OAAO,GAAG;AACrD,MAAM,eAAe,4CAAkB,OAAO;AAC9C,MAAM,WAAW,4CAAkB,QAAQ,eAAe;AAC1D,MAAM,kBAAkB,4CAAkB,OAAO,eAAe;AAChE,MAAM,gBAAgB,4CAAkB,OAAO,kBAAkB;AAEjE,MAAM,kBAAkB,4CAAkB,OAAO,WAAW,MAAM,CAAC,EAAE,eAAgB,GAAE;AAEvF,sBAAsB,IAAsE;AAAtE,eAAE,gBAAF,IAAgB,uBAAhB,IAAgB,CAAd;AACtB,SAAO,mDAAC,0BAAD,iCAAc,aAAd;AAAA,IAA0B,YAAW;AAAA,IAAO;AAAA;AAAA;AAGrD,MAAM,OAAO,MAAM;AAEnB,MAAM,aAAa,CAAC,OAkBiB;AAlBjB,eAClB;AAAA,qBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,MAAM,iBAAiB;AAAA,IACvB,qBAAqB;AAAA,IACrB,8BAA8B;AAAA,IAC9B,gBAAgB,iBAAiB;AAAA,IACjC,iBAAiB;AAAA,IACjB,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,wBAAwB;AAAA,IACxB,oBAAoB;AAAA,IACpB,UAAU,EAAE,eAAe,eAAe,WAAW;AAAA,IACrD,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,MAhBkB,IAiBf,0BAjBe,IAiBf;AAAA,IAhBH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,EAAE,cAAc,eAAe,iBAAiB,uCAAY;AAClE,QAA8C,qBAAtC,WAAS,eAA6B,IAAd,sBAAc,IAAd,CAAxB;AACR,QAAM,cAAc,mBAAmB;AAEvC,QAAM,uBACJ,mDAAC,cAAD;AAAA,IACE,SAAS,mBAAmB,gCAAe;AAAA,IAC3C,WAAW,QAAQ,gBAAiB,QAAQ,gBAA2B;AAAA,IACvE,SAAS,IAAI,SAAS;AACpB,UAAI,CAAC;AAAiB,wCAAO,uBAAuB,YAAY,GAAG;AAAA;AAAA;AAKzE,QAAM,kBACJ,mDAAC,cAAD;AAAA,IACE,SAAS,eAAe,gCAAe;AAAA,IACvC,WAAW,QAAQ,YAAa,QAAQ,YAAuB;AAAA,IAC/D,SAAS,IAAI,SAAS;AACpB,UAAI,CAAC;AAAa,0BAAkB,GAAG;AAAA;AAAA;AAK7C,QAAM,gBAAgB,CAAC,2BACrB,uBAEA,mDAAC,2BAAD;AAAA,IACE,gBAAgB,EAAE,IAAI;AAAA,IACtB,iBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,kBAAkB;AAAA;AAItB,QAAM,YAAY,CAAC,uBACjB,kBAEA,mDAAC,2BAAD;AAAA,IACE,gBAAgB,EAAE,IAAI;AAAA,IACtB,iBAAgB;AAAA,IAChB,OAAO;AAAA,IACP,kBAAkB;AAAA;AAItB,SACE,mDAAC,iBAAD,iCAAqB,iBAArB;AAAA,IAAqC,YAAY,EAAE,UAAU;AAAA,MAC3D,mDAAC,UAAD,iCAAc,YAAd;AAAA,IAAyB,YAAY,EAAE;AAAA,MACrC,mDAAC,kBAAD,MACE,mDAAC,gBAAD;AAAA,IAAgB,MAAK;AAAA,OAEvB,mDAAC,iBAAD,OACA,mDAAC,cAAD,MACE,mDAAC,UAAD,MAAW,QACX,mDAAC,iBAAD,MACG,QAAQ,iBAAiB,eACxB,SAAQ,aAAa,kBACrB,wFACG,QAAQ,iBAAiB,mDAAC,iBAAD,OACzB,cAKR,CAAC,eACA,mDAAC,oBAAD,MACE,mDAAC,gBAAD,OACC,8BAGJ,CAAC,eAAe,mDAAC,SAAD,mBAAW,oBAE7B,OAAO,sBAAsB,YAAY,mDAAC,eAAD,MAAgB,kBAAkB;AAAA;AAKlF,WAAW,UAAU;AAAA,EACnB,eAAe;AAAA,EACf,WAAW;AAAA;AAGb,WAAW,YAAY;AAEvB,MAAM,qBAAqB,gCAAS;AACpC,mBAAmB,YAAY;AAG/B,IAAO,qBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,27 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __reExport = (target, module2, copyDefault, desc) => {
9
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
10
+ for (let key of __getOwnPropNames(module2))
11
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
12
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
13
+ }
14
+ return target;
15
+ };
16
+ var __toESM = (module2, isNodeMode) => {
17
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
18
+ };
19
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
20
+ return (module2, temp) => {
21
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
22
+ };
23
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
24
+ var index_d_exports = {};
25
+ var React = __toESM(require("react"));
26
+ module.exports = __toCommonJS(index_d_exports);
27
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.d.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export interface DSUploaderPropsT {\n containerProps?: Record<string, unknown>;\n label?: string;\n icon?: React.FC<{ size: string }>;\n defaultActionLabel?: string;\n dragActiveInstructionalText?: string;\n dragActiveIcon?: React.FC;\n altActionLabel?: string;\n acceptedTypesText?: string;\n disabledDefault?: boolean;\n disabledAlt?: boolean;\n onDefaultHandlerClick?: () => void | null;\n onAltHandlerClick?: () => void | null;\n actions?: Record<string, unknown>;\n showAltAction?: boolean;\n defaultActionTooltipText: string;\n altActionTooltipText: string;\n}\n\nexport interface ActionButtonPropsT {\n labelText: string;\n variant: undefined | 'variant-disabled';\n onClick: () => void | null;\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA,YAAuB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,36 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var src_exports = {};
29
+ __export(src_exports, {
30
+ UploaderWithSchema: () => import_DSUploader.UploaderWithSchema,
31
+ default: () => import_DSUploader.default
32
+ });
33
+ var React = __toESM(require("react"));
34
+ var import_DSUploader = __toESM(require("./DSUploader"));
35
+ module.exports = __toCommonJS(src_exports);
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export { default, UploaderWithSchema } from './DSUploader';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAA4C;",
6
+ "names": []
7
+ }
@@ -0,0 +1,65 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __reExport = (target, module2, copyDefault, desc) => {
13
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
+ for (let key of __getOwnPropNames(module2))
15
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
17
+ }
18
+ return target;
19
+ };
20
+ var __toESM = (module2, isNodeMode) => {
21
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
+ };
23
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
+ return (module2, temp) => {
25
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
+ };
27
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
+ var propTypes_exports = {};
29
+ __export(propTypes_exports, {
30
+ propTypes: () => propTypes
31
+ });
32
+ var React = __toESM(require("react"));
33
+ var import_react_desc = require("react-desc");
34
+ var import_ds_icons = require("@elliemae/ds-icons");
35
+ const propTypes = {
36
+ containerProps: import_react_desc.PropTypes.object.description("Set of Properties attached to the main container."),
37
+ validator: import_react_desc.PropTypes.func.description("Custom validator. It must return null if it's valid or an object `{ code: string, message: string }` if it's not."),
38
+ maxFiles: import_react_desc.PropTypes.number.description("Number of files accepted."),
39
+ minSize: import_react_desc.PropTypes.number.description("Minimun file size accepted in bytes."),
40
+ maxSize: import_react_desc.PropTypes.number.description("Maximum file size accepted in bytes."),
41
+ onDropRejected: import_react_desc.PropTypes.func.description("Cb called when files are rejected using maxFiles, minSize or maxSize properties."),
42
+ disabled: import_react_desc.PropTypes.bool.description("Disables the DSUploader."),
43
+ multiple: import_react_desc.PropTypes.bool.description("Set to false to restrict multiple files selection/upload."),
44
+ accept: import_react_desc.PropTypes.string.description("String containing the accepted MIME type for the DSUploader"),
45
+ label: import_react_desc.PropTypes.string.description("Uploader label.").defaultValue("Browse"),
46
+ icon: import_react_desc.PropTypes.element.description("Uploader left icon.").defaultValue(import_ds_icons.UploadFile),
47
+ actions: import_react_desc.PropTypes.shape({
48
+ defaultAction: import_react_desc.PropTypes.string,
49
+ altAction: import_react_desc.PropTypes.string
50
+ }).description("Uploader actions.").defaultValue({ defaultAction: "LOCAL DRIVE" }),
51
+ defaultActionLabel: import_react_desc.PropTypes.string.description("First action button label."),
52
+ showAltAction: import_react_desc.PropTypes.bool.description("whether to show alternate action button or not.").defaultValue(true),
53
+ altActionLabel: import_react_desc.PropTypes.string.description("Second action button label.").defaultValue("LOCAL DRIVE"),
54
+ dragActiveInstructionalText: import_react_desc.PropTypes.string.description("informative text when user drags a file over the uploader zone.").defaultValue("DROP FILES HERE"),
55
+ dragActiveIcon: import_react_desc.PropTypes.string.description("Icon when user drags a file over the uploader zone."),
56
+ acceptedTypesText: import_react_desc.PropTypes.string.description("Information text to show what types are supported.").defaultValue("JPG, JPEG, PNG, PDF"),
57
+ disabledDefault: import_react_desc.PropTypes.bool.description("Whether the default uploader is disabled or not.").defaultValue(false),
58
+ disabledAlt: import_react_desc.PropTypes.bool.description("Whether the alternative uploader is disabled or not.").defaultValue(false),
59
+ onDefaultHandlerClick: import_react_desc.PropTypes.func.description("First action button click handler."),
60
+ onAltHandlerClick: import_react_desc.PropTypes.func.description("Second action button click handler."),
61
+ defaultActionTooltipText: import_react_desc.PropTypes.string.description("shows tooltip in default action button."),
62
+ altActionTooltipText: import_react_desc.PropTypes.string.description("Shows tooltip in alternate action button.")
63
+ };
64
+ module.exports = __toCommonJS(propTypes_exports);
65
+ //# sourceMappingURL=propTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/propTypes.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { PropTypes } from 'react-desc';\nimport { UploadFile } from '@elliemae/ds-icons';\n/** Inherits the props of react-dropzone https://react-dropzone.netlify.com/ */\n\nexport const propTypes = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container.'),\n validator: PropTypes.func.description(\n \"Custom validator. It must return null if it's valid or an object `{ code: string, message: string }` if it's not.\",\n ),\n maxFiles: PropTypes.number.description('Number of files accepted.'),\n minSize: PropTypes.number.description('Minimun file size accepted in bytes.'),\n maxSize: PropTypes.number.description('Maximum file size accepted in bytes.'),\n onDropRejected: PropTypes.func.description(\n 'Cb called when files are rejected using maxFiles, minSize or maxSize properties.',\n ),\n disabled: PropTypes.bool.description('Disables the DSUploader.'),\n multiple: PropTypes.bool.description('Set to false to restrict multiple files selection/upload.'),\n accept: PropTypes.string.description('String containing the accepted MIME type for the DSUploader'),\n\n label: PropTypes.string.description('Uploader label.').defaultValue('Browse'),\n icon: PropTypes.element.description('Uploader left icon.').defaultValue(UploadFile),\n actions: PropTypes.shape({\n defaultAction: PropTypes.string,\n altAction: PropTypes.string,\n })\n .description('Uploader actions.')\n .defaultValue({ defaultAction: 'LOCAL DRIVE' }),\n defaultActionLabel: PropTypes.string.description('First action button label.'),\n showAltAction: PropTypes.bool.description('whether to show alternate action button or not.').defaultValue(true),\n altActionLabel: PropTypes.string.description('Second action button label.').defaultValue('LOCAL DRIVE'),\n dragActiveInstructionalText: PropTypes.string\n .description('informative text when user drags a file over the uploader zone.')\n .defaultValue('DROP FILES HERE'),\n dragActiveIcon: PropTypes.string.description('Icon when user drags a file over the uploader zone.'),\n acceptedTypesText: PropTypes.string\n .description('Information text to show what types are supported.')\n .defaultValue('JPG, JPEG, PNG, PDF'),\n disabledDefault: PropTypes.bool.description('Whether the default uploader is disabled or not.').defaultValue(false),\n disabledAlt: PropTypes.bool.description('Whether the alternative uploader is disabled or not.').defaultValue(false),\n onDefaultHandlerClick: PropTypes.func.description('First action button click handler.'),\n onAltHandlerClick: PropTypes.func.description('Second action button click handler.'),\n defaultActionTooltipText: PropTypes.string.description('shows tooltip in default action button.'),\n altActionTooltipText: PropTypes.string.description('Shows tooltip in alternate action button.'),\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAA0B;AAC1B,sBAA2B;AAGpB,MAAM,YAAY;AAAA,EACvB,gBAAgB,4BAAU,OAAO,YAAY;AAAA,EAC7C,WAAW,4BAAU,KAAK,YACxB;AAAA,EAEF,UAAU,4BAAU,OAAO,YAAY;AAAA,EACvC,SAAS,4BAAU,OAAO,YAAY;AAAA,EACtC,SAAS,4BAAU,OAAO,YAAY;AAAA,EACtC,gBAAgB,4BAAU,KAAK,YAC7B;AAAA,EAEF,UAAU,4BAAU,KAAK,YAAY;AAAA,EACrC,UAAU,4BAAU,KAAK,YAAY;AAAA,EACrC,QAAQ,4BAAU,OAAO,YAAY;AAAA,EAErC,OAAO,4BAAU,OAAO,YAAY,mBAAmB,aAAa;AAAA,EACpE,MAAM,4BAAU,QAAQ,YAAY,uBAAuB,aAAa;AAAA,EACxE,SAAS,4BAAU,MAAM;AAAA,IACvB,eAAe,4BAAU;AAAA,IACzB,WAAW,4BAAU;AAAA,KAEpB,YAAY,qBACZ,aAAa,EAAE,eAAe;AAAA,EACjC,oBAAoB,4BAAU,OAAO,YAAY;AAAA,EACjD,eAAe,4BAAU,KAAK,YAAY,mDAAmD,aAAa;AAAA,EAC1G,gBAAgB,4BAAU,OAAO,YAAY,+BAA+B,aAAa;AAAA,EACzF,6BAA6B,4BAAU,OACpC,YAAY,mEACZ,aAAa;AAAA,EAChB,gBAAgB,4BAAU,OAAO,YAAY;AAAA,EAC7C,mBAAmB,4BAAU,OAC1B,YAAY,sDACZ,aAAa;AAAA,EAChB,iBAAiB,4BAAU,KAAK,YAAY,oDAAoD,aAAa;AAAA,EAC7G,aAAa,4BAAU,KAAK,YAAY,wDAAwD,aAAa;AAAA,EAC7G,uBAAuB,4BAAU,KAAK,YAAY;AAAA,EAClD,mBAAmB,4BAAU,KAAK,YAAY;AAAA,EAC9C,0BAA0B,4BAAU,OAAO,YAAY;AAAA,EACvD,sBAAsB,4BAAU,OAAO,YAAY;AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,150 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import * as React from "react";
33
+ import React2 from "react";
34
+ import { describe } from "react-desc";
35
+ import { aggregatedClasses } from "@elliemae/ds-classnames";
36
+ import { runAll } from "@elliemae/ds-utilities";
37
+ import { UploadFile } from "@elliemae/ds-icons";
38
+ import DSButton, { BUTTON_VARIANT } from "@elliemae/ds-button";
39
+ import { useDropzone } from "react-dropzone";
40
+ import DSTooltip from "@elliemae/ds-tooltip";
41
+ import { propTypes } from "./propTypes";
42
+ const blockName = "uploader";
43
+ const blockNameInfo = `${blockName}-info`;
44
+ const blockNameDragActive = `${blockName}-drag-active`;
45
+ const blockNameWrapper = `${blockName}-wrapper`;
46
+ const UploaderWrapper = aggregatedClasses("div")(blockNameWrapper, null, ({ disabled }) => ({ disabled }));
47
+ const Uploader = aggregatedClasses("div")(blockName, null, ({ isDragActive }) => ({ "drag-active": isDragActive }));
48
+ const UploaderDragActive = aggregatedClasses("div")(blockNameDragActive);
49
+ const UploaderIconArea = aggregatedClasses("div")(`${blockName}-icon-wrapper`);
50
+ const UploaderInfo = aggregatedClasses("div")(blockNameInfo);
51
+ const InfoText = aggregatedClasses("span")(blockNameInfo, "text");
52
+ const UploaderActions = aggregatedClasses("div")(blockNameInfo, "actions");
53
+ const AcceptedTypes = aggregatedClasses("div")(blockNameWrapper, "accepted-types");
54
+ const DividerVertical = aggregatedClasses("div")("divider", null, ({ vertical }) => ({ vertical }));
55
+ function ActionButton(_a) {
56
+ var _b = _a, { labelText } = _b, otherProps = __objRest(_b, ["labelText"]);
57
+ return /* @__PURE__ */ React2.createElement(DSButton, __spreadProps(__spreadValues({}, otherProps), {
58
+ buttonType: "text",
59
+ labelText
60
+ }));
61
+ }
62
+ const noop = () => null;
63
+ const DSUploader = (_c) => {
64
+ var _d = _c, {
65
+ containerProps = {},
66
+ label = "Browse",
67
+ icon: UploadFileIcon = UploadFile,
68
+ defaultActionLabel = "LOCAL DRIVE",
69
+ dragActiveInstructionalText = "DROP FILES HERE",
70
+ dragActiveIcon: DragActiveIcon = UploadFile,
71
+ altActionLabel = "DOCUMENTS",
72
+ acceptedTypesText = "JPG, JPEG, PNG, PDF",
73
+ disabledDefault = false,
74
+ disabledAlt = false,
75
+ onDefaultHandlerClick = noop,
76
+ onAltHandlerClick = noop,
77
+ actions = { defaultAction: "LOCAL DRIVE", altAction: "DOCUMENTS" },
78
+ showAltAction = false,
79
+ defaultActionTooltipText,
80
+ altActionTooltipText
81
+ } = _d, dropzoneProps = __objRest(_d, [
82
+ "containerProps",
83
+ "label",
84
+ "icon",
85
+ "defaultActionLabel",
86
+ "dragActiveInstructionalText",
87
+ "dragActiveIcon",
88
+ "altActionLabel",
89
+ "acceptedTypesText",
90
+ "disabledDefault",
91
+ "disabledAlt",
92
+ "onDefaultHandlerClick",
93
+ "onAltHandlerClick",
94
+ "actions",
95
+ "showAltAction",
96
+ "defaultActionTooltipText",
97
+ "altActionTooltipText"
98
+ ]);
99
+ const { getRootProps, getInputProps, isDragActive } = useDropzone(dropzoneProps);
100
+ const _a = getRootProps(), { onClick: onOpenFile } = _a, rootProps = __objRest(_a, ["onClick"]);
101
+ const disabledAll = disabledDefault && disabledAlt;
102
+ const delfaultActionButton = /* @__PURE__ */ React2.createElement(ActionButton, {
103
+ variant: disabledDefault && BUTTON_VARIANT.DISABLED,
104
+ labelText: actions.defaultAction ? actions.defaultAction : defaultActionLabel,
105
+ onClick: (...args) => {
106
+ if (!disabledDefault)
107
+ runAll(onDefaultHandlerClick, onOpenFile)(...args);
108
+ }
109
+ });
110
+ const altActionButton = /* @__PURE__ */ React2.createElement(ActionButton, {
111
+ variant: disabledAlt && BUTTON_VARIANT.DISABLED,
112
+ labelText: actions.altAction ? actions.altAction : altActionLabel,
113
+ onClick: (...args) => {
114
+ if (!disabledAlt)
115
+ onAltHandlerClick(...args);
116
+ }
117
+ });
118
+ const defaultAction = !defaultActionTooltipText ? delfaultActionButton : /* @__PURE__ */ React2.createElement(DSTooltip, {
119
+ containerProps: { id: "default-action-tooltip" },
120
+ interactionType: "hover",
121
+ title: defaultActionTooltipText,
122
+ triggerComponent: delfaultActionButton
123
+ });
124
+ const altAction = !altActionTooltipText ? altActionButton : /* @__PURE__ */ React2.createElement(DSTooltip, {
125
+ containerProps: { id: "alt-action-tooltip" },
126
+ interactionType: "hover",
127
+ title: altActionTooltipText,
128
+ triggerComponent: altActionButton
129
+ });
130
+ return /* @__PURE__ */ React2.createElement(UploaderWrapper, __spreadProps(__spreadValues({}, containerProps), {
131
+ classProps: { disabled: disabledAll }
132
+ }), /* @__PURE__ */ React2.createElement(Uploader, __spreadProps(__spreadValues({}, rootProps), {
133
+ classProps: { isDragActive }
134
+ }), /* @__PURE__ */ React2.createElement(UploaderIconArea, null, /* @__PURE__ */ React2.createElement(UploadFileIcon, {
135
+ size: "l"
136
+ })), /* @__PURE__ */ React2.createElement(DividerVertical, null), /* @__PURE__ */ React2.createElement(UploaderInfo, null, /* @__PURE__ */ React2.createElement(InfoText, null, label), /* @__PURE__ */ React2.createElement(UploaderActions, null, actions.defaultAction && defaultAction, (actions.altAction || showAltAction) && /* @__PURE__ */ React2.createElement(React2.Fragment, null, actions.defaultAction && /* @__PURE__ */ React2.createElement(DividerVertical, null), altAction))), !disabledAll && /* @__PURE__ */ React2.createElement(UploaderDragActive, null, /* @__PURE__ */ React2.createElement(DragActiveIcon, null), dragActiveInstructionalText), !disabledAll && /* @__PURE__ */ React2.createElement("input", __spreadValues({}, getInputProps()))), typeof acceptedTypesText === "string" && /* @__PURE__ */ React2.createElement(AcceptedTypes, null, acceptedTypesText.toUpperCase()));
137
+ };
138
+ DSUploader.actions = {
139
+ defaultAction: "LOCAL DRIVE",
140
+ altAction: "DOCUMENTS"
141
+ };
142
+ DSUploader.propTypes = propTypes;
143
+ const UploaderWithSchema = describe(DSUploader);
144
+ UploaderWithSchema.propTypes = propTypes;
145
+ var DSUploader_default = DSUploader;
146
+ export {
147
+ UploaderWithSchema,
148
+ DSUploader_default as default
149
+ };
150
+ //# sourceMappingURL=DSUploader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSUploader.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React from 'react';\nimport { describe } from 'react-desc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { runAll } from '@elliemae/ds-utilities';\nimport { UploadFile } from '@elliemae/ds-icons';\nimport DSButton, { BUTTON_VARIANT } from '@elliemae/ds-button';\nimport { useDropzone } from 'react-dropzone';\nimport DSTooltip from '@elliemae/ds-tooltip';\nimport { propTypes } from './propTypes';\nimport type { DSUploaderPropsT, ActionButtonPropsT } from './index.d';\n\nconst blockName = 'uploader';\nconst blockNameInfo = `${blockName}-info`;\nconst blockNameDragActive = `${blockName}-drag-active`;\nconst blockNameWrapper = `${blockName}-wrapper`;\n\nconst UploaderWrapper = aggregatedClasses('div')(blockNameWrapper, null, ({ disabled }) => ({ disabled }));\nconst Uploader = aggregatedClasses('div')(blockName, null, ({ isDragActive }) => ({ 'drag-active': isDragActive }));\nconst UploaderDragActive = aggregatedClasses('div')(blockNameDragActive);\nconst UploaderIconArea = aggregatedClasses('div')(`${blockName}-icon-wrapper`);\nconst UploaderInfo = aggregatedClasses('div')(blockNameInfo);\nconst InfoText = aggregatedClasses('span')(blockNameInfo, 'text');\nconst UploaderActions = aggregatedClasses('div')(blockNameInfo, 'actions');\nconst AcceptedTypes = aggregatedClasses('div')(blockNameWrapper, 'accepted-types');\n\nconst DividerVertical = aggregatedClasses('div')('divider', null, ({ vertical }) => ({ vertical }));\n\nfunction ActionButton({ labelText, ...otherProps }: ActionButtonPropsT): React.ReactElement {\n return <DSButton {...otherProps} buttonType=\"text\" labelText={labelText} />;\n}\n\nconst noop = () => null;\n\nconst DSUploader = ({\n containerProps = {},\n label = 'Browse', // todo: i18n\n icon: UploadFileIcon = UploadFile,\n defaultActionLabel = 'LOCAL DRIVE', // todo: i18n\n dragActiveInstructionalText = 'DROP FILES HERE',\n dragActiveIcon: DragActiveIcon = UploadFile,\n altActionLabel = 'DOCUMENTS', // todo: i18n\n acceptedTypesText = 'JPG, JPEG, PNG, PDF',\n disabledDefault = false,\n disabledAlt = false,\n onDefaultHandlerClick = noop,\n onAltHandlerClick = noop,\n actions = { defaultAction: 'LOCAL DRIVE', altAction: 'DOCUMENTS' },\n showAltAction = false,\n defaultActionTooltipText,\n altActionTooltipText,\n ...dropzoneProps\n}: DSUploaderPropsT): JSX.Element => {\n const { getRootProps, getInputProps, isDragActive } = useDropzone(dropzoneProps);\n const { onClick: onOpenFile, ...rootProps } = getRootProps();\n const disabledAll = disabledDefault && disabledAlt;\n\n const delfaultActionButton = (\n <ActionButton\n variant={disabledDefault && BUTTON_VARIANT.DISABLED}\n labelText={actions.defaultAction ? (actions.defaultAction as string) : defaultActionLabel}\n onClick={(...args) => {\n if (!disabledDefault) runAll(onDefaultHandlerClick, onOpenFile)(...args);\n }}\n />\n );\n\n const altActionButton = (\n <ActionButton\n variant={disabledAlt && BUTTON_VARIANT.DISABLED}\n labelText={actions.altAction ? (actions.altAction as string) : altActionLabel}\n onClick={(...args) => {\n if (!disabledAlt) onAltHandlerClick(...args);\n }}\n />\n );\n\n const defaultAction = !defaultActionTooltipText ? (\n delfaultActionButton\n ) : (\n <DSTooltip\n containerProps={{ id: 'default-action-tooltip' }}\n interactionType=\"hover\"\n title={defaultActionTooltipText}\n triggerComponent={delfaultActionButton}\n />\n );\n\n const altAction = !altActionTooltipText ? (\n altActionButton\n ) : (\n <DSTooltip\n containerProps={{ id: 'alt-action-tooltip' }}\n interactionType=\"hover\"\n title={altActionTooltipText}\n triggerComponent={altActionButton}\n />\n );\n\n return (\n <UploaderWrapper {...containerProps} classProps={{ disabled: disabledAll }}>\n <Uploader {...rootProps} classProps={{ isDragActive }}>\n <UploaderIconArea>\n <UploadFileIcon size=\"l\" />\n </UploaderIconArea>\n <DividerVertical />\n <UploaderInfo>\n <InfoText>{label}</InfoText>\n <UploaderActions>\n {actions.defaultAction && defaultAction}\n {(actions.altAction || showAltAction) && (\n <>\n {actions.defaultAction && <DividerVertical />}\n {altAction}\n </>\n )}\n </UploaderActions>\n </UploaderInfo>\n {!disabledAll && (\n <UploaderDragActive>\n <DragActiveIcon />\n {dragActiveInstructionalText}\n </UploaderDragActive>\n )}\n {!disabledAll && <input {...getInputProps()} />}\n </Uploader>\n {typeof acceptedTypesText === 'string' && <AcceptedTypes>{acceptedTypesText.toUpperCase()}</AcceptedTypes>}\n </UploaderWrapper>\n );\n};\n\nDSUploader.actions = {\n defaultAction: 'LOCAL DRIVE',\n altAction: 'DOCUMENTS',\n};\n\nDSUploader.propTypes = propTypes;\n\nconst UploaderWithSchema = describe(DSUploader);\nUploaderWithSchema.propTypes = propTypes;\n\nexport { UploaderWithSchema };\nexport default DSUploader;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import * as React from "react";
2
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "AAAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import { default as default2, UploaderWithSchema } from "./DSUploader";
3
+ export {
4
+ UploaderWithSchema,
5
+ default2 as default
6
+ };
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, UploaderWithSchema } from './DSUploader';\n"],
5
+ "mappings": "AAAA;ACAA;",
6
+ "names": []
7
+ }
@@ -0,0 +1,36 @@
1
+ import * as React from "react";
2
+ import { PropTypes } from "react-desc";
3
+ import { UploadFile } from "@elliemae/ds-icons";
4
+ const propTypes = {
5
+ containerProps: PropTypes.object.description("Set of Properties attached to the main container."),
6
+ validator: PropTypes.func.description("Custom validator. It must return null if it's valid or an object `{ code: string, message: string }` if it's not."),
7
+ maxFiles: PropTypes.number.description("Number of files accepted."),
8
+ minSize: PropTypes.number.description("Minimun file size accepted in bytes."),
9
+ maxSize: PropTypes.number.description("Maximum file size accepted in bytes."),
10
+ onDropRejected: PropTypes.func.description("Cb called when files are rejected using maxFiles, minSize or maxSize properties."),
11
+ disabled: PropTypes.bool.description("Disables the DSUploader."),
12
+ multiple: PropTypes.bool.description("Set to false to restrict multiple files selection/upload."),
13
+ accept: PropTypes.string.description("String containing the accepted MIME type for the DSUploader"),
14
+ label: PropTypes.string.description("Uploader label.").defaultValue("Browse"),
15
+ icon: PropTypes.element.description("Uploader left icon.").defaultValue(UploadFile),
16
+ actions: PropTypes.shape({
17
+ defaultAction: PropTypes.string,
18
+ altAction: PropTypes.string
19
+ }).description("Uploader actions.").defaultValue({ defaultAction: "LOCAL DRIVE" }),
20
+ defaultActionLabel: PropTypes.string.description("First action button label."),
21
+ showAltAction: PropTypes.bool.description("whether to show alternate action button or not.").defaultValue(true),
22
+ altActionLabel: PropTypes.string.description("Second action button label.").defaultValue("LOCAL DRIVE"),
23
+ dragActiveInstructionalText: PropTypes.string.description("informative text when user drags a file over the uploader zone.").defaultValue("DROP FILES HERE"),
24
+ dragActiveIcon: PropTypes.string.description("Icon when user drags a file over the uploader zone."),
25
+ acceptedTypesText: PropTypes.string.description("Information text to show what types are supported.").defaultValue("JPG, JPEG, PNG, PDF"),
26
+ disabledDefault: PropTypes.bool.description("Whether the default uploader is disabled or not.").defaultValue(false),
27
+ disabledAlt: PropTypes.bool.description("Whether the alternative uploader is disabled or not.").defaultValue(false),
28
+ onDefaultHandlerClick: PropTypes.func.description("First action button click handler."),
29
+ onAltHandlerClick: PropTypes.func.description("Second action button click handler."),
30
+ defaultActionTooltipText: PropTypes.string.description("shows tooltip in default action button."),
31
+ altActionTooltipText: PropTypes.string.description("Shows tooltip in alternate action button.")
32
+ };
33
+ export {
34
+ propTypes
35
+ };
36
+ //# sourceMappingURL=propTypes.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/propTypes.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from 'react-desc';\nimport { UploadFile } from '@elliemae/ds-icons';\n/** Inherits the props of react-dropzone https://react-dropzone.netlify.com/ */\n\nexport const propTypes = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container.'),\n validator: PropTypes.func.description(\n \"Custom validator. It must return null if it's valid or an object `{ code: string, message: string }` if it's not.\",\n ),\n maxFiles: PropTypes.number.description('Number of files accepted.'),\n minSize: PropTypes.number.description('Minimun file size accepted in bytes.'),\n maxSize: PropTypes.number.description('Maximum file size accepted in bytes.'),\n onDropRejected: PropTypes.func.description(\n 'Cb called when files are rejected using maxFiles, minSize or maxSize properties.',\n ),\n disabled: PropTypes.bool.description('Disables the DSUploader.'),\n multiple: PropTypes.bool.description('Set to false to restrict multiple files selection/upload.'),\n accept: PropTypes.string.description('String containing the accepted MIME type for the DSUploader'),\n\n label: PropTypes.string.description('Uploader label.').defaultValue('Browse'),\n icon: PropTypes.element.description('Uploader left icon.').defaultValue(UploadFile),\n actions: PropTypes.shape({\n defaultAction: PropTypes.string,\n altAction: PropTypes.string,\n })\n .description('Uploader actions.')\n .defaultValue({ defaultAction: 'LOCAL DRIVE' }),\n defaultActionLabel: PropTypes.string.description('First action button label.'),\n showAltAction: PropTypes.bool.description('whether to show alternate action button or not.').defaultValue(true),\n altActionLabel: PropTypes.string.description('Second action button label.').defaultValue('LOCAL DRIVE'),\n dragActiveInstructionalText: PropTypes.string\n .description('informative text when user drags a file over the uploader zone.')\n .defaultValue('DROP FILES HERE'),\n dragActiveIcon: PropTypes.string.description('Icon when user drags a file over the uploader zone.'),\n acceptedTypesText: PropTypes.string\n .description('Information text to show what types are supported.')\n .defaultValue('JPG, JPEG, PNG, PDF'),\n disabledDefault: PropTypes.bool.description('Whether the default uploader is disabled or not.').defaultValue(false),\n disabledAlt: PropTypes.bool.description('Whether the alternative uploader is disabled or not.').defaultValue(false),\n onDefaultHandlerClick: PropTypes.func.description('First action button click handler.'),\n onAltHandlerClick: PropTypes.func.description('Second action button click handler.'),\n defaultActionTooltipText: PropTypes.string.description('shows tooltip in default action button.'),\n altActionTooltipText: PropTypes.string.description('Shows tooltip in alternate action button.'),\n};\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAGO,MAAM,YAAY;AAAA,EACvB,gBAAgB,UAAU,OAAO,YAAY;AAAA,EAC7C,WAAW,UAAU,KAAK,YACxB;AAAA,EAEF,UAAU,UAAU,OAAO,YAAY;AAAA,EACvC,SAAS,UAAU,OAAO,YAAY;AAAA,EACtC,SAAS,UAAU,OAAO,YAAY;AAAA,EACtC,gBAAgB,UAAU,KAAK,YAC7B;AAAA,EAEF,UAAU,UAAU,KAAK,YAAY;AAAA,EACrC,UAAU,UAAU,KAAK,YAAY;AAAA,EACrC,QAAQ,UAAU,OAAO,YAAY;AAAA,EAErC,OAAO,UAAU,OAAO,YAAY,mBAAmB,aAAa;AAAA,EACpE,MAAM,UAAU,QAAQ,YAAY,uBAAuB,aAAa;AAAA,EACxE,SAAS,UAAU,MAAM;AAAA,IACvB,eAAe,UAAU;AAAA,IACzB,WAAW,UAAU;AAAA,KAEpB,YAAY,qBACZ,aAAa,EAAE,eAAe;AAAA,EACjC,oBAAoB,UAAU,OAAO,YAAY;AAAA,EACjD,eAAe,UAAU,KAAK,YAAY,mDAAmD,aAAa;AAAA,EAC1G,gBAAgB,UAAU,OAAO,YAAY,+BAA+B,aAAa;AAAA,EACzF,6BAA6B,UAAU,OACpC,YAAY,mEACZ,aAAa;AAAA,EAChB,gBAAgB,UAAU,OAAO,YAAY;AAAA,EAC7C,mBAAmB,UAAU,OAC1B,YAAY,sDACZ,aAAa;AAAA,EAChB,iBAAiB,UAAU,KAAK,YAAY,oDAAoD,aAAa;AAAA,EAC7G,aAAa,UAAU,KAAK,YAAY,wDAAwD,aAAa;AAAA,EAC7G,uBAAuB,UAAU,KAAK,YAAY;AAAA,EAClD,mBAAmB,UAAU,KAAK,YAAY;AAAA,EAC9C,0BAA0B,UAAU,OAAO,YAAY;AAAA,EACvD,sBAAsB,UAAU,OAAO,YAAY;AAAA;",
6
+ "names": []
7
+ }