@coorpacademy/components 11.19.0 → 11.19.1-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/es/atom/button-link/index.js +2 -2
  2. package/es/atom/button-link/index.js.map +1 -1
  3. package/es/atom/button-link/style.css +1 -0
  4. package/es/atom/drag-and-drop/index.d.ts +1 -0
  5. package/es/atom/drag-and-drop/index.d.ts.map +1 -1
  6. package/es/atom/drag-and-drop/index.js +24 -6
  7. package/es/atom/drag-and-drop/index.js.map +1 -1
  8. package/es/atom/drag-and-drop/style.css +22 -7
  9. package/es/atom/{image-upload → input-file-draggable}/index.d.ts +10 -5
  10. package/es/atom/input-file-draggable/index.d.ts.map +1 -0
  11. package/es/atom/{image-upload → input-file-draggable}/index.js +34 -11
  12. package/es/atom/input-file-draggable/index.js.map +1 -0
  13. package/es/atom/input-file-draggable/style.css +81 -0
  14. package/es/atom/video-upload/index.d.ts +1 -0
  15. package/es/molecule/brand-form-group/index.js +5 -5
  16. package/es/molecule/brand-form-group/index.js.map +1 -1
  17. package/es/molecule/cm-popin/index.d.ts.map +1 -1
  18. package/es/molecule/cm-popin/index.js +27 -20
  19. package/es/molecule/cm-popin/index.js.map +1 -1
  20. package/es/molecule/cm-popin/style.css +111 -72
  21. package/es/molecule/cm-popin/types.d.ts +182 -5
  22. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  23. package/es/molecule/cm-popin/types.js +5 -3
  24. package/es/molecule/cm-popin/types.js.map +1 -1
  25. package/es/molecule/drag-and-drop-wrapper/index.d.ts +2 -1
  26. package/es/molecule/drag-and-drop-wrapper/index.js +3 -3
  27. package/es/molecule/drag-and-drop-wrapper/index.js.map +1 -1
  28. package/es/molecule/setup-slider/index.js +3 -3
  29. package/es/molecule/setup-slider/index.js.map +1 -1
  30. package/es/molecule/title-and-checkbox-wrapper/index.d.ts +2 -1
  31. package/es/molecule/title-radio-wrapper/index.d.ts +18 -17
  32. package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  33. package/es/molecule/title-radio-wrapper/index.js +2 -2
  34. package/es/molecule/title-radio-wrapper/index.js.map +1 -1
  35. package/es/molecule/title-radio-wrapper/types.d.ts +20 -19
  36. package/es/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  37. package/es/molecule/title-radio-wrapper/types.js +2 -2
  38. package/es/molecule/title-radio-wrapper/types.js.map +1 -1
  39. package/es/organism/list-item/index.d.ts.map +1 -1
  40. package/es/organism/list-item/index.js +2 -5
  41. package/es/organism/list-item/index.js.map +1 -1
  42. package/es/organism/list-item/style.css +3 -7
  43. package/es/organism/list-items/index.d.ts.map +1 -1
  44. package/es/organism/list-items/index.js +1 -3
  45. package/es/organism/list-items/index.js.map +1 -1
  46. package/es/organism/list-items/style.css +1 -4
  47. package/es/organism/rewards-form/index.d.ts +2 -1
  48. package/es/organism/select-opponents/index.d.ts +18 -17
  49. package/es/organism/select-opponents/index.d.ts.map +1 -1
  50. package/es/organism/select-opponents/types.d.ts +18 -17
  51. package/es/organism/select-opponents/types.d.ts.map +1 -1
  52. package/es/organism/setup-header/style.css +3 -1
  53. package/es/organism/title-and-input/index.d.ts +18 -17
  54. package/es/organism/title-and-input/index.d.ts.map +1 -1
  55. package/es/organism/title-and-input/types.d.ts +18 -17
  56. package/es/organism/title-and-input/types.d.ts.map +1 -1
  57. package/es/organism/wizard-contents/index.d.ts +2 -1
  58. package/es/template/app-player/loading/index.d.ts +178 -2
  59. package/es/template/app-player/player/index.d.ts +356 -4
  60. package/es/template/app-player/player/slides/index.d.ts +178 -2
  61. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  62. package/es/template/app-player/popin-correction/index.d.ts +178 -2
  63. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  64. package/es/template/app-player/popin-end/index.d.ts +178 -2
  65. package/es/template/app-review/index.d.ts +178 -2
  66. package/es/template/app-review/index.d.ts.map +1 -1
  67. package/es/template/app-review/player/prop-types.d.ts +178 -2
  68. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  69. package/es/template/app-review/prop-types.d.ts +178 -2
  70. package/es/template/app-review/prop-types.d.ts.map +1 -1
  71. package/es/template/back-office/brand-update/index.d.ts +178 -2
  72. package/es/template/cockpit/jw-uploader/index.d.ts +1 -0
  73. package/es/template/common/dashboard/index.d.ts +356 -4
  74. package/es/template/common/search-page/index.d.ts +178 -2
  75. package/es/template/external-course/index.d.ts +178 -2
  76. package/es/util/proptypes.d.ts +1 -1
  77. package/es/util/proptypes.d.ts.map +1 -1
  78. package/es/util/proptypes.js +6 -5
  79. package/es/util/proptypes.js.map +1 -1
  80. package/lib/atom/button-link/index.js +2 -2
  81. package/lib/atom/button-link/index.js.map +1 -1
  82. package/lib/atom/button-link/style.css +1 -0
  83. package/lib/atom/drag-and-drop/index.d.ts +1 -0
  84. package/lib/atom/drag-and-drop/index.d.ts.map +1 -1
  85. package/lib/atom/drag-and-drop/index.js +24 -6
  86. package/lib/atom/drag-and-drop/index.js.map +1 -1
  87. package/lib/atom/drag-and-drop/style.css +22 -7
  88. package/lib/atom/{image-upload → input-file-draggable}/index.d.ts +10 -5
  89. package/lib/atom/input-file-draggable/index.d.ts.map +1 -0
  90. package/lib/atom/{image-upload → input-file-draggable}/index.js +34 -10
  91. package/lib/atom/input-file-draggable/index.js.map +1 -0
  92. package/lib/atom/input-file-draggable/style.css +81 -0
  93. package/lib/atom/video-upload/index.d.ts +1 -0
  94. package/lib/molecule/brand-form-group/index.js +5 -5
  95. package/lib/molecule/brand-form-group/index.js.map +1 -1
  96. package/lib/molecule/cm-popin/index.d.ts.map +1 -1
  97. package/lib/molecule/cm-popin/index.js +29 -19
  98. package/lib/molecule/cm-popin/index.js.map +1 -1
  99. package/lib/molecule/cm-popin/style.css +111 -72
  100. package/lib/molecule/cm-popin/types.d.ts +182 -5
  101. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  102. package/lib/molecule/cm-popin/types.js +6 -3
  103. package/lib/molecule/cm-popin/types.js.map +1 -1
  104. package/lib/molecule/drag-and-drop-wrapper/index.d.ts +2 -1
  105. package/lib/molecule/drag-and-drop-wrapper/index.js +3 -3
  106. package/lib/molecule/drag-and-drop-wrapper/index.js.map +1 -1
  107. package/lib/molecule/setup-slider/index.js +3 -3
  108. package/lib/molecule/setup-slider/index.js.map +1 -1
  109. package/lib/molecule/title-and-checkbox-wrapper/index.d.ts +2 -1
  110. package/lib/molecule/title-radio-wrapper/index.d.ts +18 -17
  111. package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  112. package/lib/molecule/title-radio-wrapper/index.js +2 -2
  113. package/lib/molecule/title-radio-wrapper/index.js.map +1 -1
  114. package/lib/molecule/title-radio-wrapper/types.d.ts +20 -19
  115. package/lib/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  116. package/lib/molecule/title-radio-wrapper/types.js +2 -2
  117. package/lib/molecule/title-radio-wrapper/types.js.map +1 -1
  118. package/lib/organism/list-item/index.d.ts.map +1 -1
  119. package/lib/organism/list-item/index.js +3 -5
  120. package/lib/organism/list-item/index.js.map +1 -1
  121. package/lib/organism/list-item/style.css +3 -7
  122. package/lib/organism/list-items/index.d.ts.map +1 -1
  123. package/lib/organism/list-items/index.js +1 -3
  124. package/lib/organism/list-items/index.js.map +1 -1
  125. package/lib/organism/list-items/style.css +1 -4
  126. package/lib/organism/rewards-form/index.d.ts +2 -1
  127. package/lib/organism/select-opponents/index.d.ts +18 -17
  128. package/lib/organism/select-opponents/index.d.ts.map +1 -1
  129. package/lib/organism/select-opponents/types.d.ts +18 -17
  130. package/lib/organism/select-opponents/types.d.ts.map +1 -1
  131. package/lib/organism/setup-header/style.css +3 -1
  132. package/lib/organism/title-and-input/index.d.ts +18 -17
  133. package/lib/organism/title-and-input/index.d.ts.map +1 -1
  134. package/lib/organism/title-and-input/types.d.ts +18 -17
  135. package/lib/organism/title-and-input/types.d.ts.map +1 -1
  136. package/lib/organism/wizard-contents/index.d.ts +2 -1
  137. package/lib/template/app-player/loading/index.d.ts +178 -2
  138. package/lib/template/app-player/player/index.d.ts +356 -4
  139. package/lib/template/app-player/player/slides/index.d.ts +178 -2
  140. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  141. package/lib/template/app-player/popin-correction/index.d.ts +178 -2
  142. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  143. package/lib/template/app-player/popin-end/index.d.ts +178 -2
  144. package/lib/template/app-review/index.d.ts +178 -2
  145. package/lib/template/app-review/index.d.ts.map +1 -1
  146. package/lib/template/app-review/player/prop-types.d.ts +178 -2
  147. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  148. package/lib/template/app-review/prop-types.d.ts +178 -2
  149. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  150. package/lib/template/back-office/brand-update/index.d.ts +178 -2
  151. package/lib/template/cockpit/jw-uploader/index.d.ts +1 -0
  152. package/lib/template/common/dashboard/index.d.ts +356 -4
  153. package/lib/template/common/search-page/index.d.ts +178 -2
  154. package/lib/template/external-course/index.d.ts +178 -2
  155. package/lib/util/proptypes.d.ts +1 -1
  156. package/lib/util/proptypes.d.ts.map +1 -1
  157. package/lib/util/proptypes.js +10 -7
  158. package/lib/util/proptypes.js.map +1 -1
  159. package/package.json +2 -2
  160. package/es/atom/image-upload/index.d.ts.map +0 -1
  161. package/es/atom/image-upload/index.js.map +0 -1
  162. package/es/atom/image-upload/style.css +0 -28
  163. package/lib/atom/image-upload/index.d.ts.map +0 -1
  164. package/lib/atom/image-upload/index.js.map +0 -1
  165. package/lib/atom/image-upload/style.css +0 -28
