@coorpacademy/components 10.13.6 → 10.13.9

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 (163) hide show
  1. package/es/atom/button-link-icon-only/test/fixtures.js +0 -2
  2. package/es/atom/button-link-icon-only/test/fixtures.js.map +1 -1
  3. package/es/atom/drag-and-drop/index.js +75 -47
  4. package/es/atom/drag-and-drop/index.js.map +1 -1
  5. package/es/atom/drag-and-drop/style.css +173 -73
  6. package/es/atom/drag-and-drop/test/dragging.js +8 -1
  7. package/es/atom/drag-and-drop/test/dragging.js.map +1 -1
  8. package/es/atom/drag-and-drop/test/fixtures/clean-and-modified.js +12 -0
  9. package/es/atom/drag-and-drop/test/fixtures/clean-and-modified.js.map +1 -0
  10. package/es/atom/drag-and-drop/test/fixtures/default.js +3 -3
  11. package/es/atom/drag-and-drop/test/fixtures/default.js.map +1 -1
  12. package/es/atom/drag-and-drop/test/fixtures/error.js +12 -0
  13. package/es/atom/drag-and-drop/test/fixtures/error.js.map +1 -0
  14. package/es/atom/drag-and-drop/test/fixtures/modified.js +12 -0
  15. package/es/atom/drag-and-drop/test/fixtures/modified.js.map +1 -0
  16. package/es/atom/drag-and-drop/test/fixtures/with-children.js +1 -14
  17. package/es/atom/drag-and-drop/test/fixtures/with-children.js.map +1 -1
  18. package/es/atom/drag-and-drop/test/fixtures/with-image.js +1 -1
  19. package/es/atom/drag-and-drop/test/fixtures/with-image.js.map +1 -1
  20. package/es/atom/drag-and-drop/test/fixtures/with-long-description.js +12 -0
  21. package/es/atom/drag-and-drop/test/fixtures/with-long-description.js.map +1 -0
  22. package/es/atom/drag-and-drop/test/fixtures/with-video.js +2 -1
  23. package/es/atom/drag-and-drop/test/fixtures/with-video.js.map +1 -1
  24. package/es/atom/drag-and-drop/test/fixtures.js +8 -0
  25. package/es/atom/drag-and-drop/test/fixtures.js.map +1 -1
  26. package/es/atom/image-upload/index.js +6 -3
  27. package/es/atom/image-upload/index.js.map +1 -1
  28. package/es/atom/image-upload/test/fixtures/clean-modified.js +13 -0
  29. package/es/atom/image-upload/test/fixtures/clean-modified.js.map +1 -0
  30. package/es/atom/image-upload/test/fixtures/{without-image.js → default.js} +1 -1
  31. package/es/atom/image-upload/test/fixtures/default.js.map +1 -0
  32. package/es/atom/image-upload/test/fixtures.js +4 -2
  33. package/es/atom/image-upload/test/fixtures.js.map +1 -1
  34. package/es/atom/loader/style.css +7 -3
  35. package/es/atom/review-header-step-item/style.css +1 -5
  36. package/es/molecule/brand-form-group/index.js +3 -1
  37. package/es/molecule/brand-form-group/index.js.map +1 -1
  38. package/es/molecule/brand-form-group/style.css +5 -0
  39. package/es/molecule/brand-form-group/test/fixtures/images.js +6 -2
  40. package/es/molecule/brand-form-group/test/fixtures/images.js.map +1 -1
  41. package/es/molecule/course-sections/index.js +4 -1
  42. package/es/molecule/course-sections/index.js.map +1 -1
  43. package/es/molecule/course-sections/style.css +14 -1
  44. package/es/molecule/drag-and-drop-wrapper/test/fixtures.js +15 -0
  45. package/es/molecule/drag-and-drop-wrapper/test/fixtures.js.map +1 -0
  46. package/es/molecule/questions/qcm-graphic/style.css +1 -1
  47. package/es/molecule/search/test/fixtures.js +15 -0
  48. package/es/molecule/search/test/fixtures.js.map +1 -0
  49. package/es/molecule/setup-slide/index.js +3 -1
  50. package/es/molecule/setup-slide/index.js.map +1 -1
  51. package/es/molecule/setup-slide/style.css +5 -0
  52. package/es/molecule/setup-slide/test/fixtures/without-upload-image.js +41 -0
  53. package/es/molecule/setup-slide/test/fixtures/without-upload-image.js.map +1 -0
  54. package/es/molecule/setup-slide/test/fixtures.js +2 -0
  55. package/es/molecule/setup-slide/test/fixtures.js.map +1 -1
  56. package/es/molecule/setup-slider/test/fixtures/default.js +8 -4
  57. package/es/molecule/setup-slider/test/fixtures/default.js.map +1 -1
  58. package/es/organism/brand-form/test/fixtures/lms.js +14 -0
  59. package/es/organism/brand-form/test/fixtures/lms.js.map +1 -1
  60. package/es/organism/course-selection/index.js +2 -1
  61. package/es/organism/course-selection/index.js.map +1 -1
  62. package/es/organism/course-selection/style.css +12 -3
  63. package/es/organism/course-selection/test/fixtures/loading.js +9 -0
  64. package/es/organism/course-selection/test/fixtures/loading.js.map +1 -0
  65. package/es/organism/course-selection/test/fixtures.js +2 -0
  66. package/es/organism/course-selection/test/fixtures.js.map +1 -1
  67. package/es/organism/search-and-chips-results/index.js +2 -1
  68. package/es/organism/search-and-chips-results/index.js.map +1 -1
  69. package/es/organism/search-and-chips-results/style.css +10 -3
  70. package/es/organism/search-and-chips-results/test/fixtures/loading.js +9 -0
  71. package/es/organism/search-and-chips-results/test/fixtures/loading.js.map +1 -0
  72. package/es/organism/search-and-chips-results/test/fixtures.js +2 -0
  73. package/es/organism/search-and-chips-results/test/fixtures.js.map +1 -1
  74. package/es/template/back-office/brand-update/index.js +5 -2
  75. package/es/template/back-office/brand-update/index.js.map +1 -1
  76. package/es/template/back-office/brand-update/style.css +10 -1
  77. package/es/util/button-icons.js +3 -2
  78. package/es/util/button-icons.js.map +1 -1
  79. package/lib/atom/button-link-icon-only/test/fixtures.js +0 -3
  80. package/lib/atom/button-link-icon-only/test/fixtures.js.map +1 -1
  81. package/lib/atom/drag-and-drop/index.js +77 -46
  82. package/lib/atom/drag-and-drop/index.js.map +1 -1
  83. package/lib/atom/drag-and-drop/style.css +173 -73
  84. package/lib/atom/drag-and-drop/test/dragging.js +8 -1
  85. package/lib/atom/drag-and-drop/test/dragging.js.map +1 -1
  86. package/lib/atom/drag-and-drop/test/fixtures/clean-and-modified.js +21 -0
  87. package/lib/atom/drag-and-drop/test/fixtures/clean-and-modified.js.map +1 -0
  88. package/lib/atom/drag-and-drop/test/fixtures/default.js +3 -3
  89. package/lib/atom/drag-and-drop/test/fixtures/default.js.map +1 -1
  90. package/lib/atom/drag-and-drop/test/fixtures/error.js +21 -0
  91. package/lib/atom/drag-and-drop/test/fixtures/error.js.map +1 -0
  92. package/lib/atom/drag-and-drop/test/fixtures/modified.js +21 -0
  93. package/lib/atom/drag-and-drop/test/fixtures/modified.js.map +1 -0
  94. package/lib/atom/drag-and-drop/test/fixtures/with-children.js +1 -19
  95. package/lib/atom/drag-and-drop/test/fixtures/with-children.js.map +1 -1
  96. package/lib/atom/drag-and-drop/test/fixtures/with-image.js +1 -1
  97. package/lib/atom/drag-and-drop/test/fixtures/with-image.js.map +1 -1
  98. package/lib/atom/drag-and-drop/test/fixtures/with-long-description.js +21 -0
  99. package/lib/atom/drag-and-drop/test/fixtures/with-long-description.js.map +1 -0
  100. package/lib/atom/drag-and-drop/test/fixtures/with-video.js +2 -1
  101. package/lib/atom/drag-and-drop/test/fixtures/with-video.js.map +1 -1
  102. package/lib/atom/drag-and-drop/test/fixtures.js +12 -0
  103. package/lib/atom/drag-and-drop/test/fixtures.js.map +1 -1
  104. package/lib/atom/image-upload/index.js +6 -3
  105. package/lib/atom/image-upload/index.js.map +1 -1
  106. package/lib/atom/image-upload/test/fixtures/clean-modified.js +22 -0
  107. package/lib/atom/image-upload/test/fixtures/clean-modified.js.map +1 -0
  108. package/lib/atom/image-upload/test/fixtures/{without-image.js → default.js} +1 -1
  109. package/lib/atom/image-upload/test/fixtures/default.js.map +1 -0
  110. package/lib/atom/image-upload/test/fixtures.js +6 -3
  111. package/lib/atom/image-upload/test/fixtures.js.map +1 -1
  112. package/lib/atom/loader/style.css +7 -3
  113. package/lib/atom/review-header-step-item/style.css +1 -5
  114. package/lib/molecule/brand-form-group/index.js +3 -1
  115. package/lib/molecule/brand-form-group/index.js.map +1 -1
  116. package/lib/molecule/brand-form-group/style.css +5 -0
  117. package/lib/molecule/brand-form-group/test/fixtures/images.js +6 -2
  118. package/lib/molecule/brand-form-group/test/fixtures/images.js.map +1 -1
  119. package/lib/molecule/course-sections/index.js +4 -1
  120. package/lib/molecule/course-sections/index.js.map +1 -1
  121. package/lib/molecule/course-sections/style.css +14 -1
  122. package/lib/molecule/drag-and-drop-wrapper/test/fixtures.js +25 -0
  123. package/lib/molecule/drag-and-drop-wrapper/test/fixtures.js.map +1 -0
  124. package/lib/molecule/questions/qcm-graphic/style.css +1 -1
  125. package/lib/molecule/search/test/fixtures.js +25 -0
  126. package/lib/molecule/search/test/fixtures.js.map +1 -0
  127. package/lib/molecule/setup-slide/index.js +3 -1
  128. package/lib/molecule/setup-slide/index.js.map +1 -1
  129. package/lib/molecule/setup-slide/style.css +5 -0
  130. package/lib/molecule/setup-slide/test/fixtures/without-upload-image.js +46 -0
  131. package/lib/molecule/setup-slide/test/fixtures/without-upload-image.js.map +1 -0
  132. package/lib/molecule/setup-slide/test/fixtures.js +3 -0
  133. package/lib/molecule/setup-slide/test/fixtures.js.map +1 -1
  134. package/lib/molecule/setup-slider/test/fixtures/default.js +7 -2
  135. package/lib/molecule/setup-slider/test/fixtures/default.js.map +1 -1
  136. package/lib/organism/brand-form/test/fixtures/lms.js +14 -0
  137. package/lib/organism/brand-form/test/fixtures/lms.js.map +1 -1
  138. package/lib/organism/course-selection/index.js +2 -1
  139. package/lib/organism/course-selection/index.js.map +1 -1
  140. package/lib/organism/course-selection/style.css +12 -3
  141. package/lib/organism/course-selection/test/fixtures/loading.js +19 -0
  142. package/lib/organism/course-selection/test/fixtures/loading.js.map +1 -0
  143. package/lib/organism/course-selection/test/fixtures.js +3 -0
  144. package/lib/organism/course-selection/test/fixtures.js.map +1 -1
  145. package/lib/organism/search-and-chips-results/index.js +2 -1
  146. package/lib/organism/search-and-chips-results/index.js.map +1 -1
  147. package/lib/organism/search-and-chips-results/style.css +10 -3
  148. package/lib/organism/search-and-chips-results/test/fixtures/loading.js +19 -0
  149. package/lib/organism/search-and-chips-results/test/fixtures/loading.js.map +1 -0
  150. package/lib/organism/search-and-chips-results/test/fixtures.js +3 -0
  151. package/lib/organism/search-and-chips-results/test/fixtures.js.map +1 -1
  152. package/lib/template/back-office/brand-update/index.js +5 -2
  153. package/lib/template/back-office/brand-update/index.js.map +1 -1
  154. package/lib/template/back-office/brand-update/style.css +10 -1
  155. package/lib/util/button-icons.js +2 -1
  156. package/lib/util/button-icons.js.map +1 -1
  157. package/package.json +3 -3
  158. package/es/atom/image-upload/test/fixtures/without-image.js.map +0 -1
  159. package/es/organism/review-header/test/fixtures.js +0 -23
  160. package/es/organism/review-header/test/fixtures.js.map +0 -1
  161. package/lib/atom/image-upload/test/fixtures/without-image.js.map +0 -1
  162. package/lib/organism/review-header/test/fixtures.js +0 -37
  163. package/lib/organism/review-header/test/fixtures.js.map +0 -1
