@elliemae/ds-uploader 3.21.2 → 3.22.0-next.0

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.
@@ -35,124 +35,158 @@ __export(DSUploader_exports, {
35
35
  module.exports = __toCommonJS(DSUploader_exports);
36
36
  var React = __toESM(require("react"));
37
37
  var import_jsx_runtime = require("react/jsx-runtime");
38
- var import_ds_classnames = require("@elliemae/ds-classnames");
38
+ var import_react = require("react");
39
39
  var import_ds_utilities = require("@elliemae/ds-utilities");
40
40
  var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
41
- var import_ds_icons = require("@elliemae/ds-icons");
42
- var import_ds_button = __toESM(require("@elliemae/ds-button"));
41
+ var import_ds_button = require("@elliemae/ds-button");
43
42
  var import_react_dropzone = require("react-dropzone");
44
43
  var import_ds_tooltip = __toESM(require("@elliemae/ds-tooltip"));
45
- var import_propTypes = require("./propTypes.js");
46
- const blockName = "uploader";
47
- const blockNameInfo = `${blockName}-info`;
48
- const blockNameDragActive = `${blockName}-drag-active`;
49
- const blockNameWrapper = `${blockName}-wrapper`;
50
- const UploaderWrapper = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameWrapper, null, ({ disabled }) => ({ disabled }));
51
- const Uploader = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, null, ({ isDragActive }) => ({ "drag-active": isDragActive }));
52
- const UploaderDragActive = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameDragActive);
53
- const UploaderIconArea = (0, import_ds_classnames.aggregatedClasses)("div")(`${blockName}-icon-wrapper`);
54
- const UploaderInfo = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameInfo);
55
- const InfoText = (0, import_ds_classnames.aggregatedClasses)("span")(blockNameInfo, "text");
56
- const UploaderActions = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameInfo, "actions");
57
- const AcceptedTypes = (0, import_ds_classnames.aggregatedClasses)("div")(blockNameWrapper, "accepted-types");
58
- const DividerVertical = (0, import_ds_classnames.aggregatedClasses)("div")("divider", null, ({ vertical }) => ({ vertical }));
59
- const ActionButton = ({ labelText, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_button.default, { ...otherProps, buttonType: "text", labelText });
60
- const noop = () => null;
61
- const DSUploader = ({
62
- containerProps = {},
63
- label = "Browse",
64
- // todo: i18n
65
- icon: UploadFileIcon = import_ds_icons.UploadFile,
66
- defaultActionLabel = "LOCAL DRIVE",
67
- // todo: i18n
68
- dragActiveInstructionalText = "DROP FILES HERE",
69
- dragActiveIcon: DragActiveIcon = import_ds_icons.UploadFile,
70
- altActionLabel = "DOCUMENTS",
71
- // todo: i18n
72
- acceptedTypesText = "JPG, JPEG, PNG, PDF",
73
- disabledDefault = false,
74
- disabledAlt = false,
75
- onDefaultHandlerClick = noop,
76
- onAltHandlerClick = noop,
77
- actions = { defaultAction: "LOCAL DRIVE", altAction: "DOCUMENTS" },
78
- showAltAction = false,
79
- defaultActionTooltipText,
80
- altActionTooltipText,
81
- ...dropzoneProps
82
- }) => {
83
- const { getRootProps, getInputProps, isDragActive } = (0, import_react_dropzone.useDropzone)(dropzoneProps);
44
+ var import_react_desc_prop_types = require("./react-desc-prop-types.js");
45
+ var import_styled = require("./styled.js");
46
+ var import_constants = require("./constants.js");
47
+ const ActionButton = ({ labelText, ...otherProps }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
48
+ import_ds_button.DSButtonV2,
49
+ {
50
+ ...otherProps,
51
+ buttonType: import_ds_button.BUTTON_TYPES.TEXT,
52
+ style: { padding: 0, height: "initial", borderWidth: "0px" },
53
+ children: labelText
54
+ }
55
+ );
56
+ const DSUploader = (props) => {
57
+ const propsWithDefault = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(props, import_react_desc_prop_types.defaultProps);
58
+ (0, import_ds_props_helpers.useValidateTypescriptPropTypes)(propsWithDefault, import_react_desc_prop_types.propTypes, import_constants.DSUploaderName);
59
+ const {
60
+ containerProps,
61
+ label,
62
+ icon: UploadFileIcon,
63
+ defaultActionLabel,
64
+ dragActiveInstructionalText,
65
+ dragActiveIcon: DragActiveIcon,
66
+ altActionLabel,
67
+ acceptedTypesText,
68
+ disabledDefault,
69
+ disabledAlt,
70
+ onDefaultHandlerClick,
71
+ onAltHandlerClick,
72
+ actions,
73
+ showAltAction,
74
+ defaultActionTooltipText,
75
+ altActionTooltipText,
76
+ ...rest
77
+ } = propsWithDefault;
78
+ const globalAttributes = (0, import_ds_props_helpers.useGetGlobalAttributes)(rest);
79
+ const xstyledProps = (0, import_ds_props_helpers.useGetXstyledProps)(rest);
80
+ const getOwnerProps = (0, import_react.useCallback)(() => propsWithDefault, [propsWithDefault]);
81
+ const getOwnerPropsArguments = (0, import_react.useCallback)(() => ({}), []);
82
+ const { getRootProps, getInputProps, isDragActive } = (0, import_react_dropzone.useDropzone)(rest);
84
83
  const { onClick: onOpenFile, ...rootProps } = getRootProps();
85
84
  const disabledAll = disabledDefault && disabledAlt;
86
- const delfaultActionButton = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
87
- ActionButton,
88
- {
89
- variant: disabledDefault && import_ds_button.BUTTON_VARIANT.DISABLED,
90
- labelText: actions.defaultAction ? actions.defaultAction : defaultActionLabel,
91
- onClick: (...args) => {
92
- if (!disabledDefault)
93
- (0, import_ds_utilities.runAll)(onDefaultHandlerClick, onOpenFile)(...args);
85
+ const delfaultActionButton = (0, import_react.useMemo)(
86
+ () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
87
+ ActionButton,
88
+ {
89
+ disabled: disabledDefault,
90
+ labelText: actions.defaultAction ? actions.defaultAction : defaultActionLabel,
91
+ onClick: (...args) => {
92
+ if (!disabledDefault)
93
+ (0, import_ds_utilities.runAll)(onDefaultHandlerClick, onOpenFile)(...args);
94
+ }
94
95
  }
95
- }
96
+ ),
97
+ [actions.defaultAction, defaultActionLabel, disabledDefault, onDefaultHandlerClick, onOpenFile]
96
98
  );
97
- const altActionButton = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
98
- ActionButton,
99
- {
100
- variant: disabledAlt && import_ds_button.BUTTON_VARIANT.DISABLED,
101
- labelText: actions.altAction ? actions.altAction : altActionLabel,
102
- onClick: (...args) => {
103
- if (!disabledAlt)
104
- onAltHandlerClick(...args);
99
+ const altActionButton = (0, import_react.useMemo)(
100
+ () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
101
+ ActionButton,
102
+ {
103
+ disabled: disabledAlt,
104
+ labelText: actions.altAction ? actions.altAction : altActionLabel,
105
+ onClick: (...args) => {
106
+ if (!disabledAlt)
107
+ onAltHandlerClick(...args);
108
+ }
105
109
  }
106
- }
110
+ ),
111
+ [actions.altAction, altActionLabel, disabledAlt, onAltHandlerClick]
107
112
  );
108
- const defaultAction = !defaultActionTooltipText ? delfaultActionButton : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
109
- import_ds_tooltip.default,
110
- {
111
- containerProps: { id: "default-action-tooltip" },
112
- interactionType: "hover",
113
- title: defaultActionTooltipText,
114
- triggerComponent: delfaultActionButton
115
- }
113
+ const defaultAction = (0, import_react.useMemo)(
114
+ () => !defaultActionTooltipText ? delfaultActionButton : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
115
+ import_ds_tooltip.default,
116
+ {
117
+ containerProps: { id: "default-action-tooltip" },
118
+ interactionType: "hover",
119
+ title: defaultActionTooltipText,
120
+ triggerComponent: delfaultActionButton
121
+ }
122
+ ),
123
+ [defaultActionTooltipText, delfaultActionButton]
116
124
  );
117
- const altAction = !altActionTooltipText ? altActionButton : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
118
- import_ds_tooltip.default,
125
+ const altAction = (0, import_react.useMemo)(
126
+ () => !altActionTooltipText ? altActionButton : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
127
+ import_ds_tooltip.default,
128
+ {
129
+ containerProps: { id: "alt-action-tooltip" },
130
+ interactionType: "hover",
131
+ title: altActionTooltipText,
132
+ triggerComponent: altActionButton
133
+ }
134
+ ),
135
+ [altActionTooltipText, altActionButton]
136
+ );
137
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
138
+ import_styled.StyledUploaderWrapper,
119
139
  {
120
- containerProps: { id: "alt-action-tooltip" },
121
- interactionType: "hover",
122
- title: altActionTooltipText,
123
- triggerComponent: altActionButton
140
+ ...containerProps,
141
+ ...globalAttributes,
142
+ ...xstyledProps,
143
+ getOwnerProps,
144
+ getOwnerPropsArguments,
145
+ children: [
146
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
147
+ import_styled.StyledUploader,
148
+ {
149
+ ...rootProps,
150
+ isDragActive,
151
+ disabledAll,
152
+ getOwnerProps,
153
+ getOwnerPropsArguments,
154
+ children: [
155
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledUploaderIconArea, { getOwnerProps, getOwnerPropsArguments, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UploadFileIcon, { size: "l" }) }),
156
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledDividerVertical, { getOwnerProps, getOwnerPropsArguments }),
157
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledUploaderInfo, { getOwnerProps, getOwnerPropsArguments, children: [
158
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledInfoText, { getOwnerProps, getOwnerPropsArguments, children: label }),
159
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledUploaderActions, { getOwnerProps, getOwnerPropsArguments, children: [
160
+ actions.defaultAction && defaultAction,
161
+ (actions.altAction || showAltAction) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
162
+ actions.defaultAction && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
163
+ import_styled.StyledDividerVerticalActions,
164
+ {
165
+ getOwnerProps,
166
+ getOwnerPropsArguments
167
+ }
168
+ ),
169
+ altAction
170
+ ] })
171
+ ] })
172
+ ] }),
173
+ !disabledAll && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledUploaderDragActive, { getOwnerProps, getOwnerPropsArguments, children: [
174
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DragActiveIcon, { color: ["neutral", "000"], mr: "xxs" }),
175
+ dragActiveInstructionalText
176
+ ] }),
177
+ !disabledAll && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ...getInputProps(), "aria-label": "file" })
178
+ ]
179
+ }
180
+ ),
181
+ typeof acceptedTypesText === "string" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledAcceptedTypes, { getOwnerProps, getOwnerPropsArguments, children: acceptedTypesText.toUpperCase() })
182
+ ]
124
183
  }