@@ -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","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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"}
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","multiple","previewView","customButtonStyle","width","maxWidth","padding","boxSizing","type","style","preview","src","previewPdf","previewLabelPdf","href","target","download","position","previewXlsxContainer","previewXlsx","iconFile","multiplePreview","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","classnames","resetUploadWrapper","resetSrcLabel","label","buildButton","defaultButtonProps","icon","customStyle","button","previewContainer","getClassState","previewContainerMultiple","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 multiple: PropTypes.bool\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 multiple\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n const customButtonStyle = {\n width: 'auto',\n maxWidth: '150px',\n padding: '12px 24px',\n boxSizing: 'border-box'\n };\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 customStyle={customButtonStyle}\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 (previewContent && (multiple || previewContent.type === 'csv')) {\n previewView = (\n <div className={style.preview}>\n <div className={style.multiplePreview}>\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 && !multiple ? (\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 customStyle: customButtonStyle\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 multiple ? style.previewContainerMultiple : 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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"}
@@ -125,18 +125,18 @@ video {
125
125
  flex-direction: column;
126
126
  align-items: center;
127
127
  justify-content: space-between;
128
- padding: 14px 8px 8px 8px;
128
+ padding: 16px;
129
129
  overflow: hidden;
130
130
  }
131
131
 
132
132
  .inputWrapper:before {
133
133
  content: "";
134
134
  position: absolute;
135
- border: 10px dashed cm_grey_200;
136
- top: -8px;
137
- bottom: -8px;
138
- left: -8px;
139
- right: -8px;
135
+ border: 7px dashed cm_grey_200;
136
+ top: -3px;
137
+ bottom: -3px;
138
+ left: -4px;
139
+ right: -4px;
140
140
  }
141
141
 
142
142
  .modifiedInputWrapper {
@@ -304,4 +304,19 @@ video {
304
304
  height: 25%;
305
305
  width: 25%;
306
306
  color: cm_grey_300;
307
- }
307
+ }
308
+
309
+ .previewContainerMultiple {
310
+ composes: previewContainer;
311
+ height: 100%;
312
+ }
313
+
314
+ .multiplePreview {
315
+ background-color: cm_grey_100;
316
+ border-radius: 8px;
317
+ width: 100%;
318
+ height: 100%;
319
+ display: flex;
320
+ align-items: center;
321
+ justify-content: center;
322
+ }
@@ -1,5 +1,5 @@
1
- export default ImageUpload;
2
- declare function ImageUpload({ title, description, previewLabel, previewContent, uploadLabel, loading, modified, disabled, onChange, onReset, name, labelLink, labelButtonLink, hrefLink, imageTypes, error, buttonAriaLabel, errorButtonLabel, pdfButtonLabel, pdfButtonAriaLabel }: {
1
+ export default InputFileDraggable;
2
+ declare function InputFileDraggable({ title, description, previewLabel, previewContent, uploadLabel, loading, modified, disabled, onChange, onReset, name, labelLink, labelButtonLink, hrefLink, filesTypes, error, buttonAriaLabel, errorButtonLabel, pdfButtonLabel, pdfButtonAriaLabel, filesNumber, multiple, required, onClick }: {
3
3
  title: any;
4
4
  description: any;
5
5
  previewLabel: any;
@@ -14,19 +14,23 @@ declare function ImageUpload({ title, description, previewLabel, previewContent,
14
14
  labelLink: any;
15
15
  labelButtonLink: any;
16
16
  hrefLink: any;
17
- imageTypes?: string | undefined;
17
+ filesTypes?: string | undefined;
18
18
  error?: string | undefined;
19
19
  buttonAriaLabel: any;
20
20
  errorButtonLabel: any;
21
21
  pdfButtonLabel: any;
22
22
  pdfButtonAriaLabel: any;
23
+ filesNumber?: number | undefined;
24
+ multiple?: boolean | undefined;
25
+ required?: boolean | undefined;
26
+ onClick: any;
23
27
  }): JSX.Element;
24
- declare namespace ImageUpload {
28
+ declare namespace InputFileDraggable {
25
29
  const propTypes: {
26
30
  name: PropTypes.Requireable<string>;
27
31
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
28
32
  onReset: PropTypes.Requireable<(...args: any[]) => any>;
29
- imageTypes: (props: any, propName: any, componentName: any) => Error | null;
33
+ filesTypes: (props: any, propName: any, componentName: any) => Error | null;
30
34
  error: PropTypes.Requireable<string>;
31
35
  buttonAriaLabel: PropTypes.Requireable<string>;
32
36
  errorButtonLabel: PropTypes.Requireable<string>;
@@ -47,6 +51,7 @@ declare namespace ImageUpload {
47
51
  children: PropTypes.Requireable<(...args: any[]) => any>;
48
52
  pdfButtonLabel: PropTypes.Requireable<string>;
49
53
  pdfButtonAriaLabel: PropTypes.Requireable<string>;
54
+ multiple: PropTypes.Requireable<boolean>;
50
55
  };
51
56
  }
52
57
  import PropTypes from "prop-types";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-file-draggable/index.js"],"names":[],"mappings":";AAYA;;;;;;;;;;;;;;;;;;;;;;;;;gBA4GC"}
@@ -9,6 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
+ var _novaIcons = require("@coorpacademy/nova-icons");
13
+
12
14
  var _dragAndDrop = _interopRequireDefault(require("../drag-and-drop"));
13
15
 
14
16
  var _buttonLink = _interopRequireDefault(require("../button-link"));
@@ -25,7 +27,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
25
27
 
26
28
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
29
 
28
- const ImageUpload = ({
30
+ const InputFileDraggable = ({
29
31
  title,
30
32
  description,
31
33
  previewLabel,
@@ -40,12 +42,16 @@ const ImageUpload = ({
40
42
  labelLink,
41
43
  labelButtonLink,
42
44
  hrefLink,
43
- imageTypes = 'image/*',
45
+ filesTypes = '',
44
46
  error = '',
45
47
  buttonAriaLabel,
46
48
  errorButtonLabel,
47
49
  pdfButtonLabel,
48
- pdfButtonAriaLabel
50
+ pdfButtonAriaLabel,
51
+ filesNumber = 0,
52
+ multiple = false,
53
+ required = false,
54
+ onClick
49
55
  }) => {
50
56
  const handleReset = (0, _react.useCallback)(e => {
51
57
  if ((0, _isNil2.default)(onReset)) return;
@@ -56,6 +62,10 @@ const ImageUpload = ({
56
62
  width: '40px',
57
63
  color: '#FF541F'
58
64
  };
65
+ const onClick_ = (0, _react.useCallback)(e => {
66
+ e.preventDefault();
67
+ return onClick(e);
68
+ }, [onClick]);
59
69
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_dragAndDrop.default, {
60
70
  title: title,
61
71
  description: description,
@@ -70,17 +80,20 @@ const ImageUpload = ({
70
80
  buttonAriaLabel: buttonAriaLabel,
71
81
  errorButtonLabel: errorButtonLabel,
72
82
  pdfButtonLabel: pdfButtonLabel,
73
- pdfButtonAriaLabel: pdfButtonAriaLabel
83
+ pdfButtonAriaLabel: pdfButtonAriaLabel,
84
+ multiple: multiple
74
85
  }, (onDragStart, onDragStop) => /*#__PURE__*/_react.default.createElement("input", {
75
86
  type: "file",
76
87
  name: name,
77
- accept: imageTypes,
88
+ accept: filesTypes,
78
89
  disabled: loading || disabled,
79
90
  className: _style.default.input,
80
91
  onChange: onChange,
81
92
  onDragEnter: onDragStart,
82
93
  onDrop: onDragStop,
83
- onDragLeave: onDragStop
94
+ onDragLeave: onDragStop,
95
+ multiple: multiple,
96
+ required: required
84
97
  })), labelLink && hrefLink ? /*#__PURE__*/_react.default.createElement("div", {
85
98
  className: _style.default.templateLink
86
99
  }, labelLink, /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
@@ -91,20 +104,31 @@ const ImageUpload = ({
91
104
  download: true
92
105
  },
93
106
  label: labelButtonLink
94
- })) : null);
107
+ })) : null, multiple && filesNumber > 0 ? /*#__PURE__*/_react.default.createElement("div", {
108
+ className: _style.default.multipleFilesContainer
109
+ }, /*#__PURE__*/_react.default.createElement("div", {
110
+ className: _style.default.filesNumber
111
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidFilesBasicFileLines, {
112
+ className: _style.default.icon
113
+ }), /*#__PURE__*/_react.default.createElement("div", null, filesNumber, " files")), /*#__PURE__*/_react.default.createElement("div", {
114
+ className: _style.default.seeDetailsButton,
115
+ onClick: onClick_
116
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyEye, {
117
+ className: _style.default.seeIcon
118
+ }), /*#__PURE__*/_react.default.createElement("div", null, "See details"))) : null);
95
119
  };
96
120
 
97
- ImageUpload.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, _dragAndDrop.default.propTypes, {
121
+ InputFileDraggable.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, _dragAndDrop.default.propTypes, {
98
122
  name: _propTypes.default.string,
99
123
  onChange: _propTypes.default.func,
100
124
  onReset: _propTypes.default.func,
101
- imageTypes: _proptypes.ImagePropType,
125
+ filesTypes: _proptypes.FilesPropType,
102
126
  error: _propTypes.default.string,
103
127
  buttonAriaLabel: _propTypes.default.string,
104
128
  errorButtonLabel: _propTypes.default.string,
105
129
  labelLink: _propTypes.default.string,
106
130
  hrefLink: _propTypes.default.string
107
131
  }) : {};
108
- var _default = ImageUpload;
132
+ var _default = InputFileDraggable;
109
133
  exports.default = _default;
110
134
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["InputFileDraggable","title","description","previewLabel","previewContent","uploadLabel","loading","modified","disabled","onChange","onReset","name","labelLink","labelButtonLink","hrefLink","filesTypes","error","buttonAriaLabel","errorButtonLabel","pdfButtonLabel","pdfButtonAriaLabel","filesNumber","multiple","required","onClick","handleReset","useCallback","e","preventDefault","linkCustomStyle","width","color","onClick_","onDragStart","onDragStop","style","input","templateLink","href","download","multipleFilesContainer","icon","seeDetailsButton","seeIcon","propTypes","DragAndDrop","PropTypes","string","func","FilesPropType"],"sources":["../../../src/atom/input-file-draggable/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {isNil} from 'lodash/fp';\nimport {\n NovaSolidFilesBasicFileLines as FileLinesIcon,\n NovaCompositionCoorpacademyEye as EyeIcon\n} from '@coorpacademy/nova-icons';\nimport DragAndDrop from '../drag-and-drop';\nimport Link from '../button-link';\nimport {FilesPropType} from '../../util/proptypes';\nimport style from './style.css';\n\nconst InputFileDraggable = ({\n title,\n description,\n previewLabel,\n previewContent,\n uploadLabel,\n loading,\n modified,\n disabled = false,\n onChange,\n onReset = null,\n name,\n labelLink,\n labelButtonLink,\n hrefLink,\n filesTypes = '',\n error = '',\n buttonAriaLabel,\n errorButtonLabel,\n pdfButtonLabel,\n pdfButtonAriaLabel,\n filesNumber = 0,\n multiple = false,\n required = false,\n onClick\n}) => {\n const handleReset = useCallback(\n e => {\n if (isNil(onReset)) return;\n e.preventDefault();\n return onReset(e);\n },\n [onReset]\n );\n\n const linkCustomStyle = {\n width: '40px',\n color: '#FF541F'\n };\n\n const onClick_ = useCallback(\n e => {\n e.preventDefault();\n return onClick(e);\n },\n [onClick]\n );\n\n return (\n <>\n <DragAndDrop\n title={title}\n description={description}\n previewLabel={previewLabel}\n previewContent={previewContent}\n uploadLabel={uploadLabel}\n loading={loading}\n modified={modified}\n onReset={handleReset}\n error={error}\n disabled={disabled}\n buttonAriaLabel={buttonAriaLabel}\n errorButtonLabel={errorButtonLabel}\n pdfButtonLabel={pdfButtonLabel}\n pdfButtonAriaLabel={pdfButtonAriaLabel}\n multiple={multiple}\n >\n {(onDragStart, onDragStop) => (\n <input\n type=\"file\"\n name={name}\n accept={filesTypes}\n disabled={loading || disabled}\n className={style.input}\n onChange={onChange}\n onDragEnter={onDragStart}\n onDrop={onDragStop}\n onDragLeave={onDragStop}\n multiple={multiple}\n required={required}\n />\n )}\n </DragAndDrop>\n {labelLink && hrefLink ? (\n <div className={style.templateLink}>\n {labelLink}\n <Link\n type=\"text\"\n customStyle={linkCustomStyle}\n link={{href: hrefLink, download: true}}\n label={labelButtonLink}\n />\n </div>\n ) : null}\n {multiple && filesNumber > 0 ? (\n <div className={style.multipleFilesContainer}>\n <div className={style.filesNumber}>\n <FileLinesIcon className={style.icon} />\n <div>{filesNumber} files</div>\n </div>\n <div className={style.seeDetailsButton} onClick={onClick_}>\n <EyeIcon className={style.seeIcon} />\n <div>See details</div>\n </div>\n </div>\n ) : null}\n </>\n );\n};\n\nInputFileDraggable.propTypes = {\n ...DragAndDrop.propTypes,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onReset: PropTypes.func,\n filesTypes: FilesPropType,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string,\n labelLink: PropTypes.string,\n hrefLink: PropTypes.string\n};\n\nexport default InputFileDraggable;\n"],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value cm_grey_50 from colors;
3
+ @value cm_grey_300 from colors;
4
+ @value cm_grey_500 from colors;
5
+ @value cm_grey_700 from colors;
6
+
7
+ .input {
8
+ width: 100%;
9
+ height: 100%;
10
+ cursor: pointer;
11
+ opacity: 0;
12
+ margin: auto;
13
+ position: absolute;
14
+ top: 0;
15
+ left: 0;
16
+ bottom: 0;
17
+ right: 0;
18
+ }
19
+
20
+ .templateLink {
21
+ display: flex;
22
+ flex-direction: row;
23
+ justify-content: center;
24
+ text-align: center;
25
+ margin-top: 16px;
26
+ background-color: cm_grey_50;
27
+ padding: 16px 0 16px 0;
28
+ border-radius: 10px;
29
+ font-family: "Gilroy";
30
+ font-size: 14px;
31
+ }
32
+
33
+ /* ---------- MULTIPLE FILES ---------- */
34
+ .multipleFilesContainer {
35
+ display: flex;
36
+ flex-direction: row;
37
+ justify-content: space-between;
38
+ text-align: center;
39
+ margin-top: 16px;
40
+ background-color: cm_grey_50;
41
+ padding: 16px 24px 16px 24px;
42
+ border-radius: 10px;
43
+ font-family: "Gilroy";
44
+ font-size: 14px;
45
+ }
46
+
47
+ .multipleFilesInfo {
48
+ display: flex;
49
+ justify-content: space-between;
50
+ align-items: center;
51
+ font-family: "Gilroy";
52
+ }
53
+
54
+ .filesNumber {
55
+ composes: multipleFilesInfo;
56
+ font-weight: 500;
57
+ color: cm_grey_700;
58
+ }
59
+
60
+ .seeDetailsButton {
61
+ composes: multipleFilesInfo;
62
+ font-weight: 700;
63
+ color: cm_grey_500;
64
+ cursor: pointer;
65
+ }
66
+
67
+ .icon {
68
+ min-width: 14px;
69
+ min-height: 14px;
70
+ max-width: 30px;
71
+ max-height: 30px;
72
+ height: 20%;
73
+ width: 20%;
74
+ transition: all 0.2s cubic-bezier(0.47, 1.04, 0.46, 2.16);
75
+ color: cm_grey_300;
76
+ }
77
+
78
+ .seeIcon {
79
+ composes: icon;
80
+ color: cm_grey_500;
81
+ }
@@ -33,6 +33,7 @@ declare namespace VideoUpload {
33
33
  errorButtonLabel: PropTypes.Requireable<string>;
34
34
  pdfButtonLabel: PropTypes.Requireable<string>;
35
35
  pdfButtonAriaLabel: PropTypes.Requireable<string>;
36
+ multiple: PropTypes.Requireable<boolean>;
36
37
  };
37
38
  }
38
39
  import PropTypes from "prop-types";
@@ -43,7 +43,7 @@ var _inputHtml = _interopRequireDefault(require("../../atom/input-html"));
43
43
 
44
44
  var _inputDoublestep = _interopRequireDefault(require("../../atom/input-doublestep"));
45
45
 
46
- var _imageUpload = _interopRequireDefault(require("../../atom/image-upload"));
46
+ var _inputFileDraggable = _interopRequireDefault(require("../../atom/input-file-draggable"));
47
47
 
48
48
  var _setupSlider = _interopRequireDefault(require("../setup-slider"));
49
49
 
@@ -116,12 +116,12 @@ const buildInput = field => {
116
116
  case 'image':
117
117
  return /*#__PURE__*/_react.default.createElement("div", {
118
118
  className: _style.default.imageUploadContainer
119
- }, /*#__PURE__*/_react.default.createElement(_imageUpload.default, field));
119
+ }, /*#__PURE__*/_react.default.createElement(_inputFileDraggable.default, field));
120
120
 
121
121
  case 'bulkUpload':
122
122
  return /*#__PURE__*/_react.default.createElement("div", {
123
123
  className: _style.default.bulkUploadContainer
124
- }, /*#__PURE__*/_react.default.createElement(_imageUpload.default, field));
124
+ }, /*#__PURE__*/_react.default.createElement(_inputFileDraggable.default, field));
125
125
 
126
126
  case 'slider':
127
127
  return /*#__PURE__*/_react.default.createElement(_setupSlider.default, field);
@@ -236,9 +236,9 @@ BrandFormGroup.propTypes = process.env.NODE_ENV !== "production" ? {
236
236
  size: _propTypes.default.oneOf((0, _keys2.default)(inputContainerStyle))
237
237
  })), _propTypes.default.shape(_extends({}, _inputCheckbox.default.propTypes, {
238
238
  type: _propTypes.default.oneOf(['checkbox'])
239
- })), _propTypes.default.shape(_extends({}, _imageUpload.default.propTypes, {
239
+ })), _propTypes.default.shape(_extends({}, _inputFileDraggable.default.propTypes, {
240
240
  type: _propTypes.default.oneOf(['image'])
241
- })), _propTypes.default.shape(_extends({}, _imageUpload.default.propTypes, {
241
+ })), _propTypes.default.shape(_extends({}, _inputFileDraggable.default.propTypes, {
242
242
  type: _propTypes.default.oneOf(['bulkImage'])
243
243
  })), _propTypes.default.shape(_extends({}, _setupSlider.default.propTypes, {
244
244
  type: _propTypes.default.oneOf(['slider'])
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["inputContainerStyle","default","style","defaultWidth","medium","mediumWidth","large","largeWidth","buildInput","field","type","imageUploadContainer","bulkUploadContainer","buttonType","buildField","index","input","theme","size","styleInput","styleField","fieldMassiveBattle","defineLayoutClass","layout","classNames","grid","layoutBulk","BrandFormGroup","props","title","subtitle","fieldsLayout","groupLayout","fields","subtitleSize","fieldsList","convert","cap","useMemo","wrapper","groupGrid","titleWrapper","propTypes","PropTypes","string","arrayOf","oneOfType","shape","Autocomplete","oneOf","InputColor","InputReadonly","InputSwitch","InputTextarea","InputHTML","InputDoublestep","Select","InputCheckbox","ImageUpload","SetupSlider","SetupSections","InputText","BrandDownloadBox","BrandUploadBox","Button","ButtonLink","SelectMultiple","Roles","TitleAndInput"],"sources":["../../../src/molecule/brand-form-group/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {keys, map, snakeCase} from 'lodash/fp';\nimport classNames from 'classnames';\nimport Autocomplete from '../../atom/autocomplete';\nimport Select from '../../atom/select';\nimport SelectMultiple from '../select-multiple';\nimport InputText from '../../atom/input-text';\nimport InputColor from '../../atom/input-color';\nimport InputCheckbox from '../../atom/input-checkbox';\nimport InputReadonly from '../../atom/input-readonly';\nimport InputSwitch from '../../atom/input-switch';\nimport BrandUploadBox from '../brand-upload-box';\nimport BrandDownloadBox from '../brand-download-box';\nimport Button from '../../atom/button';\nimport InputTextarea from '../../atom/input-textarea';\nimport InputHTML from '../../atom/input-html';\nimport InputDoublestep from '../../atom/input-doublestep';\nimport ImageUpload from '../../atom/image-upload';\nimport SetupSlider from '../setup-slider';\nimport SetupSections from '../setup-sections';\nimport Title from '../../atom/title';\nimport Roles from '../coorp-manager-roles';\nimport TitleAndCheckBoxWrapper from '../title-and-checkbox-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport TitleAndInput from '../../organism/title-and-input';\nimport style from './style.css';\n\nconst inputContainerStyle = {\n default: style.defaultWidth,\n medium: style.mediumWidth,\n large: style.largeWidth\n};\n\nconst buildInput = field => {\n const {type} = field;\n\n switch (type) {\n case 'autoComplete':\n return <Autocomplete {...field} />;\n case 'color':\n return <InputColor {...field} />;\n case 'readonly':\n return <InputReadonly {...field} />;\n case 'switch':\n return <InputSwitch {...field} />;\n case 'textarea':\n return <InputTextarea {...field} />;\n case 'html':\n return <InputHTML {...field} />;\n case 'doublestep':\n return <InputDoublestep {...field} />;\n case 'select':\n return <Select {...field} theme={'coorpmanager'} />;\n case 'selectMultiple':\n return <SelectMultiple {...field} />;\n case 'checkbox':\n return <InputCheckbox {...field} />;\n case 'image':\n return (\n <div className={style.imageUploadContainer}>\n <ImageUpload {...field} />\n </div>\n );\n case 'bulkUpload':\n return (\n <div className={style.bulkUploadContainer}>\n <ImageUpload {...field} />\n </div>\n );\n case 'slider':\n return <SetupSlider {...field} />;\n case 'sections':\n return <SetupSections {...field} />;\n case 'text':\n return <InputText {...field} />;\n case 'downloadbox':\n return <BrandDownloadBox {...field} />;\n case 'uploadbox':\n return <BrandUploadBox {...field} />;\n case 'button':\n case 'link':\n return <Button {...field} />;\n case 'buttonLink':\n return <ButtonLink {...field} type={field.buttonType} />;\n case 'roles':\n return <Roles {...field} />;\n case 'titleAndCheckBoxWrapper':\n return <TitleAndCheckBoxWrapper {...field} />;\n case 'titleAndInput':\n return <TitleAndInput {...field} />;\n default:\n return <InputText {...field} />;\n }\n};\n\nconst buildField = (field, index) => {\n const input = buildInput(field);\n const {theme, size = 'default'} = field.type === 'titleAndInput' ? field.field : field;\n const styleInput = theme === 'coorpmanager' ? inputContainerStyle[size] : style.field;\n const styleField = field.type === 'titleAndInput' ? style.fieldMassiveBattle : styleInput;\n\n return (\n <div className={styleField} key={index}>\n {input}\n </div>\n );\n};\n\nconst defineLayoutClass = layout => {\n if (layout === 'grid') return classNames(style.grid);\n else if (layout === 'bulkLayout') return classNames(style.layoutBulk);\n else return classNames(null);\n};\n\nconst BrandFormGroup = props => {\n const {\n title,\n subtitle = '',\n fieldsLayout = '',\n groupLayout = '',\n fields = [],\n subtitleSize = 'standard'\n } = props;\n const fieldsList = map.convert({cap: false})(buildField, fields);\n const layout = useMemo(() => defineLayoutClass(fieldsLayout), [fieldsLayout]);\n\n return (\n <div\n data-name={`brand_form_group_${snakeCase(title)}`}\n className={classNames(style.wrapper, groupLayout === 'grid' && style.groupGrid)}\n >\n <div className={style.titleWrapper}>\n <Title title={title} subtitle={subtitle} subtitleSize={subtitleSize} type={'form-group'} />\n </div>\n <div className={layout}>{fieldsList}</div>\n </div>\n );\n};\n\nBrandFormGroup.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n subtitleSize: PropTypes.string,\n fieldsLayout: PropTypes.string,\n groupLayout: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n ...Autocomplete.propTypes,\n type: PropTypes.oneOf(['autoComplete']),\n size: PropTypes.oneOf(keys(inputContainerStyle))\n }),\n PropTypes.shape({\n ...InputColor.propTypes,\n type: PropTypes.oneOf(['color'])\n }),\n PropTypes.shape({\n ...InputReadonly.propTypes,\n type: PropTypes.oneOf(['readonly'])\n }),\n PropTypes.shape({\n ...InputSwitch.propTypes,\n type: PropTypes.oneOf(['switch'])\n }),\n PropTypes.shape({\n ...InputTextarea.propTypes,\n type: PropTypes.oneOf(['textarea']),\n size: PropTypes.oneOf(keys(inputContainerStyle))\n }),\n PropTypes.shape({\n ...InputHTML.propTypes,\n type: PropTypes.oneOf(['html'])\n }),\n PropTypes.shape({\n ...InputDoublestep.propTypes,\n type: PropTypes.oneOf(['doublestep'])\n }),\n PropTypes.shape({\n ...Select.propTypes,\n type: PropTypes.oneOf(['select']),\n size: PropTypes.oneOf(keys(inputContainerStyle))\n }),\n PropTypes.shape({\n ...InputCheckbox.propTypes,\n type: PropTypes.oneOf(['checkbox'])\n }),\n PropTypes.shape({\n ...ImageUpload.propTypes,\n type: PropTypes.oneOf(['image'])\n }),\n PropTypes.shape({\n ...ImageUpload.propTypes,\n type: PropTypes.oneOf(['bulkImage'])\n }),\n PropTypes.shape({\n ...SetupSlider.propTypes,\n type: PropTypes.oneOf(['slider'])\n }),\n PropTypes.shape({\n ...SetupSections.propTypes,\n type: PropTypes.oneOf(['sections'])\n }),\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text']),\n size: PropTypes.oneOf(keys(inputContainerStyle))\n }),\n PropTypes.shape({\n ...BrandDownloadBox.propTypes,\n type: PropTypes.oneOf(['downloadbox'])\n }),\n PropTypes.shape({\n ...BrandUploadBox.propTypes,\n type: PropTypes.oneOf(['uploadbox'])\n }),\n PropTypes.shape({\n ...Button.propTypes,\n type: PropTypes.oneOf(['button'])\n }),\n PropTypes.shape({\n ...ButtonLink.propTypes,\n buttonType: ButtonLink.propTypes.type,\n type: PropTypes.oneOf(['buttonLink'])\n }),\n PropTypes.shape({\n ...SelectMultiple.propTypes,\n type: PropTypes.oneOf(['selectMultiple'])\n }),\n PropTypes.shape({\n ...Roles.propTypes,\n type: PropTypes.oneOf(['roles'])\n }),\n PropTypes.shape(InputText.propTypes),\n PropTypes.shape({\n ...TitleAndInput.propTypes,\n type: PropTypes.oneOf(['titleAndInput'])\n })\n ])\n )\n};\nexport default BrandFormGroup;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["inputContainerStyle","default","style","defaultWidth","medium","mediumWidth","large","largeWidth","buildInput","field","type","imageUploadContainer","bulkUploadContainer","buttonType","buildField","index","input","theme","size","styleInput","styleField","fieldMassiveBattle","defineLayoutClass","layout","classNames","grid","layoutBulk","BrandFormGroup","props","title","subtitle","fieldsLayout","groupLayout","fields","subtitleSize","fieldsList","convert","cap","useMemo","wrapper","groupGrid","titleWrapper","propTypes","PropTypes","string","arrayOf","oneOfType","shape","Autocomplete","oneOf","InputColor","InputReadonly","InputSwitch","InputTextarea","InputHTML","InputDoublestep","Select","InputCheckbox","InputFileDraggable","SetupSlider","SetupSections","InputText","BrandDownloadBox","BrandUploadBox","Button","ButtonLink","SelectMultiple","Roles","TitleAndInput"],"sources":["../../../src/molecule/brand-form-group/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {keys, map, snakeCase} from 'lodash/fp';\nimport classNames from 'classnames';\nimport Autocomplete from '../../atom/autocomplete';\nimport Select from '../../atom/select';\nimport SelectMultiple from '../select-multiple';\nimport InputText from '../../atom/input-text';\nimport InputColor from '../../atom/input-color';\nimport InputCheckbox from '../../atom/input-checkbox';\nimport InputReadonly from '../../atom/input-readonly';\nimport InputSwitch from '../../atom/input-switch';\nimport BrandUploadBox from '../brand-upload-box';\nimport BrandDownloadBox from '../brand-download-box';\nimport Button from '../../atom/button';\nimport InputTextarea from '../../atom/input-textarea';\nimport InputHTML from '../../atom/input-html';\nimport InputDoublestep from '../../atom/input-doublestep';\nimport InputFileDraggable from '../../atom/input-file-draggable';\nimport SetupSlider from '../setup-slider';\nimport SetupSections from '../setup-sections';\nimport Title from '../../atom/title';\nimport Roles from '../coorp-manager-roles';\nimport TitleAndCheckBoxWrapper from '../title-and-checkbox-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport TitleAndInput from '../../organism/title-and-input';\nimport style from './style.css';\n\nconst inputContainerStyle = {\n default: style.defaultWidth,\n medium: style.mediumWidth,\n large: style.largeWidth\n};\n\nconst buildInput = field => {\n const {type} = field;\n\n switch (type) {\n case 'autoComplete':\n return <Autocomplete {...field} />;\n case 'color':\n return <InputColor {...field} />;\n case 'readonly':\n return <InputReadonly {...field} />;\n case 'switch':\n return <InputSwitch {...field} />;\n case 'textarea':\n return <InputTextarea {...field} />;\n case 'html':\n return <InputHTML {...field} />;\n case 'doublestep':\n return <InputDoublestep {...field} />;\n case 'select':\n return <Select {...field} theme={'coorpmanager'} />;\n case 'selectMultiple':\n return <SelectMultiple {...field} />;\n case 'checkbox':\n return <InputCheckbox {...field} />;\n case 'image':\n return (\n <div className={style.imageUploadContainer}>\n <InputFileDraggable {...field} />\n </div>\n );\n case 'bulkUpload':\n return (\n <div className={style.bulkUploadContainer}>\n <InputFileDraggable {...field} />\n </div>\n );\n case 'slider':\n return <SetupSlider {...field} />;\n case 'sections':\n return <SetupSections {...field} />;\n case 'text':\n return <InputText {...field} />;\n case 'downloadbox':\n return <BrandDownloadBox {...field} />;\n case 'uploadbox':\n return <BrandUploadBox {...field} />;\n case 'button':\n case 'link':\n return <Button {...field} />;\n case 'buttonLink':\n return <ButtonLink {...field} type={field.buttonType} />;\n case 'roles':\n return <Roles {...field} />;\n case 'titleAndCheckBoxWrapper':\n return <TitleAndCheckBoxWrapper {...field} />;\n case 'titleAndInput':\n return <TitleAndInput {...field} />;\n default:\n return <InputText {...field} />;\n }\n};\n\nconst buildField = (field, index) => {\n const input = buildInput(field);\n const {theme, size = 'default'} = field.type === 'titleAndInput' ? field.field : field;\n const styleInput = theme === 'coorpmanager' ? inputContainerStyle[size] : style.field;\n const styleField = field.type === 'titleAndInput' ? style.fieldMassiveBattle : styleInput;\n\n return (\n <div className={styleField} key={index}>\n {input}\n </div>\n );\n};\n\nconst defineLayoutClass = layout => {\n if (layout === 'grid') return classNames(style.grid);\n else if (layout === 'bulkLayout') return classNames(style.layoutBulk);\n else return classNames(null);\n};\n\nconst BrandFormGroup = props => {\n const {\n title,\n subtitle = '',\n fieldsLayout = '',\n groupLayout = '',\n fields = [],\n subtitleSize = 'standard'\n } = props;\n const fieldsList = map.convert({cap: false})(buildField, fields);\n const layout = useMemo(() => defineLayoutClass(fieldsLayout), [fieldsLayout]);\n\n return (\n <div\n data-name={`brand_form_group_${snakeCase(title)}`}\n className={classNames(style.wrapper, groupLayout === 'grid' && style.groupGrid)}\n >\n <div className={style.titleWrapper}>\n <Title title={title} subtitle={subtitle} subtitleSize={subtitleSize} type={'form-group'} />\n </div>\n <div className={layout}>{fieldsList}</div>\n </div>\n );\n};\n\nBrandFormGroup.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n subtitleSize: PropTypes.string,\n fieldsLayout: PropTypes.string,\n groupLayout: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.shape({\n ...Autocomplete.propTypes,\n type: PropTypes.oneOf(['autoComplete']),\n size: PropTypes.oneOf(keys(inputContainerStyle))\n }),\n PropTypes.shape({\n ...InputColor.propTypes,\n type: PropTypes.oneOf(['color'])\n }),\n PropTypes.shape({\n ...InputReadonly.propTypes,\n type: PropTypes.oneOf(['readonly'])\n }),\n PropTypes.shape({\n ...InputSwitch.propTypes,\n type: PropTypes.oneOf(['switch'])\n }),\n PropTypes.shape({\n ...InputTextarea.propTypes,\n type: PropTypes.oneOf(['textarea']),\n size: PropTypes.oneOf(keys(inputContainerStyle))\n }),\n PropTypes.shape({\n ...InputHTML.propTypes,\n type: PropTypes.oneOf(['html'])\n }),\n PropTypes.shape({\n ...InputDoublestep.propTypes,\n type: PropTypes.oneOf(['doublestep'])\n }),\n PropTypes.shape({\n ...Select.propTypes,\n type: PropTypes.oneOf(['select']),\n size: PropTypes.oneOf(keys(inputContainerStyle))\n }),\n PropTypes.shape({\n ...InputCheckbox.propTypes,\n type: PropTypes.oneOf(['checkbox'])\n }),\n PropTypes.shape({\n ...InputFileDraggable.propTypes,\n type: PropTypes.oneOf(['image'])\n }),\n PropTypes.shape({\n ...InputFileDraggable.propTypes,\n type: PropTypes.oneOf(['bulkImage'])\n }),\n PropTypes.shape({\n ...SetupSlider.propTypes,\n type: PropTypes.oneOf(['slider'])\n }),\n PropTypes.shape({\n ...SetupSections.propTypes,\n type: PropTypes.oneOf(['sections'])\n }),\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text']),\n size: PropTypes.oneOf(keys(inputContainerStyle))\n }),\n PropTypes.shape({\n ...BrandDownloadBox.propTypes,\n type: PropTypes.oneOf(['downloadbox'])\n }),\n PropTypes.shape({\n ...BrandUploadBox.propTypes,\n type: PropTypes.oneOf(['uploadbox'])\n }),\n PropTypes.shape({\n ...Button.propTypes,\n type: PropTypes.oneOf(['button'])\n }),\n PropTypes.shape({\n ...ButtonLink.propTypes,\n buttonType: ButtonLink.propTypes.type,\n type: PropTypes.oneOf(['buttonLink'])\n }),\n PropTypes.shape({\n ...SelectMultiple.propTypes,\n type: PropTypes.oneOf(['selectMultiple'])\n }),\n PropTypes.shape({\n ...Roles.propTypes,\n type: PropTypes.oneOf(['roles'])\n }),\n PropTypes.shape(InputText.propTypes),\n PropTypes.shape({\n ...TitleAndInput.propTypes,\n type: PropTypes.oneOf(['titleAndInput'])\n })\n ])\n )\n};\nexport default BrandFormGroup;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/cm-popin/index.js"],"names":[],"mappings":";AAsBA,kDA6MC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/cm-popin/index.js"],"names":[],"mappings":";AA+BA,kDAwOC"}
@@ -9,6 +9,10 @@ var _novaIcons = require("@coorpacademy/nova-icons");
9
9
 
10
10
  var _map = _interopRequireDefault(require("lodash/fp/map"));
11
11
 
12
+ var _isEmpty = _interopRequireDefault(require("lodash/fp/isEmpty"));
13
+
14
+ var _classnames = _interopRequireDefault(require("classnames"));
15
+
12
16
  var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
13
17
 
14
18
  var _buttonLinkIconOnly = _interopRequireDefault(require("../../atom/button-link-icon-only"));
@@ -19,6 +23,8 @@ var _title = _interopRequireDefault(require("../../atom/title"));
19
23
 
20
24
  var _cardsGrid = _interopRequireDefault(require("../../organism/cards-grid"));
21
25
 
26
+ var _listItems = _interopRequireDefault(require("../../organism/list-items"));
27
+
22
28
  var _style = _interopRequireDefault(require("./style.css"));
23
29
 
24
30
  var _types = _interopRequireDefault(require("./types"));
@@ -28,7 +34,12 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
28
34
  const IconType = {
29
35
  lockedContent: /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyPadlock, {
30
36
  className: _style.default.lockIcon
31
- })
37
+ }),
38
+ fileZipped: /*#__PURE__*/_react.default.createElement("div", {
39
+ className: _style.default.filesListIconContainer
40
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidFilesBasicFileLines, {
41
+ className: _style.default.filesListIcon
42
+ }))
32
43
  };
