@elliemae/ds-uploader 3.12.0-rc.2 → 3.12.0-rc.21
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/dist/cjs/DSUploader.js +61 -79
- package/dist/cjs/DSUploader.js.map +1 -1
- package/dist/esm/DSUploader.js +61 -79
- package/dist/esm/DSUploader.js.map +1 -1
- package/package.json +8 -8
package/dist/cjs/DSUploader.js
CHANGED
|
@@ -51,11 +51,7 @@ const InfoText = (0, import_ds_classnames.aggregatedClasses)("span")(blockNameIn
|
|
|
51
51
|
const UploaderActions = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameInfo, "actions");
|
|
52
52
|
const AcceptedTypes = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameWrapper, "accepted-types");
|
|
53
53
|
const DividerVertical = (0, import_ds_classnames.aggregatedClasses)("div")("divider", null, ({ vertical }) => ({ vertical }));
|
|
54
|
-
const ActionButton = ({ labelText, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.default, {
|
|
55
|
-
...otherProps,
|
|
56
|
-
buttonType: "text",
|
|
57
|
-
labelText
|
|
58
|
-
});
|
|
54
|
+
const ActionButton = ({ labelText, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.default, { ...otherProps, buttonType: "text", labelText });
|
|
59
55
|
const noop = () => null;
|
|
60
56
|
const DSUploader = ({
|
|
61
57
|
containerProps = {},
|
|
@@ -79,82 +75,68 @@ const DSUploader = ({
|
|
|
79
75
|
const { getRootProps, getInputProps, isDragActive } = (0, import_react_dropzone.useDropzone)(dropzoneProps);
|
|
80
76
|
const { onClick: onOpenFile, ...rootProps } = getRootProps();
|
|
81
77
|
const disabledAll = disabledDefault && disabledAlt;
|
|
82
|
-
const delfaultActionButton = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
78
|
+
const delfaultActionButton = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
79
|
+
ActionButton,
|
|
80
|
+
{
|
|
81
|
+
variant: disabledDefault && import_ds_button.BUTTON_VARIANT.DISABLED,
|
|
82
|
+
labelText: actions.defaultAction ? actions.defaultAction : defaultActionLabel,
|
|
83
|
+
onClick: (...args) => {
|
|
84
|
+
if (!disabledDefault)
|
|
85
|
+
(0, import_ds_utilities.runAll)(onDefaultHandlerClick, onOpenFile)(...args);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
const altActionButton = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
90
|
+
ActionButton,
|
|
91
|
+
{
|
|
92
|
+
variant: disabledAlt && import_ds_button.BUTTON_VARIANT.DISABLED,
|
|
93
|
+
labelText: actions.altAction ? actions.altAction : altActionLabel,
|
|
94
|
+
onClick: (...args) => {
|
|
95
|
+
if (!disabledAlt)
|
|
96
|
+
onAltHandlerClick(...args);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
const defaultAction = !defaultActionTooltipText ? delfaultActionButton : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
101
|
+
import_ds_tooltip.default,
|
|
102
|
+
{
|
|
103
|
+
containerProps: { id: "default-action-tooltip" },
|
|
104
|
+
interactionType: "hover",
|
|
105
|
+
title: defaultActionTooltipText,
|
|
106
|
+
triggerComponent: delfaultActionButton
|
|
88
107
|
}
|
|
89
|
-
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
108
|
+
);
|
|
109
|
+
const altAction = !altActionTooltipText ? altActionButton : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
110
|
+
import_ds_tooltip.default,
|
|
111
|
+
{
|
|
112
|
+
containerProps: { id: "alt-action-tooltip" },
|
|
113
|
+
interactionType: "hover",
|
|
114
|
+
title: altActionTooltipText,
|
|
115
|
+
triggerComponent: altActionButton
|
|
96
116
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
size: "l"
|
|
121
|
-
})
|
|
122
|
-
}),
|
|
123
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DividerVertical, {}),
|
|
124
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderInfo, {
|
|
125
|
-
children: [
|
|
126
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(InfoText, {
|
|
127
|
-
children: label
|
|
128
|
-
}),
|
|
129
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderActions, {
|
|
130
|
-
children: [
|
|
131
|
-
actions.defaultAction && defaultAction,
|
|
132
|
-
(actions.altAction || showAltAction) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
|
|
133
|
-
children: [
|
|
134
|
-
actions.defaultAction && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DividerVertical, {}),
|
|
135
|
-
altAction
|
|
136
|
-
]
|
|
137
|
-
})
|
|
138
|
-
]
|
|
139
|
-
})
|
|
140
|
-
]
|
|
141
|
-
}),
|
|
142
|
-
!disabledAll && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderDragActive, {
|
|
143
|
-
children: [
|
|
144
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DragActiveIcon, {}),
|
|
145
|
-
dragActiveInstructionalText
|
|
146
|
-
]
|
|
147
|
-
}),
|
|
148
|
-
!disabledAll && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", {
|
|
149
|
-
...getInputProps()
|
|
150
|
-
})
|
|
151
|
-
]
|
|
152
|
-
}),
|
|
153
|
-
typeof acceptedTypesText === "string" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AcceptedTypes, {
|
|
154
|
-
children: acceptedTypesText.toUpperCase()
|
|
155
|
-
})
|
|
156
|
-
]
|
|
157
|
-
});
|
|
117
|
+
);
|
|
118
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderWrapper, { ...containerProps, classProps: { disabled: disabledAll }, children: [
|
|
119
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Uploader, { ...rootProps, classProps: { isDragActive }, children: [
|
|
120
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UploaderIconArea, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UploadFileIcon, { size: "l" }) }),
|
|
121
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DividerVertical, {}),
|
|
122
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderInfo, { children: [
|
|
123
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(InfoText, { children: label }),
|
|
124
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderActions, { children: [
|
|
125
|
+
actions.defaultAction && defaultAction,
|
|
126
|
+
(actions.altAction || showAltAction) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
127
|
+
actions.defaultAction && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DividerVertical, {}),
|
|
128
|
+
altAction
|
|
129
|
+
] })
|
|
130
|
+
] })
|
|
131
|
+
] }),
|
|
132
|
+
!disabledAll && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderDragActive, { children: [
|
|
133
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DragActiveIcon, {}),
|
|
134
|
+
dragActiveInstructionalText
|
|
135
|
+
] }),
|
|
136
|
+
!disabledAll && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ...getInputProps() })
|
|
137
|
+
] }),
|
|
138
|
+
typeof acceptedTypesText === "string" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AcceptedTypes, { children: acceptedTypesText.toUpperCase() })
|
|
139
|
+
] });
|
|
158
140
|
};
|
|
159
141
|
DSUploader.actions = {
|
|
160
142
|
defaultAction: "LOCAL DRIVE",
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSUploader.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { describe, 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\nconst ActionButton = ({ labelText, ...otherProps }: ActionButtonPropsT): React.ReactElement => (\n <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;\nDSUploader.displayName = 'DSUploader';\nconst UploaderWithSchema = describe(DSUploader);\nUploaderWithSchema.propTypes = propTypes;\n\nexport { UploaderWithSchema, DSUploader };\nexport default DSUploader;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD6BrB;AA1BF,2BAAkC;AAClC,0BAAiC;AACjC,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,sBAAkB,wCAAkB,KAAK,EAAE,kBAAkB,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,SAAS,EAAE;AACzG,MAAM,eAAW,wCAAkB,KAAK,EAAE,WAAW,MAAM,CAAC,EAAE,aAAa,OAAO,EAAE,eAAe,aAAa,EAAE;AAClH,MAAM,yBAAqB,wCAAkB,KAAK,EAAE,mBAAmB;AACvE,MAAM,uBAAmB,wCAAkB,KAAK,EAAE,GAAG,wBAAwB;AAC7E,MAAM,mBAAe,wCAAkB,KAAK,EAAE,aAAa;AAC3D,MAAM,eAAW,wCAAkB,MAAM,EAAE,eAAe,MAAM;AAChE,MAAM,sBAAkB,wCAAkB,KAAK,EAAE,eAAe,SAAS;AACzE,MAAM,oBAAgB,wCAAkB,KAAK,EAAE,kBAAkB,gBAAgB;AAEjF,MAAM,sBAAkB,wCAAkB,KAAK,EAAE,WAAW,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,SAAS,EAAE;AAElG,MAAM,eAAe,CAAC,EAAE,cAAc,WAAW,MAC/C,4CAAC,iBAAAA,SAAA
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["DSButton", "DSTooltip"]
|
|
7
7
|
}
|
package/dist/esm/DSUploader.js
CHANGED
|
@@ -20,11 +20,7 @@ const InfoText = aggregatedClasses("span")(blockNameInfo, "text");
|
|
|
20
20
|
const UploaderActions = aggregatedClasses("div")(blockNameInfo, "actions");
|
|
21
21
|
const AcceptedTypes = aggregatedClasses("div")(blockNameWrapper, "accepted-types");
|
|
22
22
|
const DividerVertical = aggregatedClasses("div")("divider", null, ({ vertical }) => ({ vertical }));
|
|
23
|
-
const ActionButton = ({ labelText, ...otherProps }) => /* @__PURE__ */ jsx(DSButton, {
|
|
24
|
-
...otherProps,
|
|
25
|
-
buttonType: "text",
|
|
26
|
-
labelText
|
|
27
|
-
});
|
|
23
|
+
const ActionButton = ({ labelText, ...otherProps }) => /* @__PURE__ */ jsx(DSButton, { ...otherProps, buttonType: "text", labelText });
|
|
28
24
|
const noop = () => null;
|
|
29
25
|
const DSUploader = ({
|
|
30
26
|
containerProps = {},
|
|
@@ -48,82 +44,68 @@ const DSUploader = ({
|
|
|
48
44
|
const { getRootProps, getInputProps, isDragActive } = useDropzone(dropzoneProps);
|
|
49
45
|
const { onClick: onOpenFile, ...rootProps } = getRootProps();
|
|
50
46
|
const disabledAll = disabledDefault && disabledAlt;
|
|
51
|
-
const delfaultActionButton = /* @__PURE__ */ jsx(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
const delfaultActionButton = /* @__PURE__ */ jsx(
|
|
48
|
+
ActionButton,
|
|
49
|
+
{
|
|
50
|
+
variant: disabledDefault && BUTTON_VARIANT.DISABLED,
|
|
51
|
+
labelText: actions.defaultAction ? actions.defaultAction : defaultActionLabel,
|
|
52
|
+
onClick: (...args) => {
|
|
53
|
+
if (!disabledDefault)
|
|
54
|
+
runAll(onDefaultHandlerClick, onOpenFile)(...args);
|
|
55
|
+
}
|
|
57
56
|
}
|
|
58
|
-
|
|
59
|
-
const altActionButton = /* @__PURE__ */ jsx(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
);
|
|
58
|
+
const altActionButton = /* @__PURE__ */ jsx(
|
|
59
|
+
ActionButton,
|
|
60
|
+
{
|
|
61
|
+
variant: disabledAlt && BUTTON_VARIANT.DISABLED,
|
|
62
|
+
labelText: actions.altAction ? actions.altAction : altActionLabel,
|
|
63
|
+
onClick: (...args) => {
|
|
64
|
+
if (!disabledAlt)
|
|
65
|
+
onAltHandlerClick(...args);
|
|
66
|
+
}
|
|
65
67
|
}
|
|
66
|
-
|
|
67
|
-
const defaultAction = !defaultActionTooltipText ? delfaultActionButton : /* @__PURE__ */ jsx(
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
/* @__PURE__ */ jsxs(
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
]
|
|
108
|
-
})
|
|
109
|
-
]
|
|
110
|
-
}),
|
|
111
|
-
!disabledAll && /* @__PURE__ */ jsxs(UploaderDragActive, {
|
|
112
|
-
children: [
|
|
113
|
-
/* @__PURE__ */ jsx(DragActiveIcon, {}),
|
|
114
|
-
dragActiveInstructionalText
|
|
115
|
-
]
|
|
116
|
-
}),
|
|
117
|
-
!disabledAll && /* @__PURE__ */ jsx("input", {
|
|
118
|
-
...getInputProps()
|
|
119
|
-
})
|
|
120
|
-
]
|
|
121
|
-
}),
|
|
122
|
-
typeof acceptedTypesText === "string" && /* @__PURE__ */ jsx(AcceptedTypes, {
|
|
123
|
-
children: acceptedTypesText.toUpperCase()
|
|
124
|
-
})
|
|
125
|
-
]
|
|
126
|
-
});
|
|
68
|
+
);
|
|
69
|
+
const defaultAction = !defaultActionTooltipText ? delfaultActionButton : /* @__PURE__ */ jsx(
|
|
70
|
+
DSTooltip,
|
|
71
|
+
{
|
|
72
|
+
containerProps: { id: "default-action-tooltip" },
|
|
73
|
+
interactionType: "hover",
|
|
74
|
+
title: defaultActionTooltipText,
|
|
75
|
+
triggerComponent: delfaultActionButton
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
const altAction = !altActionTooltipText ? altActionButton : /* @__PURE__ */ jsx(
|
|
79
|
+
DSTooltip,
|
|
80
|
+
{
|
|
81
|
+
containerProps: { id: "alt-action-tooltip" },
|
|
82
|
+
interactionType: "hover",
|
|
83
|
+
title: altActionTooltipText,
|
|
84
|
+
triggerComponent: altActionButton
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
return /* @__PURE__ */ jsxs(UploaderWrapper, { ...containerProps, classProps: { disabled: disabledAll }, children: [
|
|
88
|
+
/* @__PURE__ */ jsxs(Uploader, { ...rootProps, classProps: { isDragActive }, children: [
|
|
89
|
+
/* @__PURE__ */ jsx(UploaderIconArea, { children: /* @__PURE__ */ jsx(UploadFileIcon, { size: "l" }) }),
|
|
90
|
+
/* @__PURE__ */ jsx(DividerVertical, {}),
|
|
91
|
+
/* @__PURE__ */ jsxs(UploaderInfo, { children: [
|
|
92
|
+
/* @__PURE__ */ jsx(InfoText, { children: label }),
|
|
93
|
+
/* @__PURE__ */ jsxs(UploaderActions, { children: [
|
|
94
|
+
actions.defaultAction && defaultAction,
|
|
95
|
+
(actions.altAction || showAltAction) && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
96
|
+
actions.defaultAction && /* @__PURE__ */ jsx(DividerVertical, {}),
|
|
97
|
+
altAction
|
|
98
|
+
] })
|
|
99
|
+
] })
|
|
100
|
+
] }),
|
|
101
|
+
!disabledAll && /* @__PURE__ */ jsxs(UploaderDragActive, { children: [
|
|
102
|
+
/* @__PURE__ */ jsx(DragActiveIcon, {}),
|
|
103
|
+
dragActiveInstructionalText
|
|
104
|
+
] }),
|
|
105
|
+
!disabledAll && /* @__PURE__ */ jsx("input", { ...getInputProps() })
|
|
106
|
+
] }),
|
|
107
|
+
typeof acceptedTypesText === "string" && /* @__PURE__ */ jsx(AcceptedTypes, { children: acceptedTypesText.toUpperCase() })
|
|
108
|
+
] });
|
|
127
109
|
};
|
|
128
110
|
DSUploader.actions = {
|
|
129
111
|
defaultAction: "LOCAL DRIVE",
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSUploader.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { describe, 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\nconst ActionButton = ({ labelText, ...otherProps }: ActionButtonPropsT): React.ReactElement => (\n <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;\nDSUploader.displayName = 'DSUploader';\nconst UploaderWithSchema = describe(DSUploader);\nUploaderWithSchema.propTypes = propTypes;\n\nexport { UploaderWithSchema, DSUploader };\nexport default DSUploader;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;AC6BrB,SAkFY,UAlFZ,KAkFY,YAlFZ;AA1BF,SAAS,yBAAyB;AAClC,SAAS,UAAU,cAAc;AACjC,SAAS,kBAAkB;AAC3B,OAAO,YAAY,sBAAsB;AACzC,SAAS,mBAAmB;AAC5B,OAAO,eAAe;AACtB,SAAS,iBAAiB;AAG1B,MAAM,YAAY;AAClB,MAAM,gBAAgB,GAAG;AACzB,MAAM,sBAAsB,GAAG;AAC/B,MAAM,mBAAmB,GAAG;AAE5B,MAAM,kBAAkB,kBAAkB,KAAK,EAAE,kBAAkB,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,SAAS,EAAE;AACzG,MAAM,WAAW,kBAAkB,KAAK,EAAE,WAAW,MAAM,CAAC,EAAE,aAAa,OAAO,EAAE,eAAe,aAAa,EAAE;AAClH,MAAM,qBAAqB,kBAAkB,KAAK,EAAE,mBAAmB;AACvE,MAAM,mBAAmB,kBAAkB,KAAK,EAAE,GAAG,wBAAwB;AAC7E,MAAM,eAAe,kBAAkB,KAAK,EAAE,aAAa;AAC3D,MAAM,WAAW,kBAAkB,MAAM,EAAE,eAAe,MAAM;AAChE,MAAM,kBAAkB,kBAAkB,KAAK,EAAE,eAAe,SAAS;AACzE,MAAM,gBAAgB,kBAAkB,KAAK,EAAE,kBAAkB,gBAAgB;AAEjF,MAAM,kBAAkB,kBAAkB,KAAK,EAAE,WAAW,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,SAAS,EAAE;AAElG,MAAM,eAAe,CAAC,EAAE,cAAc,WAAW,MAC/C,oBAAC
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-uploader",
|
|
3
|
-
"version": "3.12.0-rc.
|
|
3
|
+
"version": "3.12.0-rc.21",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Uploader",
|
|
6
6
|
"files": [
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"indent": 4
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"
|
|
47
|
-
"@elliemae/ds-
|
|
48
|
-
"@elliemae/ds-
|
|
49
|
-
"@elliemae/ds-
|
|
50
|
-
"@elliemae/ds-
|
|
51
|
-
"@elliemae/ds-
|
|
52
|
-
"
|
|
46
|
+
"react-dropzone": "~10.2.2",
|
|
47
|
+
"@elliemae/ds-button": "3.12.0-rc.21",
|
|
48
|
+
"@elliemae/ds-classnames": "3.12.0-rc.21",
|
|
49
|
+
"@elliemae/ds-icons": "3.12.0-rc.21",
|
|
50
|
+
"@elliemae/ds-system": "3.12.0-rc.21",
|
|
51
|
+
"@elliemae/ds-tooltip": "3.12.0-rc.21",
|
|
52
|
+
"@elliemae/ds-utilities": "3.12.0-rc.21"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@testing-library/jest-dom": "~5.16.4",
|