125
184
  );
126
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderWrapper, { ...containerProps, classProps: { disabled: disabledAll }, children: [
127
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Uploader, { ...rootProps, classProps: { isDragActive }, children: [
128
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UploaderIconArea, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UploadFileIcon, { size: "l" }) }),
129
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DividerVertical, {}),
130
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderInfo, { children: [
131
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(InfoText, { children: label }),
132
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderActions, { children: [
133
- actions.defaultAction && defaultAction,
134
- (actions.altAction || showAltAction) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
135
- actions.defaultAction && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DividerVertical, {}),
136
- altAction
137
- ] })
138
- ] })
139
- ] }),
140
- !disabledAll && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UploaderDragActive, { children: [
141
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DragActiveIcon, {}),
142
- dragActiveInstructionalText
143
- ] }),
144
- !disabledAll && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ...getInputProps() })
145
- ] }),
146
- typeof acceptedTypesText === "string" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AcceptedTypes, { children: acceptedTypesText.toUpperCase() })
147
- ] });
148
- };
149
- DSUploader.actions = {
150
- defaultAction: "LOCAL DRIVE",
151
- altAction: "DOCUMENTS"
152
185
  };
153
- DSUploader.propTypes = import_propTypes.propTypes;
154
- DSUploader.displayName = "DSUploader";
186
+ DSUploader.actions = import_constants.defaultActions;
187
+ DSUploader.propTypes = import_react_desc_prop_types.propTypes;
188
+ DSUploader.displayName = import_constants.DSUploaderName;
155
189
  const UploaderWithSchema = (0, import_ds_props_helpers.describe)(DSUploader);