33
44
 
34
45
  const CMPopin = props => {
@@ -68,19 +79,12 @@ const CMPopin = props => {
68
79
  backgroundImage
69
80
  } = header;
70
81
  const TopTitleIcon = IconType[headerIcon];
71
-
72
- if (title) {
73
- return /*#__PURE__*/_react.default.createElement("div", {
74
- className: _style.default.headerContent
75
- }, TopTitleIcon, /*#__PURE__*/_react.default.createElement("div", {
76
- className: _style.default.headerTitle
77
- }, /*#__PURE__*/_react.default.createElement(_title.default, title)));
78
- }
79
-
80
- return /*#__PURE__*/_react.default.createElement("img", {
82
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, title ? /*#__PURE__*/_react.default.createElement("div", {
83
+ className: _style.default.headerContent
84
+ }, TopTitleIcon, /*#__PURE__*/_react.default.createElement(_title.default, title)) : null, backgroundImage ? /*#__PURE__*/_react.default.createElement("img", {
81
85
  className: _style.default.headerBackground,
82
86
  src: backgroundImage
83
- });
87
+ }) : null);
84
88
  }
85
89
 
86
90
  if (mode === 'cookie') return /*#__PURE__*/_react.default.createElement("div", {
@@ -149,15 +153,24 @@ const CMPopin = props => {
149
153
  type,
150
154
  list
151
155
  } = items;
152
- return type === 'content' ? /*#__PURE__*/_react.default.createElement(_cardsGrid.default, list) : null;
156
+ if ((0, _isEmpty.default)(list)) return null;
157
+ if (type === 'content') return /*#__PURE__*/_react.default.createElement("div", {
158
+ className: _style.default.itemsContainer,
159
+ "data-name": 'cm-popin-cards'
160
+ }, /*#__PURE__*/_react.default.createElement(_cardsGrid.default, list));
161
+ if (type === 'list') return /*#__PURE__*/_react.default.createElement("div", {
162
+ className: _style.default.filesListContainer
163
+ }, /*#__PURE__*/_react.default.createElement(_listItems.default, list));
164
+ return null;
153
165
  };
154
166
 
167
+ const wrapperPopinStyle = (0, _classnames.default)(mode === 'cookie' && _style.default.popinCookie, mode === 'list' && _style.default.popinFilesList, _style.default.popin);
155
168
  return /*#__PURE__*/_react.default.createElement("div", {
156
169
  className: mode !== 'cookie' ? _style.default.background : null,
157
170
  style: backgroundImageStyle,
158
171
  "data-name": 'cm-popin-container'
159
172
  }, /*#__PURE__*/_react.default.createElement("div", {
160
- className: mode === 'cookie' ? _style.default.popinCookie : _style.default.popin
173
+ className: wrapperPopinStyle
161
174
  }, /*#__PURE__*/_react.default.createElement("header", {
162
175
  className: _style.default.popinHeader
163
176
  }, renderHeader(), onClose ? /*#__PURE__*/_react.default.createElement(_buttonLinkIconOnly.default, {
@@ -166,7 +179,7 @@ const CMPopin = props => {
166
179
  "aria-label": 'close-icon',
167
180
  size: "small",
168
181
  icon: "close"
169
- }) : null), mode !== 'items' ? /*#__PURE__*/_react.default.createElement("div", {
182
+ }) : null), mode !== 'items' && mode !== 'list' ? /*#__PURE__*/_react.default.createElement("div", {
170
183
  className: mode === 'cookie' || mode === 'information' ? _style.default.cookieTitleContainer : _style.default.titleContainer
171
184
  }, /*#__PURE__*/_react.default.createElement("div", {
172
185
  className: _style.default.contentSection
@@ -187,10 +200,7 @@ const CMPopin = props => {
187
200
  }
188
201
  }) : null) : null, descriptionBtnTxt ? /*#__PURE__*/_react.default.createElement("div", {
189
202
  className: _style.default.descriptionBtn
190
- }, descriptionBtnTxt) : null, items ? /*#__PURE__*/_react.default.createElement("div", {
191
- className: _style.default.itemsContainer,
192
- "data-name": 'cm-popin-cards'
193
- }, renderItems()) : null, renderBtnSwitch(), firstButton || secondButton || thirdButton ? /*#__PURE__*/_react.default.createElement("div", {
203
+ }, descriptionBtnTxt) : null, !(0, _isEmpty.default)(items) ? renderItems() : null, renderBtnSwitch(), firstButton || secondButton || thirdButton ? /*#__PURE__*/_react.default.createElement("div", {
194
204
  className: _style.default.buttonContainer
195
205
  }, firstButton ? /*#__PURE__*/_react.default.createElement("div", {
196
206
  className: firstButton.largeButton ? _style.default.largeButton : _style.default.button