@elliemae/ds-uploader 1.54.0-rc.9 → 1.55.0-next.12

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/cjs/DSUploader.js CHANGED
@@ -12,6 +12,7 @@ var UploadFile = require('@elliemae/ds-icons/UploadFile');
12
12
  var DSButton = require('@elliemae/ds-basic/Button');
13
13
  var reactDropzone = require('react-dropzone');
14
14
  var DSTooltip = require('@elliemae/ds-basic/Tooltip');
15
+ var propTypes = require('./propTypes.js');
15
16
 
16
17
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
18
 
@@ -52,7 +53,7 @@ var DividerVertical = dsClassnames.aggregatedClasses('div')('divider', null, fun
52
53
  return {
53
54
  vertical: vertical
54
55
  };
55
- }); // eslint-disable-next-line react/prop-types
56
+ });
56
57
 
57
58
  function ActionButton(_ref4) {
58
59
  var labelText = _ref4.labelText,
@@ -95,7 +96,8 @@ var DSUploader = function DSUploader(_ref5) {
95
96
  onAltHandlerClick = _ref5$onAltHandlerCli === void 0 ? noop : _ref5$onAltHandlerCli,
96
97
  _ref5$actions = _ref5.actions,
97
98
  actions = _ref5$actions === void 0 ? {
98
- defaultAction: 'LOCAL DRIVE'
99
+ defaultAction: 'LOCAL DRIVE',
100
+ altAction: 'DOCUMENTS'
99
101
  } : _ref5$actions,
100
102
  _ref5$showAltAction = _ref5.showAltAction,
101
103
  showAltAction = _ref5$showAltAction === void 0 ? false : _ref5$showAltAction,
@@ -160,35 +162,9 @@ DSUploader.actions = {
160
162
  defaultAction: 'LOCAL DRIVE',
161
163
  altAction: 'DOCUMENTS'
162
164
  };
163
- /** Inherits the props of react-dropzone https://react-dropzone.netlify.com/ */
164
-
165
- var uploaderProps = {
166
- containerProps: reactDesc.PropTypes.object.description('Set of Properties attached to the main container'),
167
- dropzoneProps: reactDesc.PropTypes.object.description('props of react-dropzone https://react-dropzone.netlify.com/'),
168
- label: reactDesc.PropTypes.string.description('Uploader label').defaultValue('Browse'),
169
- icon: reactDesc.PropTypes.element.description('Uploader left icon').defaultValue(UploadFile__default['default']),
170
- actions: reactDesc.PropTypes.shape({
171
- defaultAction: reactDesc.PropTypes.string,
172
- altAction: reactDesc.PropTypes.string
173
- }).description('Uploader actions').defaultValue({
174
- defaultAction: 'LOCAL DRIVE'
175
- }),
176
- defaultActionLabel: reactDesc.PropTypes.string.description('First action button label'),
177
- showAltAction: reactDesc.PropTypes.bool.description('whether to show alternate action button or not').defaultValue(true),
178
- altActionLabel: reactDesc.PropTypes.string.description('Second action button label').defaultValue('LOCAL DRIVE'),
179
- dragActiveInstructionalText: reactDesc.PropTypes.string.description('informative text when user drags a file over the uploader zone').defaultValue('DROP FILES HERE'),
180
- dragActiveIcon: reactDesc.PropTypes.string.description('Icon when user drags a file over the uploader zone'),
181
- acceptedTypesText: reactDesc.PropTypes.string.description('Information text to show what types are supported').defaultValue('JPG, JPEG, PNG, PDF'),
182
- disabledDefault: reactDesc.PropTypes.bool.description('Whether the default uploader is disabled or not').defaultValue(false),
183
- disabledAlt: reactDesc.PropTypes.bool.description('Whether the alternative uploader is disabled or not').defaultValue(false),
184
- onDefaultHandlerClick: reactDesc.PropTypes.func.description('First action button click handler'),
185
- onAltHandlerClick: reactDesc.PropTypes.func.description('Second action button click handler'),
186
- defaultActionTooltipText: reactDesc.PropTypes.string.description('shows tooltip in default action button'),
187
- altActionTooltipText: reactDesc.PropTypes.string.description('Shows tooltip in alternate action button')
188
- };
189
- DSUploader.propTypes = uploaderProps;
165
+ DSUploader.propTypes = propTypes.propTypes;
190
166
  var UploaderWithSchema = reactDesc.describe(DSUploader);
191
- UploaderWithSchema.propTypes = uploaderProps;
167
+ UploaderWithSchema.propTypes = propTypes.propTypes;
192
168
 
193
169
  exports.UploaderWithSchema = UploaderWithSchema;
194
170
  exports['default'] = DSUploader;
@@ -1 +1 @@
1
- {"version":3,"file":"DSUploader.js","sources":["../../src/DSUploader.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { runAll } from '@elliemae/ds-utilities/utils';\nimport UploadFile from '@elliemae/ds-icons/UploadFile';\nimport DSButton, { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';\nimport { useDropzone } from 'react-dropzone';\nimport DSTooltip from '@elliemae/ds-basic/Tooltip';\n\nconst blockName = 'uploader';\nconst blockNameInfo = `${blockName}-info`;\nconst blockNameDragActive = `${blockName}-drag-active`;\nconst blockNameWrapper = `${blockName}-wrapper`;\n\nconst UploaderWrapper = aggregatedClasses('div')(\n blockNameWrapper,\n null,\n ({ disabled }) => ({ disabled }),\n);\nconst Uploader = aggregatedClasses('div')(\n blockName,\n null,\n ({ isDragActive }) => ({ 'drag-active': isDragActive }),\n);\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')(\n blockNameWrapper,\n 'accepted-types',\n);\n\nconst DividerVertical = aggregatedClasses('div')(\n 'divider',\n null,\n ({ vertical }) => ({ vertical }),\n);\n\n// eslint-disable-next-line react/prop-types\nfunction ActionButton({ labelText, ...otherProps }) {\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' },\n showAltAction = false,\n defaultActionTooltipText,\n altActionTooltipText,\n ...dropzoneProps\n}) => {\n const { getRootProps, getInputProps, isDragActive } = useDropzone(\n dropzoneProps,\n );\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={\n actions.defaultAction ? actions.defaultAction : defaultActionLabel\n }\n onClick={(...args) => {\n if (!disabledDefault)\n 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 : 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' && (\n <AcceptedTypes>{acceptedTypesText.toUpperCase()}</AcceptedTypes>\n )}\n </UploaderWrapper>\n );\n};\n\nDSUploader.actions = {\n defaultAction: 'LOCAL DRIVE',\n altAction: 'DOCUMENTS',\n};\n\n/** Inherits the props of react-dropzone https://react-dropzone.netlify.com/ */\n\nconst uploaderProps = {\n containerProps: PropTypes.object.description(\n 'Set of Properties attached to the main container',\n ),\n dropzoneProps: PropTypes.object.description(\n 'props of react-dropzone https://react-dropzone.netlify.com/',\n ),\n label: PropTypes.string.description('Uploader label').defaultValue('Browse'),\n icon: PropTypes.element\n .description('Uploader left icon')\n .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\n .description('whether to show alternate action button or not')\n .defaultValue(true),\n altActionLabel: PropTypes.string\n .description('Second action button label')\n .defaultValue('LOCAL DRIVE'),\n dragActiveInstructionalText: PropTypes.string\n .description(\n 'informative text when user drags a file over the uploader zone',\n )\n .defaultValue('DROP FILES HERE'),\n dragActiveIcon: PropTypes.string.description(\n 'Icon when user drags a file over the uploader zone',\n ),\n acceptedTypesText: PropTypes.string\n .description('Information text to show what types are supported')\n .defaultValue('JPG, JPEG, PNG, PDF'),\n disabledDefault: PropTypes.bool\n .description('Whether the default uploader is disabled or not')\n .defaultValue(false),\n disabledAlt: PropTypes.bool\n .description('Whether the alternative uploader is disabled or not')\n .defaultValue(false),\n onDefaultHandlerClick: PropTypes.func.description(\n 'First action button click handler',\n ),\n onAltHandlerClick: PropTypes.func.description(\n 'Second action button click handler',\n ),\n defaultActionTooltipText: PropTypes.string.description(\n 'shows tooltip in default action button',\n ),\n altActionTooltipText: PropTypes.string.description(\n 'Shows tooltip in alternate action button',\n ),\n};\n\nDSUploader.propTypes = uploaderProps;\n\nconst UploaderWithSchema = describe(DSUploader);\nUploaderWithSchema.propTypes = uploaderProps;\n\nexport { UploaderWithSchema };\nexport default DSUploader;\n"],"names":["blockName","blockNameInfo","blockNameDragActive","blockNameWrapper","UploaderWrapper","aggregatedClasses","disabled","Uploader","isDragActive","UploaderDragActive","UploaderIconArea","UploaderInfo","InfoText","UploaderActions","AcceptedTypes","DividerVertical","vertical","ActionButton","labelText","otherProps","React","DSButton","noop","DSUploader","containerProps","label","icon","UploadFileIcon","UploadFile","defaultActionLabel","dragActiveInstructionalText","dragActiveIcon","DragActiveIcon","altActionLabel","acceptedTypesText","disabledDefault","disabledAlt","onDefaultHandlerClick","onAltHandlerClick","actions","defaultAction","showAltAction","defaultActionTooltipText","altActionTooltipText","dropzoneProps","useDropzone","getRootProps","getInputProps","onOpenFile","onClick","rootProps","disabledAll","delfaultActionButton","BUTTON_VARIANT","DISABLED","runAll","altActionButton","altAction","DSTooltip","id","toUpperCase","uploaderProps","PropTypes","object","description","string","defaultValue","element","shape","bool","func","propTypes","UploaderWithSchema","describe"],"mappings":"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"}
1
+ {"version":3,"file":"DSUploader.js","sources":["../../src/DSUploader.tsx"],"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/utils';\nimport UploadFile from '@elliemae/ds-icons/UploadFile';\nimport DSButton, { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';\nimport { useDropzone } from 'react-dropzone';\nimport DSTooltip from '@elliemae/ds-basic/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"],"names":["blockName","blockNameInfo","blockNameDragActive","blockNameWrapper","UploaderWrapper","aggregatedClasses","disabled","Uploader","isDragActive","UploaderDragActive","UploaderIconArea","UploaderInfo","InfoText","UploaderActions","AcceptedTypes","DividerVertical","vertical","ActionButton","labelText","otherProps","React","DSButton","noop","DSUploader","containerProps","label","icon","UploadFileIcon","UploadFile","defaultActionLabel","dragActiveInstructionalText","dragActiveIcon","DragActiveIcon","altActionLabel","acceptedTypesText","disabledDefault","disabledAlt","onDefaultHandlerClick","onAltHandlerClick","actions","defaultAction","altAction","showAltAction","defaultActionTooltipText","altActionTooltipText","dropzoneProps","useDropzone","getRootProps","getInputProps","onOpenFile","onClick","rootProps","disabledAll","delfaultActionButton","BUTTON_VARIANT","DISABLED","runAll","altActionButton","DSTooltip","id","toUpperCase","propTypes","UploaderWithSchema","describe"],"mappings":"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"}
package/cjs/index.d.js ADDED
@@ -0,0 +1,3 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
package/cjs/index.js CHANGED
@@ -13,6 +13,7 @@ require('@elliemae/ds-icons/UploadFile');
13
13
  require('@elliemae/ds-basic/Button');
14
14
  require('react-dropzone');
15
15
  require('@elliemae/ds-basic/Tooltip');
16
+ require('./propTypes.js');
16
17
 
17
18
 
18
19
 
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var reactDesc = require('react-desc');
6
+ var UploadFile = require('@elliemae/ds-icons/UploadFile');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var UploadFile__default = /*#__PURE__*/_interopDefaultLegacy(UploadFile);
11
+
12
+ /** Inherits the props of react-dropzone https://react-dropzone.netlify.com/ */
13
+
14
+ var propTypes = {
15
+ containerProps: reactDesc.PropTypes.object.description('Set of Properties attached to the main container.'),
16
+ validator: reactDesc.PropTypes.func.description("Custom validator. It must return null if it's valid or an object `{ code: string, message: string }` if it's not."),
17
+ maxFiles: reactDesc.PropTypes.number.description('Number of files accepted.'),
18
+ minSize: reactDesc.PropTypes.number.description('Minimun file size accepted in bytes.'),
19
+ maxSize: reactDesc.PropTypes.number.description('Maximum file size accepted in bytes.'),
20
+ onDropRejected: reactDesc.PropTypes.func.description('Cb called when files are rejected using maxFiles, minSize or maxSize properties.'),
21
+ disabled: reactDesc.PropTypes.bool.description('Disables the DSUploader.'),
22
+ multiple: reactDesc.PropTypes.bool.description('Set to false to restrict multiple files selection/upload.'),
23
+ accept: reactDesc.PropTypes.string.description('String containing the accepted MIME type for the DSUploader'),
24
+ label: reactDesc.PropTypes.string.description('Uploader label.').defaultValue('Browse'),
25
+ icon: reactDesc.PropTypes.element.description('Uploader left icon.').defaultValue(UploadFile__default['default']),
26
+ actions: reactDesc.PropTypes.shape({
27
+ defaultAction: reactDesc.PropTypes.string,
28
+ altAction: reactDesc.PropTypes.string
29
+ }).description('Uploader actions.').defaultValue({
30
+ defaultAction: 'LOCAL DRIVE'
31
+ }),
32
+ defaultActionLabel: reactDesc.PropTypes.string.description('First action button label.'),
33
+ showAltAction: reactDesc.PropTypes.bool.description('whether to show alternate action button or not.').defaultValue(true),
34
+ altActionLabel: reactDesc.PropTypes.string.description('Second action button label.').defaultValue('LOCAL DRIVE'),
35
+ dragActiveInstructionalText: reactDesc.PropTypes.string.description('informative text when user drags a file over the uploader zone.').defaultValue('DROP FILES HERE'),
36
+ dragActiveIcon: reactDesc.PropTypes.string.description('Icon when user drags a file over the uploader zone.'),
37
+ acceptedTypesText: reactDesc.PropTypes.string.description('Information text to show what types are supported.').defaultValue('JPG, JPEG, PNG, PDF'),
38
+ disabledDefault: reactDesc.PropTypes.bool.description('Whether the default uploader is disabled or not.').defaultValue(false),
39
+ disabledAlt: reactDesc.PropTypes.bool.description('Whether the alternative uploader is disabled or not.').defaultValue(false),
40
+ onDefaultHandlerClick: reactDesc.PropTypes.func.description('First action button click handler.'),
41
+ onAltHandlerClick: reactDesc.PropTypes.func.description('Second action button click handler.'),
42
+ defaultActionTooltipText: reactDesc.PropTypes.string.description('shows tooltip in default action button.'),
43
+ altActionTooltipText: reactDesc.PropTypes.string.description('Shows tooltip in alternate action button.')
44
+ };
45
+
46
+ exports.propTypes = propTypes;
47
+ //# sourceMappingURL=propTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propTypes.js","sources":["../../src/propTypes.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\nimport UploadFile from '@elliemae/ds-icons/UploadFile';\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"],"names":["propTypes","containerProps","PropTypes","object","description","validator","func","maxFiles","number","minSize","maxSize","onDropRejected","disabled","bool","multiple","accept","string","label","defaultValue","icon","element","UploadFile","actions","shape","defaultAction","altAction","defaultActionLabel","showAltAction","altActionLabel","dragActiveInstructionalText","dragActiveIcon","acceptedTypesText","disabledDefault","disabledAlt","onDefaultHandlerClick","onAltHandlerClick","defaultActionTooltipText","altActionTooltipText"],"mappings":"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"}
package/esm/DSUploader.js CHANGED
@@ -1,13 +1,14 @@
1
1
  import _extends from '@babel/runtime/helpers/esm/extends';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
3
3
  import React from 'react';
4
- import { PropTypes, describe } from 'react-desc';
4
+ import { describe } from 'react-desc';
5
5
  import { aggregatedClasses } from '@elliemae/ds-classnames';
6
6
  import { runAll } from '@elliemae/ds-utilities/utils';
7
7
  import UploadFile from '@elliemae/ds-icons/UploadFile';
8
8
  import DSButton, { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';
9
9
  import { useDropzone } from 'react-dropzone';
10
10
  import DSTooltip from '@elliemae/ds-basic/Tooltip';
11
+ import { propTypes } from './propTypes.js';
11
12
 
12
13
  var _excluded = ["labelText"],
13
14
  _excluded2 = ["containerProps", "label", "icon", "defaultActionLabel", "dragActiveInstructionalText", "dragActiveIcon", "altActionLabel", "acceptedTypesText", "disabledDefault", "disabledAlt", "onDefaultHandlerClick", "onAltHandlerClick", "actions", "showAltAction", "defaultActionTooltipText", "altActionTooltipText"],
@@ -39,7 +40,7 @@ var DividerVertical = aggregatedClasses('div')('divider', null, function (_ref3)
39
40
  return {
40
41
  vertical: vertical
41
42
  };
42
- }); // eslint-disable-next-line react/prop-types
43
+ });
43
44
 