156
- UploaderWithSchema.propTypes = import_propTypes.propTypes;
190
+ UploaderWithSchema.propTypes = import_react_desc_prop_types.propTypes;
157
191
  var DSUploader_default = DSUploader;
158
192
  //# sourceMappingURL=DSUploader.js.map
@@ -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 { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { runAll } from '@elliemae/ds-utilities';\nimport { describe } from '@elliemae/ds-props-helpers';\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.js';\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": "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",
6
- "names": ["DSButton", "DSTooltip"]
4
+ "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { type ComponentType, useCallback, useMemo } from 'react';\nimport { runAll } from '@elliemae/ds-utilities';\nimport {\n describe,\n useMemoMergePropsWithDefault,\n useValidateTypescriptPropTypes,\n useGetGlobalAttributes,\n useGetXstyledProps,\n} from '@elliemae/ds-props-helpers';\nimport { DSButtonV2, BUTTON_TYPES } from '@elliemae/ds-button';\nimport { useDropzone } from 'react-dropzone';\nimport DSTooltip from '@elliemae/ds-tooltip';\nimport { defaultProps, type DSUploaderT, type ActionButtonPropsT, propTypes } from './react-desc-prop-types.js';\nimport {\n StyledAcceptedTypes,\n StyledDividerVertical,\n StyledInfoText,\n StyledUploader,\n StyledUploaderDragActive,\n StyledUploaderIconArea,\n StyledUploaderInfo,\n StyledUploaderWrapper,\n StyledUploaderActions,\n StyledDividerVerticalActions,\n} from './styled.js';\nimport { DSUploaderName, defaultActions } from './constants.js';\nconst ActionButton = ({ labelText, ...otherProps }: ActionButtonPropsT): React.ReactElement => (\n <DSButtonV2\n {...otherProps}\n buttonType={BUTTON_TYPES.TEXT}\n style={{ padding: 0, height: 'initial', borderWidth: '0px' }}\n >\n {labelText}\n </DSButtonV2>\n);\n\nconst DSUploader: ComponentType<DSUploaderT.DefaultProps> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSUploaderT.DefaultProps>(props, defaultProps);\n useValidateTypescriptPropTypes(propsWithDefault, propTypes, DSUploaderName);\n\n const {\n containerProps,\n label,\n icon: UploadFileIcon,\n defaultActionLabel,\n dragActiveInstructionalText,\n dragActiveIcon: DragActiveIcon,\n altActionLabel,\n acceptedTypesText,\n disabledDefault,\n disabledAlt,\n onDefaultHandlerClick,\n onAltHandlerClick,\n actions,\n showAltAction,\n defaultActionTooltipText,\n altActionTooltipText,\n ...rest\n } = propsWithDefault;\n\n const globalAttributes = useGetGlobalAttributes(rest);\n const xstyledProps = useGetXstyledProps(rest);\n\n const getOwnerProps = useCallback(() => propsWithDefault, [propsWithDefault]);\n const getOwnerPropsArguments = useCallback(() => ({}), []);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone(rest);\n const { onClick: onOpenFile, ...rootProps } = getRootProps();\n const disabledAll = disabledDefault && disabledAlt;\n\n const delfaultActionButton = useMemo(\n () => (\n <ActionButton\n disabled={disabledDefault}\n labelText={actions.defaultAction ? (actions.defaultAction as string) : defaultActionLabel}\n onClick={(...args) => {\n if (!disabledDefault) runAll(onDefaultHandlerClick, onOpenFile)(...args);\n }}\n />\n ),\n [actions.defaultAction, defaultActionLabel, disabledDefault, onDefaultHandlerClick, onOpenFile],\n );\n\n const altActionButton = useMemo(\n () => (\n <ActionButton\n disabled={disabledAlt}\n labelText={actions.altAction ? (actions.altAction as string) : altActionLabel}\n onClick={(...args) => {\n if (!disabledAlt) onAltHandlerClick(...args);\n }}\n />\n ),\n [actions.altAction, altActionLabel, disabledAlt, onAltHandlerClick],\n );\n\n const defaultAction = useMemo(\n () =>\n !defaultActionTooltipText ? (\n delfaultActionButton\n ) : (\n <DSTooltip\n containerProps={{ id: 'default-action-tooltip' }}\n interactionType=\"hover\"\n title={defaultActionTooltipText}\n triggerComponent={delfaultActionButton}\n />\n ),\n [defaultActionTooltipText, delfaultActionButton],\n );\n\n const altAction = useMemo(\n () =>\n !altActionTooltipText ? (\n altActionButton\n ) : (\n <DSTooltip\n containerProps={{ id: 'alt-action-tooltip' }}\n interactionType=\"hover\"\n title={altActionTooltipText}\n triggerComponent={altActionButton}\n />\n ),\n [altActionTooltipText, altActionButton],\n );\n\n return (\n <StyledUploaderWrapper\n {...containerProps}\n {...globalAttributes}\n {...xstyledProps}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledUploader\n {...rootProps}\n isDragActive={isDragActive}\n disabledAll={disabledAll}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <StyledUploaderIconArea getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n <UploadFileIcon size=\"l\" />\n </StyledUploaderIconArea>\n <StyledDividerVertical getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments} />\n <StyledUploaderInfo getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n <StyledInfoText getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n {label}\n </StyledInfoText>\n <StyledUploaderActions getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n {actions.defaultAction && defaultAction}\n {(actions.altAction || showAltAction) && (\n <>\n {actions.defaultAction && (\n <StyledDividerVerticalActions\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n />\n )}\n {altAction}\n </>\n )}\n </StyledUploaderActions>\n </StyledUploaderInfo>\n {!disabledAll && (\n <StyledUploaderDragActive getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n <DragActiveIcon color={['neutral', '000']} mr=\"xxs\" />\n {dragActiveInstructionalText}\n </StyledUploaderDragActive>\n )}\n {!disabledAll && <input {...getInputProps()} aria-label=\"file\" />}\n </StyledUploader>\n {typeof acceptedTypesText === 'string' && (\n <StyledAcceptedTypes getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n {acceptedTypesText.toUpperCase()}\n </StyledAcceptedTypes>\n )}\n </StyledUploaderWrapper>\n );\n};\n\nDSUploader.actions = defaultActions;\nDSUploader.propTypes = propTypes;\nDSUploader.displayName = DSUploaderName;\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
+ "names": ["DSTooltip"]
7
7
  }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var constants_exports = {};