@@ -117,7 +117,10 @@ const buildTabs = items => {
117
117
 
118
118
  const buildContentView = content => {
119
119
  if (!content) {
120
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Loader, {
120
+ return /*#__PURE__*/React.createElement("div", {
121
+ className: style.loaderContainer
122
+ }, /*#__PURE__*/React.createElement(Loader, {
123
+ className: style.loader,
121
124
  theme: "coorpmanager"
122
125
  }));
123
126
  }
@@ -173,7 +176,7 @@ const BrandUpdate = props => {
173
176
  const contentView = buildContentView(content);
174
177
  const detailsView = buildDetailsView(details);
175
178
  const popinView = buildPopin(popin);
176
- const contentStyle = classNames([style.content, !isEmpty(notifications) && style.contentWithNotifications, isEmpty(content) && style.loader]);
179
+ const contentStyle = classNames([style.content, !isEmpty(notifications) && style.contentWithNotifications]);
177
180
  return /*#__PURE__*/React.createElement("div", {
178
181
  className: style.container
179
182
  }, /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/template/back-office/brand-update/index.js"],"names":["React","PropTypes","map","pipe","get","isEmpty","find","classNames","BrandTabs","IconLinkItem","LinkItem","BrandForm","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","WizardContents","ListItems","Banner","Header","Loader","Accordion","CmPopin","style","getStyle","isSelected","selectedElement","unselectedElement","subTabsView","_subTabs","convert","cap","subTab","_index","title","type","selected","buildLeftNavigation","logo","items","onItemClick","formattedTabs","key","href","index","children","iconType","formattedTabsViews","tab","tabs","navigation","buildNotifications","notifications","notificationsList","notification","buildHeader","header","buildPopin","popin","buildTabs","selectedTab","e","showTabs","subTabs","undefined","buildContentView","content","buildDetailsView","details","BrandUpdate","props","leftNavigation","notificationsView","headerView","tabsView","contentView","detailsView","popinView","contentStyle","contentWithNotifications","loader","container","left","contentWrapper","headerSticky","defaultProps","propTypes","arrayOf","shape","string","isRequired","bool","oneOfType","oneOf","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport pipe from 'lodash/fp/pipe';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport find from 'lodash/fp/find';\nimport classNames from 'classnames';\nimport BrandTabs from '../../../molecule/brand-tabs';\nimport {IconLinkItem, LinkItem} from '../../../organism/sidebar';\nimport BrandForm from '../../../organism/brand-form';\nimport BrandTable from '../../../organism/brand-table';\nimport BrandUpload from '../../../organism/brand-upload';\nimport BrandAnalytics from '../../../organism/brand-analytics';\nimport BrandDashboard from '../../../organism/brand-dashboard';\nimport WizardContents from '../../../organism/wizard-contents';\nimport ListItems from '../../../organism/list-items';\nimport Banner from '../../../molecule/banner';\nimport Header from '../../../organism/setup-header';\nimport Loader from '../../../atom/loader';\nimport Accordion from '../../../organism/accordion/coorp-manager';\nimport CmPopin from '../../../molecule/cm-popin';\nimport style from './style.css';\n\nconst getStyle = isSelected => (isSelected ? style.selectedElement : style.unselectedElement);\n\nconst subTabsView = (_subTabs = []) =>\n map.convert({cap: false})((subTab, _index) => (\n <div key={subTab.title}>\n {subTab.type === 'iconLink' ? (\n <IconLinkItem\n {...subTab}\n styles={getStyle(subTab.selected)}\n uppercase={false}\n target={'_blank'}\n />\n ) : (\n <LinkItem {...subTab} styles={getStyle(subTab.selected)} uppercase={false} />\n )}\n </div>\n ))(_subTabs);\n\n// TODO: this fonction should be replaced by a molecule to avoid this file to be unreadable\nconst buildLeftNavigation = (logo, items, onItemClick) => {\n const formattedTabs = items.map(({key, title, href, selected, type = 'simpleTab'}, index) => ({\n title,\n selected,\n type,\n href,\n index,\n children: [],\n iconType: key || 'arrow'\n }));\n\n const formattedTabsViews = map(tab => (\n <div key={tab.title} className={style.subTabsView}>\n {subTabsView(tab.tabs)}\n </div>\n ))(items);\n\n return (\n <div className={style.navigation}>\n <div className={style.logo}>\n <a href=\"/\">\n <img src={logo} />\n </a>\n </div>\n <Accordion tabProps={formattedTabs} theme={'setup'} onClick={onItemClick}>\n {formattedTabsViews}\n </Accordion>\n </div>\n );\n};\n\nconst buildNotifications = notifications => {\n if (isEmpty(notifications)) {\n return null;\n }\n\n const notificationsList = notifications.map((notification, index) => {\n return (\n <div className={style.notification} key={index}>\n <Banner {...notification} />\n </div>\n );\n });\n return <div className={style.notifications}>{notificationsList}</div>;\n};\n\nconst buildHeader = header => {\n return (\n <div className={style.header}>\n <Header {...header} />\n </div>\n );\n};\n\nconst buildPopin = popin => {\n return popin ? (\n <div className={style.popin}>\n <CmPopin {...popin} />\n </div>\n ) : null;\n};\n\nconst buildTabs = items => {\n const selectedTab = pipe(\n find(e => e.selected),\n get('tabs'),\n find(e => e.selected)\n )(items);\n\n const showTabs = selectedTab ? find(e => e.selected, selectedTab.subTabs) : undefined;\n if (!showTabs) return null;\n return (\n <div className={style.tabs}>\n <BrandTabs type=\"light\" tabs={selectedTab.subTabs} />\n </div>\n );\n};\n\nconst buildContentView = content => {\n if (!content) {\n return (\n <div>\n <Loader theme=\"coorpmanager\" />\n </div>\n );\n }\n\n const {type} = content;\n switch (type) {\n case 'form':\n return <BrandForm {...content} />;\n case 'list':\n return <BrandTable {...content} />;\n case 'upload':\n return <BrandUpload {...content} />;\n case 'analytics-dashboards':\n return <BrandAnalytics {...content} />;\n case 'list-content':\n return <ListItems {...content} />;\n case 'home':\n return <BrandDashboard {...content} />;\n case 'wizard':\n return <WizardContents {...content} />;\n }\n};\n\nconst buildDetailsView = details => {\n if (!details) return;\n return <BrandTable {...details} />;\n};\n\nconst BrandUpdate = props => {\n const {notifications, header, items, content, details, popin, onItemClick} = props;\n const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';\n\n const leftNavigation = buildLeftNavigation(logo, items, onItemClick);\n const notificationsView = buildNotifications(notifications);\n const headerView = buildHeader(header, notifications);\n const tabsView = buildTabs(items);\n const contentView = buildContentView(content);\n const detailsView = buildDetailsView(details);\n const popinView = buildPopin(popin);\n\n const contentStyle = classNames([\n style.content,\n !isEmpty(notifications) && style.contentWithNotifications,\n isEmpty(content) && style.loader\n ]);\n\n return (\n <div className={style.container}>\n <div className={style.left}>{leftNavigation}</div>\n <div className={style.contentWrapper}>\n <div className={style.headerSticky}>{headerView}</div>\n <div className={contentStyle}>\n {notificationsView}\n {tabsView}\n {contentView}\n {detailsView}\n </div>\n </div>\n {popinView}\n </div>\n );\n};\n\nBrandUpdate.defaultProps = {\n notifications: []\n};\n\nBrandUpdate.propTypes = {\n notifications: PropTypes.arrayOf(\n PropTypes.shape({\n ...Banner.propTypes\n })\n ),\n header: PropTypes.shape({...Header.propTypes}),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n subTabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string\n })\n )\n })\n )\n })\n ).isRequired,\n content: PropTypes.oneOfType([\n PropTypes.shape({\n ...BrandForm.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['form'])\n }),\n PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n PropTypes.shape({\n ...BrandUpload.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['upload'])\n }),\n PropTypes.shape({\n ...BrandAnalytics.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['analytics-dashboards'])\n }),\n PropTypes.shape({\n ...BrandDashboard.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['home'])\n }),\n PropTypes.shape({\n ...WizardContents.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['wizard'])\n }),\n PropTypes.shape({\n ...ListItems.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list-content'])\n })\n ]),\n popin: PropTypes.shape({...CmPopin.propTypes}),\n details: PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n onItemClick: PropTypes.func\n};\n\nexport default BrandUpdate;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/template/back-office/brand-update/index.js"],"names":["React","PropTypes","map","pipe","get","isEmpty","find","classNames","BrandTabs","IconLinkItem","LinkItem","BrandForm","BrandTable","BrandUpload","BrandAnalytics","BrandDashboard","WizardContents","ListItems","Banner","Header","Loader","Accordion","CmPopin","style","getStyle","isSelected","selectedElement","unselectedElement","subTabsView","_subTabs","convert","cap","subTab","_index","title","type","selected","buildLeftNavigation","logo","items","onItemClick","formattedTabs","key","href","index","children","iconType","formattedTabsViews","tab","tabs","navigation","buildNotifications","notifications","notificationsList","notification","buildHeader","header","buildPopin","popin","buildTabs","selectedTab","e","showTabs","subTabs","undefined","buildContentView","content","loaderContainer","loader","buildDetailsView","details","BrandUpdate","props","leftNavigation","notificationsView","headerView","tabsView","contentView","detailsView","popinView","contentStyle","contentWithNotifications","container","left","contentWrapper","headerSticky","defaultProps","propTypes","arrayOf","shape","string","isRequired","bool","oneOfType","oneOf","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport pipe from 'lodash/fp/pipe';\nimport get from 'lodash/fp/get';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport find from 'lodash/fp/find';\nimport classNames from 'classnames';\nimport BrandTabs from '../../../molecule/brand-tabs';\nimport {IconLinkItem, LinkItem} from '../../../organism/sidebar';\nimport BrandForm from '../../../organism/brand-form';\nimport BrandTable from '../../../organism/brand-table';\nimport BrandUpload from '../../../organism/brand-upload';\nimport BrandAnalytics from '../../../organism/brand-analytics';\nimport BrandDashboard from '../../../organism/brand-dashboard';\nimport WizardContents from '../../../organism/wizard-contents';\nimport ListItems from '../../../organism/list-items';\nimport Banner from '../../../molecule/banner';\nimport Header from '../../../organism/setup-header';\nimport Loader from '../../../atom/loader';\nimport Accordion from '../../../organism/accordion/coorp-manager';\nimport CmPopin from '../../../molecule/cm-popin';\nimport style from './style.css';\n\nconst getStyle = isSelected => (isSelected ? style.selectedElement : style.unselectedElement);\n\nconst subTabsView = (_subTabs = []) =>\n map.convert({cap: false})((subTab, _index) => (\n <div key={subTab.title}>\n {subTab.type === 'iconLink' ? (\n <IconLinkItem\n {...subTab}\n styles={getStyle(subTab.selected)}\n uppercase={false}\n target={'_blank'}\n />\n ) : (\n <LinkItem {...subTab} styles={getStyle(subTab.selected)} uppercase={false} />\n )}\n </div>\n ))(_subTabs);\n\n// TODO: this fonction should be replaced by a molecule to avoid this file to be unreadable\nconst buildLeftNavigation = (logo, items, onItemClick) => {\n const formattedTabs = items.map(({key, title, href, selected, type = 'simpleTab'}, index) => ({\n title,\n selected,\n type,\n href,\n index,\n children: [],\n iconType: key || 'arrow'\n }));\n\n const formattedTabsViews = map(tab => (\n <div key={tab.title} className={style.subTabsView}>\n {subTabsView(tab.tabs)}\n </div>\n ))(items);\n\n return (\n <div className={style.navigation}>\n <div className={style.logo}>\n <a href=\"/\">\n <img src={logo} />\n </a>\n </div>\n <Accordion tabProps={formattedTabs} theme={'setup'} onClick={onItemClick}>\n {formattedTabsViews}\n </Accordion>\n </div>\n );\n};\n\nconst buildNotifications = notifications => {\n if (isEmpty(notifications)) {\n return null;\n }\n\n const notificationsList = notifications.map((notification, index) => {\n return (\n <div className={style.notification} key={index}>\n <Banner {...notification} />\n </div>\n );\n });\n return <div className={style.notifications}>{notificationsList}</div>;\n};\n\nconst buildHeader = header => {\n return (\n <div className={style.header}>\n <Header {...header} />\n </div>\n );\n};\n\nconst buildPopin = popin => {\n return popin ? (\n <div className={style.popin}>\n <CmPopin {...popin} />\n </div>\n ) : null;\n};\n\nconst buildTabs = items => {\n const selectedTab = pipe(\n find(e => e.selected),\n get('tabs'),\n find(e => e.selected)\n )(items);\n\n const showTabs = selectedTab ? find(e => e.selected, selectedTab.subTabs) : undefined;\n if (!showTabs) return null;\n return (\n <div className={style.tabs}>\n <BrandTabs type=\"light\" tabs={selectedTab.subTabs} />\n </div>\n );\n};\n\nconst buildContentView = content => {\n if (!content) {\n return (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n );\n }\n\n const {type} = content;\n switch (type) {\n case 'form':\n return <BrandForm {...content} />;\n case 'list':\n return <BrandTable {...content} />;\n case 'upload':\n return <BrandUpload {...content} />;\n case 'analytics-dashboards':\n return <BrandAnalytics {...content} />;\n case 'list-content':\n return <ListItems {...content} />;\n case 'home':\n return <BrandDashboard {...content} />;\n case 'wizard':\n return <WizardContents {...content} />;\n }\n};\n\nconst buildDetailsView = details => {\n if (!details) return;\n return <BrandTable {...details} />;\n};\n\nconst BrandUpdate = props => {\n const {notifications, header, items, content, details, popin, onItemClick} = props;\n const logo = 'https://static.coorpacademy.com/logo/coorp-manager.svg';\n\n const leftNavigation = buildLeftNavigation(logo, items, onItemClick);\n const notificationsView = buildNotifications(notifications);\n const headerView = buildHeader(header, notifications);\n const tabsView = buildTabs(items);\n const contentView = buildContentView(content);\n const detailsView = buildDetailsView(details);\n const popinView = buildPopin(popin);\n\n const contentStyle = classNames([\n style.content,\n !isEmpty(notifications) && style.contentWithNotifications\n ]);\n\n return (\n <div className={style.container}>\n <div className={style.left}>{leftNavigation}</div>\n <div className={style.contentWrapper}>\n <div className={style.headerSticky}>{headerView}</div>\n <div className={contentStyle}>\n {notificationsView}\n {tabsView}\n {contentView}\n {detailsView}\n </div>\n </div>\n {popinView}\n </div>\n );\n};\n\nBrandUpdate.defaultProps = {\n notifications: []\n};\n\nBrandUpdate.propTypes = {\n notifications: PropTypes.arrayOf(\n PropTypes.shape({\n ...Banner.propTypes\n })\n ),\n header: PropTypes.shape({...Header.propTypes}),\n items: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string,\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string,\n subTabs: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string.isRequired,\n href: PropTypes.string.isRequired,\n selected: PropTypes.bool.isRequired,\n type: PropTypes.string\n })\n )\n })\n )\n })\n ).isRequired,\n content: PropTypes.oneOfType([\n PropTypes.shape({\n ...BrandForm.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['form'])\n }),\n PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n PropTypes.shape({\n ...BrandUpload.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['upload'])\n }),\n PropTypes.shape({\n ...BrandAnalytics.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['analytics-dashboards'])\n }),\n PropTypes.shape({\n ...BrandDashboard.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['home'])\n }),\n PropTypes.shape({\n ...WizardContents.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['wizard'])\n }),\n PropTypes.shape({\n ...ListItems.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list-content'])\n })\n ]),\n popin: PropTypes.shape({...CmPopin.propTypes}),\n details: PropTypes.shape({\n ...BrandTable.propTypes,\n key: PropTypes.string,\n type: PropTypes.oneOf(['list'])\n }),\n onItemClick: PropTypes.func\n};\n\nexport default BrandUpdate;\n"],"file":"index.js"}
@@ -18,8 +18,17 @@
18
18
  display: flex;
19
19
  }
20
20
 
21
+ .loaderContainer {
22
+ width: 100%;
23
+ height: 50vh;
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: center;
27
+ }
28
+
21
29
  .loader {
22
- height: calc(100% - 143px);
30
+ height: 60px;
31
+ width: 60px;
23
32
  }
24
33
 
25
34
  .left {
@@ -1,4 +1,4 @@
1
- import { NovaSolidRemoveAddAddCircle1 as AddIcon, NovaCompositionCoorpacademyAnalytics as AnalyticsIcon, NovaSolidContentEditionBin as BinIcon, NovaCompositionCoorpacademyBulletPoint as BulletPointIcon, NovaCompositionNavigationArrowLeft as ChevronLeftIcon, NovaCompositionNavigationArrowRight as ChevronRightIcon, NovaSolidStatusClose as CloseIcon, NovaSolidContentEditionPencilWrite as EditIcon, NovaCompositionCoorpacademyEye as EyeIcon, NovaSolidContentContentViewModule1 as ListIcon, NovaSolidLoginLogout1 as LogoutIcon, NovaSolidApplicationsWindowUpload3 as PublishIcon, NovaSolidComputersSdCard as SaveIcon, NovaLineLoginKey1 as KlfIcon } from '@coorpacademy/nova-icons';
1
+ import { NovaSolidRemoveAddAddCircle1 as AddIcon, NovaCompositionCoorpacademyAnalytics as AnalyticsIcon, NovaSolidContentEditionBin as BinIcon, NovaCompositionCoorpacademyBulletPoint as BulletPointIcon, NovaCompositionNavigationArrowLeft as ChevronLeftIcon, NovaCompositionNavigationArrowRight as ChevronRightIcon, NovaSolidStatusClose as CloseIcon, NovaSolidContentEditionPencilWrite as EditIcon, NovaCompositionCoorpacademyEye as EyeIcon, NovaSolidContentContentViewModule1 as ListIcon, NovaSolidLoginLogout1 as LogoutIcon, NovaSolidApplicationsWindowUpload3 as PublishIcon, NovaSolidComputersSdCard as SaveIcon, NovaLineLoginKey1 as KlfIcon, NovaSolidFilesFoldersFolders as FoldersIcon } from '@coorpacademy/nova-icons';
2
2
  export const ICONS = {
3
3
  add: AddIcon,
4
4
  analytics: AnalyticsIcon,
@@ -13,6 +13,7 @@ export const ICONS = {
13
13
  logout: LogoutIcon,
14
14
  publish: PublishIcon,
15
15
  save: SaveIcon,
16
- see: EyeIcon
16
+ see: EyeIcon,
17
+ folders: FoldersIcon
17
18
  };
18
19
  //# sourceMappingURL=button-icons.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/button-icons.js"],"names":["NovaSolidRemoveAddAddCircle1","AddIcon","NovaCompositionCoorpacademyAnalytics","AnalyticsIcon","NovaSolidContentEditionBin","BinIcon","NovaCompositionCoorpacademyBulletPoint","BulletPointIcon","NovaCompositionNavigationArrowLeft","ChevronLeftIcon","NovaCompositionNavigationArrowRight","ChevronRightIcon","NovaSolidStatusClose","CloseIcon","NovaSolidContentEditionPencilWrite","EditIcon","NovaCompositionCoorpacademyEye","EyeIcon","NovaSolidContentContentViewModule1","ListIcon","NovaSolidLoginLogout1","LogoutIcon","NovaSolidApplicationsWindowUpload3","PublishIcon","NovaSolidComputersSdCard","SaveIcon","NovaLineLoginKey1","KlfIcon","ICONS","add","analytics","bin","close","edit","key","list","logout","publish","save","see"],"mappings":"AAAA,SACEA,4BAA4B,IAAIC,OADlC,EAEEC,oCAAoC,IAAIC,aAF1C,EAGEC,0BAA0B,IAAIC,OAHhC,EAIEC,sCAAsC,IAAIC,eAJ5C,EAKEC,kCAAkC,IAAIC,eALxC,EAMEC,mCAAmC,IAAIC,gBANzC,EAOEC,oBAAoB,IAAIC,SAP1B,EAQEC,kCAAkC,IAAIC,QARxC,EASEC,8BAA8B,IAAIC,OATpC,EAUEC,kCAAkC,IAAIC,QAVxC,EAWEC,qBAAqB,IAAIC,UAX3B,EAYEC,kCAAkC,IAAIC,WAZxC,EAaEC,wBAAwB,IAAIC,QAb9B,EAcEC,iBAAiB,IAAIC,OAdvB,QAeO,0BAfP;AAiBA,OAAO,MAAMC,KAAK,GAAG;AACnBC,EAAAA,GAAG,EAAE5B,OADc;AAEnB6B,EAAAA,SAAS,EAAE3B,aAFQ;AAGnB4B,EAAAA,GAAG,EAAE1B,OAHc;AAInB,kBAAgBE,eAJG;AAKnB,kBAAgBE,eALG;AAMnB,mBAAiBE,gBANE;AAOnBqB,EAAAA,KAAK,EAAEnB,SAPY;AAQnBoB,EAAAA,IAAI,EAAElB,QARa;AASnBmB,EAAAA,GAAG,EAAEP,OATc;AAUnBQ,EAAAA,IAAI,EAAEhB,QAVa;AAWnBiB,EAAAA,MAAM,EAAEf,UAXW;AAYnBgB,EAAAA,OAAO,EAAEd,WAZU;AAanBe,EAAAA,IAAI,EAAEb,QAba;AAcnBc,EAAAA,GAAG,EAAEtB;AAdc,CAAd","sourcesContent":["import {\n NovaSolidRemoveAddAddCircle1 as AddIcon,\n NovaCompositionCoorpacademyAnalytics as AnalyticsIcon,\n NovaSolidContentEditionBin as BinIcon,\n NovaCompositionCoorpacademyBulletPoint as BulletPointIcon,\n NovaCompositionNavigationArrowLeft as ChevronLeftIcon,\n NovaCompositionNavigationArrowRight as ChevronRightIcon,\n NovaSolidStatusClose as CloseIcon,\n NovaSolidContentEditionPencilWrite as EditIcon,\n NovaCompositionCoorpacademyEye as EyeIcon,\n NovaSolidContentContentViewModule1 as ListIcon,\n NovaSolidLoginLogout1 as LogoutIcon,\n NovaSolidApplicationsWindowUpload3 as PublishIcon,\n NovaSolidComputersSdCard as SaveIcon,\n NovaLineLoginKey1 as KlfIcon\n} from '@coorpacademy/nova-icons';\n\nexport const ICONS = {\n add: AddIcon,\n analytics: AnalyticsIcon,\n bin: BinIcon,\n 'bullet-point': BulletPointIcon,\n 'chevron-left': ChevronLeftIcon,\n 'chevron-right': ChevronRightIcon,\n close: CloseIcon,\n edit: EditIcon,\n key: KlfIcon,\n list: ListIcon,\n logout: LogoutIcon,\n publish: PublishIcon,\n save: SaveIcon,\n see: EyeIcon\n};\n"],"file":"button-icons.js"}
1
+ {"version":3,"sources":["../../src/util/button-icons.js"],"names":["NovaSolidRemoveAddAddCircle1","AddIcon","NovaCompositionCoorpacademyAnalytics","AnalyticsIcon","NovaSolidContentEditionBin","BinIcon","NovaCompositionCoorpacademyBulletPoint","BulletPointIcon","NovaCompositionNavigationArrowLeft","ChevronLeftIcon","NovaCompositionNavigationArrowRight","ChevronRightIcon","NovaSolidStatusClose","CloseIcon","NovaSolidContentEditionPencilWrite","EditIcon","NovaCompositionCoorpacademyEye","EyeIcon","NovaSolidContentContentViewModule1","ListIcon","NovaSolidLoginLogout1","LogoutIcon","NovaSolidApplicationsWindowUpload3","PublishIcon","NovaSolidComputersSdCard","SaveIcon","NovaLineLoginKey1","KlfIcon","NovaSolidFilesFoldersFolders","FoldersIcon","ICONS","add","analytics","bin","close","edit","key","list","logout","publish","save","see","folders"],"mappings":"AAAA,SACEA,4BAA4B,IAAIC,OADlC,EAEEC,oCAAoC,IAAIC,aAF1C,EAGEC,0BAA0B,IAAIC,OAHhC,EAIEC,sCAAsC,IAAIC,eAJ5C,EAKEC,kCAAkC,IAAIC,eALxC,EAMEC,mCAAmC,IAAIC,gBANzC,EAOEC,oBAAoB,IAAIC,SAP1B,EAQEC,kCAAkC,IAAIC,QARxC,EASEC,8BAA8B,IAAIC,OATpC,EAUEC,kCAAkC,IAAIC,QAVxC,EAWEC,qBAAqB,IAAIC,UAX3B,EAYEC,kCAAkC,IAAIC,WAZxC,EAaEC,wBAAwB,IAAIC,QAb9B,EAcEC,iBAAiB,IAAIC,OAdvB,EAeEC,4BAA4B,IAAIC,WAflC,QAgBO,0BAhBP;AAkBA,OAAO,MAAMC,KAAK,GAAG;AACnBC,EAAAA,GAAG,EAAE9B,OADc;AAEnB+B,EAAAA,SAAS,EAAE7B,aAFQ;AAGnB8B,EAAAA,GAAG,EAAE5B,OAHc;AAInB,kBAAgBE,eAJG;AAKnB,kBAAgBE,eALG;AAMnB,mBAAiBE,gBANE;AAOnBuB,EAAAA,KAAK,EAAErB,SAPY;AAQnBsB,EAAAA,IAAI,EAAEpB,QARa;AASnBqB,EAAAA,GAAG,EAAET,OATc;AAUnBU,EAAAA,IAAI,EAAElB,QAVa;AAWnBmB,EAAAA,MAAM,EAAEjB,UAXW;AAYnBkB,EAAAA,OAAO,EAAEhB,WAZU;AAanBiB,EAAAA,IAAI,EAAEf,QAba;AAcnBgB,EAAAA,GAAG,EAAExB,OAdc;AAenByB,EAAAA,OAAO,EAAEb;AAfU,CAAd","sourcesContent":["import {\n NovaSolidRemoveAddAddCircle1 as AddIcon,\n NovaCompositionCoorpacademyAnalytics as AnalyticsIcon,\n NovaSolidContentEditionBin as BinIcon,\n NovaCompositionCoorpacademyBulletPoint as BulletPointIcon,\n NovaCompositionNavigationArrowLeft as ChevronLeftIcon,\n NovaCompositionNavigationArrowRight as ChevronRightIcon,\n NovaSolidStatusClose as CloseIcon,\n NovaSolidContentEditionPencilWrite as EditIcon,\n NovaCompositionCoorpacademyEye as EyeIcon,\n NovaSolidContentContentViewModule1 as ListIcon,\n NovaSolidLoginLogout1 as LogoutIcon,\n NovaSolidApplicationsWindowUpload3 as PublishIcon,\n NovaSolidComputersSdCard as SaveIcon,\n NovaLineLoginKey1 as KlfIcon,\n NovaSolidFilesFoldersFolders as FoldersIcon\n} from '@coorpacademy/nova-icons';\n\nexport const ICONS = {\n add: AddIcon,\n analytics: AnalyticsIcon,\n bin: BinIcon,\n 'bullet-point': BulletPointIcon,\n 'chevron-left': ChevronLeftIcon,\n 'chevron-right': ChevronRightIcon,\n close: CloseIcon,\n edit: EditIcon,\n key: KlfIcon,\n list: ListIcon,\n logout: LogoutIcon,\n publish: PublishIcon,\n save: SaveIcon,\n see: EyeIcon,\n folders: FoldersIcon\n};\n"],"file":"button-icons.js"}
@@ -14,8 +14,6 @@ var _default = _interopRequireDefault(require("./fixtures/default"));
14
14
 
15
15
  var _noIcon = _interopRequireDefault(require("./fixtures/no-icon"));
16
16
 
17
- var _reviewHeader = _interopRequireDefault(require("./fixtures/review-header"));
18
-
19
17
  var _smallButtonDisabled = _interopRequireDefault(require("./fixtures/small-button-disabled"));
20
18
 
21
19
  var _smallLinkDownload = _interopRequireDefault(require("./fixtures/small-link-download"));
@@ -31,7 +29,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
31
29
  (0, _ava.default)('Atom › AtomButtonLinkIconOnly › ButtonIconBullet › should be rendered', _renderComponent.default, _.default, _buttonIconBullet.default);
32
30
  (0, _ava.default)('Atom › AtomButtonLinkIconOnly › Default › should be rendered', _renderComponent.default, _.default, _default.default);
33
31
  (0, _ava.default)('Atom › AtomButtonLinkIconOnly › NoIcon › should be rendered', _renderComponent.default, _.default, _noIcon.default);
34
- (0, _ava.default)('Atom › AtomButtonLinkIconOnly › ReviewHeader › should be rendered', _renderComponent.default, _.default, _reviewHeader.default);
35
32
  (0, _ava.default)('Atom › AtomButtonLinkIconOnly › SmallButtonDisabled › should be rendered', _renderComponent.default, _.default, _smallButtonDisabled.default);
36
33
  (0, _ava.default)('Atom › AtomButtonLinkIconOnly › SmallLinkDownload › should be rendered', _renderComponent.default, _.default, _smallLinkDownload.default);
37
34
  //# sourceMappingURL=fixtures.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/button-link-icon-only/test/fixtures.js"],"names":["t","pass","AtomButtonLinkIconOnly","propTypes","value","key","not","undefined","renderComponentMacro","fixtureButtonIconBullet","fixtureDefault","fixtureNoIcon","fixtureReviewHeader","fixtureSmallButtonDisabled","fixtureSmallLinkDownload"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,6DAAL,EAAoEA,CAAC,IAAI;AACvEA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAuBC,SAA/B,EAA0C,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACxDL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,uDAAsDF,GAAI,mEAAnF;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,uEAAL,EAA8EG,wBAA9E,EAAoGN,SAApG,EAA4HO,yBAA5H;AACA,kBAAK,8DAAL,EAAqED,wBAArE,EAA2FN,SAA3F,EAAmHQ,gBAAnH;AACA,kBAAK,6DAAL,EAAoEF,wBAApE,EAA0FN,SAA1F,EAAkHS,eAAlH;AACA,kBAAK,mEAAL,EAA0EH,wBAA1E,EAAgGN,SAAhG,EAAwHU,qBAAxH;AACA,kBAAK,0EAAL,EAAiFJ,wBAAjF,EAAuGN,SAAvG,EAA+HW,4BAA/H;AACA,kBAAK,wEAAL,EAA+EL,wBAA/E,EAAqGN,SAArG,EAA6HY,0BAA7H","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomButtonLinkIconOnly from '..';\nimport fixtureButtonIconBullet from './fixtures/button-icon-bullet';\nimport fixtureDefault from './fixtures/default';\nimport fixtureNoIcon from './fixtures/no-icon';\nimport fixtureReviewHeader from './fixtures/review-header';\nimport fixtureSmallButtonDisabled from './fixtures/small-button-disabled';\nimport fixtureSmallLinkDownload from './fixtures/small-link-download';\n\ntest('Atom › AtomButtonLinkIconOnly > should have valid propTypes', t => {\n t.pass();\n forEach(AtomButtonLinkIconOnly.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomButtonLinkIconOnly.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomButtonLinkIconOnly › ButtonIconBullet › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureButtonIconBullet);\ntest('Atom › AtomButtonLinkIconOnly › Default › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureDefault);\ntest('Atom › AtomButtonLinkIconOnly › NoIcon › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureNoIcon);\ntest('Atom › AtomButtonLinkIconOnly › ReviewHeader › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureReviewHeader);\ntest('Atom › AtomButtonLinkIconOnly › SmallButtonDisabled › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureSmallButtonDisabled);\ntest('Atom › AtomButtonLinkIconOnly › SmallLinkDownload › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureSmallLinkDownload);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../src/atom/button-link-icon-only/test/fixtures.js"],"names":["t","pass","AtomButtonLinkIconOnly","propTypes","value","key","not","undefined","renderComponentMacro","fixtureButtonIconBullet","fixtureDefault","fixtureNoIcon","fixtureSmallButtonDisabled","fixtureSmallLinkDownload"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,6DAAL,EAAoEA,CAAC,IAAI;AACvEA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAuBC,SAA/B,EAA0C,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACxDL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,uDAAsDF,GAAI,mEAAnF;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,uEAAL,EAA8EG,wBAA9E,EAAoGN,SAApG,EAA4HO,yBAA5H;AACA,kBAAK,8DAAL,EAAqED,wBAArE,EAA2FN,SAA3F,EAAmHQ,gBAAnH;AACA,kBAAK,6DAAL,EAAoEF,wBAApE,EAA0FN,SAA1F,EAAkHS,eAAlH;AACA,kBAAK,0EAAL,EAAiFH,wBAAjF,EAAuGN,SAAvG,EAA+HU,4BAA/H;AACA,kBAAK,wEAAL,EAA+EJ,wBAA/E,EAAqGN,SAArG,EAA6HW,0BAA7H","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomButtonLinkIconOnly from '..';\nimport fixtureButtonIconBullet from './fixtures/button-icon-bullet';\nimport fixtureDefault from './fixtures/default';\nimport fixtureNoIcon from './fixtures/no-icon';\nimport fixtureSmallButtonDisabled from './fixtures/small-button-disabled';\nimport fixtureSmallLinkDownload from './fixtures/small-link-download';\n\ntest('Atom › AtomButtonLinkIconOnly > should have valid propTypes', t => {\n t.pass();\n forEach(AtomButtonLinkIconOnly.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomButtonLinkIconOnly.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomButtonLinkIconOnly › ButtonIconBullet › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureButtonIconBullet);\ntest('Atom › AtomButtonLinkIconOnly › Default › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureDefault);\ntest('Atom › AtomButtonLinkIconOnly › NoIcon › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureNoIcon);\ntest('Atom › AtomButtonLinkIconOnly › SmallButtonDisabled › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureSmallButtonDisabled);\ntest('Atom › AtomButtonLinkIconOnly › SmallLinkDownload › should be rendered', renderComponentMacro, AtomButtonLinkIconOnly, fixtureSmallLinkDownload);\n"],"file":"fixtures.js"}
@@ -3,9 +3,9 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
 
6
- var _constant2 = _interopRequireDefault(require("lodash/fp/constant"));
6
+ var _isEmpty2 = _interopRequireDefault(require("lodash/fp/isEmpty"));
7
7
 
8
- var _get2 = _interopRequireDefault(require("lodash/fp/get"));
8
+ var _constant2 = _interopRequireDefault(require("lodash/fp/constant"));
9
9
 
10
10
  var _uniqueId2 = _interopRequireDefault(require("lodash/fp/uniqueId"));
11
11
 
@@ -15,18 +15,18 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
 
16
16
  var _novaIcons = require("@coorpacademy/nova-icons");
17
17
 
18
- var _provider = _interopRequireDefault(require("../provider"));
19
-
20
18
  var _loader = _interopRequireDefault(require("../loader"));
21
19
 
20
+ var _buttonLink = _interopRequireDefault(require("../button-link"));
21
+
22
+ var _getClassState = _interopRequireDefault(require("../../util/get-class-state"));
23
+
22
24
  var _style = _interopRequireDefault(require("./style.css"));
23
25
 
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
27
 
26
28
  function _extends() { _extends = Object.assign || 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
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
-
30
30
  const constantNull = (0, _constant2.default)(null);
31
31
 
32
32
  class DragAndDrop extends _react.default.Component {
@@ -52,10 +52,6 @@ class DragAndDrop extends _react.default.Component {
52
52
  }
53
53
 
54
54
  render() {
55
- const {
56
- skin
57
- } = this.context;
58
- const brandColor = (0, _get2.default)('common.brand', skin);
59
55
  const idBox = (0, _uniqueId2.default)('drop-box-');
60
56
  const {
61
57
  children = constantNull,
@@ -66,7 +62,8 @@ class DragAndDrop extends _react.default.Component {
66
62
  previewContent,
67
63
  loading = false,
68
64
  modified = false,
69
- onReset = null
65
+ onReset = null,
66
+ error = ''
70
67
  } = this.props;
71
68
  const {
72
69
  dragging
@@ -75,72 +72,105 @@ class DragAndDrop extends _react.default.Component {
75
72
 
76
73
  if (previewContent && previewContent.type === 'image') {
77
74
  previewView = /*#__PURE__*/_react.default.createElement("div", {
78
- className: _style.default.previewView
75
+ className: _style.default.preview
79
76
  }, /*#__PURE__*/_react.default.createElement("img", {
80
77
  src: previewContent.src
81
78
  }));
82
79
  } else if (previewContent && previewContent.type === 'video') {
83
80
  previewView = /*#__PURE__*/_react.default.createElement("div", {
84
- className: _extends(_extends({}, _style.default.previewView), {}, {
85
- width: '300px'
86
- })
81
+ className: _style.default.preview
87
82
  }, /*#__PURE__*/_react.default.createElement("video", {
88
- width: "100%",
89
83
  controls: true,
90
84
  src: previewContent.src,
91
85
  type: "video/*"
92
86
  }));
93
87
  } else if (loading) {
94
88
  previewView = /*#__PURE__*/_react.default.createElement("div", {
95
- className: _style.default.loading
96
- }, /*#__PURE__*/_react.default.createElement(_loader.default, null));
89
+ className: _style.default.loaderWrapper
90
+ }, /*#__PURE__*/_react.default.createElement("div", {
91
+ className: _style.default.loadingCancel
92
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaLineStatusClose, {
93
+ "data-name": "reset-content-icon",
94
+ height: 24,
95
+ width: 24,
96
+ className: _style.default.closeIcon,
97
+ onClick: onReset
98
+ })), /*#__PURE__*/_react.default.createElement("div", {
99
+ className: _style.default.loader
100
+ }, /*#__PURE__*/_react.default.createElement(_loader.default, {
101
+ theme: "coorpmanager"
102
+ })), /*#__PURE__*/_react.default.createElement("span", {
103
+ className: _style.default.loaderText
104
+ }, "Uploading"));
97
105
  } else {
98
106
  previewView = /*#__PURE__*/_react.default.createElement("span", null, previewLabel);
99
107
  }
100
108
 
101
- const resetContent = previewContent && previewContent.src && onReset ? /*#__PURE__*/_react.default.createElement("div", {
109
+ const resetContent = previewContent && previewContent.src ? /*#__PURE__*/_react.default.createElement("div", {
102
110
  className: _style.default.resetUploadWrapper
103
111
  }, /*#__PURE__*/_react.default.createElement("div", {
104
112
  className: _style.default.resetSrcLabel
105
- }, previewContent.src), /*#__PURE__*/_react.default.createElement(_novaIcons.NovaLineStatusClose, {
113
+ }, previewContent.src), onReset ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaLineStatusClose, {
106
114
  "data-name": "reset-content-icon",
107
- height: 16,
108
- width: 16,
115
+ height: 24,
116
+ width: 24,
109
117
  className: _style.default.closeIcon,
110
118
  onClick: onReset
111
- })) : null;
119
+ }) : null) : null;
120
+
121
+ const buildButton = () => {
122
+ const defaultButtonProps = {
123
+ label: uploadLabel,
124
+ 'aria-label': 'aria button',
125
+ 'data-name': 'default-button',
126
+ icon: {
127
+ position: 'left',
128
+ type: 'folders'
129
+ }
130
+ };
131
+
132
+ if (dragging) {
133
+ return null;
134
+ } else if (error) {
135
+ return /*#__PURE__*/_react.default.createElement(_buttonLink.default, _extends({}, defaultButtonProps, {
136
+ label: "Try again",
137
+ icon: {}
138
+ }));
139
+ } else {
140
+ return /*#__PURE__*/_react.default.createElement(_buttonLink.default, defaultButtonProps);
141
+ }
142
+ };
143
+
144
+ const button = buildButton(dragging, error);
145
+ const previewContainer = (0, _getClassState.default)(_style.default.previewContainer, _style.default.modifiedPreviewContainer, null, modified, error);
146
+ const inputWrapper = (0, _getClassState.default)(_style.default.inputWrapper, _style.default.modifiedInputWrapper, _style.default.errorInputWrapper, modified, error);
112
147
  return /*#__PURE__*/_react.default.createElement("div", {
113
148
  className: _style.default.wrapper,
114
149
  "data-name": "drag-and-drop-wrapper"
115
150
  }, /*#__PURE__*/_react.default.createElement("div", {
116
151
  className: _style.default.title
117
- }, title), /*#__PURE__*/_react.default.createElement("div", {
118
- className: modified ? _style.default.modified : _style.default.previewWrapper
119
- }, previewView), /*#__PURE__*/_react.default.createElement("div", {
120
- className: dragging ? _style.default.dragging : _style.default.inputWrapper,
152
+ }, title), !(0, _isEmpty2.default)(previewContent) || loading ? /*#__PURE__*/_react.default.createElement("div", {
153
+ className: previewContainer
154
+ }, previewView) : /*#__PURE__*/_react.default.createElement("div", {
155
+ className: dragging ? _style.default.dragging : inputWrapper,
121
156
  id: idBox
122
- }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidDataTransferDataUpload1, {
123
- className: _style.default.arrow,
124
- color: brandColor
125
- }), /*#__PURE__*/_react.default.createElement("div", {
126
- className: _style.default.uploadLabel
127
- }, uploadLabel), children(this.handleDragStart, this.handleDragStop)), resetContent, description ?
128
- /*#__PURE__*/
129
- // eslint-disable-next-line react/no-danger
130
- _react.default.createElement("div", {
131
- className: _style.default.description,
132
- dangerouslySetInnerHTML: {
133
- __html: description
134
- }
135
- }) : null);
157
+ }, /*#__PURE__*/_react.default.createElement("div", {
158
+ className: _style.default.infosContainer
159
+ }, error ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidFilesBasicFileBlock2, {
160
+ className: _style.default.iconError
161
+ }) : /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidFilesBasicFileUpload2, {
162
+ className: _style.default.icon
163
+ }), description ? /*#__PURE__*/_react.default.createElement("div", {
164
+ className: _style.default.description
165
+ }, description) : null, error ? null : /*#__PURE__*/_react.default.createElement("div", {
166
+ className: _style.default.dragAndDropLabel
167
+ }, 'Drag & Drop here')), button, /*#__PURE__*/_react.default.createElement("div", null, children(this.handleDragStart, this.handleDragStop))), error ? /*#__PURE__*/_react.default.createElement("span", {
168
+ className: _style.default.errorMessage
169
+ }, error) : resetContent);
136
170
  }
137
171
 
138
172
  }
