@coorpacademy/components 11.17.4 → 11.17.5-alpha.35
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/es/atom/drag-and-drop/index.d.ts.map +1 -1
- package/es/atom/drag-and-drop/index.js +9 -1
- package/es/atom/drag-and-drop/index.js.map +1 -1
- package/es/atom/drag-and-drop/style.css +29 -2
- package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
- package/es/molecule/title-radio-wrapper/index.js +9 -2
- package/es/molecule/title-radio-wrapper/index.js.map +1 -1
- package/es/molecule/title-radio-wrapper/style.css +15 -5
- package/lib/atom/drag-and-drop/index.d.ts.map +1 -1
- package/lib/atom/drag-and-drop/index.js +8 -0
- package/lib/atom/drag-and-drop/index.js.map +1 -1
- package/lib/atom/drag-and-drop/style.css +29 -2
- package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
- package/lib/molecule/title-radio-wrapper/index.js +10 -2
- package/lib/molecule/title-radio-wrapper/index.js.map +1 -1
- package/lib/molecule/title-radio-wrapper/style.css +15 -5
- package/locales/bs/global.json +6 -4
- package/locales/cs/global.json +6 -4
- package/locales/de/global.json +6 -4
- package/locales/es/global.json +6 -4
- package/locales/et/global.json +6 -4
- package/locales/fr/global.json +5 -3
- package/locales/hr/global.json +6 -4
- package/locales/hu/global.json +6 -4
- package/locales/hy/global.json +6 -4
- package/locales/it/global.json +6 -4
- package/locales/ja/global.json +6 -4
- package/locales/ko/global.json +6 -4
- package/locales/nl/global.json +6 -4
- package/locales/pl/global.json +6 -4
- package/locales/pt/global.json +6 -4
- package/locales/ro/global.json +6 -4
- package/locales/ru/global.json +6 -4
- package/locales/sk/global.json +6 -4
- package/locales/th/global.json +6 -4
- package/locales/tl/global.json +6 -4
- package/locales/tr/global.json +6 -4
- package/locales/uk/global.json +6 -4
- package/locales/vi/global.json +6 -4
- package/locales/zh/global.json +6 -4
- package/locales/zh_TW/global.json +6 -4
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/drag-and-drop/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/drag-and-drop/index.js"],"names":[],"mappings":";AAiBA;IACE;;;;;;;;;;;;;;;;;;;;MAoBE;IAEF,wBASC;IANC;;MAEC;IAMH,wBAIC;IAED,uBAIC;IAED,sBA0LC;CACF"}
|
|
@@ -6,7 +6,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
6
6
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
9
|
-
import { NovaSolidStatusClose as Close, NovaSolidFilesBasicFileUpload2 as FileUploadIcon, NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon } from '@coorpacademy/nova-icons';
|
|
9
|
+
import { NovaSolidStatusClose as Close, NovaSolidFilesBasicFileUpload2 as FileUploadIcon, NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon, NovaSolidFilesBasicFileLines as FileLinesIcon } from '@coorpacademy/nova-icons';
|
|
10
10
|
import classnames from 'classnames';
|
|
11
11
|
import Loader from '../loader';
|
|
12
12
|
import Button from '../button-link';
|
|
@@ -96,6 +96,14 @@ class DragAndDrop extends React.Component {
|
|
|
96
96
|
type: 'pdf'
|
|
97
97
|
}
|
|
98
98
|
}));
|
|
99
|
+
} else if (previewContent && previewContent.type === 'xlsx') {
|
|
100
|
+
previewView = /*#__PURE__*/React.createElement("div", {
|
|
101
|
+
className: style.previewXlsxContainer
|
|
102
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
103
|
+
className: style.previewXlsx
|
|
104
|
+
}, /*#__PURE__*/React.createElement(FileLinesIcon, {
|
|
105
|
+
className: style.iconFile
|
|
106
|
+
})));
|
|
99
107
|
} else if (loading) {
|
|
100
108
|
previewView = /*#__PURE__*/React.createElement("div", {
|
|
101
109
|
className: style.loaderWrapper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","NovaSolidStatusClose","Close","NovaSolidFilesBasicFileUpload2","FileUploadIcon","NovaSolidFilesBasicFileBlock2","FileUploadBlockedIcon","classnames","Loader","Button","getClassState","style","constantNull","DragAndDrop","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","error","buttonAriaLabel","errorButtonLabel","disabled","pdfButtonLabel","pdfButtonAriaLabel","previewView","type","preview","src","previewPdf","previewLabelPdf","href","target","download","position","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","resetUploadWrapper","resetSrcLabel","label","buildButton","defaultButtonProps","icon","button","previewContainer","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","buildContent","infosContainer","iconError","dragAndDropLabel","content","wrapper","errorMessage","propTypes","string","shape","bool","func"],"sources":["../../../src/atom/drag-and-drop/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaSolidStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../loader';\nimport Button from '../button-link';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string,\n label: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string,\n pdfButtonLabel: PropTypes.string,\n pdfButtonAriaLabel: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null,\n error = '',\n buttonAriaLabel = '',\n errorButtonLabel = '',\n disabled = false,\n pdfButtonLabel,\n pdfButtonAriaLabel\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.preview}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={style.preview}>\n <video controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (previewContent && previewContent.type === 'pdf') {\n previewView = (\n <div className={style.previewPdf}>\n <p className={style.previewLabelPdf}>{previewLabel}</p>\n <Button\n type=\"secondary\"\n link={{href: previewContent.src, target: '_blank', download: false}}\n label={pdfButtonLabel}\n aria-label={pdfButtonAriaLabel}\n data-name=\"default-button-pdf\"\n icon={{\n position: 'left',\n type: 'pdf'\n }}\n />\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n <span className={style.loaderText}>Uploading</span>\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src ? (\n <div className={classnames(style.resetUploadWrapper, disabled && style.disabled)}>\n <div className={style.resetSrcLabel}>\n {previewContent.label ? previewContent.label : previewContent.src}\n </div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n ) : null}\n </div>\n ) : null;\n\n const buildButton = () => {\n const defaultButtonProps = {\n label: uploadLabel,\n 'aria-label': buttonAriaLabel,\n 'data-name': 'default-button',\n icon: {\n position: 'left',\n type: 'folders'\n }\n };\n if (dragging) {\n return null;\n } else if (error) {\n return <Button {...defaultButtonProps} label={errorButtonLabel} icon={{}} />;\n } else {\n return <Button {...defaultButtonProps} />;\n }\n };\n\n const button = buildButton(dragging, error);\n\n const previewContainer = getClassState(\n style.previewContainer,\n style.modifiedPreviewContainer,\n null,\n modified,\n error\n );\n const inputWrapper = getClassState(\n style.inputWrapper,\n style.modifiedInputWrapper,\n style.errorInputWrapper,\n modified,\n error\n );\n\n const buildContent = () => {\n if (loading) {\n return previewView;\n } else if (!isEmpty(previewContent)) {\n return (\n <div className={classnames(previewContainer, disabled && style.disabled)}>\n {previewView}\n </div>\n );\n } else {\n return (\n <div\n className={classnames(\n dragging ? style.dragging : inputWrapper,\n disabled && style.disabled\n )}\n id={idBox}\n data-name=\"drag-and-drop-box\"\n >\n <div className={style.infosContainer}>\n {error ? (\n <FileUploadBlockedIcon className={style.iconError} />\n ) : (\n <FileUploadIcon className={style.icon} />\n )}\n {description ? <div className={style.description}>{description}</div> : null}\n {error ? null : <div className={style.dragAndDropLabel}>{'Drag & Drop here'}</div>}\n </div>\n {button}\n <div>{children(this.handleDragStart, this.handleDragStop)}</div>\n </div>\n );\n }\n };\n\n const content = buildContent();\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n {content}\n {error ? (\n <span className={classnames(style.errorMessage, disabled && style.disabled)}>\n {error}\n </span>\n ) : (\n resetContent\n )}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","NovaSolidStatusClose","Close","NovaSolidFilesBasicFileUpload2","FileUploadIcon","NovaSolidFilesBasicFileBlock2","FileUploadBlockedIcon","NovaSolidFilesBasicFileLines","FileLinesIcon","classnames","Loader","Button","getClassState","style","constantNull","DragAndDrop","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","error","buttonAriaLabel","errorButtonLabel","disabled","pdfButtonLabel","pdfButtonAriaLabel","previewView","type","preview","src","previewPdf","previewLabelPdf","href","target","download","position","previewXlsxContainer","previewXlsx","iconFile","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","resetUploadWrapper","resetSrcLabel","label","buildButton","defaultButtonProps","icon","button","previewContainer","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","buildContent","infosContainer","iconError","dragAndDropLabel","content","wrapper","errorMessage","propTypes","string","shape","bool","func"],"sources":["../../../src/atom/drag-and-drop/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaSolidStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon,\n NovaSolidFilesBasicFileLines as FileLinesIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../loader';\nimport Button from '../button-link';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string,\n label: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string,\n pdfButtonLabel: PropTypes.string,\n pdfButtonAriaLabel: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null,\n error = '',\n buttonAriaLabel = '',\n errorButtonLabel = '',\n disabled = false,\n pdfButtonLabel,\n pdfButtonAriaLabel\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.preview}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={style.preview}>\n <video controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (previewContent && previewContent.type === 'pdf') {\n previewView = (\n <div className={style.previewPdf}>\n <p className={style.previewLabelPdf}>{previewLabel}</p>\n <Button\n type=\"secondary\"\n link={{href: previewContent.src, target: '_blank', download: false}}\n label={pdfButtonLabel}\n aria-label={pdfButtonAriaLabel}\n data-name=\"default-button-pdf\"\n icon={{\n position: 'left',\n type: 'pdf'\n }}\n />\n </div>\n );\n } else if (previewContent && previewContent.type === 'xlsx') {\n previewView = (\n <div className={style.previewXlsxContainer}>\n <div className={style.previewXlsx}>\n <FileLinesIcon className={style.iconFile} />\n </div>\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n <span className={style.loaderText}>Uploading</span>\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src ? (\n <div className={classnames(style.resetUploadWrapper, disabled && style.disabled)}>\n <div className={style.resetSrcLabel}>\n {previewContent.label ? previewContent.label : previewContent.src}\n </div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n ) : null}\n </div>\n ) : null;\n\n const buildButton = () => {\n const defaultButtonProps = {\n label: uploadLabel,\n 'aria-label': buttonAriaLabel,\n 'data-name': 'default-button',\n icon: {\n position: 'left',\n type: 'folders'\n }\n };\n if (dragging) {\n return null;\n } else if (error) {\n return <Button {...defaultButtonProps} label={errorButtonLabel} icon={{}} />;\n } else {\n return <Button {...defaultButtonProps} />;\n }\n };\n\n const button = buildButton(dragging, error);\n\n const previewContainer = getClassState(\n style.previewContainer,\n style.modifiedPreviewContainer,\n null,\n modified,\n error\n );\n const inputWrapper = getClassState(\n style.inputWrapper,\n style.modifiedInputWrapper,\n style.errorInputWrapper,\n modified,\n error\n );\n\n const buildContent = () => {\n if (loading) {\n return previewView;\n } else if (!isEmpty(previewContent)) {\n return (\n <div className={classnames(previewContainer, disabled && style.disabled)}>\n {previewView}\n </div>\n );\n } else {\n return (\n <div\n className={classnames(\n dragging ? style.dragging : inputWrapper,\n disabled && style.disabled\n )}\n id={idBox}\n data-name=\"drag-and-drop-box\"\n >\n <div className={style.infosContainer}>\n {error ? (\n <FileUploadBlockedIcon className={style.iconError} />\n ) : (\n <FileUploadIcon className={style.icon} />\n )}\n {description ? <div className={style.description}>{description}</div> : null}\n {error ? null : <div className={style.dragAndDropLabel}>{'Drag & Drop here'}</div>}\n </div>\n {button}\n <div>{children(this.handleDragStart, this.handleDragStop)}</div>\n </div>\n );\n }\n };\n\n const content = buildContent();\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n {content}\n {error ? (\n <span className={classnames(style.errorMessage, disabled && style.disabled)}>\n {error}\n </span>\n ) : (\n resetContent\n )}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"mappings":"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"}
|
|
@@ -103,6 +103,7 @@ video {
|
|
|
103
103
|
max-width: 90%;
|
|
104
104
|
white-space: nowrap;
|
|
105
105
|
}
|
|
106
|
+
|
|
106
107
|
.infosContainer {
|
|
107
108
|
width: 100%;
|
|
108
109
|
height: 100%;
|
|
@@ -172,7 +173,7 @@ video {
|
|
|
172
173
|
align-items: center;
|
|
173
174
|
justify-content: space-between;
|
|
174
175
|
margin-top: 16px;
|
|
175
|
-
padding: 8px 14px 8px
|
|
176
|
+
padding: 8px 14px 8px 8px;
|
|
176
177
|
font-size: 12px;
|
|
177
178
|
font-weight: 400;
|
|
178
179
|
position: relative;
|
|
@@ -190,6 +191,7 @@ video {
|
|
|
190
191
|
cursor: pointer;
|
|
191
192
|
color: cm_grey_400;
|
|
192
193
|
margin-left: 6px;
|
|
194
|
+
margin-right: 8px;
|
|
193
195
|
height: 15px;
|
|
194
196
|
width: 15px;
|
|
195
197
|
position: absolute;
|
|
@@ -226,7 +228,7 @@ video {
|
|
|
226
228
|
max-width: 30px;
|
|
227
229
|
max-height: 30px;
|
|
228
230
|
height: 20%;
|
|
229
|
-
width: 20
|
|
231
|
+
width: 20%;
|
|
230
232
|
transition: all 0.2s cubic-bezier(0.47, 1.04, 0.46, 2.16);
|
|
231
233
|
}
|
|
232
234
|
|
|
@@ -278,3 +280,28 @@ video {
|
|
|
278
280
|
font-size: 12px;
|
|
279
281
|
margin-top: 8px;
|
|
280
282
|
}
|
|
283
|
+
|
|
284
|
+
.previewXlsxContainer {
|
|
285
|
+
composes: preview;
|
|
286
|
+
background-color: transparent;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.previewXlsx {
|
|
290
|
+
background-color: #E5E5E5;
|
|
291
|
+
border-radius: 5px;
|
|
292
|
+
width: 38%;
|
|
293
|
+
height: 70%;
|
|
294
|
+
display: flex;
|
|
295
|
+
align-items: center;
|
|
296
|
+
justify-content: center;
|
|
297
|
+
padding: 34px;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.iconFile {
|
|
301
|
+
composes: icon;
|
|
302
|
+
max-width: 32px;
|
|
303
|
+
max-height: 32px;
|
|
304
|
+
height: 25%;
|
|
305
|
+
width: 25%;
|
|
306
|
+
color: #C5C5C9;
|
|
307
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/title-radio-wrapper/index.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/title-radio-wrapper/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAqB1D,QAAA,MAAM,iBAAiB;YAAW,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQvD,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import isEmpty from 'lodash/fp/isEmpty';
|
|
2
3
|
import RadioWithTitle from '../../atom/radio-with-title';
|
|
3
4
|
import SelectMultiple from '../select-multiple';
|
|
4
5
|
import ImageUpload from '../../atom/image-upload';
|
|
5
6
|
import propTypes from './types';
|
|
6
7
|
import style from './style.css';
|
|
7
8
|
|
|
9
|
+
const getContainerStyle = (field, childType) => {
|
|
10
|
+
return childType === 'massive-upload' && (field.loading || isEmpty(field.previewContent)) ? style.containerUpload : style.container;
|
|
11
|
+
};
|
|
12
|
+
|
|
8
13
|
const buildInput = (childType, field) => {
|
|
9
|
-
return childType === 'select-multiple' ? /*#__PURE__*/React.createElement(SelectMultiple, field) : /*#__PURE__*/React.createElement(
|
|
14
|
+
return childType === 'select-multiple' ? /*#__PURE__*/React.createElement(SelectMultiple, field) : /*#__PURE__*/React.createElement("div", {
|
|
15
|
+
className: field.loading || isEmpty(field.previewContent) ? style.containerImageUpload : ''
|
|
16
|
+
}, /*#__PURE__*/React.createElement(ImageUpload, field));
|
|
10
17
|
};
|
|
11
18
|
|
|
12
19
|
const TitleRadioWrapper = props => {
|
|
@@ -16,7 +23,7 @@ const TitleRadioWrapper = props => {
|
|
|
16
23
|
childType
|
|
17
24
|
} = props;
|
|
18
25
|
return /*#__PURE__*/React.createElement("div", {
|
|
19
|
-
className:
|
|
26
|
+
className: getContainerStyle(field, childType)
|
|
20
27
|
}, radioWithTitle ? /*#__PURE__*/React.createElement(RadioWithTitle, radioWithTitle) : null, /*#__PURE__*/React.createElement("div", {
|
|
21
28
|
className: style.field
|
|
22
29
|
}, buildInput(childType, field)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","RadioWithTitle","SelectMultiple","ImageUpload","propTypes","style","
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","isEmpty","RadioWithTitle","SelectMultiple","ImageUpload","propTypes","style","getContainerStyle","field","childType","loading","previewContent","containerUpload","container","buildInput","containerImageUpload","TitleRadioWrapper","props","radioWithTitle"],"sources":["../../../src/molecule/title-radio-wrapper/index.tsx"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport RadioWithTitle from '../../atom/radio-with-title';\nimport SelectMultiple from '../select-multiple';\nimport ImageUpload from '../../atom/image-upload';\nimport propTypes, {TitleRadioWrapperProps} from './types';\nimport style from './style.css';\n\nconst getContainerStyle = (field: Record<string, unknown>, childType: string): string => {\n return childType === 'massive-upload' && (field.loading || isEmpty(field.previewContent))\n ? style.containerUpload\n : style.container;\n};\n\nconst buildInput = (childType: string, field: any) => {\n return childType === 'select-multiple' ? (\n <SelectMultiple {...field} />\n ) : (\n <div\n className={field.loading || isEmpty(field.previewContent) ? style.containerImageUpload : ''}\n >\n <ImageUpload {...field} />\n </div>\n );\n};\n\nconst TitleRadioWrapper = (props: TitleRadioWrapperProps) => {\n const {radioWithTitle, field, childType} = props;\n return (\n <div className={getContainerStyle(field, childType)}>\n {radioWithTitle ? <RadioWithTitle {...radioWithTitle} /> : null}\n <div className={style.field}>{buildInput(childType, field)}</div>\n </div>\n );\n};\n\nTitleRadioWrapper.propTypes = propTypes;\n\nexport default TitleRadioWrapper;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,cAAP,MAA2B,6BAA3B;AACA,OAAOC,cAAP,MAA2B,oBAA3B;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,SAAP,MAAgD,SAAhD;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,iBAAiB,GAAG,CAACC,KAAD,EAAiCC,SAAjC,KAA+D;EACvF,OAAOA,SAAS,KAAK,gBAAd,KAAmCD,KAAK,CAACE,OAAN,IAAiBT,OAAO,CAACO,KAAK,CAACG,cAAP,CAA3D,IACHL,KAAK,CAACM,eADH,GAEHN,KAAK,CAACO,SAFV;AAGD,CAJD;;AAMA,MAAMC,UAAU,GAAG,CAACL,SAAD,EAAoBD,KAApB,KAAmC;EACpD,OAAOC,SAAS,KAAK,iBAAd,gBACL,oBAAC,cAAD,EAAoBD,KAApB,CADK,gBAGL;IACE,SAAS,EAAEA,KAAK,CAACE,OAAN,IAAiBT,OAAO,CAACO,KAAK,CAACG,cAAP,CAAxB,GAAiDL,KAAK,CAACS,oBAAvD,GAA8E;EAD3F,gBAGE,oBAAC,WAAD,EAAiBP,KAAjB,CAHF,CAHF;AASD,CAVD;;AAYA,MAAMQ,iBAAiB,GAAIC,KAAD,IAAmC;EAC3D,MAAM;IAACC,cAAD;IAAiBV,KAAjB;IAAwBC;EAAxB,IAAqCQ,KAA3C;EACA,oBACE;IAAK,SAAS,EAAEV,iBAAiB,CAACC,KAAD,EAAQC,SAAR;EAAjC,GACGS,cAAc,gBAAG,oBAAC,cAAD,EAAoBA,cAApB,CAAH,GAA4C,IAD7D,eAEE;IAAK,SAAS,EAAEZ,KAAK,CAACE;EAAtB,GAA8BM,UAAU,CAACL,SAAD,EAAYD,KAAZ,CAAxC,CAFF,CADF;AAMD,CARD;;AAUAQ,iBAAiB,CAACX,SAAlB,2CAA8BA,SAA9B;AAEA,eAAeW,iBAAf"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
.container {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
display: flex;
|
|
3
|
+
gap: 16px;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.containerUpload {
|
|
8
|
+
composes: container;
|
|
9
|
+
margin-bottom: 60px ;
|
|
10
|
+
|
|
5
11
|
}
|
|
6
12
|
|
|
7
13
|
.field {
|
|
8
|
-
|
|
9
|
-
|
|
14
|
+
margin-left: 40px;
|
|
15
|
+
max-width: 300px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.containerImageUpload {
|
|
19
|
+
height: 140px;
|
|
10
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/drag-and-drop/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/drag-and-drop/index.js"],"names":[],"mappings":";AAiBA;IACE;;;;;;;;;;;;;;;;;;;;MAoBE;IAEF,wBASC;IANC;;MAEC;IAMH,wBAIC;IAED,uBAIC;IAED,sBA0LC;CACF"}
|
|
@@ -111,6 +111,14 @@ class DragAndDrop extends _react.default.Component {
|
|
|
111
111
|
type: 'pdf'
|
|
112
112
|
}
|
|
113
113
|
}));
|
|
114
|
+
} else if (previewContent && previewContent.type === 'xlsx') {
|
|
115
|
+
previewView = /*#__PURE__*/_react.default.createElement("div", {
|
|
116
|
+
className: _style.default.previewXlsxContainer
|
|
117
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
118
|
+
className: _style.default.previewXlsx
|
|
119
|
+
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidFilesBasicFileLines, {
|
|
120
|
+
className: _style.default.iconFile
|
|
121
|
+
})));
|
|
114
122
|
} else if (loading) {
|
|
115
123
|
previewView = /*#__PURE__*/_react.default.createElement("div", {
|
|
116
124
|
className: _style.default.loaderWrapper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["constantNull","DragAndDrop","React","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","error","buttonAriaLabel","errorButtonLabel","disabled","pdfButtonLabel","pdfButtonAriaLabel","previewView","type","style","preview","src","previewPdf","previewLabelPdf","href","target","download","position","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","classnames","resetUploadWrapper","resetSrcLabel","label","buildButton","defaultButtonProps","icon","button","previewContainer","getClassState","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","buildContent","infosContainer","iconError","dragAndDropLabel","content","wrapper","errorMessage","propTypes","PropTypes","string","shape","bool","func"],"sources":["../../../src/atom/drag-and-drop/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaSolidStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../loader';\nimport Button from '../button-link';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string,\n label: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string,\n pdfButtonLabel: PropTypes.string,\n pdfButtonAriaLabel: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null,\n error = '',\n buttonAriaLabel = '',\n errorButtonLabel = '',\n disabled = false,\n pdfButtonLabel,\n pdfButtonAriaLabel\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.preview}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={style.preview}>\n <video controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (previewContent && previewContent.type === 'pdf') {\n previewView = (\n <div className={style.previewPdf}>\n <p className={style.previewLabelPdf}>{previewLabel}</p>\n <Button\n type=\"secondary\"\n link={{href: previewContent.src, target: '_blank', download: false}}\n label={pdfButtonLabel}\n aria-label={pdfButtonAriaLabel}\n data-name=\"default-button-pdf\"\n icon={{\n position: 'left',\n type: 'pdf'\n }}\n />\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n <span className={style.loaderText}>Uploading</span>\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src ? (\n <div className={classnames(style.resetUploadWrapper, disabled && style.disabled)}>\n <div className={style.resetSrcLabel}>\n {previewContent.label ? previewContent.label : previewContent.src}\n </div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n ) : null}\n </div>\n ) : null;\n\n const buildButton = () => {\n const defaultButtonProps = {\n label: uploadLabel,\n 'aria-label': buttonAriaLabel,\n 'data-name': 'default-button',\n icon: {\n position: 'left',\n type: 'folders'\n }\n };\n if (dragging) {\n return null;\n } else if (error) {\n return <Button {...defaultButtonProps} label={errorButtonLabel} icon={{}} />;\n } else {\n return <Button {...defaultButtonProps} />;\n }\n };\n\n const button = buildButton(dragging, error);\n\n const previewContainer = getClassState(\n style.previewContainer,\n style.modifiedPreviewContainer,\n null,\n modified,\n error\n );\n const inputWrapper = getClassState(\n style.inputWrapper,\n style.modifiedInputWrapper,\n style.errorInputWrapper,\n modified,\n error\n );\n\n const buildContent = () => {\n if (loading) {\n return previewView;\n } else if (!isEmpty(previewContent)) {\n return (\n <div className={classnames(previewContainer, disabled && style.disabled)}>\n {previewView}\n </div>\n );\n } else {\n return (\n <div\n className={classnames(\n dragging ? style.dragging : inputWrapper,\n disabled && style.disabled\n )}\n id={idBox}\n data-name=\"drag-and-drop-box\"\n >\n <div className={style.infosContainer}>\n {error ? (\n <FileUploadBlockedIcon className={style.iconError} />\n ) : (\n <FileUploadIcon className={style.icon} />\n )}\n {description ? <div className={style.description}>{description}</div> : null}\n {error ? null : <div className={style.dragAndDropLabel}>{'Drag & Drop here'}</div>}\n </div>\n {button}\n <div>{children(this.handleDragStart, this.handleDragStop)}</div>\n </div>\n );\n }\n };\n\n const content = buildContent();\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n {content}\n {error ? (\n <span className={classnames(style.errorMessage, disabled && style.disabled)}>\n {error}\n </span>\n ) : (\n resetContent\n )}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["constantNull","DragAndDrop","React","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","error","buttonAriaLabel","errorButtonLabel","disabled","pdfButtonLabel","pdfButtonAriaLabel","previewView","type","style","preview","src","previewPdf","previewLabelPdf","href","target","download","position","previewXlsxContainer","previewXlsx","iconFile","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","classnames","resetUploadWrapper","resetSrcLabel","label","buildButton","defaultButtonProps","icon","button","previewContainer","getClassState","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","buildContent","infosContainer","iconError","dragAndDropLabel","content","wrapper","errorMessage","propTypes","PropTypes","string","shape","bool","func"],"sources":["../../../src/atom/drag-and-drop/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaSolidStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon,\n NovaSolidFilesBasicFileLines as FileLinesIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../loader';\nimport Button from '../button-link';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string,\n label: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string,\n pdfButtonLabel: PropTypes.string,\n pdfButtonAriaLabel: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null,\n error = '',\n buttonAriaLabel = '',\n errorButtonLabel = '',\n disabled = false,\n pdfButtonLabel,\n pdfButtonAriaLabel\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.preview}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={style.preview}>\n <video controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (previewContent && previewContent.type === 'pdf') {\n previewView = (\n <div className={style.previewPdf}>\n <p className={style.previewLabelPdf}>{previewLabel}</p>\n <Button\n type=\"secondary\"\n link={{href: previewContent.src, target: '_blank', download: false}}\n label={pdfButtonLabel}\n aria-label={pdfButtonAriaLabel}\n data-name=\"default-button-pdf\"\n icon={{\n position: 'left',\n type: 'pdf'\n }}\n />\n </div>\n );\n } else if (previewContent && previewContent.type === 'xlsx') {\n previewView = (\n <div className={style.previewXlsxContainer}>\n <div className={style.previewXlsx}>\n <FileLinesIcon className={style.iconFile} />\n </div>\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n <span className={style.loaderText}>Uploading</span>\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src ? (\n <div className={classnames(style.resetUploadWrapper, disabled && style.disabled)}>\n <div className={style.resetSrcLabel}>\n {previewContent.label ? previewContent.label : previewContent.src}\n </div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n ) : null}\n </div>\n ) : null;\n\n const buildButton = () => {\n const defaultButtonProps = {\n label: uploadLabel,\n 'aria-label': buttonAriaLabel,\n 'data-name': 'default-button',\n icon: {\n position: 'left',\n type: 'folders'\n }\n };\n if (dragging) {\n return null;\n } else if (error) {\n return <Button {...defaultButtonProps} label={errorButtonLabel} icon={{}} />;\n } else {\n return <Button {...defaultButtonProps} />;\n }\n };\n\n const button = buildButton(dragging, error);\n\n const previewContainer = getClassState(\n style.previewContainer,\n style.modifiedPreviewContainer,\n null,\n modified,\n error\n );\n const inputWrapper = getClassState(\n style.inputWrapper,\n style.modifiedInputWrapper,\n style.errorInputWrapper,\n modified,\n error\n );\n\n const buildContent = () => {\n if (loading) {\n return previewView;\n } else if (!isEmpty(previewContent)) {\n return (\n <div className={classnames(previewContainer, disabled && style.disabled)}>\n {previewView}\n </div>\n );\n } else {\n return (\n <div\n className={classnames(\n dragging ? style.dragging : inputWrapper,\n disabled && style.disabled\n )}\n id={idBox}\n data-name=\"drag-and-drop-box\"\n >\n <div className={style.infosContainer}>\n {error ? (\n <FileUploadBlockedIcon className={style.iconError} />\n ) : (\n <FileUploadIcon className={style.icon} />\n )}\n {description ? <div className={style.description}>{description}</div> : null}\n {error ? null : <div className={style.dragAndDropLabel}>{'Drag & Drop here'}</div>}\n </div>\n {button}\n <div>{children(this.handleDragStart, this.handleDragStop)}</div>\n </div>\n );\n }\n };\n\n const content = buildContent();\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n {content}\n {error ? (\n <span className={classnames(style.errorMessage, disabled && style.disabled)}>\n {error}\n </span>\n ) : (\n resetContent\n )}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"mappings":"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"}
|
|
@@ -103,6 +103,7 @@ video {
|
|
|
103
103
|
max-width: 90%;
|
|
104
104
|
white-space: nowrap;
|
|
105
105
|
}
|
|
106
|
+
|
|
106
107
|
.infosContainer {
|
|
107
108
|
width: 100%;
|
|
108
109
|
height: 100%;
|
|
@@ -172,7 +173,7 @@ video {
|
|
|
172
173
|
align-items: center;
|
|
173
174
|
justify-content: space-between;
|
|
174
175
|
margin-top: 16px;
|
|
175
|
-
padding: 8px 14px 8px
|
|
176
|
+
padding: 8px 14px 8px 8px;
|
|
176
177
|
font-size: 12px;
|
|
177
178
|
font-weight: 400;
|
|
178
179
|
position: relative;
|
|
@@ -190,6 +191,7 @@ video {
|
|
|
190
191
|
cursor: pointer;
|
|
191
192
|
color: cm_grey_400;
|
|
192
193
|
margin-left: 6px;
|
|
194
|
+
margin-right: 8px;
|
|
193
195
|
height: 15px;
|
|
194
196
|
width: 15px;
|
|
195
197
|
position: absolute;
|
|
@@ -226,7 +228,7 @@ video {
|
|
|
226
228
|
max-width: 30px;
|
|
227
229
|
max-height: 30px;
|
|
228
230
|
height: 20%;
|
|
229
|
-
width: 20
|
|
231
|
+
width: 20%;
|
|
230
232
|
transition: all 0.2s cubic-bezier(0.47, 1.04, 0.46, 2.16);
|
|
231
233
|
}
|
|
232
234
|
|
|
@@ -278,3 +280,28 @@ video {
|
|
|
278
280
|
font-size: 12px;
|
|
279
281
|
margin-top: 8px;
|
|
280
282
|
}
|
|
283
|
+
|
|
284
|
+
.previewXlsxContainer {
|
|
285
|
+
composes: preview;
|
|
286
|
+
background-color: transparent;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.previewXlsx {
|
|
290
|
+
background-color: #E5E5E5;
|
|
291
|
+
border-radius: 5px;
|
|
292
|
+
width: 38%;
|
|
293
|
+
height: 70%;
|
|
294
|
+
display: flex;
|
|
295
|
+
align-items: center;
|
|
296
|
+
justify-content: center;
|
|
297
|
+
padding: 34px;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.iconFile {
|
|
301
|
+
composes: icon;
|
|
302
|
+
max-width: 32px;
|
|
303
|
+
max-height: 32px;
|
|
304
|
+
height: 25%;
|
|
305
|
+
width: 25%;
|
|
306
|
+
color: #C5C5C9;
|
|
307
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/title-radio-wrapper/index.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/title-radio-wrapper/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAqB1D,QAAA,MAAM,iBAAiB;YAAW,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQvD,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
|
|
@@ -5,6 +5,8 @@ exports.default = void 0;
|
|
|
5
5
|
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
|
|
8
|
+
var _isEmpty = _interopRequireDefault(require("lodash/fp/isEmpty"));
|
|
9
|
+
|
|
8
10
|
var _radioWithTitle = _interopRequireDefault(require("../../atom/radio-with-title"));
|
|
9
11
|
|
|
10
12
|
var _selectMultiple = _interopRequireDefault(require("../select-multiple"));
|
|
@@ -17,8 +19,14 @@ var _style = _interopRequireDefault(require("./style.css"));
|
|
|
17
19
|
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
21
|
|
|
22
|
+
const getContainerStyle = (field, childType) => {
|
|
23
|
+
return childType === 'massive-upload' && (field.loading || (0, _isEmpty.default)(field.previewContent)) ? _style.default.containerUpload : _style.default.container;
|
|
24
|
+
};
|
|
25
|
+
|
|
20
26
|
const buildInput = (childType, field) => {
|
|
21
|
-
return childType === 'select-multiple' ? /*#__PURE__*/_react.default.createElement(_selectMultiple.default, field) : /*#__PURE__*/_react.default.createElement(
|
|
27
|
+
return childType === 'select-multiple' ? /*#__PURE__*/_react.default.createElement(_selectMultiple.default, field) : /*#__PURE__*/_react.default.createElement("div", {
|
|
28
|
+
className: field.loading || (0, _isEmpty.default)(field.previewContent) ? _style.default.containerImageUpload : ''
|
|
29
|
+
}, /*#__PURE__*/_react.default.createElement(_imageUpload.default, field));
|
|
22
30
|
};
|
|
23
31
|
|
|
24
32
|
const TitleRadioWrapper = props => {
|
|
@@ -28,7 +36,7 @@ const TitleRadioWrapper = props => {
|
|
|
28
36
|
childType
|
|
29
37
|
} = props;
|
|
30
38
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
31
|
-
className:
|
|
39
|
+
className: getContainerStyle(field, childType)
|
|
32
40
|
}, radioWithTitle ? /*#__PURE__*/_react.default.createElement(_radioWithTitle.default, radioWithTitle) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
33
41
|
className: _style.default.field
|
|
34
42
|
}, buildInput(childType, field)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["getContainerStyle","field","childType","loading","isEmpty","previewContent","style","containerUpload","container","buildInput","containerImageUpload","TitleRadioWrapper","props","radioWithTitle","propTypes"],"sources":["../../../src/molecule/title-radio-wrapper/index.tsx"],"sourcesContent":["import React from 'react';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport RadioWithTitle from '../../atom/radio-with-title';\nimport SelectMultiple from '../select-multiple';\nimport ImageUpload from '../../atom/image-upload';\nimport propTypes, {TitleRadioWrapperProps} from './types';\nimport style from './style.css';\n\nconst getContainerStyle = (field: Record<string, unknown>, childType: string): string => {\n return childType === 'massive-upload' && (field.loading || isEmpty(field.previewContent))\n ? style.containerUpload\n : style.container;\n};\n\nconst buildInput = (childType: string, field: any) => {\n return childType === 'select-multiple' ? (\n <SelectMultiple {...field} />\n ) : (\n <div\n className={field.loading || isEmpty(field.previewContent) ? style.containerImageUpload : ''}\n >\n <ImageUpload {...field} />\n </div>\n );\n};\n\nconst TitleRadioWrapper = (props: TitleRadioWrapperProps) => {\n const {radioWithTitle, field, childType} = props;\n return (\n <div className={getContainerStyle(field, childType)}>\n {radioWithTitle ? <RadioWithTitle {...radioWithTitle} /> : null}\n <div className={style.field}>{buildInput(childType, field)}</div>\n </div>\n );\n};\n\nTitleRadioWrapper.propTypes = propTypes;\n\nexport default TitleRadioWrapper;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,iBAAiB,GAAG,CAACC,KAAD,EAAiCC,SAAjC,KAA+D;EACvF,OAAOA,SAAS,KAAK,gBAAd,KAAmCD,KAAK,CAACE,OAAN,IAAiB,IAAAC,gBAAA,EAAQH,KAAK,CAACI,cAAd,CAApD,IACHC,cAAA,CAAMC,eADH,GAEHD,cAAA,CAAME,SAFV;AAGD,CAJD;;AAMA,MAAMC,UAAU,GAAG,CAACP,SAAD,EAAoBD,KAApB,KAAmC;EACpD,OAAOC,SAAS,KAAK,iBAAd,gBACL,6BAAC,uBAAD,EAAoBD,KAApB,CADK,gBAGL;IACE,SAAS,EAAEA,KAAK,CAACE,OAAN,IAAiB,IAAAC,gBAAA,EAAQH,KAAK,CAACI,cAAd,CAAjB,GAAiDC,cAAA,CAAMI,oBAAvD,GAA8E;EAD3F,gBAGE,6BAAC,oBAAD,EAAiBT,KAAjB,CAHF,CAHF;AASD,CAVD;;AAYA,MAAMU,iBAAiB,GAAIC,KAAD,IAAmC;EAC3D,MAAM;IAACC,cAAD;IAAiBZ,KAAjB;IAAwBC;EAAxB,IAAqCU,KAA3C;EACA,oBACE;IAAK,SAAS,EAAEZ,iBAAiB,CAACC,KAAD,EAAQC,SAAR;EAAjC,GACGW,cAAc,gBAAG,6BAAC,uBAAD,EAAoBA,cAApB,CAAH,GAA4C,IAD7D,eAEE;IAAK,SAAS,EAAEP,cAAA,CAAML;EAAtB,GAA8BQ,UAAU,CAACP,SAAD,EAAYD,KAAZ,CAAxC,CAFF,CADF;AAMD,CARD;;AAUAU,iBAAiB,CAACG,SAAlB,2CAA8BA,cAA9B;eAEeH,iB"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
.container {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
display: flex;
|
|
3
|
+
gap: 16px;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.containerUpload {
|
|
8
|
+
composes: container;
|
|
9
|
+
margin-bottom: 60px ;
|
|
10
|
+
|
|
5
11
|
}
|
|
6
12
|
|
|
7
13
|
.field {
|
|
8
|
-
|
|
9
|
-
|
|
14
|
+
margin-left: 40px;
|
|
15
|
+
max-width: 300px;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.containerImageUpload {
|
|
19
|
+
height: 140px;
|
|
10
20
|
}
|
package/locales/bs/global.json
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"media_stars_to_win_plural": "Osvoji {{count}} dodatnu zvijezdu u ovom poglavlju prvi put kad vidiš lekciju!",
|
|
31
31
|
"media_stars_to_win": "Osvoji {{count}} dodatnu zvijezdu u ovom poglavlju prvi put kad vidiš lekciju!",
|
|
32
32
|
"More": "Više",
|
|
33
|
+
"More details": "More details",
|
|
33
34
|
"New media": "Nova lekcija",
|
|
34
35
|
"No Selected Dashboard": "Nema izabrane kontrolne table",
|
|
35
36
|
"No status": "NEMA STATUS",
|
|
@@ -74,8 +75,7 @@
|
|
|
74
75
|
"Validated": "Provjereno",
|
|
75
76
|
"Video Loading Error": "Pojavila se greška prilikom učitavanja videa. Molimo pokušajte ponovo.",
|
|
76
77
|
"Wait_creation": "Platforma se priprema. Ovo može potrajati nekoliko sekundi, molimo vas sačekajte ...",
|
|
77
|
-
"
|
|
78
|
-
"comment_aria_label": "dodajte svoj komentar",
|
|
78
|
+
"comment_aria_label": "Add your comment",
|
|
79
79
|
"zuora_discount_code_submit": "Primijeni",
|
|
80
80
|
"zuora_discount_code": "Promotivni kod",
|
|
81
81
|
"mandatory_fields": "* Obavezna polja",
|
|
@@ -88,9 +88,11 @@
|
|
|
88
88
|
"bulk_import": {
|
|
89
89
|
"errors_number": "broj grešaka masovnog uvoza je {{bulkImportErrorsNumber}}",
|
|
90
90
|
"valid_scorm": "scorm datoteka je važeća",
|
|
91
|
-
"invalid_scorm": "scorm datoteka nije važeća"
|
|
91
|
+
"invalid_scorm": "scorm datoteka nije važeća",
|
|
92
|
+
"show_errors": "show errors"
|
|
92
93
|
},
|
|
93
94
|
"close_button_ariaLabel": "Zatvorite slajd za recenziju",
|
|
94
95
|
"post_comment_aria_label": "Objavite svoj komentar",
|
|
95
|
-
"validate_aria_label": "Potvrdite svoj odgovor i idite na sljedeći korak"
|
|
96
|
+
"validate_aria_label": "Potvrdite svoj odgovor i idite na sljedeći korak",
|
|
97
|
+
"stars": "zvijezde"
|
|
96
98
|
}
|
package/locales/cs/global.json
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"media_stars_to_win_plural": "Získejte další hvězdy ({{count}}) v této kapitole při prvním zobrazení lekce!",
|
|
31
31
|
"media_stars_to_win": "Vyhrajte další hvězdu ({{count}}) v této kapitole při prvním zobrazení lekce!",
|
|
32
32
|
"More": "Více",
|
|
33
|
+
"More details": "More details",
|
|
33
34
|
"New media": "Nová lekce",
|
|
34
35
|
"No Selected Dashboard": "Žádný vybraný ovládací panel",
|
|
35
36
|
"No status": "Žádný stav",
|
|
@@ -74,8 +75,7 @@
|
|
|
74
75
|
"Validated": "Ověřeno",
|
|
75
76
|
"Video Loading Error": "Při načítání videa došlo k chybě, zkuste to znovu.",
|
|
76
77
|
"Wait_creation": "Platforma se vytváří Může to trvat několik sekund. Prosím počkejte...",
|
|
77
|
-
"
|
|
78
|
-
"comment_aria_label": "přidejte svůj komentář",
|
|
78
|
+
"comment_aria_label": "Add your comment",
|
|
79
79
|
"zuora_discount_code_submit": "Použít",
|
|
80
80
|
"zuora_discount_code": "Propagační kód",
|
|
81
81
|
"mandatory_fields": "*Mandatory fields",
|
|
@@ -88,9 +88,11 @@
|
|
|
88
88
|
"bulk_import": {
|
|
89
89
|
"errors_number": "počet chyb hromadného importu je {{bulkImportErrorsNumber}}",
|
|
90
90
|
"valid_scorm": "soubor scorm je platný",
|
|
91
|
-
"invalid_scorm": "soubor scorm je neplatný"
|
|
91
|
+
"invalid_scorm": "soubor scorm je neplatný",
|
|
92
|
+
"show_errors": "show errors"
|
|
92
93
|
},
|
|
93
94
|
"close_button_ariaLabel": "Zavřít snímek recenze",
|
|
94
95
|
"post_comment_aria_label": "Zveřejnit komentář",
|
|
95
|
-
"validate_aria_label": "Ověřte vlastní odpověď a přejděte k dalšímu kroku"
|
|
96
|
+
"validate_aria_label": "Ověřte vlastní odpověď a přejděte k dalšímu kroku",
|
|
97
|
+
"stars": "hvězdy"
|
|
96
98
|
}
|
package/locales/de/global.json
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"media_stars_to_win_plural": "Gewinnen Sie {{count}} zusätzliche Sterne in diesem Kapitel, wenn Sie die Lektion das erste Mal ansehen!",
|
|
31
31
|
"media_stars_to_win": "Gewinnen Sie {{count}} zusätzliche Sterne in diesem Kapitel, wenn Sie die Lektion das erste Mal ansehen!",
|
|
32
32
|
"More": "Mehr",
|
|
33
|
+
"More details": "More details",
|
|
33
34
|
"New media": "Neue Lektion",
|
|
34
35
|
"No Selected Dashboard": "Kein Dashboard ausgewählt",
|
|
35
36
|
"No status": "Kein Status",
|
|
@@ -74,8 +75,7 @@
|
|
|
74
75
|
"Validated": "Bestätigt",
|
|
75
76
|
"Video Loading Error": "Beim Laden des Videos ist ein Fehler aufgetreten, bitte versuchen Sie es erneut.",
|
|
76
77
|
"Wait_creation": "Die Plattform wird erstellt. Das kann einige Sekunden dauern. Bitte warten Sie...",
|
|
77
|
-
"
|
|
78
|
-
"comment_aria_label": "Füge deinen Kommentar hinzu",
|
|
78
|
+
"comment_aria_label": "Add your comment",
|
|
79
79
|
"zuora_discount_code_submit": "Anwenden",
|
|
80
80
|
"zuora_discount_code": "Promo-Code",
|
|
81
81
|
"mandatory_fields": "*Mandatory fields",
|
|
@@ -88,9 +88,11 @@
|
|
|
88
88
|
"bulk_import": {
|
|
89
89
|
"errors_number": "Massenimport-Fehlernummer ist {{bulkImportErrorsNumber}}",
|
|
90
90
|
"valid_scorm": "Scorm-Datei ist gültig",
|
|
91
|
-
"invalid_scorm": "Scorm-Datei ist ungültig"
|
|
91
|
+
"invalid_scorm": "Scorm-Datei ist ungültig",
|
|
92
|
+
"show_errors": "show errors"
|
|
92
93
|
},
|
|
93
94
|
"close_button_ariaLabel": "Bewertungsfolie schließen",
|
|
94
95
|
"post_comment_aria_label": "Veröffentlichen Sie Ihren Kommentar",
|
|
95
|
-
"validate_aria_label": "Bestätigen Sie Ihre Antwort und gehen Sie zum nächsten Schritt"
|
|
96
|
+
"validate_aria_label": "Bestätigen Sie Ihre Antwort und gehen Sie zum nächsten Schritt",
|
|
97
|
+
"stars": "Sterne"
|
|
96
98
|
}
|
package/locales/es/global.json
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"media_stars_to_win_plural": "Gana {{count}} estrellas adicionales en este capítulo la primera vez que veas una lección.",
|
|
31
31
|
"media_stars_to_win": "Gana {{count}} estrellas adicionales en este capítulo la primera vez que veas una lección.",
|
|
32
32
|
"More": "Más",
|
|
33
|
+
"More details": "More details",
|
|
33
34
|
"New media": "Nueva lección",
|
|
34
35
|
"No Selected Dashboard": "No se ha seleccionado un panel",
|
|
35
36
|
"No status": "Sin Estado",
|
|
@@ -74,8 +75,7 @@
|
|
|
74
75
|
"Validated": "Validado",
|
|
75
76
|
"Video Loading Error": "Se ha producido un error al cargar el vídeo, se ruega volver a probar.",
|
|
76
77
|
"Wait_creation": "La plataforma se está creando. Esto puede tardar varios segundos. Por favor, espera...",
|
|
77
|
-
"
|
|
78
|
-
"comment_aria_label": "añada su comentario",
|
|
78
|
+
"comment_aria_label": "Add your comment",
|
|
79
79
|
"zuora_discount_code_submit": "Aplicar",
|
|
80
80
|
"zuora_discount_code": "Código promocional",
|
|
81
81
|
"mandatory_fields": "*Mandatory fields",
|
|
@@ -88,9 +88,11 @@
|
|
|
88
88
|
"bulk_import": {
|
|
89
89
|
"errors_number": "El número de errores de la importación masiva es de {{bulkImportErrorsNumber}}",
|
|
90
90
|
"valid_scorm": "el archivo scorm es válido",
|
|
91
|
-
"invalid_scorm": "el archivo scorm no es válido"
|
|
91
|
+
"invalid_scorm": "el archivo scorm no es válido",
|
|
92
|
+
"show_errors": "mostrar errores"
|
|
92
93
|
},
|
|
93
94
|
"close_button_ariaLabel": "Cerrar pantalla de reseña",
|
|
94
95
|
"post_comment_aria_label": "Publique su comentario",
|
|
95
|
-
"validate_aria_label": "Valide su respuesta y vaya al paso siguiente"
|
|
96
|
+
"validate_aria_label": "Valide su respuesta y vaya al paso siguiente",
|
|
97
|
+
"stars": "estrellas"
|
|
96
98
|
}
|