30
+ __export(constants_exports, {
31
+ DSUploaderDataTestIds: () => DSUploaderDataTestIds,
32
+ DSUploaderName: () => DSUploaderName,
33
+ DSUploaderSlots: () => DSUploaderSlots,
34
+ defaultActions: () => defaultActions
35
+ });
36
+ module.exports = __toCommonJS(constants_exports);
37
+ var React = __toESM(require("react"));
38
+ var import_ds_system = require("@elliemae/ds-system");
39
+ const DSUploaderName = "DSUploader";
40
+ const DSUploaderSlots = {
41
+ ROOT: "root",
42
+ UPLOADER: "uploader",
43
+ ICON_AREA: "icon-area",
44
+ DIVIDER_VERTICAL: "divider-vertical",
45
+ ACTIONS_DIVIDER_VERTICAL: "actions-divider-vertical",
46
+ UPLOADER_INFO: "uploader-info",
47
+ INFO_TEXT: "info-text",
48
+ UPLOADER_DRAG_ACTIVE: "uploader-drag-active",
49
+ ACCEPTED_TYPES: "accepted-types",
50
+ UPLOADER_ACTIONS: "uploader-actions"
51
+ };
52
+ const defaultActions = {
53
+ defaultAction: "LOCAL DRIVE",
54
+ altAction: "DOCUMENTS"
55
+ };
56
+ const DSUploaderDataTestIds = (0, import_ds_system.slotObjectToDataTestIds)(DSUploaderName, DSUploaderSlots);
57
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSUploaderName = 'DSUploader';\n\nexport const DSUploaderSlots = {\n ROOT: 'root',\n UPLOADER: 'uploader',\n ICON_AREA: 'icon-area',\n DIVIDER_VERTICAL: 'divider-vertical',\n ACTIONS_DIVIDER_VERTICAL: 'actions-divider-vertical',\n UPLOADER_INFO: 'uploader-info',\n INFO_TEXT: 'info-text',\n UPLOADER_DRAG_ACTIVE: 'uploader-drag-active',\n ACCEPTED_TYPES: 'accepted-types',\n UPLOADER_ACTIONS: 'uploader-actions',\n};\n\nexport const defaultActions = {\n defaultAction: 'LOCAL DRIVE',\n altAction: 'DOCUMENTS',\n} as const;\n\nexport const DSUploaderDataTestIds = slotObjectToDataTestIds(DSUploaderName, DSUploaderSlots);\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAwC;AAEjC,MAAM,iBAAiB;AAEvB,MAAM,kBAAkB;AAAA,EAC7B,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,0BAA0B;AAAA,EAC1B,eAAe;AAAA,EACf,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,kBAAkB;AACpB;AAEO,MAAM,iBAAiB;AAAA,EAC5B,eAAe;AAAA,EACf,WAAW;AACb;AAEO,MAAM,4BAAwB,0CAAwB,gBAAgB,eAAe;",
6
+ "names": []
7
+ }
package/dist/cjs/index.js CHANGED
@@ -17,6 +17,7 @@ var __copyProps = (to, from, except, desc) => {
17
17
  }