44
45
  function ActionButton(_ref4) {
45
46
  var labelText = _ref4.labelText,
@@ -82,7 +83,8 @@ var DSUploader = function DSUploader(_ref5) {
82
83
  onAltHandlerClick = _ref5$onAltHandlerCli === void 0 ? noop : _ref5$onAltHandlerCli,
83
84
  _ref5$actions = _ref5.actions,
84
85
  actions = _ref5$actions === void 0 ? {
85
- defaultAction: 'LOCAL DRIVE'
86
+ defaultAction: 'LOCAL DRIVE',
87
+ altAction: 'DOCUMENTS'
86
88
  } : _ref5$actions,
87
89
  _ref5$showAltAction = _ref5.showAltAction,
88
90
  showAltAction = _ref5$showAltAction === void 0 ? false : _ref5$showAltAction,
@@ -147,35 +149,9 @@ DSUploader.actions = {
147
149
  defaultAction: 'LOCAL DRIVE',
148
150
  altAction: 'DOCUMENTS'
149
151
  };
150
- /** Inherits the props of react-dropzone https://react-dropzone.netlify.com/ */
151
-
152
- var uploaderProps = {
153
- containerProps: PropTypes.object.description('Set of Properties attached to the main container'),
154
- dropzoneProps: PropTypes.object.description('props of react-dropzone https://react-dropzone.netlify.com/'),
155
- label: PropTypes.string.description('Uploader label').defaultValue('Browse'),
156
- icon: PropTypes.element.description('Uploader left icon').defaultValue(UploadFile),
157
- actions: PropTypes.shape({
158
- defaultAction: PropTypes.string,
159
- altAction: PropTypes.string
160
- }).description('Uploader actions').defaultValue({
161
- defaultAction: 'LOCAL DRIVE'
162
- }),
163
- defaultActionLabel: PropTypes.string.description('First action button label'),
164
- showAltAction: PropTypes.bool.description('whether to show alternate action button or not').defaultValue(true),
165
- altActionLabel: PropTypes.string.description('Second action button label').defaultValue('LOCAL DRIVE'),
166
- dragActiveInstructionalText: PropTypes.string.description('informative text when user drags a file over the uploader zone').defaultValue('DROP FILES HERE'),
167
- dragActiveIcon: PropTypes.string.description('Icon when user drags a file over the uploader zone'),
168
- acceptedTypesText: PropTypes.string.description('Information text to show what types are supported').defaultValue('JPG, JPEG, PNG, PDF'),
169
- disabledDefault: PropTypes.bool.description('Whether the default uploader is disabled or not').defaultValue(false),
170
- disabledAlt: PropTypes.bool.description('Whether the alternative uploader is disabled or not').defaultValue(false),
171
- onDefaultHandlerClick: PropTypes.func.description('First action button click handler'),
172
- onAltHandlerClick: PropTypes.func.description('Second action button click handler'),
173
- defaultActionTooltipText: PropTypes.string.description('shows tooltip in default action button'),
174
- altActionTooltipText: PropTypes.string.description('Shows tooltip in alternate action button')
175
- };
176
- DSUploader.propTypes = uploaderProps;
152
+ DSUploader.propTypes = propTypes;
177
153
  var UploaderWithSchema = describe(DSUploader);
178
- UploaderWithSchema.propTypes = uploaderProps;
154
+ UploaderWithSchema.propTypes = propTypes;
179
155
 
180
156
  export { UploaderWithSchema, DSUploader as default };
181
157
  //# sourceMappingURL=DSUploader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DSUploader.js","sources":["../../src/DSUploader.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { runAll } from '@elliemae/ds-utilities/utils';\nimport UploadFile from '@elliemae/ds-icons/UploadFile';\nimport DSButton, { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';\nimport { useDropzone } from 'react-dropzone';\nimport DSTooltip from '@elliemae/ds-basic/Tooltip';\n\nconst blockName = 'uploader';\nconst blockNameInfo = `${blockName}-info`;\nconst blockNameDragActive = `${blockName}-drag-active`;\nconst blockNameWrapper = `${blockName}-wrapper`;\n\nconst UploaderWrapper = aggregatedClasses('div')(\n blockNameWrapper,\n null,\n ({ disabled }) => ({ disabled }),\n);\nconst Uploader = aggregatedClasses('div')(\n blockName,\n null,\n ({ isDragActive }) => ({ 'drag-active': isDragActive }),\n);\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')(\n blockNameWrapper,\n 'accepted-types',\n);\n\nconst DividerVertical = aggregatedClasses('div')(\n 'divider',\n null,\n ({ vertical }) => ({ vertical }),\n);\n\n// eslint-disable-next-line react/prop-types\nfunction ActionButton({ labelText, ...otherProps }) {\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' },\n showAltAction = false,\n defaultActionTooltipText,\n altActionTooltipText,\n ...dropzoneProps\n}) => {\n const { getRootProps, getInputProps, isDragActive } = useDropzone(\n dropzoneProps,\n );\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={\n actions.defaultAction ? actions.defaultAction : defaultActionLabel\n }\n onClick={(...args) => {\n if (!disabledDefault)\n 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 : 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' && (\n <AcceptedTypes>{acceptedTypesText.toUpperCase()}</AcceptedTypes>\n )}\n </UploaderWrapper>\n );\n};\n\nDSUploader.actions = {\n defaultAction: 'LOCAL DRIVE',\n altAction: 'DOCUMENTS',\n};\n\n/** Inherits the props of react-dropzone https://react-dropzone.netlify.com/ */\n\nconst uploaderProps = {\n containerProps: PropTypes.object.description(\n 'Set of Properties attached to the main container',\n ),\n dropzoneProps: PropTypes.object.description(\n 'props of react-dropzone https://react-dropzone.netlify.com/',\n ),\n label: PropTypes.string.description('Uploader label').defaultValue('Browse'),\n icon: PropTypes.element\n .description('Uploader left icon')\n .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\n .description('whether to show alternate action button or not')\n .defaultValue(true),\n altActionLabel: PropTypes.string\n .description('Second action button label')\n .defaultValue('LOCAL DRIVE'),\n dragActiveInstructionalText: PropTypes.string\n .description(\n 'informative text when user drags a file over the uploader zone',\n )\n .defaultValue('DROP FILES HERE'),\n dragActiveIcon: PropTypes.string.description(\n 'Icon when user drags a file over the uploader zone',\n ),\n acceptedTypesText: PropTypes.string\n .description('Information text to show what types are supported')\n .defaultValue('JPG, JPEG, PNG, PDF'),\n disabledDefault: PropTypes.bool\n .description('Whether the default uploader is disabled or not')\n .defaultValue(false),\n disabledAlt: PropTypes.bool\n .description('Whether the alternative uploader is disabled or not')\n .defaultValue(false),\n onDefaultHandlerClick: PropTypes.func.description(\n 'First action button click handler',\n ),\n onAltHandlerClick: PropTypes.func.description(\n 'Second action button click handler',\n ),\n defaultActionTooltipText: PropTypes.string.description(\n 'shows tooltip in default action button',\n ),\n altActionTooltipText: PropTypes.string.description(\n 'Shows tooltip in alternate action button',\n ),\n};\n\nDSUploader.propTypes = uploaderProps;\n\nconst UploaderWithSchema = describe(DSUploader);\nUploaderWithSchema.propTypes = uploaderProps;\n\nexport { UploaderWithSchema };\nexport default DSUploader;\n"],"names":["blockName","blockNameInfo","blockNameDragActive","blockNameWrapper","UploaderWrapper","aggregatedClasses","disabled","Uploader","isDragActive","UploaderDragActive","UploaderIconArea","UploaderInfo","InfoText","UploaderActions","AcceptedTypes","DividerVertical","vertical","ActionButton","labelText","otherProps","noop","DSUploader","containerProps","label","icon","UploadFileIcon","UploadFile","defaultActionLabel","dragActiveInstructionalText","dragActiveIcon","DragActiveIcon","altActionLabel","acceptedTypesText","disabledDefault","disabledAlt","onDefaultHandlerClick","onAltHandlerClick","actions","defaultAction","showAltAction","defaultActionTooltipText","altActionTooltipText","dropzoneProps","useDropzone","getRootProps","getInputProps","onOpenFile","onClick","rootProps","disabledAll","delfaultActionButton","BUTTON_VARIANT","DISABLED","runAll","altActionButton","altAction","id","toUpperCase","uploaderProps","PropTypes","object","description","string","defaultValue","element","shape","bool","func","propTypes","UploaderWithSchema","describe"],"mappings":";;;;;;;;;;;;;;AAWA,IAAMA,SAAS,GAAG,UAAlB;AACA,IAAMC,aAAa,aAAMD,SAAN,UAAnB;AACA,IAAME,mBAAmB,aAAMF,SAAN,iBAAzB;AACA,IAAMG,gBAAgB,aAAMH,SAAN,aAAtB;AAEA,IAAMI,eAAe,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CACtBF,gBADsB,EAEtB,IAFsB,EAGtB;AAAA,MAAGG,QAAH,QAAGA,QAAH;AAAA,SAAmB;AAAEA,IAAAA,QAAQ,EAARA;AAAF,GAAnB;AAAA,CAHsB,CAAxB;AAKA,IAAMC,QAAQ,GAAGF,iBAAiB,CAAC,KAAD,CAAjB,CACfL,SADe,EAEf,IAFe,EAGf;AAAA,MAAGQ,YAAH,SAAGA,YAAH;AAAA,SAAuB;AAAE,mBAAeA;AAAjB,GAAvB;AAAA,CAHe,CAAjB;AAKA,IAAMC,kBAAkB,GAAGJ,iBAAiB,CAAC,KAAD,CAAjB,CAAyBH,mBAAzB,CAA3B;AACA,IAAMQ,gBAAgB,GAAGL,iBAAiB,CAAC,KAAD,CAAjB,WAA4BL,SAA5B,mBAAzB;AACA,IAAMW,YAAY,GAAGN,iBAAiB,CAAC,KAAD,CAAjB,CAAyBJ,aAAzB,CAArB;AACA,IAAMW,QAAQ,GAAGP,iBAAiB,CAAC,MAAD,CAAjB,CAA0BJ,aAA1B,EAAyC,MAAzC,CAAjB;AACA,IAAMY,eAAe,GAAGR,iBAAiB,CAAC,KAAD,CAAjB,CAAyBJ,aAAzB,EAAwC,SAAxC,CAAxB;AACA,IAAMa,aAAa,GAAGT,iBAAiB,CAAC,KAAD,CAAjB,CACpBF,gBADoB,EAEpB,gBAFoB,CAAtB;AAKA,IAAMY,eAAe,GAAGV,iBAAiB,CAAC,KAAD,CAAjB,CACtB,SADsB,EAEtB,IAFsB,EAGtB;AAAA,MAAGW,QAAH,SAAGA,QAAH;AAAA,SAAmB;AAAEA,IAAAA,QAAQ,EAARA;AAAF,GAAnB;AAAA,CAHsB,CAAxB;;AAOA,SAASC,YAAT,QAAoD;AAAA,MAA5BC,SAA4B,SAA5BA,SAA4B;AAAA,MAAdC,UAAc;;AAClD,sBAAO,oBAAC,QAAD,eAAcA,UAAd;AAA0B,IAAA,UAAU,EAAC,MAArC;AAA4C,IAAA,SAAS,EAAED;AAAvD,KAAP;AACD;;AAED,IAAME,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAM,IAAN;AAAA,CAAb;;IAEMC,UAAU,GAAG,SAAbA,UAAa,QAkBb;AAAA,mCAjBJC,cAiBI;AAAA,MAjBJA,cAiBI,qCAjBa,EAiBb;AAAA,0BAhBJC,KAgBI;AAAA,MAhBJA,KAgBI,4BAhBI,QAgBJ;AAAA,yBAfJC,IAeI;AAAA,MAfEC,cAeF,2BAfmBC,UAenB;AAAA,oCAdJC,kBAcI;AAAA,MAdJA,kBAcI,sCAdiB,aAcjB;AAAA,oCAbJC,2BAaI;AAAA,MAbJA,2BAaI,sCAb0B,iBAa1B;AAAA,mCAZJC,cAYI;AAAA,MAZYC,cAYZ,qCAZ6BJ,UAY7B;AAAA,mCAXJK,cAWI;AAAA,MAXJA,cAWI,qCAXa,WAWb;AAAA,oCAVJC,iBAUI;AAAA,MAVJA,iBAUI,sCAVgB,qBAUhB;AAAA,oCATJC,eASI;AAAA,MATJA,eASI,sCATc,KASd;AAAA,gCARJC,WAQI;AAAA,MARJA,WAQI,kCARU,KAQV;AAAA,oCAPJC,qBAOI;AAAA,MAPJA,qBAOI,sCAPoBf,IAOpB;AAAA,oCANJgB,iBAMI;AAAA,MANJA,iBAMI,sCANgBhB,IAMhB;AAAA,4BALJiB,OAKI;AAAA,MALJA,OAKI,8BALM;AAAEC,IAAAA,aAAa,EAAE;AAAjB,GAKN;AAAA,kCAJJC,aAII;AAAA,MAJJA,aAII,oCAJY,KAIZ;AAAA,MAHJC,wBAGI,SAHJA,wBAGI;AAAA,MAFJC,oBAEI,SAFJA,oBAEI;AAAA,MADDC,aACC;;AACJ,qBAAsDC,WAAW,CAC/DD,aAD+D,CAAjE;AAAA,MAAQE,YAAR,gBAAQA,YAAR;AAAA,MAAsBC,aAAtB,gBAAsBA,aAAtB;AAAA,MAAqCrC,YAArC,gBAAqCA,YAArC;;AAGA,sBAA8CoC,YAAY,EAA1D;AAAA,MAAiBE,UAAjB,iBAAQC,OAAR;AAAA,MAAgCC,SAAhC;;AACA,MAAMC,WAAW,GAAGhB,eAAe,IAAIC,WAAvC;AAEA,MAAMgB,oBAAoB,gBACxB,oBAAC,YAAD;AACE,IAAA,OAAO,EAAEjB,eAAe,IAAIkB,cAAc,CAACC,QAD7C;AAEE,IAAA,SAAS,EACPf,OAAO,CAACC,aAAR,GAAwBD,OAAO,CAACC,aAAhC,GAAgDX,kBAHpD;AAKE,IAAA,OAAO,EAAE,mBAAa;AACpB,UAAI,CAACM,eAAL,EACEoB,MAAM,CAAClB,qBAAD,EAAwBW,UAAxB,CAAN;AACH;AARH,IADF;AAaA,MAAMQ,eAAe,gBACnB,oBAAC,YAAD;AACE,IAAA,OAAO,EAAEpB,WAAW,IAAIiB,cAAc,CAACC,QADzC;AAEE,IAAA,SAAS,EAAEf,OAAO,CAACkB,SAAR,GAAoBlB,OAAO,CAACkB,SAA5B,GAAwCxB,cAFrD;AAGE,IAAA,OAAO,EAAE,mBAAa;AACpB,UAAI,CAACG,WAAL,EAAkBE,iBAAiB,MAAjB;AACnB;AALH,IADF;AAUA,MAAME,aAAa,GAAG,CAACE,wBAAD,GACpBU,oBADoB,gBAGpB,oBAAC,SAAD;AACE,IAAA,cAAc,EAAE;AAAEM,MAAAA,EAAE,EAAE;AAAN,KADlB;AAEE,IAAA,eAAe,EAAC,OAFlB;AAGE,IAAA,KAAK,EAAEhB,wBAHT;AAIE,IAAA,gBAAgB,EAAEU;AAJpB,IAHF;AAWA,MAAMK,SAAS,GAAG,CAACd,oBAAD,GAChBa,eADgB,gBAGhB,oBAAC,SAAD;AACE,IAAA,cAAc,EAAE;AAAEE,MAAAA,EAAE,EAAE;AAAN,KADlB;AAEE,IAAA,eAAe,EAAC,OAFlB;AAGE,IAAA,KAAK,EAAEf,oBAHT;AAIE,IAAA,gBAAgB,EAAEa;AAJpB,IAHF;AAWA,sBACE,oBAAC,eAAD,eAAqBhC,cAArB;AAAqC,IAAA,UAAU,EAAE;AAAEhB,MAAAA,QAAQ,EAAE2C;AAAZ;AAAjD,mBACE,oBAAC,QAAD,eAAcD,SAAd;AAAyB,IAAA,UAAU,EAAE;AAAExC,MAAAA,YAAY,EAAZA;AAAF;AAArC,mBACE,oBAAC,gBAAD,qBACE,oBAAC,cAAD;AAAgB,IAAA,IAAI,EAAC;AAArB,IADF,CADF,eAIE,oBAAC,eAAD,OAJF,eAKE,oBAAC,YAAD,qBACE,oBAAC,QAAD,QAAWe,KAAX,CADF,eAEE,oBAAC,eAAD,QACGc,OAAO,CAACC,aAAR,IAAyBA,aAD5B,EAEG,CAACD,OAAO,CAACkB,SAAR,IAAqBhB,aAAtB,kBACC,0CACGF,OAAO,CAACC,aAAR,iBAAyB,oBAAC,eAAD,OAD5B,EAEGiB,SAFH,CAHJ,CAFF,CALF,EAiBG,CAACN,WAAD,iBACC,oBAAC,kBAAD,qBACE,oBAAC,cAAD,OADF,EAEGrB,2BAFH,CAlBJ,EAuBG,CAACqB,WAAD,iBAAgB,6BAAWJ,aAAa,EAAxB,CAvBnB,CADF,EA0BG,OAAOb,iBAAP,KAA6B,QAA7B,iBACC,oBAAC,aAAD,QAAgBA,iBAAiB,CAACyB,WAAlB,EAAhB,CA3BJ,CADF;AAgCD;;AAEDpC,UAAU,CAACgB,OAAX,GAAqB;AACnBC,EAAAA,aAAa,EAAE,aADI;AAEnBiB,EAAAA,SAAS,EAAE;AAFQ,CAArB;AAKA;;AAEA,IAAMG,aAAa,GAAG;AACpBpC,EAAAA,cAAc,EAAEqC,SAAS,CAACC,MAAV,CAAiBC,WAAjB,CACd,kDADc,CADI;AAIpBnB,EAAAA,aAAa,EAAEiB,SAAS,CAACC,MAAV,CAAiBC,WAAjB,CACb,6DADa,CAJK;AAOpBtC,EAAAA,KAAK,EAAEoC,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CAA6B,gBAA7B,EAA+CE,YAA/C,CAA4D,QAA5D,CAPa;AAQpBvC,EAAAA,IAAI,EAAEmC,SAAS,CAACK,OAAV,CACHH,WADG,CACS,oBADT,EAEHE,YAFG,CAEUrC,UAFV,CARc;AAWpBW,EAAAA,OAAO,EAAEsB,SAAS,CAACM,KAAV,CAAgB;AACvB3B,IAAAA,aAAa,EAAEqB,SAAS,CAACG,MADF;AAEvBP,IAAAA,SAAS,EAAEI,SAAS,CAACG;AAFE,GAAhB,EAIND,WAJM,CAIM,kBAJN,EAKNE,YALM,CAKO;AAAEzB,IAAAA,aAAa,EAAE;AAAjB,GALP,CAXW;AAiBpBX,EAAAA,kBAAkB,EAAEgC,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CAA6B,2BAA7B,CAjBA;AAkBpBtB,EAAAA,aAAa,EAAEoB,SAAS,CAACO,IAAV,CACZL,WADY,CACA,gDADA,EAEZE,YAFY,CAEC,IAFD,CAlBK;AAqBpBhC,EAAAA,cAAc,EAAE4B,SAAS,CAACG,MAAV,CACbD,WADa,CACD,4BADC,EAEbE,YAFa,CAEA,aAFA,CArBI;AAwBpBnC,EAAAA,2BAA2B,EAAE+B,SAAS,CAACG,MAAV,CAC1BD,WAD0B,CAEzB,gEAFyB,EAI1BE,YAJ0B,CAIb,iBAJa,CAxBT;AA6BpBlC,EAAAA,cAAc,EAAE8B,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CACd,oDADc,CA7BI;AAgCpB7B,EAAAA,iBAAiB,EAAE2B,SAAS,CAACG,MAAV,CAChBD,WADgB,CACJ,mDADI,EAEhBE,YAFgB,CAEH,qBAFG,CAhCC;AAmCpB9B,EAAAA,eAAe,EAAE0B,SAAS,CAACO,IAAV,CACdL,WADc,CACF,iDADE,EAEdE,YAFc,CAED,KAFC,CAnCG;AAsCpB7B,EAAAA,WAAW,EAAEyB,SAAS,CAACO,IAAV,CACVL,WADU,CACE,qDADF,EAEVE,YAFU,CAEG,KAFH,CAtCO;AAyCpB5B,EAAAA,qBAAqB,EAAEwB,SAAS,CAACQ,IAAV,CAAeN,WAAf,CACrB,mCADqB,CAzCH;AA4CpBzB,EAAAA,iBAAiB,EAAEuB,SAAS,CAACQ,IAAV,CAAeN,WAAf,CACjB,oCADiB,CA5CC;AA+CpBrB,EAAAA,wBAAwB,EAAEmB,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CACxB,wCADwB,CA/CN;AAkDpBpB,EAAAA,oBAAoB,EAAEkB,SAAS,CAACG,MAAV,CAAiBD,WAAjB,CACpB,0CADoB;AAlDF,CAAtB;AAuDAxC,UAAU,CAAC+C,SAAX,GAAuBV,aAAvB;IAEMW,kBAAkB,GAAGC,QAAQ,CAACjD,UAAD;AACnCgD,kBAAkB,CAACD,SAAnB,GAA+BV,aAA/B;;;;"}
1
+ {"version":3,"file":"DSUploader.js","sources":["../../src/DSUploader.tsx"],"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/utils';\nimport UploadFile from '@elliemae/ds-icons/UploadFile';\nimport DSButton, { BUTTON_VARIANT } from '@elliemae/ds-basic/Button';\nimport { useDropzone } from 'react-dropzone';\nimport DSTooltip from '@elliemae/ds-basic/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"],"names":["blockName","blockNameInfo","blockNameDragActive","blockNameWrapper","UploaderWrapper","aggregatedClasses","disabled","Uploader","isDragActive","UploaderDragActive","UploaderIconArea","UploaderInfo","InfoText","UploaderActions","AcceptedTypes","DividerVertical","vertical","ActionButton","labelText","otherProps","noop","DSUploader","containerProps","label","icon","UploadFileIcon","UploadFile","defaultActionLabel","dragActiveInstructionalText","dragActiveIcon","DragActiveIcon","altActionLabel","acceptedTypesText","disabledDefault","disabledAlt","onDefaultHandlerClick","onAltHandlerClick","actions","defaultAction","altAction","showAltAction","defaultActionTooltipText","altActionTooltipText","dropzoneProps","useDropzone","getRootProps","getInputProps","onOpenFile","onClick","rootProps","disabledAll","delfaultActionButton","BUTTON_VARIANT","DISABLED","runAll","altActionButton","id","toUpperCase","propTypes","UploaderWithSchema","describe"],"mappings":"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"}
package/esm/index.d.js ADDED
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=index.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/esm/index.js CHANGED
@@ -9,4 +9,5 @@ import '@elliemae/ds-icons/UploadFile';
9
9
  import '@elliemae/ds-basic/Button';
10
10
  import 'react-dropzone';
11
11
  import '@elliemae/ds-basic/Tooltip';
12
+ import './propTypes.js';
12
13
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -0,0 +1,39 @@
1
+ import { PropTypes } from 'react-desc';
2
+ import UploadFile from '@elliemae/ds-icons/UploadFile';
3
+
4
+ /** Inherits the props of react-dropzone https://react-dropzone.netlify.com/ */
5
+
6
+ var propTypes = {
7
+ containerProps: PropTypes.object.description('Set of Properties attached to the main container.'),
8
+ 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."),
9
+ maxFiles: PropTypes.number.description('Number of files accepted.'),
10
+ minSize: PropTypes.number.description('Minimun file size accepted in bytes.'),
11
+ maxSize: PropTypes.number.description('Maximum file size accepted in bytes.'),
12
+ onDropRejected: PropTypes.func.description('Cb called when files are rejected using maxFiles, minSize or maxSize properties.'),
13
+ disabled: PropTypes.bool.description('Disables the DSUploader.'),
14
+ multiple: PropTypes.bool.description('Set to false to restrict multiple files selection/upload.'),
15
+ accept: PropTypes.string.description('String containing the accepted MIME type for the DSUploader'),
16
+ label: PropTypes.string.description('Uploader label.').defaultValue('Browse'),
17
+ icon: PropTypes.element.description('Uploader left icon.').defaultValue(UploadFile),
18
+ actions: PropTypes.shape({
19
+ defaultAction: PropTypes.string,
20
+ altAction: PropTypes.string
21
+ }).description('Uploader actions.').defaultValue({
22
+ defaultAction: 'LOCAL DRIVE'
23
+ }),
24
+ defaultActionLabel: PropTypes.string.description('First action button label.'),
25
+ showAltAction: PropTypes.bool.description('whether to show alternate action button or not.').defaultValue(true),
26
+ altActionLabel: PropTypes.string.description('Second action button label.').defaultValue('LOCAL DRIVE'),
27
+ dragActiveInstructionalText: PropTypes.string.description('informative text when user drags a file over the uploader zone.').defaultValue('DROP FILES HERE'),
28
+ dragActiveIcon: PropTypes.string.description('Icon when user drags a file over the uploader zone.'),
29
+ acceptedTypesText: PropTypes.string.description('Information text to show what types are supported.').defaultValue('JPG, JPEG, PNG, PDF'),
30
+ disabledDefault: PropTypes.bool.description('Whether the default uploader is disabled or not.').defaultValue(false),
31
+ disabledAlt: PropTypes.bool.description('Whether the alternative uploader is disabled or not.').defaultValue(false),
32
+ onDefaultHandlerClick: PropTypes.func.description('First action button click handler.'),
33
+ onAltHandlerClick: PropTypes.func.description('Second action button click handler.'),
34
+ defaultActionTooltipText: PropTypes.string.description('shows tooltip in default action button.'),
35
+ altActionTooltipText: PropTypes.string.description('Shows tooltip in alternate action button.')
36
+ };
37
+
38
+ export { propTypes };
39
+ //# sourceMappingURL=propTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propTypes.js","sources":["../../src/propTypes.tsx"],"sourcesContent":["import { PropTypes } from 'react-desc';\nimport UploadFile from '@elliemae/ds-icons/UploadFile';\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"],"names":["propTypes","containerProps","PropTypes","object","description","validator","func","maxFiles","number","minSize","maxSize","onDropRejected","disabled","bool","multiple","accept","string","label","defaultValue","icon","element","UploadFile","actions","shape","defaultAction","altAction","defaultActionLabel","showAltAction","altActionLabel","dragActiveInstructionalText","dragActiveIcon","acceptedTypesText","disabledDefault","disabledAlt","onDefaultHandlerClick","onAltHandlerClick","defaultActionTooltipText","altActionTooltipText"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-uploader",
3
- "version": "1.54.0-rc.9",
3
+ "version": "1.55.0-next.12",
4
4
  "license": "MIT",
5
5
  "description": "Ellie Mae - Dim Sum - Uploader",
6
6
  "main": "cjs/index.js",
@@ -16,10 +16,10 @@
16
16
  "build": "node ../../scripts/build/build.js"
17
17
  },
18
18
  "dependencies": {
19
- "@elliemae/ds-basic": "1.54.0-rc.9",
20
- "@elliemae/ds-classnames": "1.54.0-rc.9",
21
- "@elliemae/ds-utilities": "1.54.0-rc.9",
22
- "react-dropzone": "~10.2.2"
19
+ "@elliemae/ds-basic": "1.55.0-next.12",
20
+ "@elliemae/ds-classnames": "1.55.0-next.12",
21
+ "@elliemae/ds-utilities": "1.55.0-next.12",
22
+ "react-dropzone": "~11.4.0"
23
23
  },
24
24
  "publishConfig": {
25
25
  "access": "public",
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "@elliemae/ds-uploader/propTypes",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ],
7
+ "private": true,
8
+ "main": "../cjs/propTypes.js",
9
+ "module": "../esm/propTypes.js"
10
+ }