139
173
 
140
- _defineProperty(DragAndDrop, "contextTypes", {
141
- skin: _provider.default.childContextTypes.skin
142
- });
143
-
144
174
  DragAndDrop.propTypes = process.env.NODE_ENV !== "production" ? {
145
175
  title: _propTypes.default.string,
146
176
  description: _propTypes.default.string,
@@ -153,7 +183,8 @@ DragAndDrop.propTypes = process.env.NODE_ENV !== "production" ? {
153
183
  loading: _propTypes.default.bool,
154
184
  modified: _propTypes.default.bool,
155
185
  children: _propTypes.default.func,
156
- onReset: _propTypes.default.func
186
+ onReset: _propTypes.default.func,
187
+ error: _propTypes.default.string
157
188
  } : {};
158
189
  var _default = DragAndDrop;
159
190
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/drag-and-drop/index.js"],"names":["constantNull","DragAndDrop","React","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","skin","context","brandColor","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","previewView","type","style","src","width","resetContent","resetUploadWrapper","resetSrcLabel","closeIcon","wrapper","previewWrapper","inputWrapper","arrow","__html","Provider","childContextTypes","propTypes","PropTypes","string","shape","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, get, constant} from 'lodash/fp';\nimport {\n NovaSolidDataTransferDataUpload1 as UploadIcon,\n NovaLineStatusClose as Close\n} from '@coorpacademy/nova-icons';\nimport Provider from '../provider';\nimport Loader from '../loader';\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 }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\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 {skin} = this.context;\n const brandColor = get('common.brand', skin);\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 } = 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.previewView}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={{...style.previewView, width: '300px'}}>\n <video width=\"100%\" controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loading}>\n <Loader />\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src && onReset ? (\n <div className={style.resetUploadWrapper}>\n <div className={style.resetSrcLabel}>{previewContent.src}</div>\n <Close\n data-name=\"reset-content-icon\"\n height={16}\n width={16}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n ) : null;\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n <div className={modified ? style.modified : style.previewWrapper}>{previewView}</div>\n <div className={dragging ? style.dragging : style.inputWrapper} id={idBox}>\n <UploadIcon className={style.arrow} color={brandColor} />\n <div className={style.uploadLabel}>{uploadLabel}</div>\n {children(this.handleDragStart, this.handleDragStop)}\n </div>\n {resetContent}\n {description ? (\n // eslint-disable-next-line react/no-danger\n <div className={style.description} dangerouslySetInnerHTML={{__html: description}} />\n ) : null}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/drag-and-drop/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","previewView","type","style","preview","src","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","resetUploadWrapper","resetSrcLabel","buildButton","defaultButtonProps","label","icon","position","button","previewContainer","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","wrapper","infosContainer","iconError","dragAndDropLabel","errorMessage","propTypes","PropTypes","string","shape","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaLineStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon\n} from '@coorpacademy/nova-icons';\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 }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: 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 } = 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 (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={24}\n width={24}\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={style.resetUploadWrapper}>\n <div className={style.resetSrcLabel}>{previewContent.src}</div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={24}\n width={24}\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': 'aria button',\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=\"Try again\" 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 return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n {!isEmpty(previewContent) || loading ? (\n <div className={previewContainer}>{previewView}</div>\n ) : (\n <div className={dragging ? style.dragging : inputWrapper} id={idBox}>\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 {error ? <span className={style.errorMessage}>{error}</span> : resetContent}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"file":"index.js"}