18
18
  return to;
19
19
  };
20
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
20
21
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
22
  // If the importer is in node compatibility mode or this is not an ESM
22
23
  // file that has been converted to a CommonJS file using a Babel-
@@ -35,4 +36,5 @@ __export(src_exports, {
35
36
  module.exports = __toCommonJS(src_exports);
36
37
  var React = __toESM(require("react"));
37
38
  var import_DSUploader = __toESM(require("./DSUploader.js"));
39
+ __reExport(src_exports, require("./constants.js"), module.exports);
38
40
  //# sourceMappingURL=index.js.map
@@ -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, DSUploader, UploaderWithSchema } from './DSUploader.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAwD;",
4
+ "sourcesContent": ["export { default, DSUploader, UploaderWithSchema } from './DSUploader.js';\nexport * from './constants.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAwD;AACxD,wBAAc,2BADd;",
6
6
  "names": []
7
7
  }
@@ -26,15 +26,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var propTypes_exports = {};
30
- __export(propTypes_exports, {
29
+ var react_desc_prop_types_exports = {};
30
+ __export(react_desc_prop_types_exports, {
31
+ defaultProps: () => defaultProps,
31
32
  propTypes: () => propTypes
32
33
  });
33
- module.exports = __toCommonJS(propTypes_exports);
34
+ module.exports = __toCommonJS(react_desc_prop_types_exports);
34
35
  var React = __toESM(require("react"));
35
36
  var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
36
37
  var import_ds_icons = require("@elliemae/ds-icons");
38
+ var import_constants = require("./constants.js");
37
39
  const propTypes = {
40
+ ...import_ds_props_helpers.globalAttributesPropTypes,
41
+ ...import_ds_props_helpers.xstyledPropTypes,
38
42
  containerProps: import_ds_props_helpers.PropTypes.object.description("Set of Properties attached to the main container."),
39
43
  maxFiles: import_ds_props_helpers.PropTypes.number.description("Number of files accepted."),
40
44
  minSize: import_ds_props_helpers.PropTypes.number.description("Minimun file size accepted in bytes."),
@@ -46,7 +50,7 @@ const propTypes = {
46
50
  multiple: import_ds_props_helpers.PropTypes.bool.description("Set to false to restrict multiple files selection/upload."),
47
51
  accept: import_ds_props_helpers.PropTypes.string.description("String containing the accepted MIME type for the DSUploader"),
48
52
  label: import_ds_props_helpers.PropTypes.string.description("Uploader label.").defaultValue("Browse"),
49
- icon: import_ds_props_helpers.PropTypes.element.description("Uploader left icon.").defaultValue(import_ds_icons.UploadFile),
53
+ icon: import_ds_props_helpers.PropTypes.func.description("Uploader left icon.").defaultValue(import_ds_icons.UploadFile),
50
54
  actions: import_ds_props_helpers.PropTypes.shape({
51
55
  defaultAction: import_ds_props_helpers.PropTypes.string,
52
56
  altAction: import_ds_props_helpers.PropTypes.string
@@ -55,7 +59,7 @@ const propTypes = {
55
59
  showAltAction: import_ds_props_helpers.PropTypes.bool.description("whether to show alternate action button or not.").defaultValue(true),
56
60
  altActionLabel: import_ds_props_helpers.PropTypes.string.description("Second action button label.").defaultValue("LOCAL DRIVE"),
57
61
  dragActiveInstructionalText: import_ds_props_helpers.PropTypes.string.description("informative text when user drags a file over the uploader zone.").defaultValue("DROP FILES HERE"),
58
- dragActiveIcon: import_ds_props_helpers.PropTypes.string.description("Icon when user drags a file over the uploader zone."),
62
+ dragActiveIcon: import_ds_props_helpers.PropTypes.func.description("Icon when user drags a file over the uploader zone."),
59
63
  acceptedTypesText: import_ds_props_helpers.PropTypes.string.description("Information text to show what types are supported.").defaultValue("JPG, JPEG, PNG, PDF"),
60
64
  disabledDefault: import_ds_props_helpers.PropTypes.bool.description("Whether the default uploader is disabled or not.").defaultValue(false),
61
65
  disabledAlt: import_ds_props_helpers.PropTypes.bool.description("Whether the alternative uploader is disabled or not.").defaultValue(false),
@@ -64,4 +68,24 @@ const propTypes = {
64
68
  defaultActionTooltipText: import_ds_props_helpers.PropTypes.string.description("shows tooltip in default action button."),
65
69
  altActionTooltipText: import_ds_props_helpers.PropTypes.string.description("Shows tooltip in alternate action button.")
66
70
  };
67
- //# sourceMappingURL=propTypes.js.map
71
+ const defaultProps = {
72
+ containerProps: {},
73
+ label: "Browse",
74
+ icon: import_ds_icons.UploadFile,
75
+ defaultActionLabel: "LOCAL DRIVE",
76
+ dragActiveInstructionalText: "DROP FILES HERE",
77
+ dragActiveIcon: import_ds_icons.UploadFile,
78
+ altActionLabel: "DOCUMENTS",
79
+ acceptedTypesText: "JPG, JPEG, PNG, PDF",
80
+ disabledDefault: false,
81
+ disabledAlt: false,
82
+ onDefaultHandlerClick: () => {
83
+ },
84
+ onAltHandlerClick: () => {
85
+ },
86
+ actions: import_constants.defaultActions,
87
+ showAltAction: false,
88
+ defaultActionTooltipText: "",
89
+ altActionTooltipText: ""
90
+ };
91
+ //# sourceMappingURL=react-desc-prop-types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/react-desc-prop-types.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { type WeakValidationMap } from 'react';\nimport { PropTypes, globalAttributesPropTypes, xstyledPropTypes } from '@elliemae/ds-props-helpers';\nimport { UploadFile } from '@elliemae/ds-icons';\nimport { defaultActions } from './constants.js';\n/** Inherits the props of react-dropzone https://react-dropzone.netlify.com/ */\n\nexport namespace DSUploaderT {\n export interface DefaultProps {\n containerProps: Record<string, unknown>;\n label: string;\n icon: React.FC;\n defaultActionLabel?: string;\n dragActiveInstructionalText?: string;\n dragActiveIcon: React.FC;\n altActionLabel: string;\n acceptedTypesText: string;\n disabledDefault: boolean;\n disabledAlt: boolean;\n onDefaultHandlerClick: () => void | null;\n onAltHandlerClick: () => void | null;\n actions: Record<string, unknown>;\n showAltAction: boolean;\n defaultActionTooltipText: string;\n altActionTooltipText: string;\n }\n\n export type ActionsT = Record<string, unknown>;\n}\n\nexport interface ActionButtonPropsT {\n labelText: string;\n variant: undefined | 'variant-disabled';\n onClick: () => void | null;\n}\n\nexport const propTypes = {\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n containerProps: PropTypes.object.description('Set of Properties attached to the main container.'),\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.func.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.func.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} as unknown as WeakValidationMap<DSUploaderT.DefaultProps>;\n\nexport const defaultProps: DSUploaderT.DefaultProps = {\n containerProps: {},\n label: 'Browse',\n icon: UploadFile,\n defaultActionLabel: 'LOCAL DRIVE',\n dragActiveInstructionalText: 'DROP FILES HERE',\n dragActiveIcon: UploadFile,\n altActionLabel: 'DOCUMENTS',\n acceptedTypesText: 'JPG, JPEG, PNG, PDF',\n disabledDefault: false,\n disabledAlt: false,\n onDefaultHandlerClick: () => {},\n onAltHandlerClick: () => {},\n actions: defaultActions,\n showAltAction: false,\n defaultActionTooltipText: '',\n altActionTooltipText: '',\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,8BAAuE;AACvE,sBAA2B;AAC3B,uBAA+B;AAgCxB,MAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,gBAAgB,kCAAU,OAAO,YAAY,mDAAmD;AAAA,EAChG,UAAU,kCAAU,OAAO,YAAY,2BAA2B;AAAA,EAClE,SAAS,kCAAU,OAAO,YAAY,sCAAsC;AAAA,EAC5E,SAAS,kCAAU,OAAO,YAAY,sCAAsC;AAAA,EAC5E,gBAAgB,kCAAU,KAAK;AAAA,IAC7B;AAAA,EACF;AAAA,EACA,UAAU,kCAAU,KAAK,YAAY,0BAA0B;AAAA,EAC/D,UAAU,kCAAU,KAAK,YAAY,2DAA2D;AAAA,EAChG,QAAQ,kCAAU,OAAO,YAAY,6DAA6D;AAAA,EAElG,OAAO,kCAAU,OAAO,YAAY,iBAAiB,EAAE,aAAa,QAAQ;AAAA,EAC5E,MAAM,kCAAU,KAAK,YAAY,qBAAqB,EAAE,aAAa,0BAAU;AAAA,EAC/E,SAAS,kCAAU,MAAM;AAAA,IACvB,eAAe,kCAAU;AAAA,IACzB,WAAW,kCAAU;AAAA,EACvB,CAAC,EACE,YAAY,mBAAmB,EAC/B,aAAa,EAAE,eAAe,cAAc,CAAC;AAAA,EAChD,oBAAoB,kCAAU,OAAO,YAAY,4BAA4B;AAAA,EAC7E,eAAe,kCAAU,KAAK,YAAY,iDAAiD,EAAE,aAAa,IAAI;AAAA,EAC9G,gBAAgB,kCAAU,OAAO,YAAY,6BAA6B,EAAE,aAAa,aAAa;AAAA,EACtG,6BAA6B,kCAAU,OACpC,YAAY,iEAAiE,EAC7E,aAAa,iBAAiB;AAAA,EACjC,gBAAgB,kCAAU,KAAK,YAAY,qDAAqD;AAAA,EAChG,mBAAmB,kCAAU,OAC1B,YAAY,oDAAoD,EAChE,aAAa,qBAAqB;AAAA,EACrC,iBAAiB,kCAAU,KAAK,YAAY,kDAAkD,EAAE,aAAa,KAAK;AAAA,EAClH,aAAa,kCAAU,KAAK,YAAY,sDAAsD,EAAE,aAAa,KAAK;AAAA,EAClH,uBAAuB,kCAAU,KAAK,YAAY,oCAAoC;AAAA,EACtF,mBAAmB,kCAAU,KAAK,YAAY,qCAAqC;AAAA,EACnF,0BAA0B,kCAAU,OAAO,YAAY,yCAAyC;AAAA,EAChG,sBAAsB,kCAAU,OAAO,YAAY,2CAA2C;AAChG;AAEO,MAAM,eAAyC;AAAA,EACpD,gBAAgB,CAAC;AAAA,EACjB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,oBAAoB;AAAA,EACpB,6BAA6B;AAAA,EAC7B,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,uBAAuB,MAAM;AAAA,EAAC;AAAA,EAC9B,mBAAmB,MAAM;AAAA,EAAC;AAAA,EAC1B,SAAS;AAAA,EACT,eAAe;AAAA,EACf,0BAA0B;AAAA,EAC1B,sBAAsB;AACxB;",
6
+ "names": []
7
+ }