@coorpacademy/components 11.10.1 → 11.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/avatar/index.js +0 -1
- package/es/atom/avatar/index.js.map +1 -1
- package/es/atom/avatar/style.css +1 -0
- package/es/atom/card-image-preview/index.d.ts.map +1 -1
- package/es/atom/card-image-preview/index.js +3 -1
- package/es/atom/card-image-preview/index.js.map +1 -1
- package/es/atom/difficulty-level/index.js +4 -8
- package/es/atom/difficulty-level/index.js.map +1 -1
- package/es/atom/difficulty-level/style.css +1 -0
- package/es/atom/input-html/index.js +6 -2
- package/es/atom/input-html/index.js.map +1 -1
- package/es/atom/life/index.js +9 -3
- package/es/atom/life/index.js.map +1 -1
- package/es/atom/resource-miniature/index.js +3 -1
- package/es/atom/resource-miniature/index.js.map +1 -1
- package/es/molecule/audio/index.js +3 -1
- package/es/molecule/audio/index.js.map +1 -1
- package/es/molecule/battle-request/index.js +3 -1
- package/es/molecule/battle-request/index.js.map +1 -1
- package/es/molecule/brand-download-box/index.js +3 -1
- package/es/molecule/brand-download-box/index.js.map +1 -1
- package/es/molecule/brand-upload-box/index.js +3 -1
- package/es/molecule/brand-upload-box/index.js.map +1 -1
- package/es/molecule/card/favorite.js +6 -2
- package/es/molecule/card/favorite.js.map +1 -1
- package/es/molecule/card/index.d.ts.map +1 -1
- package/es/molecule/card/index.js +6 -2
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/card/notification.js +3 -1
- package/es/molecule/card/notification.js.map +1 -1
- package/es/molecule/card-content/index.d.ts.map +1 -1
- package/es/molecule/card-content/index.js +1 -2
- package/es/molecule/card-content/index.js.map +1 -1
- package/es/molecule/card-content/style.css +1 -0
- package/es/molecule/dashboard/cards-list/index.js +9 -3
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/discipline-partners/index.js +3 -1
- package/es/molecule/discipline-partners/index.js.map +1 -1
- package/es/molecule/drag-and-drop/overlay.js +3 -1
- package/es/molecule/drag-and-drop/overlay.js.map +1 -1
- package/es/molecule/drag-and-drop/upload-report.js +3 -1
- package/es/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/es/molecule/filters/index.js +6 -2
- package/es/molecule/filters/index.js.map +1 -1
- package/es/molecule/pdf/index.js +3 -1
- package/es/molecule/pdf/index.js.map +1 -1
- package/es/molecule/questions/qcm-drag/index.d.ts.map +1 -1
- package/es/molecule/questions/qcm-drag/index.js +13 -7
- package/es/molecule/questions/qcm-drag/index.js.map +1 -1
- package/es/molecule/questions/qcm-drag/style.css +3 -0
- package/es/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
- package/es/molecule/questions/qcm-graphic/index.js +12 -5
- package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/es/molecule/questions/qcm-graphic/style.css +3 -0
- package/es/molecule/resource-player/index.js +3 -1
- package/es/molecule/resource-player/index.js.map +1 -1
- package/es/molecule/search-form/index.js +3 -1
- package/es/molecule/search-form/index.js.map +1 -1
- package/es/molecule/select-multiple/index.js +6 -2
- package/es/molecule/select-multiple/index.js.map +1 -1
- package/es/molecule/setup-section/index.js +3 -1
- package/es/molecule/setup-section/index.js.map +1 -1
- package/es/molecule/table/index.js +6 -2
- package/es/molecule/table/index.js.map +1 -1
- package/es/molecule/titled-checkbox/index.js +1 -2
- package/es/molecule/titled-checkbox/index.js.map +1 -1
- package/es/molecule/titled-checkbox/style.css +1 -0
- package/es/molecule/uploading-file-progress/index.d.ts +35 -0
- package/es/molecule/uploading-file-progress/index.d.ts.map +1 -0
- package/es/molecule/uploading-file-progress/index.js +39 -0
- package/es/molecule/uploading-file-progress/index.js.map +1 -0
- package/es/molecule/uploading-file-progress/style.css +74 -0
- package/es/molecule/uploading-file-progress/types.d.ts +31 -0
- package/es/molecule/uploading-file-progress/types.d.ts.map +1 -0
- package/es/molecule/uploading-file-progress/types.js +31 -0
- package/es/molecule/uploading-file-progress/types.js.map +1 -0
- package/es/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
- package/es/organism/accordion/coorp-manager/part/index.js +13 -6
- package/es/organism/accordion/coorp-manager/part/index.js.map +1 -1
- package/es/organism/accordion/coorp-manager/part/style.css +1 -0
- package/es/organism/accordion/part/index.js +7 -4
- package/es/organism/accordion/part/index.js.map +1 -1
- package/es/organism/accordion/part/style.css +1 -0
- package/es/organism/brand-form/index.js +3 -1
- package/es/organism/brand-form/index.js.map +1 -1
- package/es/organism/get-the-app/index.js +3 -1
- package/es/organism/get-the-app/index.js.map +1 -1
- package/es/organism/mooc-header/index.d.ts +6 -0
- package/es/organism/mooc-header/index.d.ts.map +1 -1
- package/es/organism/mooc-header/index.js +91 -15
- package/es/organism/mooc-header/index.js.map +1 -1
- package/es/organism/mooc-header/style.css +46 -0
- package/es/organism/slider/index.js +6 -2
- package/es/organism/slider/index.js.map +1 -1
- package/es/template/activity/progression-item.js +12 -4
- package/es/template/activity/progression-item.js.map +1 -1
- package/es/template/activity/stars-summary.js +9 -3
- package/es/template/activity/stars-summary.js.map +1 -1
- package/es/template/app-player/player/slides/footer/index.d.ts.map +1 -1
- package/es/template/app-player/player/slides/footer/index.js +0 -1
- package/es/template/app-player/player/slides/footer/index.js.map +1 -1
- package/es/template/app-player/player/slides/header/learner.css +1 -0
- package/es/template/app-player/player/slides/header/learner.js +1 -2
- package/es/template/app-player/player/slides/header/learner.js.map +1 -1
- package/es/template/app-player/player/slides/header/microlearning.css +1 -0
- package/es/template/app-player/player/slides/header/microlearning.js +1 -2
- package/es/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/es/template/app-player/popin-correction/index.js +4 -3
- package/es/template/app-player/popin-correction/index.js.map +1 -1
- package/es/template/app-player/popin-correction/style.css +1 -0
- package/es/template/app-player/popin-end/summary.js +3 -1
- package/es/template/app-player/popin-end/summary.js.map +1 -1
- package/es/template/app-player/popin-header/index.js +6 -3
- package/es/template/app-player/popin-header/index.js.map +1 -1
- package/es/template/app-player/popin-header/style.css +1 -0
- package/es/template/back-office/brand-update/index.d.ts +29 -0
- package/es/template/back-office/brand-update/index.d.ts.map +1 -1
- package/es/template/back-office/brand-update/index.js +7 -0
- package/es/template/back-office/brand-update/index.js.map +1 -1
- package/es/template/teams-dashboard/index.d.ts +2 -0
- package/lib/atom/avatar/index.js +0 -1
- package/lib/atom/avatar/index.js.map +1 -1
- package/lib/atom/avatar/style.css +1 -0
- package/lib/atom/card-image-preview/index.d.ts.map +1 -1
- package/lib/atom/card-image-preview/index.js +3 -1
- package/lib/atom/card-image-preview/index.js.map +1 -1
- package/lib/atom/difficulty-level/index.js +4 -8
- package/lib/atom/difficulty-level/index.js.map +1 -1
- package/lib/atom/difficulty-level/style.css +1 -0
- package/lib/atom/input-html/index.js +6 -2
- package/lib/atom/input-html/index.js.map +1 -1
- package/lib/atom/life/index.js +9 -3
- package/lib/atom/life/index.js.map +1 -1
- package/lib/atom/resource-miniature/index.js +3 -1
- package/lib/atom/resource-miniature/index.js.map +1 -1
- package/lib/molecule/audio/index.js +3 -1
- package/lib/molecule/audio/index.js.map +1 -1
- package/lib/molecule/battle-request/index.js +3 -1
- package/lib/molecule/battle-request/index.js.map +1 -1
- package/lib/molecule/brand-download-box/index.js +3 -1
- package/lib/molecule/brand-download-box/index.js.map +1 -1
- package/lib/molecule/brand-upload-box/index.js +3 -1
- package/lib/molecule/brand-upload-box/index.js.map +1 -1
- package/lib/molecule/card/favorite.js +6 -2
- package/lib/molecule/card/favorite.js.map +1 -1
- package/lib/molecule/card/index.d.ts.map +1 -1
- package/lib/molecule/card/index.js +6 -2
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/card/notification.js +3 -1
- package/lib/molecule/card/notification.js.map +1 -1
- package/lib/molecule/card-content/index.d.ts.map +1 -1
- package/lib/molecule/card-content/index.js +1 -2
- package/lib/molecule/card-content/index.js.map +1 -1
- package/lib/molecule/card-content/style.css +1 -0
- package/lib/molecule/dashboard/cards-list/index.js +9 -3
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/discipline-partners/index.js +3 -1
- package/lib/molecule/discipline-partners/index.js.map +1 -1
- package/lib/molecule/drag-and-drop/overlay.js +3 -1
- package/lib/molecule/drag-and-drop/overlay.js.map +1 -1
- package/lib/molecule/drag-and-drop/upload-report.js +3 -1
- package/lib/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/lib/molecule/filters/index.js +6 -2
- package/lib/molecule/filters/index.js.map +1 -1
- package/lib/molecule/pdf/index.js +3 -1
- package/lib/molecule/pdf/index.js.map +1 -1
- package/lib/molecule/questions/qcm-drag/index.d.ts.map +1 -1
- package/lib/molecule/questions/qcm-drag/index.js +13 -7
- package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
- package/lib/molecule/questions/qcm-drag/style.css +3 -0
- package/lib/molecule/questions/qcm-graphic/index.d.ts.map +1 -1
- package/lib/molecule/questions/qcm-graphic/index.js +12 -5
- package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
- package/lib/molecule/questions/qcm-graphic/style.css +3 -0
- package/lib/molecule/resource-player/index.js +3 -1
- package/lib/molecule/resource-player/index.js.map +1 -1
- package/lib/molecule/search-form/index.js +3 -1
- package/lib/molecule/search-form/index.js.map +1 -1
- package/lib/molecule/select-multiple/index.js +6 -2
- package/lib/molecule/select-multiple/index.js.map +1 -1
- package/lib/molecule/setup-section/index.js +3 -1
- package/lib/molecule/setup-section/index.js.map +1 -1
- package/lib/molecule/table/index.js +6 -2
- package/lib/molecule/table/index.js.map +1 -1
- package/lib/molecule/titled-checkbox/index.js +1 -2
- package/lib/molecule/titled-checkbox/index.js.map +1 -1
- package/lib/molecule/titled-checkbox/style.css +1 -0
- package/lib/molecule/uploading-file-progress/index.d.ts +35 -0
- package/lib/molecule/uploading-file-progress/index.d.ts.map +1 -0
- package/lib/molecule/uploading-file-progress/index.js +51 -0
- package/lib/molecule/uploading-file-progress/index.js.map +1 -0
- package/lib/molecule/uploading-file-progress/style.css +74 -0
- package/lib/molecule/uploading-file-progress/types.d.ts +31 -0
- package/lib/molecule/uploading-file-progress/types.d.ts.map +1 -0
- package/lib/molecule/uploading-file-progress/types.js +41 -0
- package/lib/molecule/uploading-file-progress/types.js.map +1 -0
- package/lib/organism/accordion/coorp-manager/part/index.d.ts.map +1 -1
- package/lib/organism/accordion/coorp-manager/part/index.js +13 -6
- package/lib/organism/accordion/coorp-manager/part/index.js.map +1 -1
- package/lib/organism/accordion/coorp-manager/part/style.css +1 -0
- package/lib/organism/accordion/part/index.js +7 -4
- package/lib/organism/accordion/part/index.js.map +1 -1
- package/lib/organism/accordion/part/style.css +1 -0
- package/lib/organism/brand-form/index.js +3 -1
- package/lib/organism/brand-form/index.js.map +1 -1
- package/lib/organism/get-the-app/index.js +3 -1
- package/lib/organism/get-the-app/index.js.map +1 -1
- package/lib/organism/mooc-header/index.d.ts +6 -0
- package/lib/organism/mooc-header/index.d.ts.map +1 -1
- package/lib/organism/mooc-header/index.js +90 -14
- package/lib/organism/mooc-header/index.js.map +1 -1
- package/lib/organism/mooc-header/style.css +46 -0
- package/lib/organism/slider/index.js +6 -2
- package/lib/organism/slider/index.js.map +1 -1
- package/lib/template/activity/progression-item.js +12 -4
- package/lib/template/activity/progression-item.js.map +1 -1
- package/lib/template/activity/stars-summary.js +9 -3
- package/lib/template/activity/stars-summary.js.map +1 -1
- package/lib/template/app-player/player/slides/footer/index.d.ts.map +1 -1
- package/lib/template/app-player/player/slides/footer/index.js +0 -1
- package/lib/template/app-player/player/slides/footer/index.js.map +1 -1
- package/lib/template/app-player/player/slides/header/learner.css +1 -0
- package/lib/template/app-player/player/slides/header/learner.js +1 -2
- package/lib/template/app-player/player/slides/header/learner.js.map +1 -1
- package/lib/template/app-player/player/slides/header/microlearning.css +1 -0
- package/lib/template/app-player/player/slides/header/microlearning.js +1 -2
- package/lib/template/app-player/player/slides/header/microlearning.js.map +1 -1
- package/lib/template/app-player/popin-correction/index.js +4 -3
- package/lib/template/app-player/popin-correction/index.js.map +1 -1
- package/lib/template/app-player/popin-correction/style.css +1 -0
- package/lib/template/app-player/popin-end/summary.js +3 -1
- package/lib/template/app-player/popin-end/summary.js.map +1 -1
- package/lib/template/app-player/popin-header/index.js +6 -3
- package/lib/template/app-player/popin-header/index.js.map +1 -1
- package/lib/template/app-player/popin-header/style.css +1 -0
- package/lib/template/back-office/brand-update/index.d.ts +29 -0
- package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
- package/lib/template/back-office/brand-update/index.js +8 -0
- package/lib/template/back-office/brand-update/index.js.map +1 -1
- package/lib/template/teams-dashboard/index.d.ts +2 -0
- package/locales/bs/global.json +1 -0
- package/locales/hy/global.json +1 -0
- package/package.json +3 -3
- package/locales/.mtslconfig.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","func","string","IconView","context","contentType","ICONS","chapter","TimerIcon","course","LearnerIcon","dark","IconType","style","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","React","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","ariaLabel","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","showMoreOnLeftAriaLabel","rightArrowView","right","showMoreOnRightAriaLabel","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","Card","protoTypes"],"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType color={dark} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func,\n 'arrows-aria-label': PropTypes.shape({\n showMoreOnLeftAriaLabel: PropTypes.string,\n showMoreOnRightAriaLabel: PropTypes.string\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {\n title,\n showMore,\n cards,\n onShowMore,\n dataName,\n contentType,\n 'arrows-aria-label': ariaLabel = {}\n } = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft\n color={dark}\n className={style.left}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnLeftAriaLabel}\n />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight\n color={dark}\n className={style.right}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnRightAriaLabel}\n />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","func","string","IconView","context","contentType","ICONS","chapter","TimerIcon","course","LearnerIcon","dark","IconType","color","style","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","React","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","ariaLabel","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","showMoreOnLeftAriaLabel","rightArrowView","right","showMoreOnRightAriaLabel","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","Card","protoTypes"],"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType style={{color: dark}} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func,\n 'arrows-aria-label': PropTypes.shape({\n showMoreOnLeftAriaLabel: PropTypes.string,\n showMoreOnRightAriaLabel: PropTypes.string\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {\n title,\n showMore,\n cards,\n onShowMore,\n dataName,\n contentType,\n 'arrows-aria-label': ariaLabel = {}\n } = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft\n style={{color: dark}}\n className={style.left}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnLeftAriaLabel}\n />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight\n style={{color: dark}}\n className={style.right}\n width={10}\n height={10}\n aria-label={ariaLabel.showMoreOnRightAriaLabel}\n />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"mappings":"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"}
|
|
@@ -72,7 +72,9 @@ const DisciplinePartners = (props, context) => {
|
|
|
72
72
|
color: defaultColor
|
|
73
73
|
}
|
|
74
74
|
}, moreDetails, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowRight, {
|
|
75
|
-
|
|
75
|
+
style: {
|
|
76
|
+
color: defaultColor
|
|
77
|
+
},
|
|
76
78
|
className: _style.default.linkicon
|
|
77
79
|
})));
|
|
78
80
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DisciplinePartners","props","context","translate","skin","authorTitle","authors","authorLabel","defaultColor","authorsView","convert","cap","author","index","socialLinks","authorLogo","authorHref","moreDetails","autName","authorToggleId","linkView","style","authorLink","color","moreInfoView","linkicon","socialView","map","social","i","link","aNameView","authorName","logoView","logoContainer","logo","src","alt","arrowWrapper","arrow","authorContent","links","authorWrapper","toggle","colDetails","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","name","string","href","SocialLink"],"sources":["../../../src/molecule/discipline-partners/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map, uniqueId} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionNavigationArrowDown as ArrowDown\n} from '@coorpacademy/nova-icons';\nimport SocialLink from '../../atom/social-link';\nimport Provider from '../../atom/provider';\nimport CatalogSection from '../../atom/catalog-section';\nimport Picture from '../../atom/picture';\nimport style from './style.css';\n\nconst DisciplinePartners = (props, context) => {\n const {translate, skin} = context;\n\n const {authorTitle, authors = []} = props;\n\n const authorLabel = authorTitle || translate('author');\n const defaultColor = get('common.primary', skin);\n const authorsView = map.convert({cap: false})((author, index) => {\n const socialLinks = getOr([], 'socialLinks', author);\n const authorLogo = get('logo', author);\n const authorHref = get('href', author);\n const moreDetails = get('more', author);\n const autName = get('name', author);\n const authorToggleId = uniqueId('author-toggle-');\n const linkView = (\n <div className={style.authorLink}>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n color: defaultColor\n }}\n href={authorHref}\n >\n {authorHref}\n </a>\n </div>\n );\n const moreInfoView = (\n <div className={style.authorLink}>\n <a\n href={authorHref}\n style={{\n color: defaultColor\n }}\n >\n {moreDetails}\n <ArrowRight
|
|
1
|
+
{"version":3,"file":"index.js","names":["DisciplinePartners","props","context","translate","skin","authorTitle","authors","authorLabel","defaultColor","authorsView","convert","cap","author","index","socialLinks","authorLogo","authorHref","moreDetails","autName","authorToggleId","linkView","style","authorLink","color","moreInfoView","linkicon","socialView","map","social","i","link","aNameView","authorName","logoView","logoContainer","logo","src","alt","arrowWrapper","arrow","authorContent","links","authorWrapper","toggle","colDetails","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","name","string","href","SocialLink"],"sources":["../../../src/molecule/discipline-partners/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map, uniqueId} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionNavigationArrowDown as ArrowDown\n} from '@coorpacademy/nova-icons';\nimport SocialLink from '../../atom/social-link';\nimport Provider from '../../atom/provider';\nimport CatalogSection from '../../atom/catalog-section';\nimport Picture from '../../atom/picture';\nimport style from './style.css';\n\nconst DisciplinePartners = (props, context) => {\n const {translate, skin} = context;\n\n const {authorTitle, authors = []} = props;\n\n const authorLabel = authorTitle || translate('author');\n const defaultColor = get('common.primary', skin);\n const authorsView = map.convert({cap: false})((author, index) => {\n const socialLinks = getOr([], 'socialLinks', author);\n const authorLogo = get('logo', author);\n const authorHref = get('href', author);\n const moreDetails = get('more', author);\n const autName = get('name', author);\n const authorToggleId = uniqueId('author-toggle-');\n const linkView = (\n <div className={style.authorLink}>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n style={{\n color: defaultColor\n }}\n href={authorHref}\n >\n {authorHref}\n </a>\n </div>\n );\n const moreInfoView = (\n <div className={style.authorLink}>\n <a\n href={authorHref}\n style={{\n color: defaultColor\n }}\n >\n {moreDetails}\n <ArrowRight style={{color: defaultColor}} className={style.linkicon} />\n </a>\n </div>\n );\n\n const socialView = socialLinks.map((social, i) => (\n <div key={i} className={style.link}>\n <SocialLink {...social} />\n </div>\n ));\n\n const aNameView = autName ? (\n <div data-name=\"authorName\" className={style.authorName}>\n {autName}\n </div>\n ) : null;\n\n const logoView = authorLogo ? (\n <div className={style.logoContainer}>\n <Picture className={style.logo} src={authorLogo.src} alt={authorLogo.alt} />\n <div className={style.arrowWrapper}>\n <ArrowDown className={style.arrow} height={14} whidth={14} />\n </div>\n </div>\n ) : null;\n\n const authorContent =\n authorHref || aNameView || socialView ? (\n <div className={style.authorContent}>\n {autName ? aNameView : null}\n {moreDetails ? moreInfoView : null}\n {!moreDetails && authorHref ? linkView : null}\n <div className={style.links}>{socialView}</div>\n </div>\n ) : null;\n\n return (\n <div key={index} className={style.authorWrapper}>\n <input type=\"checkbox\" id={authorToggleId} className={style.toggle} defaultChecked />\n <label htmlFor={authorToggleId}>{logoView}</label>\n {authorContent}\n </div>\n );\n }, authors);\n\n return !isEmpty(authors) ? (\n <div data-name=\"disciplinePartner\" className={style.colDetails}>\n <CatalogSection title={authorLabel}>{authorsView}</CatalogSection>\n </div>\n ) : null;\n};\n\nDisciplinePartners.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nDisciplinePartners.propTypes = {\n authors: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n href: PropTypes.string,\n logo: PropTypes.shape({\n src: PropTypes.string,\n href: PropTypes.string,\n alt: PropTypes.string\n }),\n socialLinks: PropTypes.arrayOf(PropTypes.shape(SocialLink.propTypes))\n })\n ),\n authorTitle: PropTypes.string\n};\n\nexport default DisciplinePartners;\n"],"mappings":"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"}
|
|
@@ -28,7 +28,9 @@ const Overlay = ({
|
|
|
28
28
|
border: `15px solid ${(0, _cssColorFunction.convert)(`color(${iconColor} a(-90%))`)}`
|
|
29
29
|
}
|
|
30
30
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidDataTransferDataUpload1, {
|
|
31
|
-
|
|
31
|
+
style: {
|
|
32
|
+
color: iconColor
|
|
33
|
+
},
|
|
32
34
|
className: _overlay.default.icon
|
|
33
35
|
})), /*#__PURE__*/_react.default.createElement("p", null, description));
|
|
34
36
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.js","names":["Overlay","description","isLoading","iconColor","dropOverlay","style","arrow","border","convert","icon","overlay","propTypes","PropTypes","string","bool"],"sources":["../../../src/molecule/drag-and-drop/overlay.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {NovaSolidDataTransferDataUpload1 as UploadIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\n\nimport Loader from '../../atom/loader';\n\nimport style from './overlay.css';\n\nexport const Overlay = ({description, isLoading, iconColor}) => {\n const dropOverlay = (\n <React.Fragment>\n <div\n className={style.arrow}\n style={{border: `15px solid ${convert(`color(${iconColor} a(-90%))`)}`}}\n >\n <UploadIcon
|
|
1
|
+
{"version":3,"file":"overlay.js","names":["Overlay","description","isLoading","iconColor","dropOverlay","style","arrow","border","convert","color","icon","overlay","propTypes","PropTypes","string","bool"],"sources":["../../../src/molecule/drag-and-drop/overlay.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {NovaSolidDataTransferDataUpload1 as UploadIcon} from '@coorpacademy/nova-icons';\nimport {convert} from 'css-color-function';\n\nimport Loader from '../../atom/loader';\n\nimport style from './overlay.css';\n\nexport const Overlay = ({description, isLoading, iconColor}) => {\n const dropOverlay = (\n <React.Fragment>\n <div\n className={style.arrow}\n style={{border: `15px solid ${convert(`color(${iconColor} a(-90%))`)}`}}\n >\n <UploadIcon style={{color: iconColor}} className={style.icon} />\n </div>\n <p>{description}</p>\n </React.Fragment>\n );\n\n return <div className={style.overlay}>{isLoading ? <Loader /> : dropOverlay}</div>;\n};\n\nexport default Overlay;\n\nOverlay.propTypes = {\n description: PropTypes.string,\n isLoading: PropTypes.bool,\n iconColor: PropTypes.string\n};\n"],"mappings":";;;;;AAAA;;AACA;;AAEA;;AACA;;AAEA;;AAEA;;;;AAEO,MAAMA,OAAO,GAAG,CAAC;EAACC,WAAD;EAAcC,SAAd;EAAyBC;AAAzB,CAAD,KAAyC;EAC9D,MAAMC,WAAW,gBACf,6BAAC,cAAD,CAAO,QAAP,qBACE;IACE,SAAS,EAAEC,gBAAA,CAAMC,KADnB;IAEE,KAAK,EAAE;MAACC,MAAM,EAAG,cAAa,IAAAC,yBAAA,EAAS,SAAQL,SAAU,WAA3B,CAAuC;IAA9D;EAFT,gBAIE,6BAAC,2CAAD;IAAY,KAAK,EAAE;MAACM,KAAK,EAAEN;IAAR,CAAnB;IAAuC,SAAS,EAAEE,gBAAA,CAAMK;EAAxD,EAJF,CADF,eAOE,wCAAIT,WAAJ,CAPF,CADF;;EAYA,oBAAO;IAAK,SAAS,EAAEI,gBAAA,CAAMM;EAAtB,GAAgCT,SAAS,gBAAG,6BAAC,eAAD,OAAH,GAAgBE,WAAzD,CAAP;AACD,CAdM;;;eAgBQJ,O;;AAEfA,OAAO,CAACY,SAAR,2CAAoB;EAClBX,WAAW,EAAEY,kBAAA,CAAUC,MADL;EAElBZ,SAAS,EAAEW,kBAAA,CAAUE,IAFH;EAGlBZ,SAAS,EAAEU,kBAAA,CAAUC;AAHH,CAApB"}
|
|
@@ -155,7 +155,9 @@ const UploadReport = ({
|
|
|
155
155
|
className: _uploadReport.default.oval
|
|
156
156
|
}, /*#__PURE__*/_react.default.createElement(IconType, {
|
|
157
157
|
className: _uploadReport.default.iconHeader,
|
|
158
|
-
|
|
158
|
+
style: {
|
|
159
|
+
color: iconColor
|
|
160
|
+
}
|
|
159
161
|
}))), fileView, deleteView), /*#__PURE__*/_react.default.createElement("div", {
|
|
160
162
|
className: _uploadReport.default.reportContainer,
|
|
161
163
|
onClick: stopPropagationHandler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-report.js","names":["SuccessMessage","message","style","emoticon","propTypes","PropTypes","string","isRequired","ErrorMessage","buttonTitle","primaryColor","selectButton","backgroundColor","UploadReport","state","warningMessage","type","contentType","fields","mode","orLabel","onDelete","handleDelete","useCallback","e","stopPropagation","preventDefault","stopPropagationHandler","showMessage","fileName","fileView","fileWrapper","validateIcon","warning","showToolTip","warningIcon","emptyFileWrapper","IconType","EXTERNAL_CONTENT_ICONS","icon","iconColor","color","buildField","field","index","deleteView","classnames","actionIcon","trashIcon","fieldsList","convert","cap","reportingContainer","reportHeader","iconContainer","oval","iconHeader","reportContainer","or","drop","arrayOf","shape","InputText","oneOf","func"],"sources":["../../../src/molecule/drag-and-drop/upload-report.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyValidate as Validated,\n NovaLineContentEditionBin as TrashIcon,\n NovaCompositionCoorpacademyWarn as WarnIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport {pipe, split, last, map, head, getOr, isEmpty, includes} from 'lodash/fp';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport InputText from '../../atom/input-text';\n\nimport Button from '../../atom/button';\nimport style from './upload-report.css';\n\nconst SuccessMessage = ({message}) => (\n <div>\n <span className={style.emoticon}>🎉</span>\n <p className={style.message}>{message}</p>\n </div>\n);\n\nSuccessMessage.propTypes = {\n message: PropTypes.string.isRequired\n};\n\nconst ErrorMessage = ({message, buttonTitle, primaryColor}) => (\n <div>\n <div>\n <span className={style.emoticon}>🥺</span>\n <p className={style.message}>{message}</p>\n </div>\n <div>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n </div>\n);\n\nErrorMessage.propTypes = {\n message: PropTypes.string.isRequired,\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string\n};\n\nexport const UploadReport = ({\n state,\n message,\n warningMessage,\n type: contentType,\n fields,\n mode = 'upload',\n orLabel,\n buttonTitle,\n primaryColor,\n onDelete\n}) => {\n const handleDelete = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n onDelete && onDelete(e);\n },\n [onDelete]\n );\n\n const stopPropagationHandler = useCallback(e => {\n e.stopPropagation();\n e.preventDefault();\n }, []);\n\n const showMessage = includes(state, ['success', 'error']);\n\n const fileName = pipe(head, getOr('', 'value'), split('/'), last)(fields);\n const fileView = fileName ? (\n <div className={style.fileWrapper}>\n <div className={style.fileName} title={fileName}>\n {fileName}\n </div>\n {isEmpty(warningMessage) ? (\n <Validated className={style.validateIcon} />\n ) : (\n <div className={style.warning}>\n <div className={style.showToolTip}>\n <span>{warningMessage}</span>\n </div>\n <div className={style.warningIcon}>\n <WarnIcon width={11} height={11} />\n </div>\n </div>\n )}\n </div>\n ) : (\n <div className={style.emptyFileWrapper} />\n );\n const IconType = EXTERNAL_CONTENT_ICONS[contentType].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[contentType].color;\n const buildField = (field, index) => <InputText {...field} key={index} theme={'cockpit'} />;\n const deleteView = onDelete ? (\n <div onClick={handleDelete} className={classnames(style.actionIcon, style.trashIcon)}>\n <TrashIcon width={20} height={20} />\n </div>\n ) : null;\n const fieldsList = map.convert({cap: false})(buildField, fields);\n return (\n <div className={style.reportingContainer}>\n <div className={style.reportHeader} onClick={stopPropagationHandler}>\n <div className={style.iconContainer} style={{backgroundColor: iconColor}}>\n <div className={style.oval}>\n <IconType className={style.iconHeader} color={iconColor} />\n </div>\n </div>\n {fileView}\n {deleteView}\n </div>\n <div className={style.reportContainer} onClick={stopPropagationHandler}>\n {state === 'success' ? <SuccessMessage message={message} /> : null}\n {state === 'error' ? (\n <ErrorMessage message={message} buttonTitle={buttonTitle} primaryColor={primaryColor} />\n ) : null}\n {mode === 'edit' && !showMessage ? <div>{fieldsList}</div> : null}\n {mode === 'edit' && !showMessage ? <span className={style.or}>{orLabel}</span> : null}\n </div>\n {!showMessage ? (\n <div className={style.drop}>\n <p className={style.message}>{message}</p>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default UploadReport;\n\nUploadReport.propTypes = {\n state: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n warningMessage: PropTypes.string,\n orLabel: PropTypes.string,\n type: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text'])\n })\n ),\n mode: PropTypes.oneOf(['edit', 'upload']),\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string,\n onDelete: PropTypes.func\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upload-report.js","names":["SuccessMessage","message","style","emoticon","propTypes","PropTypes","string","isRequired","ErrorMessage","buttonTitle","primaryColor","selectButton","backgroundColor","UploadReport","state","warningMessage","type","contentType","fields","mode","orLabel","onDelete","handleDelete","useCallback","e","stopPropagation","preventDefault","stopPropagationHandler","showMessage","fileName","fileView","fileWrapper","validateIcon","warning","showToolTip","warningIcon","emptyFileWrapper","IconType","EXTERNAL_CONTENT_ICONS","icon","iconColor","color","buildField","field","index","deleteView","classnames","actionIcon","trashIcon","fieldsList","convert","cap","reportingContainer","reportHeader","iconContainer","oval","iconHeader","reportContainer","or","drop","arrayOf","shape","InputText","oneOf","func"],"sources":["../../../src/molecule/drag-and-drop/upload-report.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyValidate as Validated,\n NovaLineContentEditionBin as TrashIcon,\n NovaCompositionCoorpacademyWarn as WarnIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport {pipe, split, last, map, head, getOr, isEmpty, includes} from 'lodash/fp';\nimport {EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport InputText from '../../atom/input-text';\n\nimport Button from '../../atom/button';\nimport style from './upload-report.css';\n\nconst SuccessMessage = ({message}) => (\n <div>\n <span className={style.emoticon}>🎉</span>\n <p className={style.message}>{message}</p>\n </div>\n);\n\nSuccessMessage.propTypes = {\n message: PropTypes.string.isRequired\n};\n\nconst ErrorMessage = ({message, buttonTitle, primaryColor}) => (\n <div>\n <div>\n <span className={style.emoticon}>🥺</span>\n <p className={style.message}>{message}</p>\n </div>\n <div>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n </div>\n);\n\nErrorMessage.propTypes = {\n message: PropTypes.string.isRequired,\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string\n};\n\nexport const UploadReport = ({\n state,\n message,\n warningMessage,\n type: contentType,\n fields,\n mode = 'upload',\n orLabel,\n buttonTitle,\n primaryColor,\n onDelete\n}) => {\n const handleDelete = useCallback(\n e => {\n e.stopPropagation();\n e.preventDefault();\n onDelete && onDelete(e);\n },\n [onDelete]\n );\n\n const stopPropagationHandler = useCallback(e => {\n e.stopPropagation();\n e.preventDefault();\n }, []);\n\n const showMessage = includes(state, ['success', 'error']);\n\n const fileName = pipe(head, getOr('', 'value'), split('/'), last)(fields);\n const fileView = fileName ? (\n <div className={style.fileWrapper}>\n <div className={style.fileName} title={fileName}>\n {fileName}\n </div>\n {isEmpty(warningMessage) ? (\n <Validated className={style.validateIcon} />\n ) : (\n <div className={style.warning}>\n <div className={style.showToolTip}>\n <span>{warningMessage}</span>\n </div>\n <div className={style.warningIcon}>\n <WarnIcon width={11} height={11} />\n </div>\n </div>\n )}\n </div>\n ) : (\n <div className={style.emptyFileWrapper} />\n );\n const IconType = EXTERNAL_CONTENT_ICONS[contentType].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[contentType].color;\n const buildField = (field, index) => <InputText {...field} key={index} theme={'cockpit'} />;\n const deleteView = onDelete ? (\n <div onClick={handleDelete} className={classnames(style.actionIcon, style.trashIcon)}>\n <TrashIcon width={20} height={20} />\n </div>\n ) : null;\n const fieldsList = map.convert({cap: false})(buildField, fields);\n return (\n <div className={style.reportingContainer}>\n <div className={style.reportHeader} onClick={stopPropagationHandler}>\n <div className={style.iconContainer} style={{backgroundColor: iconColor}}>\n <div className={style.oval}>\n <IconType className={style.iconHeader} style={{color: iconColor}} />\n </div>\n </div>\n {fileView}\n {deleteView}\n </div>\n <div className={style.reportContainer} onClick={stopPropagationHandler}>\n {state === 'success' ? <SuccessMessage message={message} /> : null}\n {state === 'error' ? (\n <ErrorMessage message={message} buttonTitle={buttonTitle} primaryColor={primaryColor} />\n ) : null}\n {mode === 'edit' && !showMessage ? <div>{fieldsList}</div> : null}\n {mode === 'edit' && !showMessage ? <span className={style.or}>{orLabel}</span> : null}\n </div>\n {!showMessage ? (\n <div className={style.drop}>\n <p className={style.message}>{message}</p>\n <Button\n data-name=\"cta\"\n type=\"link\"\n submitValue={buttonTitle}\n className={style.selectButton}\n style={{backgroundColor: primaryColor}}\n />\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default UploadReport;\n\nUploadReport.propTypes = {\n state: PropTypes.string.isRequired,\n message: PropTypes.string.isRequired,\n warningMessage: PropTypes.string,\n orLabel: PropTypes.string,\n type: PropTypes.string,\n fields: PropTypes.arrayOf(\n PropTypes.shape({\n ...InputText.propTypes,\n type: PropTypes.oneOf(['text'])\n })\n ),\n mode: PropTypes.oneOf(['edit', 'upload']),\n buttonTitle: PropTypes.string,\n primaryColor: PropTypes.string,\n onDelete: PropTypes.func\n};\n"],"mappings":"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"}
|
|
@@ -118,7 +118,9 @@ class Filters extends _react.default.Component {
|
|
|
118
118
|
}, filterTabLabel, /*#__PURE__*/_react.default.createElement("div", {
|
|
119
119
|
className: _style.default.arrow
|
|
120
120
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowDown, {
|
|
121
|
-
|
|
121
|
+
style: {
|
|
122
|
+
color: darkColor
|
|
123
|
+
},
|
|
122
124
|
height: 14,
|
|
123
125
|
"aria-label": moreFilterAriaLabel
|
|
124
126
|
})))), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -132,7 +134,9 @@ class Filters extends _react.default.Component {
|
|
|
132
134
|
}, sortTabLabel, /*#__PURE__*/_react.default.createElement("div", {
|
|
133
135
|
className: _style.default.arrow
|
|
134
136
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionNavigationArrowDown, {
|
|
135
|
-
|
|
137
|
+
style: {
|
|
138
|
+
color: darkColor
|
|
139
|
+
},
|
|
136
140
|
height: 14,
|
|
137
141
|
"aria-label": moreSortAriaLabel
|
|
138
142
|
})))), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Filters","React","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","moreFilterAriaLabel","moreSortAriaLabel","filterGroupAriaLabel","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","style","select","search","activeDefault","default","title","arrow","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","FiltersWrapper","shape","Select","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func,\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string,\n filterGroupAriaLabel: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {\n sorting,\n filterCTALabel,\n filterTabLabel,\n sortCTALabel,\n sortTabLabel,\n filters,\n moreFilterAriaLabel,\n moreSortAriaLabel,\n filterGroupAriaLabel\n } = this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown
|
|
1
|
+
{"version":3,"file":"index.js","names":["Filters","React","Component","constructor","props","state","filter","openFilters","sorted","openSorts","handleOpenFilter","bind","handleOpenSort","handleSearch","onToggleFilters","newValue","setState","onToggleSorts","onSearch","render","sorting","filterCTALabel","filterTabLabel","sortCTALabel","sortTabLabel","filters","moreFilterAriaLabel","moreSortAriaLabel","filterGroupAriaLabel","skin","context","defaultColor","darkColor","filtersActive","sortingActive","sortView","undefined","style","select","search","activeDefault","default","title","arrow","color","activeWrapperSortBy","wrapperSortBy","activeWrapperFilters","wrapperFilters","wrapper","CTAfilter","backgroundColor","activeSorting","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","FiltersWrapper","shape","Select","func"],"sources":["../../../src/molecule/filters/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Select from '../../atom/select';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\nimport FiltersWrapper from './filters-wrapper';\n\nclass Filters extends React.Component {\n static propTypes = {\n filterCTALabel: PropTypes.string,\n filterTabLabel: PropTypes.string,\n sortCTALabel: PropTypes.string,\n sortTabLabel: PropTypes.string,\n openFilters: PropTypes.bool,\n openSorts: PropTypes.bool,\n filters: FiltersWrapper.propTypes.filters,\n sorting: PropTypes.shape(Select.propTypes),\n onSearch: PropTypes.func,\n onToggleFilters: PropTypes.func,\n onToggleSorts: PropTypes.func,\n moreSortAriaLabel: PropTypes.string,\n moreFilterAriaLabel: PropTypes.string,\n filterGroupAriaLabel: PropTypes.string\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n filter: !!props.openFilters,\n sorted: !!props.openSorts\n };\n this.handleOpenFilter = this.handleOpenFilter.bind(this);\n this.handleOpenSort = this.handleOpenSort.bind(this);\n this.handleSearch = this.handleSearch.bind(this);\n }\n\n handleOpenFilter() {\n const {filter} = this.state;\n const {onToggleFilters} = this.props;\n\n const newValue = !filter;\n\n this.setState({\n filter: newValue,\n sorted: false\n });\n\n if (onToggleFilters) {\n onToggleFilters(newValue);\n }\n }\n\n handleOpenSort() {\n const {sorted} = this.state;\n const {onToggleSorts} = this.props;\n\n const newValue = !sorted;\n\n this.setState({\n sorted: newValue,\n filter: false\n });\n\n if (onToggleSorts) onToggleSorts(newValue);\n }\n\n handleSearch() {\n const {onSearch} = this.props;\n this.setState({\n sorted: false,\n filter: false\n });\n if (onSearch) onSearch();\n }\n\n render() {\n const {\n sorting,\n filterCTALabel,\n filterTabLabel,\n sortCTALabel,\n sortTabLabel,\n filters,\n moreFilterAriaLabel,\n moreSortAriaLabel,\n filterGroupAriaLabel\n } = this.props;\n const {filter, sorted} = this.state;\n const {skin} = this.context;\n\n const defaultColor = get('common.primary', skin);\n const darkColor = get('common.dark', skin);\n const filtersActive = filter === true;\n const sortingActive = sorted === true;\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\" className={style.select}>\n <Select {...sorting} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"search\" className={style.search}>\n <div\n data-name=\"filter\"\n data-open={filtersActive}\n className={filtersActive ? style.activeDefault : style.default}\n >\n <div className={style.title} data-name=\"filterButton\" onClick={this.handleOpenFilter}>\n {filterTabLabel}\n <div className={style.arrow}>\n <ArrowDown style={{color: darkColor}} height={14} aria-label={moreFilterAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"sortBy\"\n data-open={sortingActive}\n className={sortingActive ? style.activeWrapperSortBy : style.wrapperSortBy}\n >\n <div className={style.title} data-name=\"sortButton\" onClick={this.handleOpenSort}>\n {sortTabLabel}\n <div className={style.arrow}>\n <ArrowDown style={{color: darkColor}} height={14} aria-label={moreSortAriaLabel} />\n </div>\n </div>\n </div>\n <div\n data-name=\"filterWrapper\"\n className={filtersActive ? style.activeWrapperFilters : style.wrapperFilters}\n >\n <FiltersWrapper\n className={style.wrapper}\n filters={filters}\n filterGroupAriaLabel={filterGroupAriaLabel}\n />\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {filterCTALabel}\n </div>\n </div>\n <div\n data-name=\"sortWrapper\"\n className={sortingActive ? style.activeSorting : style.sorting}\n >\n {sortView}\n <div\n data-name=\"cta\"\n className={style.CTAfilter}\n style={{\n backgroundColor: defaultColor\n }}\n onClick={this.handleSearch}\n >\n {sortCTALabel}\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default Filters;\n"],"mappings":"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"}
|
|
@@ -40,7 +40,9 @@ const PDF = (props, context) => {
|
|
|
40
40
|
backgroundImage: `url(${poster})`
|
|
41
41
|
}
|
|
42
42
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaLineFilesOfficeFileOfficePdf, {
|
|
43
|
-
|
|
43
|
+
style: {
|
|
44
|
+
color: white
|
|
45
|
+
},
|
|
44
46
|
className: _style.default.pdfIcon
|
|
45
47
|
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
46
48
|
className: (0, _classnames.default)(_style.default.pdfDescription, _style.default.innerHTML),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["PDF","props","context","description","mediaUrl","poster","onPlay","translate","skin","white","primary","style","pdfFrame","backgroundImage","pdfIcon","classnames","pdfDescription","innerHTML","__html","openPDFButton","openPDFButtonBackground","backgroundColor","openPDFButtonLabel","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","func"],"sources":["../../../src/molecule/pdf/index.js"],"sourcesContent":["import React from 'react';\nimport {get} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {NovaLineFilesOfficeFileOfficePdf as PDFIcon} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst PDF = (props, context) => {\n const {description, mediaUrl, poster, onPlay} = props;\n const {translate, skin} = context;\n\n const white = get('common.white', skin);\n const primary = get('common.primary', skin);\n\n return (\n <div\n className={style.pdfFrame}\n style={{\n backgroundImage: `url(${poster})`\n }}\n >\n <PDFIcon
|
|
1
|
+
{"version":3,"file":"index.js","names":["PDF","props","context","description","mediaUrl","poster","onPlay","translate","skin","white","primary","style","pdfFrame","backgroundImage","color","pdfIcon","classnames","pdfDescription","innerHTML","__html","openPDFButton","openPDFButtonBackground","backgroundColor","openPDFButtonLabel","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","func"],"sources":["../../../src/molecule/pdf/index.js"],"sourcesContent":["import React from 'react';\nimport {get} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {NovaLineFilesOfficeFileOfficePdf as PDFIcon} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst PDF = (props, context) => {\n const {description, mediaUrl, poster, onPlay} = props;\n const {translate, skin} = context;\n\n const white = get('common.white', skin);\n const primary = get('common.primary', skin);\n\n return (\n <div\n className={style.pdfFrame}\n style={{\n backgroundImage: `url(${poster})`\n }}\n >\n <PDFIcon style={{color: white}} className={style.pdfIcon} />\n <div\n className={classnames(style.pdfDescription, style.innerHTML)}\n data-name=\"pdfDescription\"\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: description}}\n />\n\n <Link href={mediaUrl} target=\"_blank\" onClick={onPlay}>\n <div className={style.openPDFButton}>\n <div className={style.openPDFButtonBackground} style={{backgroundColor: primary}} />\n <label className={style.openPDFButtonLabel}>{translate('Open')}</label>\n </div>\n </Link>\n </div>\n );\n};\n\nPDF.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nPDF.propTypes = {\n description: PropTypes.string,\n mediaUrl: PropTypes.string,\n poster: PropTypes.string,\n onPlay: PropTypes.func\n};\n\nexport default PDF;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,GAAG,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC9B,MAAM;IAACC,WAAD;IAAcC,QAAd;IAAwBC,MAAxB;IAAgCC;EAAhC,IAA0CL,KAAhD;EACA,MAAM;IAACM,SAAD;IAAYC;EAAZ,IAAoBN,OAA1B;EAEA,MAAMO,KAAK,GAAG,mBAAI,cAAJ,EAAoBD,IAApB,CAAd;EACA,MAAME,OAAO,GAAG,mBAAI,gBAAJ,EAAsBF,IAAtB,CAAhB;EAEA,oBACE;IACE,SAAS,EAAEG,cAAA,CAAMC,QADnB;IAEE,KAAK,EAAE;MACLC,eAAe,EAAG,OAAMR,MAAO;IAD1B;EAFT,gBAME,6BAAC,2CAAD;IAAS,KAAK,EAAE;MAACS,KAAK,EAAEL;IAAR,CAAhB;IAAgC,SAAS,EAAEE,cAAA,CAAMI;EAAjD,EANF,eAOE;IACE,SAAS,EAAE,IAAAC,mBAAA,EAAWL,cAAA,CAAMM,cAAjB,EAAiCN,cAAA,CAAMO,SAAvC,CADb;IAEE,aAAU,gBAFZ,CAGE;IAHF;IAIE,uBAAuB,EAAE;MAACC,MAAM,EAAEhB;IAAT;EAJ3B,EAPF,eAcE,6BAAC,aAAD;IAAM,IAAI,EAAEC,QAAZ;IAAsB,MAAM,EAAC,QAA7B;IAAsC,OAAO,EAAEE;EAA/C,gBACE;IAAK,SAAS,EAAEK,cAAA,CAAMS;EAAtB,gBACE;IAAK,SAAS,EAAET,cAAA,CAAMU,uBAAtB;IAA+C,KAAK,EAAE;MAACC,eAAe,EAAEZ;IAAlB;EAAtD,EADF,eAEE;IAAO,SAAS,EAAEC,cAAA,CAAMY;EAAxB,GAA6ChB,SAAS,CAAC,MAAD,CAAtD,CAFF,CADF,CAdF,CADF;AAuBD,CA9BD;;AAgCAP,GAAG,CAACwB,YAAJ,GAAmB;EACjBjB,SAAS,EAAEkB,iBAAA,CAASC,iBAAT,CAA2BnB,SADrB;EAEjBC,IAAI,EAAEiB,iBAAA,CAASC,iBAAT,CAA2BlB;AAFhB,CAAnB;AAKAR,GAAG,CAAC2B,SAAJ,2CAAgB;EACdxB,WAAW,EAAEyB,kBAAA,CAAUC,MADT;EAEdzB,QAAQ,EAAEwB,kBAAA,CAAUC,MAFN;EAGdxB,MAAM,EAAEuB,kBAAA,CAAUC,MAHJ;EAIdvB,MAAM,EAAEsB,kBAAA,CAAUE;AAJJ,CAAhB;eAOe9B,G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":[],"mappings":";AA6GA;;;;oCAYC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAjHD;;;;;;0BAQE;AAyCF;;;;gBA4CC;;;;;;;;;;;AAnFD;;gBAA6E"}
|
|
@@ -56,16 +56,22 @@ const Choices = ({
|
|
|
56
56
|
title,
|
|
57
57
|
selected
|
|
58
58
|
} = answer;
|
|
59
|
+
const checkboxId = `checkbox-drag-${key}`;
|
|
59
60
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
60
61
|
className: (0, _classnames.default)(selected ? _style.default.invisibleAnswer : _style.default.unselected, _style.default.innerHTML),
|
|
61
62
|
"data-name": "answer",
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
key: key,
|
|
64
|
+
onClick: onClick
|
|
65
|
+
}, /*#__PURE__*/_react.default.createElement("label", {
|
|
66
|
+
htmlFor: checkboxId
|
|
67
|
+
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
68
|
+
id: checkboxId,
|
|
69
|
+
type: "checkbox",
|
|
70
|
+
value: title,
|
|
71
|
+
checked: selected,
|
|
72
|
+
onChange: onClick,
|
|
73
|
+
className: _style.default.hiddenCheckbox
|
|
74
|
+
}), title));
|
|
69
75
|
});
|
|
70
76
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
71
77
|
className: _style.default.choices
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","propTypes","Choices","answers","answersViews","map","answer","key","classnames","invisibleAnswer","unselected","innerHTML","
|
|
1
|
+
{"version":3,"file":"index.js","names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","propTypes","Choices","answers","answersViews","map","answer","key","checkboxId","classnames","invisibleAnswer","unselected","innerHTML","hiddenCheckbox","choices","SelectedAnswerSections","backgroundColor","selectedAnswers","selectedAnswersViews","boxShadow","getShadowBoxColorFromPrimary","background","content","selectedAnswerText","__html","length","emptyAnswers","QcmDrag","groupAriaLabel","legacyContext","skin","GetSkinFromContext","primarySkinColor","wrapper","contextTypes","Provider","childContextTypes"],"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy, getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst AnswersPropTypes = PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n order: PropTypes.number,\n selected: PropTypes.bool,\n title: PropTypes.string,\n help: PropTypes.string\n })\n);\n\nconst EmptyView = ({help}) => <span className={style.emptySpan}>{help}</span>;\n\nEmptyView.propTypes = {\n help: PropTypes.string\n};\n\nconst Choices = ({answers}) => {\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected} = answer;\n const checkboxId = `checkbox-drag-${key}`;\n return (\n <div\n className={classnames(selected ? style.invisibleAnswer : style.unselected, style.innerHTML)}\n data-name=\"answer\"\n key={key}\n onClick={onClick}\n >\n <label htmlFor={checkboxId}>\n <input\n id={checkboxId}\n type=\"checkbox\"\n value={title}\n checked={selected}\n onChange={onClick}\n className={style.hiddenCheckbox}\n />\n {title}\n </label>\n </div>\n );\n });\n\n return <div className={style.choices}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectedAnswerSections = ({answers, help, backgroundColor}) => {\n const selectedAnswers = pipe(filter('selected'), orderBy('order', 'asc'))(answers);\n const selectedAnswersViews = selectedAnswers.map((answer, key) => {\n const {onClick, title} = answer;\n return (\n <div\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n data-name=\"selectedAnswer\"\n className={style.selected}\n style={{\n boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`\n }}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor\n }}\n className={style.background}\n />\n <div className={style.content}>\n <span\n data-name=\"answerContent\"\n className={classnames(style.selectedAnswerText, style.innerHTML)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n );\n });\n\n if (selectedAnswersViews.length > 0) {\n return <div className={style.selectedAnswers}>{selectedAnswersViews}</div>;\n } else {\n return (\n <div className={style.emptyAnswers}>\n <EmptyView help={help} />\n </div>\n );\n }\n};\n\nSelectedAnswerSections.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help,\n backgroundColor: PropTypes.string\n};\n\nconst QcmDrag = ({answers, help, groupAriaLabel}, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n return (\n <div className={style.wrapper} role=\"group\" aria-label={groupAriaLabel}>\n <SelectedAnswerSections answers={answers} help={help} backgroundColor={primarySkinColor} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n );\n};\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectedAnswerSections.propTypes.help,\n groupAriaLabel: PropTypes.string\n};\n\nQcmDrag.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default QcmDrag;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":[],"mappings":";AAQA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":[],"mappings":";AAQA,uEAwEC"}
|
|
@@ -40,6 +40,7 @@ const QCMImage = (props, legacyContext) => {
|
|
|
40
40
|
image,
|
|
41
41
|
ariaLabel
|
|
42
42
|
} = answer;
|
|
43
|
+
const checkboxId = `checkbox-graphic-${key}`;
|
|
43
44
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
44
45
|
onClick: onClick,
|
|
45
46
|
"data-selected": selected,
|
|
@@ -71,11 +72,17 @@ const QCMImage = (props, legacyContext) => {
|
|
|
71
72
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
72
73
|
title: title,
|
|
73
74
|
className: (0, _classnames.default)(_style.default.title, _style.default.innerHTML) // eslint-disable-next-line react/no-danger
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
|
|
76
|
+
}, /*#__PURE__*/_react.default.createElement("label", {
|
|
77
|
+
htmlFor: checkboxId
|
|
78
|
+
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
79
|
+
id: checkboxId,
|
|
80
|
+
type: "checkbox",
|
|
81
|
+
value: title,
|
|
82
|
+
checked: selected,
|
|
83
|
+
onChange: onClick,
|
|
84
|
+
className: _style.default.hiddenCheckbox
|
|
85
|
+
}), title)))));
|
|
79
86
|
});
|
|
80
87
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
81
88
|
"data-name": "qcm-graphic-wrapper",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","
|
|
1
|
+
{"version":3,"file":"index.js","names":["QCMImage","props","legacyContext","answers","groupAriaLabel","skin","GetSkinFromContext","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","checkboxId","boxShadow","getShadowBoxColorFromPrimary","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","classnames","innerHTML","hiddenCheckbox","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, legacyContext) => {\n const {answers, groupAriaLabel} = props;\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n const checkboxId = `checkbox-graphic-${key}`;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n >\n <label htmlFor={checkboxId}>\n <input\n id={checkboxId}\n type=\"checkbox\"\n value={title}\n checked={selected}\n onChange={onClick}\n className={style.hiddenCheckbox}\n />\n {title}\n </label>\n </div>\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div\n data-name=\"qcm-graphic-wrapper\"\n className={style.wrapper}\n role=\"group\"\n aria-label={groupAriaLabel}\n >\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n ),\n groupAriaLabel: PropTypes.string\n};\n\nexport default QCMImage;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAM;IAACC,OAAD;IAAUC;EAAV,IAA4BH,KAAlC;EACA,MAAMI,IAAI,GAAG,IAAAC,4BAAA,EAAmBJ,aAAnB,CAAb;EACA,MAAMK,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCF,IAAnC,CAAzB;EAEA,MAAMG,YAAY,GAAGL,OAAO,CAACM,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;IAChD,MAAM;MAACC,OAAD;MAAUC,KAAV;MAAiBC,QAAjB;MAA2BC,KAA3B;MAAkCC;IAAlC,IAA+CN,MAArD;IACA,MAAMO,UAAU,GAAI,oBAAmBN,GAAI,EAA3C;IAEA,oBACE;MACE,OAAO,EAAEC,OADX;MAEE,iBAAeE,QAFjB;MAGE,aAAU,eAHZ;MAIE,KAAK,eACCA,QAAQ,IAAI;QACdI,SAAS,EAAG,cAAa,IAAAC,0DAAA,EAA6BZ,gBAA7B,CAA+C;MAD1D,CADb,CAJP;MASE,SAAS,EAAEO,QAAQ,GAAGM,cAAA,CAAMN,QAAT,GAAoBM,cAAA,CAAMV,MAT/C;MAUE,GAAG,EAAEC;IAVP,gBAYE;MACE,aAAU,kBADZ;MAEE,KAAK,EAAE;QACLU,eAAe,EAAEP,QAAQ,GAAGP,gBAAH,GAAsB;MAD1C,CAFT;MAKE,SAAS,EAAEa,cAAA,CAAME;IALnB,EAZF,eAmBE;MAAK,aAAU,eAAf;MAA+B,SAAS,EAAEF,cAAA,CAAMG;IAAhD,gBACE;MACE,SAAS,EAAEH,cAAA,CAAMI,YADnB;MAEE,aAAU,aAFZ;MAGE,cAAYR,SAAS,IAAIH,KAH3B;MAIE,KAAK,EAAE;QACLY,eAAe,EAAG,OAAMV,KAAM;MADzB;IAJT,EADF,eASE;MAAK,aAAU,YAAf;MAA4B,SAAS,EAAEK,cAAA,CAAMM;IAA7C,gBACE;MACE,KAAK,EAAEb,KADT;MAEE,SAAS,EAAE,IAAAc,mBAAA,EAAWP,cAAA,CAAMP,KAAjB,EAAwBO,cAAA,CAAMQ,SAA9B,CAFb,CAGE;;IAHF,gBAKE;MAAO,OAAO,EAAEX;IAAhB,gBACE;MACE,EAAE,EAAEA,UADN;MAEE,IAAI,EAAC,UAFP;MAGE,KAAK,EAAEJ,KAHT;MAIE,OAAO,EAAEC,QAJX;MAKE,QAAQ,EAAEF,OALZ;MAME,SAAS,EAAEQ,cAAA,CAAMS;IANnB,EADF,EASGhB,KATH,CALF,CADF,CATF,CAnBF,CADF;EAmDD,CAvDoB,CAArB;EAyDA,oBACE;IACE,aAAU,qBADZ;IAEE,SAAS,EAAEO,cAAA,CAAMU,OAFnB;IAGE,IAAI,EAAC,OAHP;IAIE,cAAY1B;EAJd,GAMGI,YANH,CADF;AAUD,CAxED;;AA0EAR,QAAQ,CAAC+B,YAAT,GAAwB;EACtB1B,IAAI,EAAE2B,iBAAA,CAASC,iBAAT,CAA2B5B;AADX,CAAxB;AAIAL,QAAQ,CAACkC,SAAT,2CAAqB;EACnB/B,OAAO,EAAEgC,kBAAA,CAAUC,OAAV,CACPD,kBAAA,CAAUE,KAAV,CAAgB;IACdxB,KAAK,EAAEsB,kBAAA,CAAUG,MADH;IAEdxB,QAAQ,EAAEqB,kBAAA,CAAUI,IAFN;IAGd3B,OAAO,EAAEuB,kBAAA,CAAUK,IAHL;IAIdzB,KAAK,EAAEoB,kBAAA,CAAUG,MAJH;IAKdtB,SAAS,EAAEmB,kBAAA,CAAUG;EALP,CAAhB,CADO,CADU;EAUnBlC,cAAc,EAAE+B,kBAAA,CAAUG;AAVP,CAArB;eAaetC,Q"}
|
|
@@ -128,7 +128,9 @@ const OverlayElement = (props = {}, context = undefined) => {
|
|
|
128
128
|
className: _style.default.icons
|
|
129
129
|
}, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidVideosVideoControlPlay, {
|
|
130
130
|
className: _style.default.playButton,
|
|
131
|
-
|
|
131
|
+
style: {
|
|
132
|
+
color: dark
|
|
133
|
+
}
|
|
132
134
|
}), /*#__PURE__*/_react.default.createElement(_life.default, {
|
|
133
135
|
count: lifeAmount,
|
|
134
136
|
operator: "+",
|