@coorpacademy/components 10.24.0 → 10.24.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/autocomplete/index.js.map +1 -1
- package/es/atom/button-menu/index.js.map +1 -1
- package/es/atom/gradient/index.native.js +1 -1
- package/es/atom/gradient/index.native.js.map +1 -1
- package/es/atom/lottie-wrapper/index.js.map +1 -1
- package/es/atom/provider/web-context.js +1 -1
- package/es/atom/provider/web-context.js.map +1 -1
- package/es/atom/select/index.js.map +1 -1
- package/es/atom/select-modal/index.native.js +2 -2
- package/es/atom/select-modal/index.native.js.map +1 -1
- package/es/hoc/animation-scheduler/index.js +3 -3
- package/es/hoc/animation-scheduler/index.js.map +1 -1
- package/es/hoc/swapper/index.js +1 -1
- package/es/hoc/swapper/index.js.map +1 -1
- package/es/hoc/transition/index.js +1 -1
- package/es/hoc/transition/index.js.map +1 -1
- package/es/molecule/add-to-my-list/index.js +4 -3
- package/es/molecule/add-to-my-list/index.js.map +1 -1
- package/es/molecule/brand-tabs/index.js +22 -8
- package/es/molecule/brand-tabs/index.js.map +1 -1
- package/es/molecule/card/index.js +1 -1
- package/es/molecule/card/index.js.map +1 -1
- package/es/molecule/cm-popin/index.js +3 -3
- package/es/molecule/cm-popin/index.js.map +1 -1
- package/es/molecule/dashboard/battle-request-list/index.js +1 -1
- package/es/molecule/dashboard/battle-request-list/index.js.map +1 -1
- package/es/molecule/dashboard/news-list/index.js +1 -1
- package/es/molecule/dashboard/news-list/index.js.map +1 -1
- package/es/molecule/dashboard/review-banner/index.js +1 -1
- package/es/molecule/dashboard/review-banner/index.js.map +1 -1
- package/es/molecule/dashboard/start-battle/index.js +1 -1
- package/es/molecule/dashboard/start-battle/index.js.map +1 -1
- package/es/molecule/discipline-partners/index.js +1 -1
- package/es/molecule/discipline-partners/index.js.map +1 -1
- package/es/molecule/drag-and-drop/upload-report.js +43 -21
- package/es/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/es/molecule/draggable/style.css +2 -0
- package/es/molecule/feedback/index.js +2 -2
- package/es/molecule/feedback/index.js.map +1 -1
- package/es/molecule/filters/index.js.map +1 -1
- package/es/molecule/menu-list/index.js +2 -1
- package/es/molecule/menu-list/index.js.map +1 -1
- package/es/molecule/questions/free-text/index.js.map +1 -1
- package/es/molecule/questions/free-text/index.native.js +12 -6
- package/es/molecule/questions/free-text/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/template/index.native.js +42 -67
- package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/es/molecule/share/index.js +1 -1
- package/es/molecule/share/index.js.map +1 -1
- package/es/molecule/skill-card/index.js.map +1 -1
- package/es/organism/review-stacked-slides/index.js +6 -3
- package/es/organism/review-stacked-slides/index.js.map +1 -1
- package/es/organism/review-stacked-slides/index.native.js +6 -3
- package/es/organism/review-stacked-slides/index.native.js.map +1 -1
- package/es/template/app-player/popin-end/summary.js +4 -3
- package/es/template/app-player/popin-end/summary.js.map +1 -1
- package/es/template/app-review/template-context.js +1 -1
- package/es/template/app-review/template-context.js.map +1 -1
- package/es/template/common/dashboard/index.js +1 -1
- package/es/template/common/dashboard/index.js.map +1 -1
- package/es/template/common/discipline/index.js +1 -1
- package/es/template/common/discipline/index.js.map +1 -1
- package/es/template/teams-dashboard/index.js.map +1 -1
- package/es/util/navigation.js.map +1 -1
- package/es/util/proptypes.js.map +1 -1
- package/lib/atom/autocomplete/index.js.map +1 -1
- package/lib/atom/button-menu/index.js.map +1 -1
- package/lib/atom/gradient/index.native.js +1 -1
- package/lib/atom/gradient/index.native.js.map +1 -1
- package/lib/atom/lottie-wrapper/index.js.map +1 -1
- package/lib/atom/provider/web-context.js +1 -1
- package/lib/atom/provider/web-context.js.map +1 -1
- package/lib/atom/select/index.js.map +1 -1
- package/lib/atom/select-modal/index.native.js +2 -2
- package/lib/atom/select-modal/index.native.js.map +1 -1
- package/lib/hoc/animation-scheduler/index.js +3 -3
- package/lib/hoc/animation-scheduler/index.js.map +1 -1
- package/lib/hoc/swapper/index.js +1 -1
- package/lib/hoc/swapper/index.js.map +1 -1
- package/lib/hoc/transition/index.js +1 -1
- package/lib/hoc/transition/index.js.map +1 -1
- package/lib/molecule/add-to-my-list/index.js +3 -2
- package/lib/molecule/add-to-my-list/index.js.map +1 -1
- package/lib/molecule/brand-tabs/index.js +22 -8
- package/lib/molecule/brand-tabs/index.js.map +1 -1
- package/lib/molecule/card/index.js +1 -1
- package/lib/molecule/card/index.js.map +1 -1
- package/lib/molecule/cm-popin/index.js +3 -3
- package/lib/molecule/cm-popin/index.js.map +1 -1
- package/lib/molecule/dashboard/battle-request-list/index.js +1 -1
- package/lib/molecule/dashboard/battle-request-list/index.js.map +1 -1
- package/lib/molecule/dashboard/news-list/index.js +1 -1
- package/lib/molecule/dashboard/news-list/index.js.map +1 -1
- package/lib/molecule/dashboard/review-banner/index.js +1 -1
- package/lib/molecule/dashboard/review-banner/index.js.map +1 -1
- package/lib/molecule/dashboard/start-battle/index.js +1 -1
- package/lib/molecule/dashboard/start-battle/index.js.map +1 -1
- package/lib/molecule/discipline-partners/index.js +1 -1
- package/lib/molecule/discipline-partners/index.js.map +1 -1
- package/lib/molecule/drag-and-drop/upload-report.js +43 -22
- package/lib/molecule/drag-and-drop/upload-report.js.map +1 -1
- package/lib/molecule/draggable/style.css +2 -0
- package/lib/molecule/feedback/index.js +2 -2
- package/lib/molecule/feedback/index.js.map +1 -1
- package/lib/molecule/filters/index.js.map +1 -1
- package/lib/molecule/menu-list/index.js +2 -1
- package/lib/molecule/menu-list/index.js.map +1 -1
- package/lib/molecule/questions/free-text/index.js.map +1 -1
- package/lib/molecule/questions/free-text/index.native.js +13 -6
- package/lib/molecule/questions/free-text/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/template/index.native.js +43 -67
- package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
- package/lib/molecule/share/index.js +1 -1
- package/lib/molecule/share/index.js.map +1 -1
- package/lib/molecule/skill-card/index.js.map +1 -1
- package/lib/organism/review-stacked-slides/index.js +6 -3
- package/lib/organism/review-stacked-slides/index.js.map +1 -1
- package/lib/organism/review-stacked-slides/index.native.js +6 -3
- package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
- package/lib/template/app-player/popin-end/summary.js +4 -3
- package/lib/template/app-player/popin-end/summary.js.map +1 -1
- package/lib/template/app-review/template-context.js +1 -1
- package/lib/template/app-review/template-context.js.map +1 -1
- package/lib/template/common/dashboard/index.js +1 -1
- package/lib/template/common/dashboard/index.js.map +1 -1
- package/lib/template/common/discipline/index.js +1 -1
- package/lib/template/common/discipline/index.js.map +1 -1
- package/lib/template/teams-dashboard/index.js.map +1 -1
- package/lib/util/navigation.js.map +1 -1
- package/lib/util/proptypes.js.map +1 -1
- package/package.json +6 -5
|
@@ -99,10 +99,10 @@ const Select = props => {
|
|
|
99
99
|
|
|
100
100
|
const selectedItem = values.find(item => item.selected);
|
|
101
101
|
const text = selectedItem && selectedItem.text || placeholder || null;
|
|
102
|
-
|
|
102
|
+
let textStyles = [styleSheet.text];
|
|
103
103
|
|
|
104
104
|
if (textStyle) {
|
|
105
|
-
textStyles.
|
|
105
|
+
textStyles = [styleSheet.text, ...textStyle];
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
if (color) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["ICON_WIDTH","createStyleSheet","theme","StyleSheet","create","container","alignItems","flexDirection","text","flex","color","colors","gray","medium","textAlign","logEvent","eventName","analyticsID","analytics","questionType","id","Select","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","useEffect","_stylesheet","onBlur","onFocus","onChange","values","placeholder","value","style","textStyle","isFocused","isDisabled","testID","handleFocus","useCallback","ANALYTICS_EVENT_TYPE","OPEN_SELECT","handleBlur","CLOSE_SELECT","handleChange","_value","selectedItem","find","item","selected","textStyles","push","dark"],"sources":["../../../src/atom/select-modal/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Modal from 'react-native-modal';\nimport Touchable from '../../hoc/touchable/index.native';\nimport type {QuestionType} from '../../molecule/questions/types';\nimport {Theme} from '../../variables/theme.native';\n\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../variables/analytics';\nimport Space from '../space/index.native';\nimport Text from '../text/index.native';\nimport ModalSelect, {OnChangeFunction} from '../../hoc/modal/select/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type ChoiceItem = {\n text: string;\n selected: boolean;\n _id: string;\n};\n\nexport type Props = {\n analyticsID: string;\n questionType: QuestionType;\n isDisabled?: boolean;\n isFocused?: boolean;\n values: Array<ChoiceItem>;\n value?: string;\n placeholder?: string;\n color?: string;\n onChange: OnChangeFunction;\n onFocus: () => void;\n onBlur: () => void;\n style?: ViewStyle[];\n textStyle?: ViewStyle;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: ViewStyle;\n};\n\nconst ICON_WIDTH = 15;\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n text: {\n flex: 1,\n color: theme.colors.gray.medium,\n textAlign: 'center'\n }\n });\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n questionType: QuestionType\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: analyticsID,\n questionType\n });\n};\n\nconst Select = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme, analytics} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const {\n analyticsID,\n onBlur,\n onFocus,\n onChange,\n values,\n placeholder,\n value,\n style,\n textStyle,\n color,\n questionType,\n isFocused = false,\n isDisabled = false,\n testID = 'select'\n } = props;\n\n const handleFocus = useCallback(() => {\n if (!onFocus) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.OPEN_SELECT, analyticsID, analytics, questionType);\n onFocus();\n }, [analytics, analyticsID, onFocus, questionType]);\n\n const handleBlur = useCallback(() => {\n if (!onBlur) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.CLOSE_SELECT, analyticsID, analytics, questionType);\n onBlur();\n }, [analytics, analyticsID, onBlur, questionType]);\n\n const handleChange = useCallback(\n _value => {\n onChange(_value);\n handleBlur();\n },\n [onChange, handleBlur]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedItem = values.find(item => item.selected);\n const text = (selectedItem && selectedItem.text) || placeholder || null;\n
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["ICON_WIDTH","createStyleSheet","theme","StyleSheet","create","container","alignItems","flexDirection","text","flex","color","colors","gray","medium","textAlign","logEvent","eventName","analyticsID","analytics","questionType","id","Select","props","templateContext","useTemplateContext","styleSheet","setStylesheet","useState","useEffect","_stylesheet","onBlur","onFocus","onChange","values","placeholder","value","style","textStyle","isFocused","isDisabled","testID","handleFocus","useCallback","ANALYTICS_EVENT_TYPE","OPEN_SELECT","handleBlur","CLOSE_SELECT","handleChange","_value","selectedItem","find","item","selected","textStyles","push","dark"],"sources":["../../../src/atom/select-modal/index.native.tsx"],"sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle} from 'react-native';\nimport {NovaCompositionNavigationArrowDown as ArrowDown} from '@coorpacademy/nova-icons';\nimport Modal from 'react-native-modal';\nimport Touchable from '../../hoc/touchable/index.native';\nimport type {QuestionType} from '../../molecule/questions/types';\nimport {Theme} from '../../variables/theme.native';\n\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../variables/analytics';\nimport Space from '../space/index.native';\nimport Text from '../text/index.native';\nimport ModalSelect, {OnChangeFunction} from '../../hoc/modal/select/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nexport type ChoiceItem = {\n text: string;\n selected: boolean;\n _id: string;\n};\n\nexport type Props = {\n analyticsID: string;\n questionType: QuestionType;\n isDisabled?: boolean;\n isFocused?: boolean;\n values: Array<ChoiceItem>;\n value?: string;\n placeholder?: string;\n color?: string;\n onChange: OnChangeFunction;\n onFocus: () => void;\n onBlur: () => void;\n style?: ViewStyle[];\n textStyle?: ViewStyle[];\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: ViewStyle;\n text: ViewStyle;\n};\n\nconst ICON_WIDTH = 15;\n\nconst createStyleSheet = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row'\n },\n text: {\n flex: 1,\n color: theme.colors.gray.medium,\n textAlign: 'center'\n }\n });\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n questionType: QuestionType\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: analyticsID,\n questionType\n });\n};\n\nconst Select = (props: Props) => {\n const templateContext = useTemplateContext();\n const {theme, analytics} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const {\n analyticsID,\n onBlur,\n onFocus,\n onChange,\n values,\n placeholder,\n value,\n style,\n textStyle,\n color,\n questionType,\n isFocused = false,\n isDisabled = false,\n testID = 'select'\n } = props;\n\n const handleFocus = useCallback(() => {\n if (!onFocus) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.OPEN_SELECT, analyticsID, analytics, questionType);\n onFocus();\n }, [analytics, analyticsID, onFocus, questionType]);\n\n const handleBlur = useCallback(() => {\n if (!onBlur) return;\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.CLOSE_SELECT, analyticsID, analytics, questionType);\n onBlur();\n }, [analytics, analyticsID, onBlur, questionType]);\n\n const handleChange = useCallback(\n _value => {\n onChange(_value);\n handleBlur();\n },\n [onChange, handleBlur]\n );\n\n if (!styleSheet) {\n return null;\n }\n\n const selectedItem = values.find(item => item.selected);\n const text = (selectedItem && selectedItem.text) || placeholder || null;\n let textStyles: TextStyle[] = [styleSheet.text];\n\n if (textStyle) {\n textStyles = [styleSheet.text, ...textStyle];\n }\n if (color) {\n textStyles.push({color});\n }\n\n return (\n <>\n <Touchable\n disabled={isDisabled}\n onPress={handleFocus}\n analyticsID={analyticsID}\n testID={`${testID}-input`}\n >\n <View style={[styleSheet.container, style]}>\n <Text style={textStyles}>{text}</Text>\n <Space type=\"tiny\" />\n <ArrowDown\n color={color || theme.colors.gray.dark}\n height={ICON_WIDTH}\n width={ICON_WIDTH}\n />\n </View>\n </Touchable>\n <Modal\n isVisible={isFocused}\n onSwipeComplete={handleBlur}\n onBackdropPress={handleBlur}\n testID={testID}\n >\n <ModalSelect\n value={value}\n values={values}\n onChange={handleChange}\n onClose={handleBlur}\n testID={`${testID}-modal`}\n />\n </Modal>\n </>\n );\n};\n\nexport default Select;\n"],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ const AnimationAdapter = ({
|
|
|
53
53
|
name,
|
|
54
54
|
children
|
|
55
55
|
}) => {
|
|
56
|
-
return _react.default.Children.map(children, child =>
|
|
56
|
+
return _react.default.Children.map(children, child => _react.default.cloneElement(child, {
|
|
57
57
|
animated,
|
|
58
58
|
onAnimationEnd: () => onAnimationEnd(name)
|
|
59
59
|
}));
|
|
@@ -75,7 +75,7 @@ const walker = (type, handler) => children => {
|
|
|
75
75
|
if ((0, _isNil2.default)(child) || (0, _isString2.default)(child)) return child;
|
|
76
76
|
const newChild = child.type === type ? handler(child) : child;
|
|
77
77
|
if (_react.default.Children.count(newChild.props.children) === 0) return newChild;
|
|
78
|
-
return
|
|
78
|
+
return _react.default.cloneElement(newChild, {}, walker(type, handler)(newChild.props.children));
|
|
79
79
|
});
|
|
80
80
|
};
|
|
81
81
|
|
|
@@ -163,7 +163,7 @@ class AnimationScheduler extends _react.default.Component {
|
|
|
163
163
|
onAnimationEnd = _noop2.default,
|
|
164
164
|
after
|
|
165
165
|
} = child.props;
|
|
166
|
-
return
|
|
166
|
+
return _react.default.cloneElement(child, {
|
|
167
167
|
animated: parentAnimated ? this.isAnimated(after) || animated : animated,
|
|
168
168
|
onAnimationEnd: name => {
|
|
169
169
|
this.handlerAnimationEnd(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["AnimationAdapter","animated","onAnimationEnd","name","children","React","Children","map","child","cloneElement","propTypes","PropTypes","string","isRequired","func","bool","pickByWithKey","convert","cap","walker","type","handler","index","newChild","count","props","reduceChildren","fun","acc","newAcc","getAnimationNames","Animation","Transition","mergeAnimationStates","animations","names","value","key","AnimationScheduler","Component","getDerivedStateFromProps","state","constructor","isAnimated","after","handlerAnimationEnd","setState","hasPendingAnimation","processAnimation","parentAnimated","render","bind","node"],"sources":["../../../src/hoc/animation-scheduler/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n assign,\n every,\n getOr,\n get,\n includes,\n isArray,\n isNil,\n isString,\n noop,\n pickBy,\n some,\n negate,\n identity,\n values,\n pipe,\n reduce,\n set\n} from 'lodash/fp';\nimport Animation from '../animation';\nimport Transition from '../transition';\n\nconst AnimationAdapter = ({animated, onAnimationEnd = noop, name, children}) => {\n return React.Children.map(children, child =>\n React.cloneElement(child, {\n animated,\n onAnimationEnd: () => onAnimationEnd(name)\n })\n );\n};\n\nAnimationAdapter.propTypes = {\n name: PropTypes.string.isRequired,\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool\n};\n\nconst pickByWithKey = pickBy.convert({cap: true});\n\nconst walker = (type, handler) => children => {\n return React.Children.map(children, (child, index) => {\n if (isNil(child) || isString(child)) return child;\n const newChild = child.type === type ? handler(child) : child;\n if (React.Children.count(newChild.props.children) === 0) return newChild;\n return React.cloneElement(newChild, {}, walker(type, handler)(newChild.props.children));\n });\n};\n\nconst reduceChildren = fun => acc => children => {\n let newAcc = acc;\n React.Children.map(children, child => {\n newAcc = fun(newAcc, child);\n return child;\n });\n return newAcc;\n};\n\nconst getAnimationNames = reduceChildren((acc, child) => {\n if (isString(child)) return acc;\n\n const {\n type,\n props: {children}\n } = child;\n if (Animation !== type && Transition !== type && AnimationAdapter !== type)\n return [...acc, ...getAnimationNames(children)];\n\n const {\n props: {name}\n } = child;\n return [name, ...acc, ...getAnimationNames(children)];\n})([]);\n\nconst mergeAnimationStates = (animations, children) => {\n const names = getAnimationNames(children);\n\n return pipe(\n pickByWithKey((value, key) => includes(key, names)),\n assign(reduce((acc, name) => set(name, false, acc), {}, names))\n )(animations);\n};\n\nclass AnimationScheduler extends React.Component {\n static propTypes = {\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool,\n children: PropTypes.node\n };\n\n static getDerivedStateFromProps(props, state) {\n const {children} = props;\n const {animations} = state;\n return {\n animations: mergeAnimationStates(animations, children)\n };\n }\n\n constructor(props) {\n super(props);\n\n const {children} = props;\n this.state = {\n animations: mergeAnimationStates({}, children)\n };\n }\n\n isAnimated(after) {\n if (isNil(after)) return true;\n\n const {animations} = this.state;\n\n const isAnimated = every(\n name => getOr(false, name, animations),\n isArray(after) ? after : [after]\n );\n\n return isAnimated;\n }\n\n handlerAnimationEnd(name) {\n this.setState(set(['animations', name], true), () => {\n const hasPendingAnimation = pipe(\n get('state.animations'),\n values,\n some(negate(identity))\n )(this);\n const {onAnimationEnd = noop} = this.props;\n if (!hasPendingAnimation) return onAnimationEnd();\n });\n }\n\n processAnimation(child) {\n const {animated: parentAnimated} = this.props;\n const {animated, onAnimationEnd = noop, after} = child.props;\n\n return React.cloneElement(child, {\n animated: parentAnimated ? this.isAnimated(after) || animated : animated,\n onAnimationEnd: name => {\n this.handlerAnimationEnd(name);\n return onAnimationEnd(name);\n }\n });\n }\n\n render() {\n const {children} = this.props;\n return pipe(\n walker(Animation, this.processAnimation.bind(this)),\n walker(Transition, this.processAnimation.bind(this)),\n walker(AnimationAdapter, this.processAnimation.bind(this))\n )(children);\n }\n}\n\nexport default AnimationScheduler;\n\nexport {AnimationAdapter};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAoBA;;AACA;;;;AAEA,MAAMA,gBAAgB,GAAG,CAAC;EAACC,QAAD;EAAWC,cAAc,iBAAzB;EAAkCC,IAAlC;EAAwCC;AAAxC,CAAD,KAAuD;EAC9E,OAAOC,cAAA,CAAMC,QAAN,CAAeC,GAAf,CAAmBH,QAAnB,EAA6BI,KAAK,
|
|
1
|
+
{"version":3,"file":"index.js","names":["AnimationAdapter","animated","onAnimationEnd","name","children","React","Children","map","child","cloneElement","propTypes","PropTypes","string","isRequired","func","bool","pickByWithKey","convert","cap","walker","type","handler","index","newChild","count","props","reduceChildren","fun","acc","newAcc","getAnimationNames","Animation","Transition","mergeAnimationStates","animations","names","value","key","AnimationScheduler","Component","getDerivedStateFromProps","state","constructor","isAnimated","after","handlerAnimationEnd","setState","hasPendingAnimation","processAnimation","parentAnimated","render","bind","node"],"sources":["../../../src/hoc/animation-scheduler/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n assign,\n every,\n getOr,\n get,\n includes,\n isArray,\n isNil,\n isString,\n noop,\n pickBy,\n some,\n negate,\n identity,\n values,\n pipe,\n reduce,\n set\n} from 'lodash/fp';\nimport Animation from '../animation';\nimport Transition from '../transition';\n\nconst AnimationAdapter = ({animated, onAnimationEnd = noop, name, children}) => {\n return React.Children.map(children, child =>\n React.cloneElement(child, {\n animated,\n onAnimationEnd: () => onAnimationEnd(name)\n })\n );\n};\n\nAnimationAdapter.propTypes = {\n name: PropTypes.string.isRequired,\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool\n};\n\nconst pickByWithKey = pickBy.convert({cap: true});\n\nconst walker = (type, handler) => children => {\n return React.Children.map(children, (child, index) => {\n if (isNil(child) || isString(child)) return child;\n const newChild = child.type === type ? handler(child) : child;\n if (React.Children.count(newChild.props.children) === 0) return newChild;\n return React.cloneElement(newChild, {}, walker(type, handler)(newChild.props.children));\n });\n};\n\nconst reduceChildren = fun => acc => children => {\n let newAcc = acc;\n React.Children.map(children, child => {\n newAcc = fun(newAcc, child);\n return child;\n });\n return newAcc;\n};\n\nconst getAnimationNames = reduceChildren((acc, child) => {\n if (isString(child)) return acc;\n\n const {\n type,\n props: {children}\n } = child;\n if (Animation !== type && Transition !== type && AnimationAdapter !== type)\n return [...acc, ...getAnimationNames(children)];\n\n const {\n props: {name}\n } = child;\n return [name, ...acc, ...getAnimationNames(children)];\n})([]);\n\nconst mergeAnimationStates = (animations, children) => {\n const names = getAnimationNames(children);\n\n return pipe(\n pickByWithKey((value, key) => includes(key, names)),\n assign(reduce((acc, name) => set(name, false, acc), {}, names))\n )(animations);\n};\n\nclass AnimationScheduler extends React.Component {\n static propTypes = {\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool,\n children: PropTypes.node\n };\n\n static getDerivedStateFromProps(props, state) {\n const {children} = props;\n const {animations} = state;\n return {\n animations: mergeAnimationStates(animations, children)\n };\n }\n\n constructor(props) {\n super(props);\n\n const {children} = props;\n this.state = {\n animations: mergeAnimationStates({}, children)\n };\n }\n\n isAnimated(after) {\n if (isNil(after)) return true;\n\n const {animations} = this.state;\n\n const isAnimated = every(\n name => getOr(false, name, animations),\n isArray(after) ? after : [after]\n );\n\n return isAnimated;\n }\n\n handlerAnimationEnd(name) {\n this.setState(set(['animations', name], true), () => {\n const hasPendingAnimation = pipe(\n get('state.animations'),\n values,\n some(negate(identity))\n )(this);\n const {onAnimationEnd = noop} = this.props;\n if (!hasPendingAnimation) return onAnimationEnd();\n });\n }\n\n processAnimation(child) {\n const {animated: parentAnimated} = this.props;\n const {animated, onAnimationEnd = noop, after} = child.props;\n\n return React.cloneElement(child, {\n animated: parentAnimated ? this.isAnimated(after) || animated : animated,\n onAnimationEnd: name => {\n this.handlerAnimationEnd(name);\n return onAnimationEnd(name);\n }\n });\n }\n\n render() {\n const {children} = this.props;\n return pipe(\n walker(Animation, this.processAnimation.bind(this)),\n walker(Transition, this.processAnimation.bind(this)),\n walker(AnimationAdapter, this.processAnimation.bind(this))\n )(children);\n }\n}\n\nexport default AnimationScheduler;\n\nexport {AnimationAdapter};\n"],"mappings":"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"}
|
package/lib/hoc/swapper/index.js
CHANGED
|
@@ -52,7 +52,7 @@ class Swapper extends _react.default.Component {
|
|
|
52
52
|
|
|
53
53
|
const child = _react.default.Children.only(children);
|
|
54
54
|
|
|
55
|
-
return init ?
|
|
55
|
+
return init ? _react.default.cloneElement(child, props) : child;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["safeCancelAnimationFrame","requestId","cancelAnimationFrame","Swapper","React","Component","constructor","props","state","init","componentDidMount","requestAnimationFrame","requestID","setState","componentWillUnmount","undefined","render","children","child","Children","only","cloneElement","propTypes","PropTypes","node"],"sources":["../../../src/hoc/swapper/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const safeCancelAnimationFrame = requestId => requestId && cancelAnimationFrame(requestId);\n\nclass Swapper extends React.Component {\n static propTypes = {\n children: PropTypes.node\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n init: true\n };\n }\n\n componentDidMount() {\n if (typeof requestAnimationFrame !== 'undefined') {\n this.requestID = requestAnimationFrame(() => this.setState({init: false}));\n }\n }\n\n componentWillUnmount() {\n if (this.requestID !== undefined) {\n safeCancelAnimationFrame(this.requestID);\n }\n }\n\n render() {\n const {init} = this.state;\n const {children, ...props} = this.props;\n const child = React.Children.only(children);\n\n return init ? React.cloneElement(child, props) : child;\n }\n}\n\nexport default Swapper;\n"],"mappings":";;;;;AAAA;;AACA;;;;;;;;AAEO,MAAMA,wBAAwB,GAAGC,SAAS,IAAIA,SAAS,IAAIC,oBAAoB,CAACD,SAAD,CAA/E;;;;AAEP,MAAME,OAAN,SAAsBC,cAAA,CAAMC,SAA5B,CAAsC;EAKpCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;IAEA,KAAKC,KAAL,GAAa;MACXC,IAAI,EAAE;IADK,CAAb;EAGD;;EAEDC,iBAAiB,GAAG;IAClB,IAAI,OAAOC,qBAAP,KAAiC,WAArC,EAAkD;MAChD,KAAKC,SAAL,GAAiBD,qBAAqB,CAAC,MAAM,KAAKE,QAAL,CAAc;QAACJ,IAAI,EAAE;MAAP,CAAd,CAAP,CAAtC;IACD;EACF;;EAEDK,oBAAoB,GAAG;IACrB,IAAI,KAAKF,SAAL,KAAmBG,SAAvB,EAAkC;MAChCf,wBAAwB,CAAC,KAAKY,SAAN,CAAxB;IACD;EACF;;EAEDI,MAAM,GAAG;IACP,MAAM;MAACP;IAAD,IAAS,KAAKD,KAApB;;IACA,oBAA6B,KAAKD,KAAlC;IAAA,MAAM;MAACU;IAAD,CAAN;IAAA,MAAoBV,KAApB;;IACA,MAAMW,KAAK,GAAGd,cAAA,CAAMe,QAAN,CAAeC,IAAf,CAAoBH,QAApB,CAAd;;IAEA,OAAOR,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","names":["safeCancelAnimationFrame","requestId","cancelAnimationFrame","Swapper","React","Component","constructor","props","state","init","componentDidMount","requestAnimationFrame","requestID","setState","componentWillUnmount","undefined","render","children","child","Children","only","cloneElement","propTypes","PropTypes","node"],"sources":["../../../src/hoc/swapper/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const safeCancelAnimationFrame = requestId => requestId && cancelAnimationFrame(requestId);\n\nclass Swapper extends React.Component {\n static propTypes = {\n children: PropTypes.node\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n init: true\n };\n }\n\n componentDidMount() {\n if (typeof requestAnimationFrame !== 'undefined') {\n this.requestID = requestAnimationFrame(() => this.setState({init: false}));\n }\n }\n\n componentWillUnmount() {\n if (this.requestID !== undefined) {\n safeCancelAnimationFrame(this.requestID);\n }\n }\n\n render() {\n const {init} = this.state;\n const {children, ...props} = this.props;\n const child = React.Children.only(children);\n\n return init ? React.cloneElement(child, props) : child;\n }\n}\n\nexport default Swapper;\n"],"mappings":";;;;;AAAA;;AACA;;;;;;;;AAEO,MAAMA,wBAAwB,GAAGC,SAAS,IAAIA,SAAS,IAAIC,oBAAoB,CAACD,SAAD,CAA/E;;;;AAEP,MAAME,OAAN,SAAsBC,cAAA,CAAMC,SAA5B,CAAsC;EAKpCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;IAEA,KAAKC,KAAL,GAAa;MACXC,IAAI,EAAE;IADK,CAAb;EAGD;;EAEDC,iBAAiB,GAAG;IAClB,IAAI,OAAOC,qBAAP,KAAiC,WAArC,EAAkD;MAChD,KAAKC,SAAL,GAAiBD,qBAAqB,CAAC,MAAM,KAAKE,QAAL,CAAc;QAACJ,IAAI,EAAE;MAAP,CAAd,CAAP,CAAtC;IACD;EACF;;EAEDK,oBAAoB,GAAG;IACrB,IAAI,KAAKF,SAAL,KAAmBG,SAAvB,EAAkC;MAChCf,wBAAwB,CAAC,KAAKY,SAAN,CAAxB;IACD;EACF;;EAEDI,MAAM,GAAG;IACP,MAAM;MAACP;IAAD,IAAS,KAAKD,KAApB;;IACA,oBAA6B,KAAKD,KAAlC;IAAA,MAAM;MAACU;IAAD,CAAN;IAAA,MAAoBV,KAApB;;IACA,MAAMW,KAAK,GAAGd,cAAA,CAAMe,QAAN,CAAeC,IAAf,CAAoBH,QAApB,CAAd;;IAEA,OAAOR,IAAI,GAAGL,cAAA,CAAMiB,YAAN,CAAmBH,KAAnB,EAA0BX,KAA1B,CAAH,GAAsCW,KAAjD;EACD;;AA/BmC;;AAAhCf,O,CACGmB,S,2CAAY;EACjBL,QAAQ,EAAEM,kBAAA,CAAUC;AADH,C;eAiCNrB,O"}
|
|
@@ -38,7 +38,7 @@ const Transition = props => {
|
|
|
38
38
|
const handlerAnimationEnd = (0, _react.useMemo)(() => () => {
|
|
39
39
|
return onAnimationEnd(name);
|
|
40
40
|
}, []);
|
|
41
|
-
return
|
|
41
|
+
return _react.default.cloneElement(child, {
|
|
42
42
|
className: (0, _classnames.default)(propClassName, className),
|
|
43
43
|
onTransitionEnd: handlerAnimationEnd,
|
|
44
44
|
onAnimationEnd: handlerAnimationEnd
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Transition","props","name","children","className","animated","onAnimationEnd","Child","child","propClassName","handlerAnimationEnd","useMemo","React","cloneElement","classnames","onTransitionEnd","Children","map","propTypes","PropTypes","string","isRequired","func","bool"],"sources":["../../../src/hoc/transition/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport {noop} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst Transition = props => {\n const {name, children, className, animated, onAnimationEnd = noop} = props;\n\n if (!animated) return children;\n\n const Child = ({child}) => {\n const {\n props: {className: propClassName}\n } = child;\n\n const handlerAnimationEnd = useMemo(\n () => () => {\n return onAnimationEnd(name);\n },\n []\n );\n\n return React.cloneElement(child, {\n className: classnames(propClassName, className),\n onTransitionEnd: handlerAnimationEnd,\n onAnimationEnd: handlerAnimationEnd\n });\n };\n\n return React.Children.map(children, child => <Child child={child} />);\n};\n\nTransition.propTypes = {\n name: PropTypes.string.isRequired,\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool\n};\n\nexport default Transition;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;;;;;;;AAEA,MAAMA,UAAU,GAAGC,KAAK,IAAI;EAC1B,MAAM;IAACC,IAAD;IAAOC,QAAP;IAAiBC,SAAjB;IAA4BC,QAA5B;IAAsCC,cAAc;EAApD,IAA+DL,KAArE;EAEA,IAAI,CAACI,QAAL,EAAe,OAAOF,QAAP;;EAEf,MAAMI,KAAK,GAAG,CAAC;IAACC;EAAD,CAAD,KAAa;IACzB,MAAM;MACJP,KAAK,EAAE;QAACG,SAAS,EAAEK;MAAZ;IADH,IAEFD,KAFJ;IAIA,MAAME,mBAAmB,GAAG,IAAAC,cAAA,EAC1B,MAAM,MAAM;MACV,OAAOL,cAAc,CAACJ,IAAD,CAArB;IACD,CAHyB,EAI1B,EAJ0B,CAA5B;IAOA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["Transition","props","name","children","className","animated","onAnimationEnd","Child","child","propClassName","handlerAnimationEnd","useMemo","React","cloneElement","classnames","onTransitionEnd","Children","map","propTypes","PropTypes","string","isRequired","func","bool"],"sources":["../../../src/hoc/transition/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport {noop} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst Transition = props => {\n const {name, children, className, animated, onAnimationEnd = noop} = props;\n\n if (!animated) return children;\n\n const Child = ({child}) => {\n const {\n props: {className: propClassName}\n } = child;\n\n const handlerAnimationEnd = useMemo(\n () => () => {\n return onAnimationEnd(name);\n },\n []\n );\n\n return React.cloneElement(child, {\n className: classnames(propClassName, className),\n onTransitionEnd: handlerAnimationEnd,\n onAnimationEnd: handlerAnimationEnd\n });\n };\n\n return React.Children.map(children, child => <Child child={child} />);\n};\n\nTransition.propTypes = {\n name: PropTypes.string.isRequired,\n onAnimationEnd: PropTypes.func,\n animated: PropTypes.bool\n};\n\nexport default Transition;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;;;;;;;AAEA,MAAMA,UAAU,GAAGC,KAAK,IAAI;EAC1B,MAAM;IAACC,IAAD;IAAOC,QAAP;IAAiBC,SAAjB;IAA4BC,QAA5B;IAAsCC,cAAc;EAApD,IAA+DL,KAArE;EAEA,IAAI,CAACI,QAAL,EAAe,OAAOF,QAAP;;EAEf,MAAMI,KAAK,GAAG,CAAC;IAACC;EAAD,CAAD,KAAa;IACzB,MAAM;MACJP,KAAK,EAAE;QAACG,SAAS,EAAEK;MAAZ;IADH,IAEFD,KAFJ;IAIA,MAAME,mBAAmB,GAAG,IAAAC,cAAA,EAC1B,MAAM,MAAM;MACV,OAAOL,cAAc,CAACJ,IAAD,CAArB;IACD,CAHyB,EAI1B,EAJ0B,CAA5B;IAOA,OAAOU,cAAA,CAAMC,YAAN,CAAmBL,KAAnB,EAA0B;MAC/BJ,SAAS,EAAE,IAAAU,mBAAA,EAAWL,aAAX,EAA0BL,SAA1B,CADoB;MAE/BW,eAAe,EAAEL,mBAFc;MAG/BJ,cAAc,EAAEI;IAHe,CAA1B,CAAP;EAKD,CAjBD;;EAmBA,OAAOE,cAAA,CAAMI,QAAN,CAAeC,GAAf,CAAmBd,QAAnB,EAA6BK,KAAK,iBAAI,6BAAC,KAAD;IAAO,KAAK,EAAEA;EAAd,EAAtC,CAAP;AACD,CAzBD;;AA2BAR,UAAU,CAACkB,SAAX,2CAAuB;EACrBhB,IAAI,EAAEiB,kBAAA,CAAUC,MAAV,CAAiBC,UADF;EAErBf,cAAc,EAAEa,kBAAA,CAAUG,IAFL;EAGrBjB,QAAQ,EAAEc,kBAAA,CAAUI;AAHC,CAAvB;eAMevB,U"}
|
|
@@ -26,7 +26,7 @@ const ADD_TO_MY_LIST_STATUS = {
|
|
|
26
26
|
SUCCESS: 'SUCCESS'
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
const StatusContext =
|
|
29
|
+
const StatusContext = _react.default.createContext(ADD_TO_MY_LIST_STATUS.IDLE);
|
|
30
30
|
|
|
31
31
|
const AddToMyListStatusProvider = ({
|
|
32
32
|
children
|
|
@@ -42,8 +42,9 @@ const AddToMyListStatusProvider = ({
|
|
|
42
42
|
|
|
43
43
|
return () => clearTimeout(timeoutId);
|
|
44
44
|
}, [status]);
|
|
45
|
+
const statusValue = (0, _react.useMemo)(() => [status, setStatus], [status, setStatus]);
|
|
45
46
|
return /*#__PURE__*/_react.default.createElement(StatusContext.Provider, {
|
|
46
|
-
value:
|
|
47
|
+
value: statusValue
|
|
47
48
|
}, children);
|
|
48
49
|
};
|
|
49
50
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","React","createContext","AddToMyListStatusProvider","children","status","setStatus","useState","useEffect","timeoutId","DURATION","setTimeout","clearTimeout","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","useContext","classnames","styles","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","PropTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n return <StatusContext.Provider value={
|
|
1
|
+
{"version":3,"file":"index.js","names":["ADD_TO_MY_LIST_STATUS","IDLE","SUCCESS","StatusContext","React","createContext","AddToMyListStatusProvider","children","status","setStatus","useState","useEffect","timeoutId","DURATION","setTimeout","clearTimeout","statusValue","useMemo","AddToMyListFeedback","addToMyListText","removeFromMyListText","favorite","useContext","classnames","styles","feedback","checkIcon","AddToMyList","style","addToMyListButton","onFavoriteClick","cb","onClick","container","cta","wrapper","shareIcon","propTypes","PropTypes","node","string","bool","func"],"sources":["../../../src/molecule/add-to-my-list/index.js"],"sourcesContent":["import React, {useState, useContext, useEffect, useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaCompositionNavigationMore as MoreIcon\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport styles from './style.css';\n\nconst ADD_TO_MY_LIST_STATUS = {\n IDLE: 'IDLE',\n SUCCESS: 'SUCCESS'\n};\n\nconst StatusContext = React.createContext(ADD_TO_MY_LIST_STATUS.IDLE);\n\nexport const AddToMyListStatusProvider = ({children}) => {\n const [status, setStatus] = useState(ADD_TO_MY_LIST_STATUS.IDLE);\n useEffect(() => {\n let timeoutId;\n const DURATION = 3000;\n if (status !== ADD_TO_MY_LIST_STATUS.IDLE) {\n timeoutId = setTimeout(() => setStatus(ADD_TO_MY_LIST_STATUS.IDLE), DURATION);\n }\n return () => clearTimeout(timeoutId);\n }, [status]);\n const statusValue = useMemo(() => [status, setStatus], [status, setStatus]);\n return <StatusContext.Provider value={statusValue}>{children}</StatusContext.Provider>;\n};\n\nexport const AddToMyListFeedback = ({addToMyListText, removeFromMyListText, favorite}) => {\n const [status] = useContext(StatusContext);\n if (status === ADD_TO_MY_LIST_STATUS.IDLE) return null;\n\n return (\n <div className={classnames(styles.feedback)} data-name={'add-to-my-list-feedback'}>\n <CheckIcon className={styles.checkIcon} width={13} height={13} />\n <p>{favorite ? addToMyListText : removeFromMyListText}</p>\n </div>\n );\n};\n\nconst AddToMyList = ({style, addToMyListButton, favorite, onFavoriteClick}) => {\n const [, setStatus] = useContext(StatusContext);\n const cb = () => setStatus(ADD_TO_MY_LIST_STATUS.SUCCESS);\n\n function onClick() {\n onFavoriteClick(cb);\n }\n\n return (\n <div className={(styles.container, style)}>\n <Link data-name={'add-to-my-list-button'} onClick={onClick} className={styles.cta}>\n <div className={styles.wrapper}>\n {favorite ? (\n <CheckIcon className={styles.shareIcon} width={15} height={15} />\n ) : (\n <MoreIcon className={styles.shareIcon} width={12} height={12} />\n )}\n <p>{addToMyListButton}</p>\n </div>\n </Link>\n </div>\n );\n};\n\nAddToMyListStatusProvider.propTypes = {\n children: PropTypes.node\n};\n\nAddToMyListFeedback.propTypes = {\n addToMyListText: PropTypes.string,\n removeFromMyListText: PropTypes.string,\n favorite: PropTypes.bool\n};\n\nAddToMyList.propTypes = {\n style: PropTypes.string,\n addToMyListButton: PropTypes.string,\n favorite: PropTypes.bool,\n onFavoriteClick: PropTypes.func\n};\n\nexport default AddToMyList;\n"],"mappings":"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"}
|
|
@@ -15,7 +15,11 @@ var _style = _interopRequireDefault(require("./style.css"));
|
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
18
|
-
const
|
|
18
|
+
const Tab = ({
|
|
19
|
+
tab,
|
|
20
|
+
index,
|
|
21
|
+
isLightTab
|
|
22
|
+
}) => {
|
|
19
23
|
const {
|
|
20
24
|
title,
|
|
21
25
|
href,
|
|
@@ -35,25 +39,35 @@ const buildTab = isLightTab => (tab, index) => {
|
|
|
35
39
|
}, title));
|
|
36
40
|
};
|
|
37
41
|
|
|
42
|
+
Tab.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
43
|
+
tab: _propTypes.default.shape({
|
|
44
|
+
title: _link.default.propTypes.children,
|
|
45
|
+
href: _link.default.propTypes.href,
|
|
46
|
+
selected: _propTypes.default.bool,
|
|
47
|
+
onClick: _propTypes.default.func
|
|
48
|
+
}),
|
|
49
|
+
index: _propTypes.default.number,
|
|
50
|
+
isLightTab: _propTypes.default.bool
|
|
51
|
+
} : {};
|
|
52
|
+
|
|
38
53
|
const BrandTabs = props => {
|
|
39
54
|
const {
|
|
40
55
|
tabs,
|
|
41
56
|
type = 'default'
|
|
42
57
|
} = props;
|
|
43
58
|
const isLightTab = type === 'light';
|
|
44
|
-
const tabsList = tabs.map(
|
|
59
|
+
const tabsList = tabs.map((tab, index) => Tab({
|
|
60
|
+
tab,
|
|
61
|
+
index,
|
|
62
|
+
isLightTab
|
|
63
|
+
}));
|
|
45
64
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
46
65
|
className: isLightTab ? _style.default.lightwrapper : _style.default.wrapper
|
|
47
66
|
}, tabsList);
|
|
48
67
|
};
|
|
49
68
|
|
|
50
69
|
BrandTabs.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
51
|
-
tabs: _propTypes.default.arrayOf(_propTypes.default.shape(
|
|
52
|
-
title: _link.default.propTypes.children,
|
|
53
|
-
href: _link.default.propTypes.href,
|
|
54
|
-
selected: _propTypes.default.bool,
|
|
55
|
-
onClick: _propTypes.default.func
|
|
56
|
-
})),
|
|
70
|
+
tabs: _propTypes.default.arrayOf(_propTypes.default.shape(Tab.propTypes)),
|
|
57
71
|
type: _propTypes.default.oneOf(['default', 'light'])
|
|
58
72
|
} : {};
|
|
59
73
|
var _default = BrandTabs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["Tab","tab","index","isLightTab","title","href","selected","onClick","selectedStyle","style","selectedlight","unselectedStyle","lighttab","className","propTypes","PropTypes","shape","Link","children","bool","func","number","BrandTabs","props","tabs","type","tabsList","map","lightwrapper","wrapper","arrayOf","oneOf"],"sources":["../../../src/molecule/brand-tabs/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {snakeCase} from 'lodash/fp';\nimport Link from '../../atom/link';\nimport style from './style.css';\n\nconst Tab = ({tab, index, isLightTab}) => {\n const {title, href, selected, onClick} = tab;\n const selectedStyle = isLightTab ? style.selectedlight : style.selected;\n const unselectedStyle = isLightTab ? style.lighttab : style.tab;\n const className = selected ? selectedStyle : unselectedStyle;\n\n return (\n <div\n data-name={`brand_tab_${snakeCase(title)}`}\n className={className}\n key={index}\n onClick={onClick}\n >\n <Link href={href}>{title}</Link>\n </div>\n );\n};\nTab.propTypes = {\n tab: PropTypes.shape({\n title: Link.propTypes.children,\n href: Link.propTypes.href,\n selected: PropTypes.bool,\n onClick: PropTypes.func\n }),\n index: PropTypes.number,\n isLightTab: PropTypes.bool\n};\n\nconst BrandTabs = props => {\n const {tabs, type = 'default'} = props;\n const isLightTab = type === 'light';\n const tabsList = tabs.map((tab, index) => Tab({tab, index, isLightTab}));\n\n return <div className={isLightTab ? style.lightwrapper : style.wrapper}>{tabsList}</div>;\n};\n\nBrandTabs.propTypes = {\n tabs: PropTypes.arrayOf(PropTypes.shape(Tab.propTypes)),\n type: PropTypes.oneOf(['default', 'light'])\n};\nexport default BrandTabs;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;;;AAEA,MAAMA,GAAG,GAAG,CAAC;EAACC,GAAD;EAAMC,KAAN;EAAaC;AAAb,CAAD,KAA8B;EACxC,MAAM;IAACC,KAAD;IAAQC,IAAR;IAAcC,QAAd;IAAwBC;EAAxB,IAAmCN,GAAzC;EACA,MAAMO,aAAa,GAAGL,UAAU,GAAGM,cAAA,CAAMC,aAAT,GAAyBD,cAAA,CAAMH,QAA/D;EACA,MAAMK,eAAe,GAAGR,UAAU,GAAGM,cAAA,CAAMG,QAAT,GAAoBH,cAAA,CAAMR,GAA5D;EACA,MAAMY,SAAS,GAAGP,QAAQ,GAAGE,aAAH,GAAmBG,eAA7C;EAEA,oBACE;IACE,aAAY,aAAY,yBAAUP,KAAV,CAAiB,EAD3C;IAEE,SAAS,EAAES,SAFb;IAGE,GAAG,EAAEX,KAHP;IAIE,OAAO,EAAEK;EAJX,gBAME,6BAAC,aAAD;IAAM,IAAI,EAAEF;EAAZ,GAAmBD,KAAnB,CANF,CADF;AAUD,CAhBD;;AAiBAJ,GAAG,CAACc,SAAJ,2CAAgB;EACdb,GAAG,EAAEc,kBAAA,CAAUC,KAAV,CAAgB;IACnBZ,KAAK,EAAEa,aAAA,CAAKH,SAAL,CAAeI,QADH;IAEnBb,IAAI,EAAEY,aAAA,CAAKH,SAAL,CAAeT,IAFF;IAGnBC,QAAQ,EAAES,kBAAA,CAAUI,IAHD;IAInBZ,OAAO,EAAEQ,kBAAA,CAAUK;EAJA,CAAhB,CADS;EAOdlB,KAAK,EAAEa,kBAAA,CAAUM,MAPH;EAQdlB,UAAU,EAAEY,kBAAA,CAAUI;AARR,CAAhB;;AAWA,MAAMG,SAAS,GAAGC,KAAK,IAAI;EACzB,MAAM;IAACC,IAAD;IAAOC,IAAI,GAAG;EAAd,IAA2BF,KAAjC;EACA,MAAMpB,UAAU,GAAGsB,IAAI,KAAK,OAA5B;EACA,MAAMC,QAAQ,GAAGF,IAAI,CAACG,GAAL,CAAS,CAAC1B,GAAD,EAAMC,KAAN,KAAgBF,GAAG,CAAC;IAACC,GAAD;IAAMC,KAAN;IAAaC;EAAb,CAAD,CAA5B,CAAjB;EAEA,oBAAO;IAAK,SAAS,EAAEA,UAAU,GAAGM,cAAA,CAAMmB,YAAT,GAAwBnB,cAAA,CAAMoB;EAAxD,GAAkEH,QAAlE,CAAP;AACD,CAND;;AAQAJ,SAAS,CAACR,SAAV,2CAAsB;EACpBU,IAAI,EAAET,kBAAA,CAAUe,OAAV,CAAkBf,kBAAA,CAAUC,KAAV,CAAgBhB,GAAG,CAACc,SAApB,CAAlB,CADc;EAEpBW,IAAI,EAAEV,kBAAA,CAAUgB,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,CAAhB;AAFc,CAAtB;eAIeT,S"}
|
|
@@ -134,7 +134,7 @@ CardBackground.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
134
134
|
empty: _propTypes.default.bool,
|
|
135
135
|
'aria-label': _propTypes.default.string
|
|
136
136
|
} : {};
|
|
137
|
-
const Card =
|
|
137
|
+
const Card = (0, _react.memo)(function Card(props, context) {
|
|
138
138
|
const {
|
|
139
139
|
skin
|
|
140
140
|
} = context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["THEMES","default","coorpmanager","style","CardBackground","type","image","empty","ariaLabel","skin","externalContent","isExternalContent","primaryColor","whiteColor","EXTERNAL_CONTENT_ICONS","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","classnames","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","Card","memo","props","context","badge","adaptiv","disabled","hidden","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","cardStyle","chapter","course","lazy","grid","handleClick","useMemo","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","MODES","CARD","lockWrapper","shape","Customer","number","func","Notification","CardContentInfo","oneOf","Favorite","Selectable"],"sources":["../../../src/molecule/card/index.js"],"sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled: hidden = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': cardArialabel,\n 'background-aria-label': backgroundAriaLabel,\n 'favorite-aria-label': favoriteAriaLabel,\n 'selectable-aria-label': selectableAriaLabel,\n 'customer-aria-label': customerAriaLabel,\n 'badge-aria-label': badgeAriaLabel,\n 'disabled-aria-label': disabledArialabel,\n 'card-content-aria-label': cardContentLabelAriaLabel\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const disabled = hidden && (!isSelected || isUndefined(isSelected));\n const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);\n const lock = disabled ? (\n <LockIcon className={style.lockIcon} color={whiteColor} height={40} />\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n aria-label={cardArialabel}\n >\n <CardBackground type={type} image={image} empty={empty} aria-label={backgroundAriaLabel} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n aria-label={favoriteAriaLabel}\n />\n ) : null}\n <Selectable isSelected={isSelected} hidden={hidden} aria-label={selectableAriaLabel} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? (\n <Customer\n {...customer}\n theme={theme}\n type={type}\n disabled={disabled}\n aria-label={customerAriaLabel}\n />\n ) : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n aria-label={cardContentLabelAriaLabel}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle} aria-label={badgeAriaLabel}>\n {badge}\n </div>\n ) : null}\n {disabled ? (\n <div className={style.lockWrapper} aria-label={disabledArialabel}>\n {lock}\n </div>\n ) : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCard.propTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.string,\n 'background-aria-label': PropTypes.string,\n 'favorite-aria-label': Favorite.propTypes['aria-label'],\n 'selectable-aria-label': Selectable.propTypes['aria-label'],\n 'customer-aria-label': Customer.propTypes['aria-label'],\n 'badge-aria-label': PropTypes.string,\n 'disabled-aria-label': PropTypes.string,\n 'card-content-aria-label': CardContentInfo.propTypes['aria-label']\n};\nexport default Card;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["THEMES","default","coorpmanager","style","CardBackground","type","image","empty","ariaLabel","skin","externalContent","isExternalContent","primaryColor","whiteColor","EXTERNAL_CONTENT_ICONS","IconType","icon","iconColor","color","backgroundIcon","externalIconCircleWrapper","externalIcon","_backgroundIcon","classnames","externalIconCircleWithImageWrapper","backgroundColor","externalIconWithImage","imageWrapper","backgroundImage","externalContentHeader","externalBackground","emptyIcon","chapterImageWrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","bool","Card","memo","props","context","badge","adaptiv","disabled","hidden","title","author","customer","certifiedAuthor","progress","favorite","addFavoriteToolTip","removeFavoriteToolTip","onClick","onFavoriteClick","isSelected","notification","badgeCategory","badgeLabel","theme","cardArialabel","backgroundAriaLabel","favoriteAriaLabel","selectableAriaLabel","customerAriaLabel","badgeAriaLabel","disabledArialabel","cardContentLabelAriaLabel","cardStyle","chapter","course","lazy","grid","handleClick","useMemo","e","lock","lockIcon","inlineBadgeStyle","getType","contentType","MODES","CARD","lockWrapper","shape","Customer","number","func","Notification","CardContentInfo","oneOf","Favorite","Selectable"],"sources":["../../../src/molecule/card/index.js"],"sourcesContent":["import React, {useMemo, memo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isEmpty, isUndefined, pick, keys} from 'lodash/fp';\nimport {\n NovaSolidLoginLocked as LockIcon,\n NovaCompositionCoorpacademyPictures as PicturesIcon\n} from '@coorpacademy/nova-icons';\nimport {isExternalContent, EXTERNAL_CONTENT_ICONS} from '../../util/external-content';\nimport Provider from '../../atom/provider';\nimport CardContentInfo, {MODES} from '../card-content';\nimport Customer from './customer';\nimport Favorite from './favorite';\nimport Selectable from './selectable';\nimport Notification from './notification';\nimport style from './style.css';\n\nexport const THEMES = {\n default: null,\n coorpmanager: style.coorpmanager\n};\n\nconst CardBackground = ({type, image, empty, 'aria-label': ariaLabel}, {skin}) => {\n const externalContent = isExternalContent(type);\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n\n if (externalContent && EXTERNAL_CONTENT_ICONS[type]) {\n const IconType = EXTERNAL_CONTENT_ICONS[type].icon;\n const iconColor = EXTERNAL_CONTENT_ICONS[type].color;\n const backgroundIcon = (\n <div className={style.externalIconCircleWrapper}>\n <IconType className={style.externalIcon} />\n </div>\n );\n\n if (image) {\n const _backgroundIcon = (\n <div\n className={classnames(\n style.externalIconCircleWrapper,\n style.externalIconCircleWithImageWrapper\n )}\n style={{\n backgroundColor: iconColor\n }}\n >\n <IconType className={style.externalIconWithImage} />\n </div>\n );\n\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor,\n backgroundImage: `url('${image}')`\n }}\n className={classnames(style.externalContentHeader, style.externalBackground)}\n >\n {_backgroundIcon}\n </div>\n </div>\n );\n }\n return (\n <div className={style.imageWrapper}>\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n style={{\n backgroundColor: iconColor\n }}\n className={style.externalContentHeader}\n >\n {backgroundIcon}\n </div>\n </div>\n );\n }\n\n const emptyIcon = empty ? <PicturesIcon className={style.emptyIcon} color={whiteColor} /> : null;\n return (\n <div\n className={classnames(\n style.imageWrapper,\n type === 'chapter' ? style.chapterImageWrapper : null\n )}\n >\n <div\n data-name=\"cover\"\n aria-label={ariaLabel}\n className={style.image}\n style={{\n backgroundColor: primaryColor,\n backgroundImage: image ? `url('${image}')` : 'none'\n }}\n >\n {emptyIcon}\n </div>\n </div>\n );\n};\n\nCardBackground.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCardBackground.propTypes = {\n type: PropTypes.string,\n image: PropTypes.string,\n empty: PropTypes.bool,\n 'aria-label': PropTypes.string\n};\n\nconst Card = memo(function Card(props, context) {\n const {skin} = context;\n const {\n image,\n badge,\n adaptiv,\n disabled: hidden = false,\n type = 'course',\n title,\n author,\n customer,\n certifiedAuthor,\n progress,\n favorite,\n addFavoriteToolTip,\n removeFavoriteToolTip,\n onClick,\n onFavoriteClick,\n isSelected,\n notification,\n badgeCategory,\n badgeLabel,\n theme = 'default',\n 'aria-label': cardArialabel,\n 'background-aria-label': backgroundAriaLabel,\n 'favorite-aria-label': favoriteAriaLabel,\n 'selectable-aria-label': selectableAriaLabel,\n 'customer-aria-label': customerAriaLabel,\n 'badge-aria-label': badgeAriaLabel,\n 'disabled-aria-label': disabledArialabel,\n 'card-content-aria-label': cardContentLabelAriaLabel\n } = props;\n const empty = isEmpty(pick(['title', 'type', 'author', 'image'], props));\n const primaryColor = get('common.primary', skin);\n const whiteColor = get('common.white', skin);\n const cardStyle = classnames(\n THEMES[theme],\n type === 'chapter' ? style.chapter : style.course,\n title ? null : style.lazy,\n style.grid,\n empty ? style.empty : null\n );\n const disabled = hidden && (!isSelected || isUndefined(isSelected));\n const handleClick = useMemo(() => e => !disabled && onClick(e), [disabled, onClick]);\n const lock = disabled ? (\n <LockIcon className={style.lockIcon} color={whiteColor} height={40} />\n ) : null;\n const inlineBadgeStyle = {color: primaryColor};\n const getType = contentType => {\n switch (contentType) {\n case 'chapter':\n return 'microlearning';\n case 'course':\n return 'learner';\n default:\n return contentType;\n }\n };\n\n return (\n <div\n className={cardStyle}\n data-name=\"card\"\n data-lock={disabled}\n data-type={getType(type)}\n disabled={disabled}\n onClick={handleClick}\n aria-label={cardArialabel}\n >\n <CardBackground type={type} image={image} empty={empty} aria-label={backgroundAriaLabel} />\n {isUndefined(isSelected) && !isUndefined(favorite) ? (\n <Favorite\n className={style.favorite}\n favorite={favorite}\n disabled={disabled}\n onFavoriteClick={onFavoriteClick}\n addFavoriteToolTip={addFavoriteToolTip}\n removeFavoriteToolTip={removeFavoriteToolTip}\n aria-label={favoriteAriaLabel}\n />\n ) : null}\n <Selectable isSelected={isSelected} hidden={hidden} aria-label={selectableAriaLabel} />\n {notification ? <Notification {...notification} /> : null}\n {customer ? (\n <Customer\n {...customer}\n theme={theme}\n type={type}\n disabled={disabled}\n aria-label={customerAriaLabel}\n />\n ) : null}\n <CardContentInfo\n mode={MODES.CARD}\n adaptiv={adaptiv}\n author={author}\n certifiedAuthor={certifiedAuthor}\n disabled={disabled}\n empty={empty}\n progress={progress}\n title={title}\n type={type}\n badgeCategory={badgeCategory}\n badgeLabel={badgeLabel}\n theme={theme}\n aria-label={cardContentLabelAriaLabel}\n />\n {badge ? (\n <div className={style.badge} style={inlineBadgeStyle} aria-label={badgeAriaLabel}>\n {badge}\n </div>\n ) : null}\n {disabled ? (\n <div className={style.lockWrapper} aria-label={disabledArialabel}>\n {lock}\n </div>\n ) : null}\n </div>\n );\n});\n\nCard.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCard.propTypes = {\n badge: PropTypes.string,\n image: PropTypes.string,\n disabled: PropTypes.bool,\n adaptiv: PropTypes.bool,\n type: PropTypes.string,\n title: PropTypes.string,\n author: PropTypes.string,\n certifiedAuthor: PropTypes.bool,\n customer: PropTypes.shape(Customer.propTypes),\n progress: PropTypes.number,\n favorite: PropTypes.bool,\n addFavoriteToolTip: PropTypes.string,\n removeFavoriteToolTip: PropTypes.string,\n onClick: PropTypes.func,\n onFavoriteClick: PropTypes.func,\n isSelected: PropTypes.bool,\n notification: PropTypes.shape(Notification.propTypes),\n badgeCategory: CardContentInfo.propTypes.badgeCategory,\n badgeLabel: CardContentInfo.propTypes.badgeLabel,\n theme: PropTypes.oneOf(keys(THEMES)),\n 'aria-label': PropTypes.string,\n 'background-aria-label': PropTypes.string,\n 'favorite-aria-label': Favorite.propTypes['aria-label'],\n 'selectable-aria-label': Selectable.propTypes['aria-label'],\n 'customer-aria-label': Customer.propTypes['aria-label'],\n 'badge-aria-label': PropTypes.string,\n 'disabled-aria-label': PropTypes.string,\n 'card-content-aria-label': CardContentInfo.propTypes['aria-label']\n};\nexport default Card;\n"],"mappings":"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"}
|
|
@@ -190,7 +190,7 @@ CMPopin.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
190
190
|
'aria-label': _propTypes.default.string,
|
|
191
191
|
largeButton: _propTypes.default.bool,
|
|
192
192
|
type: _propTypes.default.oneOf(['dangerous', 'primary', 'secondary', 'tertiary']),
|
|
193
|
-
customStyle:
|
|
193
|
+
customStyle: _buttonLink.default.propTypes.customStyle
|
|
194
194
|
}),
|
|
195
195
|
secondButton: _propTypes.default.shape({
|
|
196
196
|
label: _propTypes.default.string,
|
|
@@ -198,7 +198,7 @@ CMPopin.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
198
198
|
type: _propTypes.default.oneOf(['dangerous', 'primary', 'secondary']),
|
|
199
199
|
'aria-label': _propTypes.default.string,
|
|
200
200
|
largeButton: _propTypes.default.bool,
|
|
201
|
-
customStyle:
|
|
201
|
+
customStyle: _buttonLink.default.propTypes.customStyle
|
|
202
202
|
}),
|
|
203
203
|
thirdButton: _propTypes.default.shape({
|
|
204
204
|
label: _propTypes.default.string,
|
|
@@ -206,7 +206,7 @@ CMPopin.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
206
206
|
type: _propTypes.default.oneOf(['dangerous', 'primary', 'secondary']),
|
|
207
207
|
'aria-label': _propTypes.default.string,
|
|
208
208
|
largeButton: _propTypes.default.bool,
|
|
209
|
-
customStyle:
|
|
209
|
+
customStyle: _buttonLink.default.propTypes.customStyle
|
|
210
210
|
}),
|
|
211
211
|
onClose: _propTypes.default.func,
|
|
212
212
|
icon: _propTypes.default.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","logo","AlertDiamond","WindowUpload","MoonRocket","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","style","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","map","convert","cap","el","type","title","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","dataName","background","popinCookie","popin","popinHeader","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","customStyle","propTypes","PropTypes","string","oneOf","shape","func","bool","object","arrayOf","InputSwitch"],"sources":["../../../src/molecule/cm-popin/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie,\n NovaSolidSpaceMoonRocket as MoonRocket\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth\n } = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload,\n MoonRocket\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const renderHeader = () => {\n if (header) return <img className={style.headerBackground} src={header} />;\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n return null;\n };\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={mode === 'cookie' ? style.popinCookie : style.popin}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.titleContainer}>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {renderBtnSwitch()}\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n customStyle={firstButton.customStyle}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n customStyle={thirdButton.customStyle}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information', 'cookie']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary', 'tertiary']),\n customStyle: PropTypes.object\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n customStyle: PropTypes.object\n }),\n thirdButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n customStyle: PropTypes.object\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string,\n backgroundImageUrl: PropTypes.string,\n descriptionText: PropTypes.string,\n cookieTitle: PropTypes.string,\n descriptionBtnTxt: PropTypes.string,\n listBtnSwicth: PropTypes.arrayOf(PropTypes.shape(InputSwitch.propTypes))\n};\n\nexport default CMPopin;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["CMPopin","props","content","mode","firstButton","secondButton","onClose","header","icon","backgroundImageUrl","descriptionText","thirdButton","cookieTitle","descriptionBtnTxt","listBtnSwicth","logo","AlertDiamond","WindowUpload","MoonRocket","LogoComponent","backgroundImageStyle","backgroundImage","backgroundSize","renderHeader","style","headerBackground","cookieHeader","cookieIconContainer","cookieIcon","getClassBtnSwitch","index","btnList","firstBtnSwitchContainer","length","lastBtnSwitchContainer","singleSwitchContainer","renderBtnSwitch","map","convert","cap","el","type","title","value","onChange","titlePosition","theme","details","requiredSelection","disabled","id","dataName","background","popinCookie","popin","popinHeader","titleContainer","contentSection","message","__html","descriptionBtn","buttonContainer","largeButton","button","label","handleOnclick","customStyle","propTypes","PropTypes","string","oneOf","shape","func","bool","Cta","arrayOf","InputSwitch"],"sources":["../../../src/molecule/cm-popin/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidInterfaceFeedbackInterfaceAlertDiamond as AlertDiamond,\n NovaSolidApplicationsWindowUpload3 as WindowUpload,\n NovaLineSettingsCookie as Cookie,\n NovaSolidSpaceMoonRocket as MoonRocket\n} from '@coorpacademy/nova-icons';\nimport map from 'lodash/fp/map';\nimport Cta from '../../atom/button-link';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst CMPopin = props => {\n const {\n content,\n mode = 'alert',\n firstButton,\n secondButton,\n onClose,\n header,\n icon,\n backgroundImageUrl,\n descriptionText,\n thirdButton,\n cookieTitle,\n descriptionBtnTxt,\n listBtnSwicth\n } = props;\n\n const logo = {\n AlertDiamond,\n WindowUpload,\n MoonRocket\n };\n const LogoComponent = logo[icon];\n\n const backgroundImageStyle = backgroundImageUrl\n ? {\n backgroundImage: `url(${backgroundImageUrl})`,\n backgroundSize: 'cover'\n }\n : null;\n const renderHeader = () => {\n if (header) return <img className={style.headerBackground} src={header} />;\n if (mode === 'cookie')\n return (\n <div className={style.cookieHeader}>\n <div className={style.cookieIconContainer}>\n <Cookie className={style.cookieIcon} />\n </div>\n <div className={style.cookieTitle}>{cookieTitle}</div>\n </div>\n );\n return null;\n };\n const getClassBtnSwitch = (index, btnList) => {\n switch (index) {\n case 0:\n return style.firstBtnSwitchContainer;\n case btnList.length - 1:\n return style.lastBtnSwitchContainer;\n default:\n return style.singleSwitchContainer;\n }\n };\n const renderBtnSwitch = () => {\n return map.convert({cap: false})((el, index) => {\n const {\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n } = el;\n return (\n <div key={index} className={getClassBtnSwitch(index, listBtnSwicth)}>\n <InputSwitch\n {...{\n type,\n title,\n value,\n onChange,\n titlePosition,\n theme,\n details,\n requiredSelection,\n disabled,\n id,\n 'data-name': dataName\n }}\n />\n </div>\n );\n })(listBtnSwicth);\n };\n return (\n <div\n className={mode !== 'cookie' ? style.background : null}\n style={backgroundImageStyle}\n data-name={'cm-popin-container'}\n >\n <div className={mode === 'cookie' ? style.popinCookie : style.popin}>\n <header className={style.popinHeader}>\n {renderHeader()}\n {onClose ? (\n <ButtonLinkIconOnly\n onClick={onClose}\n data-name={'close-icon'}\n aria-label={'close-icon'}\n size=\"small\"\n icon=\"close\"\n />\n ) : null}\n </header>\n <div className={style.titleContainer}>\n <div className={style.contentSection}>\n {LogoComponent ? <LogoComponent className={style.icon} /> : null}\n {content ? (\n <p\n className={mode === 'alert' ? style.content : style.message}\n data-name={'cm-popin-content'}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: content}}\n />\n ) : null}\n </div>\n {descriptionText ? (\n <p\n className={style.descriptionText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: descriptionText}}\n />\n ) : null}\n </div>\n {descriptionBtnTxt ? <div className={style.descriptionBtn}>{descriptionBtnTxt}</div> : null}\n {renderBtnSwitch()}\n <div className={style.buttonContainer}>\n {firstButton ? (\n <div className={firstButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={firstButton.label}\n onClick={firstButton.handleOnclick}\n data-name={'cm-popin-cta'}\n aria-label={firstButton['aria-label']}\n type={firstButton.type}\n customStyle={firstButton.customStyle}\n />\n </div>\n ) : null}\n {secondButton ? (\n <div className={secondButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={secondButton.label}\n onClick={secondButton.handleOnclick}\n data-name={`cm-popin-cta-${secondButton.type}`}\n aria-label={secondButton['aria-label']}\n type={secondButton.type}\n />\n </div>\n ) : null}\n {thirdButton ? (\n <div className={thirdButton.largeButton ? style.largeButton : style.button}>\n <Cta\n label={thirdButton.label}\n onClick={thirdButton.handleOnclick}\n data-name={`cm-popin-cta-${thirdButton.type}`}\n aria-label={thirdButton['aria-label']}\n type={thirdButton.type}\n customStyle={thirdButton.customStyle}\n />\n </div>\n ) : null}\n </div>\n </div>\n </div>\n );\n};\n\nCMPopin.propTypes = {\n content: PropTypes.string,\n mode: PropTypes.oneOf(['alert', 'information', 'cookie']),\n header: PropTypes.string,\n firstButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary', 'tertiary']),\n customStyle: Cta.propTypes.customStyle\n }),\n secondButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n customStyle: Cta.propTypes.customStyle\n }),\n thirdButton: PropTypes.shape({\n label: PropTypes.string,\n handleOnclick: PropTypes.func,\n type: PropTypes.oneOf(['dangerous', 'primary', 'secondary']),\n 'aria-label': PropTypes.string,\n largeButton: PropTypes.bool,\n customStyle: Cta.propTypes.customStyle\n }),\n onClose: PropTypes.func,\n icon: PropTypes.string,\n backgroundImageUrl: PropTypes.string,\n descriptionText: PropTypes.string,\n cookieTitle: PropTypes.string,\n descriptionBtnTxt: PropTypes.string,\n listBtnSwicth: PropTypes.arrayOf(PropTypes.shape(InputSwitch.propTypes))\n};\n\nexport default CMPopin;\n"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ var _style = _interopRequireDefault(require("./style.css"));
|
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
|
-
const BattleRequestList =
|
|
16
|
+
const BattleRequestList = _react.default.memo(function BattleRequestList(props) {
|
|
17
17
|
const {
|
|
18
18
|
requests
|
|
19
19
|
} = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["BattleRequestList","React","memo","props","requests","cards","map","request","key","style","card","list","propTypes","PropTypes","arrayOf","shape","BattleRequest"],"sources":["../../../../src/molecule/dashboard/battle-request-list/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport BattleRequest from '../../battle-request';\nimport style from './style.css';\n\nconst BattleRequestList = React.memo(function BattleRequestList(props) {\n const {requests} = props;\n\n const cards = requests.map((request, key) => {\n return (\n <div className={style.card} key={key}>\n <BattleRequest {...request} />\n </div>\n );\n });\n\n return (\n <div className={style.list} data-name=\"battle-request-list\">\n {cards}\n </div>\n );\n});\n\nBattleRequestList.propTypes = {\n requests: PropTypes.arrayOf(PropTypes.shape(BattleRequest.propTypes))\n};\n\nexport default BattleRequestList;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.js","names":["BattleRequestList","React","memo","props","requests","cards","map","request","key","style","card","list","propTypes","PropTypes","arrayOf","shape","BattleRequest"],"sources":["../../../../src/molecule/dashboard/battle-request-list/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport BattleRequest from '../../battle-request';\nimport style from './style.css';\n\nconst BattleRequestList = React.memo(function BattleRequestList(props) {\n const {requests} = props;\n\n const cards = requests.map((request, key) => {\n return (\n <div className={style.card} key={key}>\n <BattleRequest {...request} />\n </div>\n );\n });\n\n return (\n <div className={style.list} data-name=\"battle-request-list\">\n {cards}\n </div>\n );\n});\n\nBattleRequestList.propTypes = {\n requests: PropTypes.arrayOf(PropTypes.shape(BattleRequest.propTypes))\n};\n\nexport default BattleRequestList;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,iBAAiB,GAAGC,cAAA,CAAMC,IAAN,CAAW,SAASF,iBAAT,CAA2BG,KAA3B,EAAkC;EACrE,MAAM;IAACC;EAAD,IAAaD,KAAnB;EAEA,MAAME,KAAK,GAAGD,QAAQ,CAACE,GAAT,CAAa,CAACC,OAAD,EAAUC,GAAV,KAAkB;IAC3C,oBACE;MAAK,SAAS,EAAEC,cAAA,CAAMC,IAAtB;MAA4B,GAAG,EAAEF;IAAjC,gBACE,6BAAC,sBAAD,EAAmBD,OAAnB,CADF,CADF;EAKD,CANa,CAAd;EAQA,oBACE;IAAK,SAAS,EAAEE,cAAA,CAAME,IAAtB;IAA4B,aAAU;EAAtC,GACGN,KADH,CADF;AAKD,CAhByB,CAA1B;;AAkBAL,iBAAiB,CAACY,SAAlB,2CAA8B;EAC5BR,QAAQ,EAAES,kBAAA,CAAUC,OAAV,CAAkBD,kBAAA,CAAUE,KAAV,CAAgBC,sBAAA,CAAcJ,SAA9B,CAAlB;AADkB,CAA9B;eAIeZ,iB"}
|
|
@@ -15,7 +15,7 @@ var _style = _interopRequireDefault(require("./style.css"));
|
|
|
15
15
|
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
17
|
|
|
18
|
-
const NewsList =
|
|
18
|
+
const NewsList = _react.default.memo(function NewsList(props) {
|
|
19
19
|
const {
|
|
20
20
|
title,
|
|
21
21
|
news,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["NewsList","React","memo","props","title","news","more","loading","loadingView","style","loader","moreView","onClick","label","cardsView","map","nws","key","card","wrapper","list","propTypes","PropTypes","string","arrayOf","shape","News","func","bool"],"sources":["../../../../src/molecule/dashboard/news-list/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport News from '../../news';\nimport Loader from '../../../atom/loader';\nimport style from './style.css';\n\nconst NewsList = React.memo(function NewsList(props) {\n const {title, news, more, loading = false} = props;\n\n const loadingView = (\n <div className={style.loader}>\n <Loader />\n </div>\n );\n\n const moreView = more ? (\n // eslint-disable-next-line react/jsx-handler-names\n <div className={style.more} onClick={more.onClick}>\n {more.label}\n </div>\n ) : null;\n\n const cardsView = news.map((nws, key) => {\n return (\n <div className={style.card} key={key}>\n <News {...nws} />\n </div>\n );\n });\n\n return (\n <div className={style.wrapper} data-name=\"news-list\">\n <div className={style.list}>\n <div className={style.title}>{title}</div>\n {cardsView}\n {loading ? loadingView : moreView}\n </div>\n </div>\n );\n});\n\nNewsList.propTypes = {\n title: PropTypes.string,\n news: PropTypes.arrayOf(PropTypes.shape(News.propTypes)),\n more: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func\n }),\n loading: PropTypes.bool\n};\n\nexport default NewsList;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","names":["NewsList","React","memo","props","title","news","more","loading","loadingView","style","loader","moreView","onClick","label","cardsView","map","nws","key","card","wrapper","list","propTypes","PropTypes","string","arrayOf","shape","News","func","bool"],"sources":["../../../../src/molecule/dashboard/news-list/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport News from '../../news';\nimport Loader from '../../../atom/loader';\nimport style from './style.css';\n\nconst NewsList = React.memo(function NewsList(props) {\n const {title, news, more, loading = false} = props;\n\n const loadingView = (\n <div className={style.loader}>\n <Loader />\n </div>\n );\n\n const moreView = more ? (\n // eslint-disable-next-line react/jsx-handler-names\n <div className={style.more} onClick={more.onClick}>\n {more.label}\n </div>\n ) : null;\n\n const cardsView = news.map((nws, key) => {\n return (\n <div className={style.card} key={key}>\n <News {...nws} />\n </div>\n );\n });\n\n return (\n <div className={style.wrapper} data-name=\"news-list\">\n <div className={style.list}>\n <div className={style.title}>{title}</div>\n {cardsView}\n {loading ? loadingView : moreView}\n </div>\n </div>\n );\n});\n\nNewsList.propTypes = {\n title: PropTypes.string,\n news: PropTypes.arrayOf(PropTypes.shape(News.propTypes)),\n more: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func\n }),\n loading: PropTypes.bool\n};\n\nexport default NewsList;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,QAAQ,GAAGC,cAAA,CAAMC,IAAN,CAAW,SAASF,QAAT,CAAkBG,KAAlB,EAAyB;EACnD,MAAM;IAACC,KAAD;IAAQC,IAAR;IAAcC,IAAd;IAAoBC,OAAO,GAAG;EAA9B,IAAuCJ,KAA7C;;EAEA,MAAMK,WAAW,gBACf;IAAK,SAAS,EAAEC,cAAA,CAAMC;EAAtB,gBACE,6BAAC,eAAD,OADF,CADF;;EAMA,MAAMC,QAAQ,GAAGL,IAAI;EAAA;EACnB;EACA;IAAK,SAAS,EAAEG,cAAA,CAAMH,IAAtB;IAA4B,OAAO,EAAEA,IAAI,CAACM;EAA1C,GACGN,IAAI,CAACO,KADR,CAFmB,GAKjB,IALJ;EAOA,MAAMC,SAAS,GAAGT,IAAI,CAACU,GAAL,CAAS,CAACC,GAAD,EAAMC,GAAN,KAAc;IACvC,oBACE;MAAK,SAAS,EAAER,cAAA,CAAMS,IAAtB;MAA4B,GAAG,EAAED;IAAjC,gBACE,6BAAC,aAAD,EAAUD,GAAV,CADF,CADF;EAKD,CANiB,CAAlB;EAQA,oBACE;IAAK,SAAS,EAAEP,cAAA,CAAMU,OAAtB;IAA+B,aAAU;EAAzC,gBACE;IAAK,SAAS,EAAEV,cAAA,CAAMW;EAAtB,gBACE;IAAK,SAAS,EAAEX,cAAA,CAAML;EAAtB,GAA8BA,KAA9B,CADF,EAEGU,SAFH,EAGGP,OAAO,GAAGC,WAAH,GAAiBG,QAH3B,CADF,CADF;AASD,CAjCgB,CAAjB;;AAmCAX,QAAQ,CAACqB,SAAT,2CAAqB;EACnBjB,KAAK,EAAEkB,kBAAA,CAAUC,MADE;EAEnBlB,IAAI,EAAEiB,kBAAA,CAAUE,OAAV,CAAkBF,kBAAA,CAAUG,KAAV,CAAgBC,aAAA,CAAKL,SAArB,CAAlB,CAFa;EAGnBf,IAAI,EAAEgB,kBAAA,CAAUG,KAAV,CAAgB;IACpBZ,KAAK,EAAES,kBAAA,CAAUC,MADG;IAEpBX,OAAO,EAAEU,kBAAA,CAAUK;EAFC,CAAhB,CAHa;EAOnBpB,OAAO,EAAEe,kBAAA,CAAUM;AAPA,CAArB;eAUe5B,Q"}
|
|
@@ -15,7 +15,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
15
15
|
|
|
16
16
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
17
17
|
|
|
18
|
-
const ReviewBanner =
|
|
18
|
+
const ReviewBanner = _react.default.memo(function ReviewBanner(props) {
|
|
19
19
|
const {
|
|
20
20
|
title,
|
|
21
21
|
subtitle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["ReviewBanner","React","memo","props","title","subtitle","cta","buttonProps","type","style","root","container","banner","left","image","middle","right","propTypes","PropTypes","string","shape","onClick","func","label"],"sources":["../../../../src/molecule/dashboard/review-banner/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\n\nconst ReviewBanner = React.memo(function ReviewBanner(props) {\n const {title, subtitle, cta} = props;\n\n const buttonProps = {\n ...cta,\n type: 'primary'\n };\n\n return (\n <div className={style.root} data-name=\"start-review-banner\">\n <div className={style.container}>\n <div className={style.banner}>\n <div className={style.left} role=\"img\" aria-label=\"Left image container\">\n <img\n className={style.image}\n src=\"https://static.coorpacademy.com/site/book.png\"\n alt=\"Book image\"\n />\n </div>\n <div className={style.middle}>\n <span className={style.title} data-name=\"review-banner-title\" aria-label=\"{title}\">\n {title}\n </span>\n <span\n className={style.subtitle}\n data-name=\"review-banner-subtitle\"\n aria-label=\"{subtitle}\"\n >\n {subtitle}\n </span>\n <ButtonLink {...buttonProps} className={style.cta} />\n </div>\n <div className={style.right} role=\"img\" aria-label=\"Rigth image container\">\n <img\n className={style.image}\n src=\"https://static.coorpacademy.com/site/dumbell.png\"\n alt=\"Dumbbell image\"\n />\n </div>\n </div>\n </div>\n </div>\n );\n});\n\nReviewBanner.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n cta: PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string\n })\n};\n\nexport default ReviewBanner;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,YAAY,
|
|
1
|
+
{"version":3,"file":"index.js","names":["ReviewBanner","React","memo","props","title","subtitle","cta","buttonProps","type","style","root","container","banner","left","image","middle","right","propTypes","PropTypes","string","shape","onClick","func","label"],"sources":["../../../../src/molecule/dashboard/review-banner/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ButtonLink from '../../../atom/button-link';\nimport style from './style.css';\n\nconst ReviewBanner = React.memo(function ReviewBanner(props) {\n const {title, subtitle, cta} = props;\n\n const buttonProps = {\n ...cta,\n type: 'primary'\n };\n\n return (\n <div className={style.root} data-name=\"start-review-banner\">\n <div className={style.container}>\n <div className={style.banner}>\n <div className={style.left} role=\"img\" aria-label=\"Left image container\">\n <img\n className={style.image}\n src=\"https://static.coorpacademy.com/site/book.png\"\n alt=\"Book image\"\n />\n </div>\n <div className={style.middle}>\n <span className={style.title} data-name=\"review-banner-title\" aria-label=\"{title}\">\n {title}\n </span>\n <span\n className={style.subtitle}\n data-name=\"review-banner-subtitle\"\n aria-label=\"{subtitle}\"\n >\n {subtitle}\n </span>\n <ButtonLink {...buttonProps} className={style.cta} />\n </div>\n <div className={style.right} role=\"img\" aria-label=\"Rigth image container\">\n <img\n className={style.image}\n src=\"https://static.coorpacademy.com/site/dumbell.png\"\n alt=\"Dumbbell image\"\n />\n </div>\n </div>\n </div>\n </div>\n );\n});\n\nReviewBanner.propTypes = {\n title: PropTypes.string,\n subtitle: PropTypes.string,\n cta: PropTypes.shape({\n onClick: PropTypes.func,\n label: PropTypes.string\n })\n};\n\nexport default ReviewBanner;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,YAAY,GAAGC,cAAA,CAAMC,IAAN,CAAW,SAASF,YAAT,CAAsBG,KAAtB,EAA6B;EAC3D,MAAM;IAACC,KAAD;IAAQC,QAAR;IAAkBC;EAAlB,IAAyBH,KAA/B;;EAEA,MAAMI,WAAW,gBACZD,GADY;IAEfE,IAAI,EAAE;EAFS,EAAjB;;EAKA,oBACE;IAAK,SAAS,EAAEC,cAAA,CAAMC,IAAtB;IAA4B,aAAU;EAAtC,gBACE;IAAK,SAAS,EAAED,cAAA,CAAME;EAAtB,gBACE;IAAK,SAAS,EAAEF,cAAA,CAAMG;EAAtB,gBACE;IAAK,SAAS,EAAEH,cAAA,CAAMI,IAAtB;IAA4B,IAAI,EAAC,KAAjC;IAAuC,cAAW;EAAlD,gBACE;IACE,SAAS,EAAEJ,cAAA,CAAMK,KADnB;IAEE,GAAG,EAAC,+CAFN;IAGE,GAAG,EAAC;EAHN,EADF,CADF,eAQE;IAAK,SAAS,EAAEL,cAAA,CAAMM;EAAtB,gBACE;IAAM,SAAS,EAAEN,cAAA,CAAML,KAAvB;IAA8B,aAAU,qBAAxC;IAA8D,cAAW;EAAzE,GACGA,KADH,CADF,eAIE;IACE,SAAS,EAAEK,cAAA,CAAMJ,QADnB;IAEE,aAAU,wBAFZ;IAGE,cAAW;EAHb,GAKGA,QALH,CAJF,eAWE,6BAAC,mBAAD,eAAgBE,WAAhB;IAA6B,SAAS,EAAEE,cAAA,CAAMH;EAA9C,GAXF,CARF,eAqBE;IAAK,SAAS,EAAEG,cAAA,CAAMO,KAAtB;IAA6B,IAAI,EAAC,KAAlC;IAAwC,cAAW;EAAnD,gBACE;IACE,SAAS,EAAEP,cAAA,CAAMK,KADnB;IAEE,GAAG,EAAC,kDAFN;IAGE,GAAG,EAAC;EAHN,EADF,CArBF,CADF,CADF,CADF;AAmCD,CA3CoB,CAArB;;AA6CAd,YAAY,CAACiB,SAAb,2CAAyB;EACvBb,KAAK,EAAEc,kBAAA,CAAUC,MADM;EAEvBd,QAAQ,EAAEa,kBAAA,CAAUC,MAFG;EAGvBb,GAAG,EAAEY,kBAAA,CAAUE,KAAV,CAAgB;IACnBC,OAAO,EAAEH,kBAAA,CAAUI,IADA;IAEnBC,KAAK,EAAEL,kBAAA,CAAUC;EAFE,CAAhB;AAHkB,CAAzB;eASenB,Y"}
|