@elliemae/ds-uploader 3.0.0-alpha.2 → 3.0.0-next.10

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.
@@ -56,6 +56,7 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
56
56
  })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
57
57
  var DSUploader_exports = {};
58
58
  __export(DSUploader_exports, {
59
+ DSUploader: () => DSUploader,
59
60
  UploaderWithSchema: () => UploaderWithSchema,
60
61
  default: () => DSUploader_default
61
62
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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": "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",
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, DSUploader };\nexport default DSUploader;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -27,6 +27,7 @@ var __toCommonJS = /* @__PURE__ */ ((cache) => {
27
27
  })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
28
28
  var src_exports = {};
29
29
  __export(src_exports, {
30
+ DSUploader: () => import_DSUploader.DSUploader,
30
31
  UploaderWithSchema: () => import_DSUploader.UploaderWithSchema,
31
32
  default: () => import_DSUploader.default
32
33
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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;",
4
+ "sourcesContent": ["export { default, DSUploader, UploaderWithSchema } from './DSUploader';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAwD;",
6
6
  "names": []
7
7
  }
@@ -144,6 +144,7 @@ const UploaderWithSchema = describe(DSUploader);
144
144
  UploaderWithSchema.propTypes = propTypes;
145
145
  var DSUploader_default = DSUploader;
146
146
  export {
147
+ DSUploader,
147
148
  UploaderWithSchema,
148
149
  DSUploader_default as default
149
150
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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"],
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, DSUploader };\nexport default DSUploader;\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/esm/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as React from "react";
2
- import { default as default2, UploaderWithSchema } from "./DSUploader";
2
+ import { default as default2, DSUploader, UploaderWithSchema } from "./DSUploader";
3
3
  export {
4
+ DSUploader,
4
5
  UploaderWithSchema,
5
6
  default2 as default
6
7
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, DSUploader, UploaderWithSchema } from './DSUploader';\n"],
5
5
  "mappings": "AAAA;ACAA;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-uploader",
3
- "version": "3.0.0-alpha.2",
3
+ "version": "3.0.0-next.10",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Uploader",
6
6
  "files": [
@@ -43,16 +43,16 @@
43
43
  "indent": 4
44
44
  },
45
45
  "dependencies": {
46
- "@elliemae/ds-button": "3.0.0-alpha.2",
47
- "@elliemae/ds-classnames": "3.0.0-alpha.2",
48
- "@elliemae/ds-icons": "3.0.0-alpha.2",
49
- "@elliemae/ds-tooltip": "3.0.0-alpha.2",
50
- "@elliemae/ds-utilities": "3.0.0-alpha.2",
46
+ "@elliemae/ds-button": "3.0.0-next.10",
47
+ "@elliemae/ds-classnames": "3.0.0-next.10",
48
+ "@elliemae/ds-icons": "3.0.0-next.10",
49
+ "@elliemae/ds-tooltip": "3.0.0-next.10",
50
+ "@elliemae/ds-utilities": "3.0.0-next.10",
51
51
  "react-desc": "~4.1.3",
52
52
  "react-dropzone": "~10.2.2"
53
53
  },
54
54
  "devDependencies": {
55
- "@testing-library/jest-dom": "~5.15.1",
55
+ "@testing-library/jest-dom": "~5.16.2",
56
56
  "@testing-library/react": "~12.1.2"
57
57
  },
58
58
  "peerDependencies": {