@coorpacademy/components 11.40.17-react18.19 → 11.40.18-react18.3
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/range/index.d.ts.map +1 -1
- package/es/atom/range/index.js +6 -2
- package/es/atom/range/index.js.map +1 -1
- package/es/organism/review-slide/index.native.d.ts.map +1 -1
- package/es/organism/review-slide/index.native.js +4 -2
- package/es/organism/review-slide/index.native.js.map +1 -1
- package/es/template/skill-detail/index.d.ts.map +1 -1
- package/es/template/skill-detail/index.js +8 -3
- package/es/template/skill-detail/index.js.map +1 -1
- package/lib/atom/range/index.d.ts.map +1 -1
- package/lib/atom/range/index.js +6 -2
- package/lib/atom/range/index.js.map +1 -1
- package/lib/organism/review-slide/index.native.d.ts.map +1 -1
- package/lib/organism/review-slide/index.native.js +4 -2
- package/lib/organism/review-slide/index.native.js.map +1 -1
- package/lib/template/skill-detail/index.d.ts.map +1 -1
- package/lib/template/skill-detail/index.js +8 -3
- package/lib/template/skill-detail/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/range/index.js"],"names":[],"mappings":";AAyFA;IACE;;;;;;;;;;;;;;;;;;;;;;MAcE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF;;;MAIC;IAED,sCAYC;IAVC;;;;MAGC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/range/index.js"],"names":[],"mappings":";AAyFA;IACE;;;;;;;;;;;;;;;;;;;;;;MAcE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF;;;MAIC;IAED,sCAYC;IAVC;;;;MAGC;IA4EH,0BAkBC;IArFD,8BAEC;IAiBD,8BAKC;IAED,8BAKC;IAED,iCAKC;IAED,iCAKC;IA5CC,WAAkB;IAGpB,8CAGC;IAED,gCAQC;IA8BD,8DAWC;IAED,iDAKC;IAsBD,4BA2FC;CACF"}
|
package/es/atom/range/index.js
CHANGED
|
@@ -118,10 +118,14 @@ class Range extends React.Component {
|
|
|
118
118
|
}
|
|
119
119
|
roundToStep(value) {
|
|
120
120
|
const {
|
|
121
|
-
step
|
|
121
|
+
step
|
|
122
122
|
} = this.props;
|
|
123
123
|
const precision = 10;
|
|
124
|
-
|
|
124
|
+
if (!step) {
|
|
125
|
+
return Number(value.toFixed(precision));
|
|
126
|
+
} else {
|
|
127
|
+
return Number((Math.round(value / step) * step).toFixed(precision));
|
|
128
|
+
}
|
|
125
129
|
}
|
|
126
130
|
handleMinChange(e) {
|
|
127
131
|
e.srcEvent.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","PropTypes","Provider","Handle","style","valueOnTrack","track","x","left","right","getBoundingClientRect","_clamp","extractStateFromProps","props","multi","value","min","max","toNormalized","actualValue","normalizedValue","Array","isArray","map","RenderHandles","pending","onHandleMinChange","onHandleMinChangeEnd","onHandleMaxChange","onHandleMaxChangeEnd","HammerForTestingMin","HammerForTestingMax","createElement","className","handle","animatedHandle","axis","onPan","onPanEnd","HammerForTesting","propTypes","process","env","NODE_ENV","number","bool","func","Range","Component","contextTypes","skin","childContextTypes","getDerivedStateFromProps","state","constructor","context","handleClick","bind","setRefTrack","handleMinChange","handleMaxChange","handleMinChangeEnd","handleMaxChangeEnd","normalizedToActual","roundToStep","step","precision","Number","Math","round","toFixed","e","srcEvent","stopPropagation","preventDefault","newValue","center","handleChange","valueIndex","prevValue","_set","minValue","maxValue","nextValue","triggerChange","setState","newValues","onChange","_noop","onChangeEnd","actualValues","val","clientX","isClickToTheLeft","closestHandle","abs","render","theme","minLabel","maxLabel","minValueLabel","maxValueLabel","railWidth","railLeft","primaryColor","_getOr","railStyle","backgroundColor","width","minActualValue","maxActualValue","sliderComponent","container","ref","rail","animatedRail","containerWrapper","onClick","inputsRow","moocInput","inputHint","inputValue","oneOf","string"],"sources":["../../../src/atom/range/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, set, clamp, getOr} from 'lodash/fp';\nimport Provider from '../provider';\nimport Handle from './handle';\nimport style from './style.css';\n\nconst valueOnTrack = (track, x) => {\n const {left, right} = track.getBoundingClientRect();\n return clamp(0, 1, (x - left) / (right - left));\n};\n\nconst extractStateFromProps = props => {\n const {multi = false, value = multi ? [0, 1] : 0, min = 0, max = 1} = props;\n\n const toNormalized = actualValue => (actualValue - min) / (max - min);\n\n let normalizedValue;\n if (multi) {\n normalizedValue = Array.isArray(value)\n ? value.map(toNormalized)\n : [toNormalized(0), toNormalized(value)];\n } else {\n normalizedValue = toNormalized(value);\n }\n\n return {\n multi,\n value: multi ? normalizedValue : [0, normalizedValue]\n };\n};\n\nconst RenderHandles = props => {\n const {\n left,\n right,\n multi = false,\n pending,\n onHandleMinChange,\n onHandleMinChangeEnd,\n onHandleMaxChange,\n onHandleMaxChangeEnd,\n HammerForTestingMin,\n HammerForTestingMax\n } = props;\n\n return (\n <div data-testid=\"handles\">\n {multi ? (\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${left * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMinChange}\n onPanEnd={onHandleMinChangeEnd}\n HammerForTesting={HammerForTestingMin}\n />\n </span>\n ) : null}\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${right * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMaxChange}\n onPanEnd={onHandleMaxChangeEnd}\n HammerForTesting={HammerForTestingMax}\n />\n </span>\n </div>\n );\n};\n\nRenderHandles.propTypes = {\n left: PropTypes.number,\n right: PropTypes.number,\n multi: PropTypes.bool,\n pending: PropTypes.bool,\n onHandleMinChange: PropTypes.func,\n onHandleMinChangeEnd: PropTypes.func,\n onHandleMaxChange: PropTypes.func,\n onHandleMaxChangeEnd: PropTypes.func,\n HammerForTestingMin: Handle.propTypes.HammerForTesting,\n HammerForTestingMax: Handle.propTypes.HammerForTesting\n};\n\nclass Range extends React.Component {\n static propTypes = {\n onChange: PropTypes.func,\n onChangeEnd: PropTypes.func,\n multi: PropTypes.bool,\n theme: PropTypes.oneOf(['default', 'mooc']),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string,\n minValueLabel: PropTypes.string,\n maxValueLabel: PropTypes.string,\n HammerForTestingMin: RenderHandles.propTypes.HammerForTestingMin,\n HammerForTestingMax: RenderHandles.propTypes.HammerForTestingMax\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n static getDerivedStateFromProps(props, state) {\n const {pending} = state;\n if (pending) return null;\n return extractStateFromProps(props);\n }\n\n constructor(props, context) {\n super(props, context);\n this.state = {\n ...extractStateFromProps(props),\n pending: false\n };\n this.handleClick = this.handleClick.bind(this);\n this.setRefTrack = this.setRefTrack.bind(this);\n this.handleMinChange = this.handleMinChange.bind(this);\n this.handleMaxChange = this.handleMaxChange.bind(this);\n this.handleMinChangeEnd = this.handleMinChangeEnd.bind(this);\n this.handleMaxChangeEnd = this.handleMaxChangeEnd.bind(this);\n }\n\n setRefTrack(track) {\n this.track = track;\n }\n\n normalizedToActual(normalizedValue) {\n const {min = 0, max = 1} = this.props;\n return min + normalizedValue * (max - min);\n }\n\n roundToStep(value) {\n const {step = 0.1} = this.props;\n const precision = 10;\n return Number((Math.round(value / step) * step).toFixed(precision));\n }\n\n handleMinChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, true);\n }\n\n handleMaxChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, true);\n }\n\n handleMinChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, false);\n }\n\n handleMaxChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, false);\n }\n\n handleChange(value, valueIndex, pending) {\n const {value: prevValue} = this.state;\n const newValue = set(valueIndex, value, prevValue);\n const [minValue, maxValue] = newValue;\n const nextValue = minValue > maxValue ? prevValue : newValue;\n\n this.triggerChange(nextValue, pending);\n return this.setState({\n pending,\n value: pending ? nextValue : extractStateFromProps(this.props).value\n });\n }\n\n triggerChange(newValues, pending) {\n const {onChange = noop, onChangeEnd = onChange, multi = false} = this.props;\n const handle = pending ? onChange : onChangeEnd;\n const actualValues = newValues.map(val => this.roundToStep(this.normalizedToActual(val)));\n return handle(multi ? actualValues : actualValues[1]);\n }\n\n handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n const {\n value: [left, right],\n multi\n } = this.state;\n const newValue = valueOnTrack(this.track, e.clientX);\n\n if (!multi) return this.handleChange(newValue, 1, false);\n\n if (left === right) {\n const isClickToTheLeft = left - newValue > 0;\n return this.handleChange(newValue, isClickToTheLeft ? 0 : 1, false);\n }\n\n const closestHandle = Math.abs(newValue - left) < Math.abs(newValue - right) ? 0 : 1;\n return this.handleChange(newValue, closestHandle, false);\n }\n\n render() {\n const {\n multi = false,\n value: [left, right],\n pending\n } = this.state;\n const {\n theme = 'default',\n minLabel = 'Min',\n maxLabel = 'Max',\n min,\n max,\n minValueLabel,\n maxValueLabel,\n HammerForTestingMin,\n HammerForTestingMax\n } = this.props;\n\n const railWidth = right - left;\n const railLeft = left;\n\n const {skin} = this.context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n const railStyle =\n theme === 'mooc'\n ? {\n backgroundColor: primaryColor,\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n }\n : {\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n };\n\n const minActualValue = this.roundToStep(this.normalizedToActual(left));\n const maxActualValue = this.roundToStep(this.normalizedToActual(right));\n\n const sliderComponent = (\n <div className={style.container}>\n <div\n data-testid=\"track\"\n className={style.track}\n data-name=\"sliderTrack\"\n ref={this.setRefTrack}\n />\n <div className={pending ? style.rail : style.animatedRail} style={railStyle} />\n <RenderHandles\n HammerForTestingMin={HammerForTestingMin}\n HammerForTestingMax={HammerForTestingMax}\n left={left}\n right={right}\n pending={pending}\n multi={multi}\n onHandleMinChange={this.handleMinChange}\n onHandleMinChangeEnd={this.handleMinChangeEnd}\n onHandleMaxChange={this.handleMaxChange}\n onHandleMaxChangeEnd={this.handleMaxChangeEnd}\n />\n </div>\n );\n\n if (theme === 'mooc') {\n return (\n <div data-testid=\"slider\" className={style.containerWrapper}>\n <div onClick={this.handleClick}>{sliderComponent}</div>\n <div className={style.inputsRow}>\n {multi ? (\n <div className={style.moocInput} data-testid=\"min-value\">\n <span className={style.inputHint}>{minLabel}</span>\n <span className={style.inputValue}>\n {minActualValue === min && !!minValueLabel ? minValueLabel : minActualValue}\n </span>\n </div>\n ) : null}\n <div className={style.moocInput} data-testid=\"max-value\">\n <span className={style.inputHint}>{maxLabel}</span>\n <span className={style.inputValue}>\n {maxActualValue === max && !!maxValueLabel ? maxValueLabel : maxActualValue}\n </span>\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div data-testid=\"slider\" className={style.containerWrapper} onClick={this.handleClick}>\n {sliderComponent}\n </div>\n );\n }\n}\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","PropTypes","Provider","Handle","style","valueOnTrack","track","x","left","right","getBoundingClientRect","_clamp","extractStateFromProps","props","multi","value","min","max","toNormalized","actualValue","normalizedValue","Array","isArray","map","RenderHandles","pending","onHandleMinChange","onHandleMinChangeEnd","onHandleMaxChange","onHandleMaxChangeEnd","HammerForTestingMin","HammerForTestingMax","createElement","className","handle","animatedHandle","axis","onPan","onPanEnd","HammerForTesting","propTypes","process","env","NODE_ENV","number","bool","func","Range","Component","contextTypes","skin","childContextTypes","getDerivedStateFromProps","state","constructor","context","handleClick","bind","setRefTrack","handleMinChange","handleMaxChange","handleMinChangeEnd","handleMaxChangeEnd","normalizedToActual","roundToStep","step","precision","Number","toFixed","Math","round","e","srcEvent","stopPropagation","preventDefault","newValue","center","handleChange","valueIndex","prevValue","_set","minValue","maxValue","nextValue","triggerChange","setState","newValues","onChange","_noop","onChangeEnd","actualValues","val","clientX","isClickToTheLeft","closestHandle","abs","render","theme","minLabel","maxLabel","minValueLabel","maxValueLabel","railWidth","railLeft","primaryColor","_getOr","railStyle","backgroundColor","width","minActualValue","maxActualValue","sliderComponent","container","ref","rail","animatedRail","containerWrapper","onClick","inputsRow","moocInput","inputHint","inputValue","oneOf","string"],"sources":["../../../src/atom/range/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, set, clamp, getOr} from 'lodash/fp';\nimport Provider from '../provider';\nimport Handle from './handle';\nimport style from './style.css';\n\nconst valueOnTrack = (track, x) => {\n const {left, right} = track.getBoundingClientRect();\n return clamp(0, 1, (x - left) / (right - left));\n};\n\nconst extractStateFromProps = props => {\n const {multi = false, value = multi ? [0, 1] : 0, min = 0, max = 1} = props;\n\n const toNormalized = actualValue => (actualValue - min) / (max - min);\n\n let normalizedValue;\n if (multi) {\n normalizedValue = Array.isArray(value)\n ? value.map(toNormalized)\n : [toNormalized(0), toNormalized(value)];\n } else {\n normalizedValue = toNormalized(value);\n }\n\n return {\n multi,\n value: multi ? normalizedValue : [0, normalizedValue]\n };\n};\n\nconst RenderHandles = props => {\n const {\n left,\n right,\n multi = false,\n pending,\n onHandleMinChange,\n onHandleMinChangeEnd,\n onHandleMaxChange,\n onHandleMaxChangeEnd,\n HammerForTestingMin,\n HammerForTestingMax\n } = props;\n\n return (\n <div data-testid=\"handles\">\n {multi ? (\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${left * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMinChange}\n onPanEnd={onHandleMinChangeEnd}\n HammerForTesting={HammerForTestingMin}\n />\n </span>\n ) : null}\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${right * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMaxChange}\n onPanEnd={onHandleMaxChangeEnd}\n HammerForTesting={HammerForTestingMax}\n />\n </span>\n </div>\n );\n};\n\nRenderHandles.propTypes = {\n left: PropTypes.number,\n right: PropTypes.number,\n multi: PropTypes.bool,\n pending: PropTypes.bool,\n onHandleMinChange: PropTypes.func,\n onHandleMinChangeEnd: PropTypes.func,\n onHandleMaxChange: PropTypes.func,\n onHandleMaxChangeEnd: PropTypes.func,\n HammerForTestingMin: Handle.propTypes.HammerForTesting,\n HammerForTestingMax: Handle.propTypes.HammerForTesting\n};\n\nclass Range extends React.Component {\n static propTypes = {\n onChange: PropTypes.func,\n onChangeEnd: PropTypes.func,\n multi: PropTypes.bool,\n theme: PropTypes.oneOf(['default', 'mooc']),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string,\n minValueLabel: PropTypes.string,\n maxValueLabel: PropTypes.string,\n HammerForTestingMin: RenderHandles.propTypes.HammerForTestingMin,\n HammerForTestingMax: RenderHandles.propTypes.HammerForTestingMax\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n static getDerivedStateFromProps(props, state) {\n const {pending} = state;\n if (pending) return null;\n return extractStateFromProps(props);\n }\n\n constructor(props, context) {\n super(props, context);\n this.state = {\n ...extractStateFromProps(props),\n pending: false\n };\n this.handleClick = this.handleClick.bind(this);\n this.setRefTrack = this.setRefTrack.bind(this);\n this.handleMinChange = this.handleMinChange.bind(this);\n this.handleMaxChange = this.handleMaxChange.bind(this);\n this.handleMinChangeEnd = this.handleMinChangeEnd.bind(this);\n this.handleMaxChangeEnd = this.handleMaxChangeEnd.bind(this);\n }\n\n setRefTrack(track) {\n this.track = track;\n }\n\n normalizedToActual(normalizedValue) {\n const {min = 0, max = 1} = this.props;\n return min + normalizedValue * (max - min);\n }\n\n roundToStep(value) {\n const {step} = this.props;\n const precision = 10;\n if (!step) {\n return Number(value.toFixed(precision));\n } else {\n return Number((Math.round(value / step) * step).toFixed(precision));\n }\n }\n\n handleMinChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, true);\n }\n\n handleMaxChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, true);\n }\n\n handleMinChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, false);\n }\n\n handleMaxChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, false);\n }\n\n handleChange(value, valueIndex, pending) {\n const {value: prevValue} = this.state;\n const newValue = set(valueIndex, value, prevValue);\n const [minValue, maxValue] = newValue;\n const nextValue = minValue > maxValue ? prevValue : newValue;\n\n this.triggerChange(nextValue, pending);\n return this.setState({\n pending,\n value: pending ? nextValue : extractStateFromProps(this.props).value\n });\n }\n\n triggerChange(newValues, pending) {\n const {onChange = noop, onChangeEnd = onChange, multi = false} = this.props;\n const handle = pending ? onChange : onChangeEnd;\n const actualValues = newValues.map(val => this.roundToStep(this.normalizedToActual(val)));\n return handle(multi ? actualValues : actualValues[1]);\n }\n\n handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n const {\n value: [left, right],\n multi\n } = this.state;\n const newValue = valueOnTrack(this.track, e.clientX);\n\n if (!multi) return this.handleChange(newValue, 1, false);\n\n if (left === right) {\n const isClickToTheLeft = left - newValue > 0;\n return this.handleChange(newValue, isClickToTheLeft ? 0 : 1, false);\n }\n\n const closestHandle = Math.abs(newValue - left) < Math.abs(newValue - right) ? 0 : 1;\n return this.handleChange(newValue, closestHandle, false);\n }\n\n render() {\n const {\n multi = false,\n value: [left, right],\n pending\n } = this.state;\n const {\n theme = 'default',\n minLabel = 'Min',\n maxLabel = 'Max',\n min,\n max,\n minValueLabel,\n maxValueLabel,\n HammerForTestingMin,\n HammerForTestingMax\n } = this.props;\n\n const railWidth = right - left;\n const railLeft = left;\n\n const {skin} = this.context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n const railStyle =\n theme === 'mooc'\n ? {\n backgroundColor: primaryColor,\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n }\n : {\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n };\n\n const minActualValue = this.roundToStep(this.normalizedToActual(left));\n const maxActualValue = this.roundToStep(this.normalizedToActual(right));\n\n const sliderComponent = (\n <div className={style.container}>\n <div\n data-testid=\"track\"\n className={style.track}\n data-name=\"sliderTrack\"\n ref={this.setRefTrack}\n />\n <div className={pending ? style.rail : style.animatedRail} style={railStyle} />\n <RenderHandles\n HammerForTestingMin={HammerForTestingMin}\n HammerForTestingMax={HammerForTestingMax}\n left={left}\n right={right}\n pending={pending}\n multi={multi}\n onHandleMinChange={this.handleMinChange}\n onHandleMinChangeEnd={this.handleMinChangeEnd}\n onHandleMaxChange={this.handleMaxChange}\n onHandleMaxChangeEnd={this.handleMaxChangeEnd}\n />\n </div>\n );\n\n if (theme === 'mooc') {\n return (\n <div data-testid=\"slider\" className={style.containerWrapper}>\n <div onClick={this.handleClick}>{sliderComponent}</div>\n <div className={style.inputsRow}>\n {multi ? (\n <div className={style.moocInput} data-testid=\"min-value\">\n <span className={style.inputHint}>{minLabel}</span>\n <span className={style.inputValue}>\n {minActualValue === min && !!minValueLabel ? minValueLabel : minActualValue}\n </span>\n </div>\n ) : null}\n <div className={style.moocInput} data-testid=\"max-value\">\n <span className={style.inputHint}>{maxLabel}</span>\n <span className={style.inputValue}>\n {maxActualValue === max && !!maxValueLabel ? maxValueLabel : maxActualValue}\n </span>\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div data-testid=\"slider\" className={style.containerWrapper} onClick={this.handleClick}>\n {sliderComponent}\n </div>\n );\n }\n}\n\nexport default Range;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,KAAK,MAAM,aAAa;AAE/B,MAAMC,YAAY,GAAGA,CAACC,KAAK,EAAEC,CAAC,KAAK;EACjC,MAAM;IAACC,IAAI;IAAEC;EAAK,CAAC,GAAGH,KAAK,CAACI,qBAAqB,CAAC,CAAC;EACnD,OAAOC,MAAA,CAAM,CAAC,EAAE,CAAC,EAAE,CAACJ,CAAC,GAAGC,IAAI,KAAKC,KAAK,GAAGD,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,MAAMI,qBAAqB,GAAGC,KAAK,IAAI;EACrC,MAAM;IAACC,KAAK,GAAG,KAAK;IAAEC,KAAK,GAAGD,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;IAAEE,GAAG,GAAG,CAAC;IAAEC,GAAG,GAAG;EAAC,CAAC,GAAGJ,KAAK;EAE3E,MAAMK,YAAY,GAAGC,WAAW,IAAI,CAACA,WAAW,GAAGH,GAAG,KAAKC,GAAG,GAAGD,GAAG,CAAC;EAErE,IAAII,eAAe;EACnB,IAAIN,KAAK,EAAE;IACTM,eAAe,GAAGC,KAAK,CAACC,OAAO,CAACP,KAAK,CAAC,GAClCA,KAAK,CAACQ,GAAG,CAACL,YAAY,CAAC,GACvB,CAACA,YAAY,CAAC,CAAC,CAAC,EAAEA,YAAY,CAACH,KAAK,CAAC,CAAC;EAC5C,CAAC,MAAM;IACLK,eAAe,GAAGF,YAAY,CAACH,KAAK,CAAC;EACvC;EAEA,OAAO;IACLD,KAAK;IACLC,KAAK,EAAED,KAAK,GAAGM,eAAe,GAAG,CAAC,CAAC,EAAEA,eAAe;EACtD,CAAC;AACH,CAAC;AAED,MAAMI,aAAa,GAAGX,KAAK,IAAI;EAC7B,MAAM;IACJL,IAAI;IACJC,KAAK;IACLK,KAAK,GAAG,KAAK;IACbW,OAAO;IACPC,iBAAiB;IACjBC,oBAAoB;IACpBC,iBAAiB;IACjBC,oBAAoB;IACpBC,mBAAmB;IACnBC;EACF,CAAC,GAAGlB,KAAK;EAET,oBACEb,KAAA,CAAAgC,aAAA;IAAK,eAAY;EAAS,GACvBlB,KAAK,gBACJd,KAAA,CAAAgC,aAAA;IACEC,SAAS,EAAER,OAAO,GAAGrB,KAAK,CAAC8B,MAAM,GAAG9B,KAAK,CAAC+B,cAAe;IACzD/B,KAAK,EAAE;MAACI,IAAI,EAAE,GAAGA,IAAI,GAAG,GAAG;IAAG;EAAE,gBAEhCR,KAAA,CAAAgC,aAAA,CAAC7B,MAAM;IACLiC,IAAI,EAAC,GAAG;IACRC,KAAK,EAAEX,iBAAkB;IACzBY,QAAQ,EAAEX,oBAAqB;IAC/BY,gBAAgB,EAAET;EAAoB,CACvC,CACG,CAAC,GACL,IAAI,eACR9B,KAAA,CAAAgC,aAAA;IACEC,SAAS,EAAER,OAAO,GAAGrB,KAAK,CAAC8B,MAAM,GAAG9B,KAAK,CAAC+B,cAAe;IACzD/B,KAAK,EAAE;MAACI,IAAI,EAAE,GAAGC,KAAK,GAAG,GAAG;IAAG;EAAE,gBAEjCT,KAAA,CAAAgC,aAAA,CAAC7B,MAAM;IACLiC,IAAI,EAAC,GAAG;IACRC,KAAK,EAAET,iBAAkB;IACzBU,QAAQ,EAAET,oBAAqB;IAC/BU,gBAAgB,EAAER;EAAoB,CACvC,CACG,CACH,CAAC;AAEV,CAAC;AAEDP,aAAa,CAACgB,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAG;EACxBnC,IAAI,EAAEP,SAAS,CAAC2C,MAAM;EACtBnC,KAAK,EAAER,SAAS,CAAC2C,MAAM;EACvB9B,KAAK,EAAEb,SAAS,CAAC4C,IAAI;EACrBpB,OAAO,EAAExB,SAAS,CAAC4C,IAAI;EACvBnB,iBAAiB,EAAEzB,SAAS,CAAC6C,IAAI;EACjCnB,oBAAoB,EAAE1B,SAAS,CAAC6C,IAAI;EACpClB,iBAAiB,EAAE3B,SAAS,CAAC6C,IAAI;EACjCjB,oBAAoB,EAAE5B,SAAS,CAAC6C,IAAI;EACpChB,mBAAmB,EAAE3B,MAAM,CAACqC,SAAS,CAACD,gBAAgB;EACtDR,mBAAmB,EAAE5B,MAAM,CAACqC,SAAS,CAACD;AACxC,CAAC;AAED,MAAMQ,KAAK,SAAS/C,KAAK,CAACgD,SAAS,CAAC;EAiBlC,OAAOC,YAAY,GAAG;IACpBC,IAAI,EAAEhD,QAAQ,CAACiD,iBAAiB,CAACD;EACnC,CAAC;EAED,OAAOE,wBAAwBA,CAACvC,KAAK,EAAEwC,KAAK,EAAE;IAC5C,MAAM;MAAC5B;IAAO,CAAC,GAAG4B,KAAK;IACvB,IAAI5B,OAAO,EAAE,OAAO,IAAI;IACxB,OAAOb,qBAAqB,CAACC,KAAK,CAAC;EACrC;EAEAyC,WAAWA,CAACzC,KAAK,EAAE0C,OAAO,EAAE;IAC1B,KAAK,CAAC1C,KAAK,EAAE0C,OAAO,CAAC;IACrB,IAAI,CAACF,KAAK,GAAG;MACX,GAAGzC,qBAAqB,CAACC,KAAK,CAAC;MAC/BY,OAAO,EAAE;IACX,CAAC;IACD,IAAI,CAAC+B,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACD,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAACE,eAAe,GAAG,IAAI,CAACA,eAAe,CAACF,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACG,eAAe,GAAG,IAAI,CAACA,eAAe,CAACH,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACI,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACJ,IAAI,CAAC,IAAI,CAAC;IAC5D,IAAI,CAACK,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACL,IAAI,CAAC,IAAI,CAAC;EAC9D;EAEAC,WAAWA,CAACpD,KAAK,EAAE;IACjB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEAyD,kBAAkBA,CAAC3C,eAAe,EAAE;IAClC,MAAM;MAACJ,GAAG,GAAG,CAAC;MAAEC,GAAG,GAAG;IAAC,CAAC,GAAG,IAAI,CAACJ,KAAK;IACrC,OAAOG,GAAG,GAAGI,eAAe,IAAIH,GAAG,GAAGD,GAAG,CAAC;EAC5C;EAEAgD,WAAWA,CAACjD,KAAK,EAAE;IACjB,MAAM;MAACkD;IAAI,CAAC,GAAG,IAAI,CAACpD,KAAK;IACzB,MAAMqD,SAAS,GAAG,EAAE;IACpB,IAAI,CAACD,IAAI,EAAE;MACT,OAAOE,MAAM,CAACpD,KAAK,CAACqD,OAAO,CAACF,SAAS,CAAC,CAAC;IACzC,CAAC,MAAM;MACL,OAAOC,MAAM,CAAC,CAACE,IAAI,CAACC,KAAK,CAACvD,KAAK,GAAGkD,IAAI,CAAC,GAAGA,IAAI,EAAEG,OAAO,CAACF,SAAS,CAAC,CAAC;IACrE;EACF;EAEAP,eAAeA,CAACY,CAAC,EAAE;IACjBA,CAAC,CAACC,QAAQ,CAACC,eAAe,CAAC,CAAC;IAC5BF,CAAC,CAACC,QAAQ,CAACE,cAAc,CAAC,CAAC;IAC3B,MAAMC,QAAQ,GAAGtE,YAAY,CAAC,IAAI,CAACC,KAAK,EAAEiE,CAAC,CAACK,MAAM,CAACrE,CAAC,CAAC;IACrD,OAAO,IAAI,CAACsE,YAAY,CAACF,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC;EAC7C;EAEAf,eAAeA,CAACW,CAAC,EAAE;IACjBA,CAAC,CAACC,QAAQ,CAACC,eAAe,CAAC,CAAC;IAC5BF,CAAC,CAACC,QAAQ,CAACE,cAAc,CAAC,CAAC;IAC3B,MAAMC,QAAQ,GAAGtE,YAAY,CAAC,IAAI,CAACC,KAAK,EAAEiE,CAAC,CAACK,MAAM,CAACrE,CAAC,CAAC;IACrD,OAAO,IAAI,CAACsE,YAAY,CAACF,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC;EAC7C;EAEAd,kBAAkBA,CAACU,CAAC,EAAE;IACpBA,CAAC,CAACC,QAAQ,CAACC,eAAe,CAAC,CAAC;IAC5BF,CAAC,CAACC,QAAQ,CAACE,cAAc,CAAC,CAAC;IAC3B,MAAMC,QAAQ,GAAGtE,YAAY,CAAC,IAAI,CAACC,KAAK,EAAEiE,CAAC,CAACK,MAAM,CAACrE,CAAC,CAAC;IACrD,OAAO,IAAI,CAACsE,YAAY,CAACF,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC;EAC9C;EAEAb,kBAAkBA,CAACS,CAAC,EAAE;IACpBA,CAAC,CAACC,QAAQ,CAACC,eAAe,CAAC,CAAC;IAC5BF,CAAC,CAACC,QAAQ,CAACE,cAAc,CAAC,CAAC;IAC3B,MAAMC,QAAQ,GAAGtE,YAAY,CAAC,IAAI,CAACC,KAAK,EAAEiE,CAAC,CAACK,MAAM,CAACrE,CAAC,CAAC;IACrD,OAAO,IAAI,CAACsE,YAAY,CAACF,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC;EAC9C;EAEAE,YAAYA,CAAC9D,KAAK,EAAE+D,UAAU,EAAErD,OAAO,EAAE;IACvC,MAAM;MAACV,KAAK,EAAEgE;IAAS,CAAC,GAAG,IAAI,CAAC1B,KAAK;IACrC,MAAMsB,QAAQ,GAAGK,IAAA,CAAIF,UAAU,EAAE/D,KAAK,EAAEgE,SAAS,CAAC;IAClD,MAAM,CAACE,QAAQ,EAAEC,QAAQ,CAAC,GAAGP,QAAQ;IACrC,MAAMQ,SAAS,GAAGF,QAAQ,GAAGC,QAAQ,GAAGH,SAAS,GAAGJ,QAAQ;IAE5D,IAAI,CAACS,aAAa,CAACD,SAAS,EAAE1D,OAAO,CAAC;IACtC,OAAO,IAAI,CAAC4D,QAAQ,CAAC;MACnB5D,OAAO;MACPV,KAAK,EAAEU,OAAO,GAAG0D,SAAS,GAAGvE,qBAAqB,CAAC,IAAI,CAACC,KAAK,CAAC,CAACE;IACjE,CAAC,CAAC;EACJ;EAEAqE,aAAaA,CAACE,SAAS,EAAE7D,OAAO,EAAE;IAChC,MAAM;MAAC8D,QAAQ,GAAAC,KAAO;MAAEC,WAAW,GAAGF,QAAQ;MAAEzE,KAAK,GAAG;IAAK,CAAC,GAAG,IAAI,CAACD,KAAK;IAC3E,MAAMqB,MAAM,GAAGT,OAAO,GAAG8D,QAAQ,GAAGE,WAAW;IAC/C,MAAMC,YAAY,GAAGJ,SAAS,CAAC/D,GAAG,CAACoE,GAAG,IAAI,IAAI,CAAC3B,WAAW,CAAC,IAAI,CAACD,kBAAkB,CAAC4B,GAAG,CAAC,CAAC,CAAC;IACzF,OAAOzD,MAAM,CAACpB,KAAK,GAAG4E,YAAY,GAAGA,YAAY,CAAC,CAAC,CAAC,CAAC;EACvD;EAEAlC,WAAWA,CAACe,CAAC,EAAE;IACbA,CAAC,CAACE,eAAe,CAAC,CAAC;IACnBF,CAAC,CAACG,cAAc,CAAC,CAAC;IAClB,MAAM;MACJ3D,KAAK,EAAE,CAACP,IAAI,EAAEC,KAAK,CAAC;MACpBK;IACF,CAAC,GAAG,IAAI,CAACuC,KAAK;IACd,MAAMsB,QAAQ,GAAGtE,YAAY,CAAC,IAAI,CAACC,KAAK,EAAEiE,CAAC,CAACqB,OAAO,CAAC;IAEpD,IAAI,CAAC9E,KAAK,EAAE,OAAO,IAAI,CAAC+D,YAAY,CAACF,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC;IAExD,IAAInE,IAAI,KAAKC,KAAK,EAAE;MAClB,MAAMoF,gBAAgB,GAAGrF,IAAI,GAAGmE,QAAQ,GAAG,CAAC;MAC5C,OAAO,IAAI,CAACE,YAAY,CAACF,QAAQ,EAAEkB,gBAAgB,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;IACrE;IAEA,MAAMC,aAAa,GAAGzB,IAAI,CAAC0B,GAAG,CAACpB,QAAQ,GAAGnE,IAAI,CAAC,GAAG6D,IAAI,CAAC0B,GAAG,CAACpB,QAAQ,GAAGlE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACpF,OAAO,IAAI,CAACoE,YAAY,CAACF,QAAQ,EAAEmB,aAAa,EAAE,KAAK,CAAC;EAC1D;EAEAE,MAAMA,CAAA,EAAG;IACP,MAAM;MACJlF,KAAK,GAAG,KAAK;MACbC,KAAK,EAAE,CAACP,IAAI,EAAEC,KAAK,CAAC;MACpBgB;IACF,CAAC,GAAG,IAAI,CAAC4B,KAAK;IACd,MAAM;MACJ4C,KAAK,GAAG,SAAS;MACjBC,QAAQ,GAAG,KAAK;MAChBC,QAAQ,GAAG,KAAK;MAChBnF,GAAG;MACHC,GAAG;MACHmF,aAAa;MACbC,aAAa;MACbvE,mBAAmB;MACnBC;IACF,CAAC,GAAG,IAAI,CAAClB,KAAK;IAEd,MAAMyF,SAAS,GAAG7F,KAAK,GAAGD,IAAI;IAC9B,MAAM+F,QAAQ,GAAG/F,IAAI;IAErB,MAAM;MAAC0C;IAAI,CAAC,GAAG,IAAI,CAACK,OAAO;IAC3B,MAAMiD,YAAY,GAAGC,MAAA,CAAM,SAAS,EAAE,gBAAgB,EAAEvD,IAAI,CAAC;IAC7D,MAAMwD,SAAS,GACbT,KAAK,KAAK,MAAM,GACZ;MACEU,eAAe,EAAEH,YAAY;MAC7BI,KAAK,EAAE,GAAGN,SAAS,GAAG,GAAG,GAAG;MAC5B9F,IAAI,EAAE,GAAG+F,QAAQ,GAAG,GAAG;IACzB,CAAC,GACD;MACEK,KAAK,EAAE,GAAGN,SAAS,GAAG,GAAG,GAAG;MAC5B9F,IAAI,EAAE,GAAG+F,QAAQ,GAAG,GAAG;IACzB,CAAC;IAEP,MAAMM,cAAc,GAAG,IAAI,CAAC7C,WAAW,CAAC,IAAI,CAACD,kBAAkB,CAACvD,IAAI,CAAC,CAAC;IACtE,MAAMsG,cAAc,GAAG,IAAI,CAAC9C,WAAW,CAAC,IAAI,CAACD,kBAAkB,CAACtD,KAAK,CAAC,CAAC;IAEvE,MAAMsG,eAAe,gBACnB/G,KAAA,CAAAgC,aAAA;MAAKC,SAAS,EAAE7B,KAAK,CAAC4G;IAAU,gBAC9BhH,KAAA,CAAAgC,aAAA;MACE,eAAY,OAAO;MACnBC,SAAS,EAAE7B,KAAK,CAACE,KAAM;MACvB,aAAU,aAAa;MACvB2G,GAAG,EAAE,IAAI,CAACvD;IAAY,CACvB,CAAC,eACF1D,KAAA,CAAAgC,aAAA;MAAKC,SAAS,EAAER,OAAO,GAAGrB,KAAK,CAAC8G,IAAI,GAAG9G,KAAK,CAAC+G,YAAa;MAAC/G,KAAK,EAAEsG;IAAU,CAAE,CAAC,eAC/E1G,KAAA,CAAAgC,aAAA,CAACR,aAAa;MACZM,mBAAmB,EAAEA,mBAAoB;MACzCC,mBAAmB,EAAEA,mBAAoB;MACzCvB,IAAI,EAAEA,IAAK;MACXC,KAAK,EAAEA,KAAM;MACbgB,OAAO,EAAEA,OAAQ;MACjBX,KAAK,EAAEA,KAAM;MACbY,iBAAiB,EAAE,IAAI,CAACiC,eAAgB;MACxChC,oBAAoB,EAAE,IAAI,CAACkC,kBAAmB;MAC9CjC,iBAAiB,EAAE,IAAI,CAACgC,eAAgB;MACxC/B,oBAAoB,EAAE,IAAI,CAACiC;IAAmB,CAC/C,CACE,CACN;IAED,IAAImC,KAAK,KAAK,MAAM,EAAE;MACpB,oBACEjG,KAAA,CAAAgC,aAAA;QAAK,eAAY,QAAQ;QAACC,SAAS,EAAE7B,KAAK,CAACgH;MAAiB,gBAC1DpH,KAAA,CAAAgC,aAAA;QAAKqF,OAAO,EAAE,IAAI,CAAC7D;MAAY,GAAEuD,eAAqB,CAAC,eACvD/G,KAAA,CAAAgC,aAAA;QAAKC,SAAS,EAAE7B,KAAK,CAACkH;MAAU,GAC7BxG,KAAK,gBACJd,KAAA,CAAAgC,aAAA;QAAKC,SAAS,EAAE7B,KAAK,CAACmH,SAAU;QAAC,eAAY;MAAW,gBACtDvH,KAAA,CAAAgC,aAAA;QAAMC,SAAS,EAAE7B,KAAK,CAACoH;MAAU,GAAEtB,QAAe,CAAC,eACnDlG,KAAA,CAAAgC,aAAA;QAAMC,SAAS,EAAE7B,KAAK,CAACqH;MAAW,GAC/BZ,cAAc,KAAK7F,GAAG,IAAI,CAAC,CAACoF,aAAa,GAAGA,aAAa,GAAGS,cACzD,CACH,CAAC,GACJ,IAAI,eACR7G,KAAA,CAAAgC,aAAA;QAAKC,SAAS,EAAE7B,KAAK,CAACmH,SAAU;QAAC,eAAY;MAAW,gBACtDvH,KAAA,CAAAgC,aAAA;QAAMC,SAAS,EAAE7B,KAAK,CAACoH;MAAU,GAAErB,QAAe,CAAC,eACnDnG,KAAA,CAAAgC,aAAA;QAAMC,SAAS,EAAE7B,KAAK,CAACqH;MAAW,GAC/BX,cAAc,KAAK7F,GAAG,IAAI,CAAC,CAACoF,aAAa,GAAGA,aAAa,GAAGS,cACzD,CACH,CACF,CACF,CAAC;IAEV;IAEA,oBACE9G,KAAA,CAAAgC,aAAA;MAAK,eAAY,QAAQ;MAACC,SAAS,EAAE7B,KAAK,CAACgH,gBAAiB;MAACC,OAAO,EAAE,IAAI,CAAC7D;IAAY,GACpFuD,eACE,CAAC;EAEV;AACF;AA5NMhE,KAAK,CACFP,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAG;EACjB4C,QAAQ,EAAEtF,SAAS,CAAC6C,IAAI;EACxB2C,WAAW,EAAExF,SAAS,CAAC6C,IAAI;EAC3BhC,KAAK,EAAEb,SAAS,CAAC4C,IAAI;EACrBoD,KAAK,EAAEhG,SAAS,CAACyH,KAAK,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;EAC3C1G,GAAG,EAAEf,SAAS,CAAC2C,MAAM;EACrB3B,GAAG,EAAEhB,SAAS,CAAC2C,MAAM;EACrBqB,IAAI,EAAEhE,SAAS,CAAC2C,MAAM;EACtBsD,QAAQ,EAAEjG,SAAS,CAAC0H,MAAM;EAC1BxB,QAAQ,EAAElG,SAAS,CAAC0H,MAAM;EAC1BvB,aAAa,EAAEnG,SAAS,CAAC0H,MAAM;EAC/BtB,aAAa,EAAEpG,SAAS,CAAC0H,MAAM;EAC/B7F,mBAAmB,EAAEN,aAAa,CAACgB,SAAS,CAACV,mBAAmB;EAChEC,mBAAmB,EAAEP,aAAa,CAACgB,SAAS,CAACT;AAC/C,CAAC;AA+MH,eAAegB,KAAK","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA2BvE,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAoQtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA2BvE,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAoQtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,sBAwErC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -267,11 +267,13 @@ const Slide = props => {
|
|
|
267
267
|
} = slide;
|
|
268
268
|
if (loading) {
|
|
269
269
|
return /*#__PURE__*/React.createElement(View, {
|
|
270
|
-
style: slideStyle.slide
|
|
270
|
+
style: slideStyle.slide,
|
|
271
|
+
pointerEvents: isFirstSlide ? 'auto' : 'none'
|
|
271
272
|
});
|
|
272
273
|
}
|
|
273
274
|
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
274
|
-
style: [slideStyle.slide, animatedStyle]
|
|
275
|
+
style: [slideStyle.slide, animatedStyle],
|
|
276
|
+
pointerEvents: isFirstSlide ? 'auto' : 'none'
|
|
275
277
|
}, /*#__PURE__*/React.createElement(Question, {
|
|
276
278
|
questionOrigin: parentContentTitle,
|
|
277
279
|
questionText: questionText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useMemo","useState","Animated","Easing","Image","Keyboard","ScrollView","StyleSheet","useWindowDimensions","View","get","getOr","useTranslateY","Answer","ReviewCorrectionPopin","useTemplateContext","Button","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","Video","Html","useMobileKeyboardVisibility","styles","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","createElement","style","uri","url","split","source","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","fromValue","toValue","duration","easing","bezier","start","klf","undefined","information","label","message","next","onClick","_correctionPopinProps","resultLabel","animatedStyle","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","setStyle","questionStyle","hasVideoOrImage","includes","Fragment","isTextCentered","contentContainerStyle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","handleValidatePress","dismiss","setTimeout","slideStyle","isFirstSlide","loading","parentContentTitle","key","disabled","submitValue","onPress","testID"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport useMobileKeyboardVisibility from '../../util/use-mobile-keyboard-visibility';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: TextStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useMemo","useState","Animated","Easing","Image","Keyboard","ScrollView","StyleSheet","useWindowDimensions","View","get","getOr","useTranslateY","Answer","ReviewCorrectionPopin","useTemplateContext","Button","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","Video","Html","useMobileKeyboardVisibility","styles","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","createElement","style","uri","url","split","source","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","fromValue","toValue","duration","easing","bezier","start","klf","undefined","information","label","message","next","onClick","_correctionPopinProps","resultLabel","animatedStyle","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","setStyle","questionStyle","hasVideoOrImage","includes","Fragment","isTextCentered","contentContainerStyle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","handleValidatePress","dismiss","setTimeout","slideStyle","isFirstSlide","loading","parentContentTitle","pointerEvents","key","disabled","submitValue","onPress","testID"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport useMobileKeyboardVisibility from '../../util/use-mobile-keyboard-visibility';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: TextStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} pointerEvents={isFirstSlide ? 'auto' : 'none'} />;\n }\n\n return (\n <Animated.View\n style={[slideStyle.slide, animatedStyle]}\n pointerEvents={isFirstSlide ? 'auto' : 'none'}\n >\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,OAAkB,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAMpE,UAAU,2BAA2B;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AACD,UAAU,eAAe;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;CACnD;AAED,eAAO,MAAM,sBAAsB;YAC1B,2BAA2B,WACzB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BzB,CAAC;AAYF,UAAU,OAAO;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,aAAK,mBAAmB,GACpB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACrB;IACE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AACN,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,EAAE,cAAc,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;KACtB,CAAC;IACF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AACD,QAAA,MAAM,WAAW;YAAW,gBAAgB,WAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,OAAkB,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAMpE,UAAU,2BAA2B;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AACD,UAAU,eAAe;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;CACnD;AAED,eAAO,MAAM,sBAAsB;YAC1B,2BAA2B,WACzB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BzB,CAAC;AAYF,UAAU,OAAO;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,aAAK,mBAAmB,GACpB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACrB;IACE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AACN,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,EAAE,cAAc,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;KACtB,CAAC;IACF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AACD,QAAA,MAAM,WAAW;YAAW,gBAAgB,WAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkNrE,CAAC;AAyCF,eAAe,WAAW,CAAC"}
|
|
@@ -194,9 +194,14 @@ const SkillDetail = (props, context) => {
|
|
|
194
194
|
}
|
|
195
195
|
})) : null), questionsToReview > 0 ? /*#__PURE__*/React.createElement("div", {
|
|
196
196
|
className: style.skillInformation
|
|
197
|
-
}, /*#__PURE__*/React.createElement("span",
|
|
198
|
-
|
|
199
|
-
|
|
197
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
198
|
+
// eslint-disable-next-line react/no-danger
|
|
199
|
+
dangerouslySetInnerHTML: {
|
|
200
|
+
__html: translate('skill_chart_side_panel_questions_to_review', {
|
|
201
|
+
count: questionsToReview
|
|
202
|
+
})
|
|
203
|
+
}
|
|
204
|
+
})) : null, /*#__PURE__*/React.createElement("div", {
|
|
200
205
|
className: classnames(style.progressContainer, !hasDescription && style.noDescriptionSpacing)
|
|
201
206
|
}, /*#__PURE__*/React.createElement(ProgressBar, null)), /*#__PURE__*/React.createElement("div", {
|
|
202
207
|
className: style.ctaWrapper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useCallback","useState","useRef","useEffect","PropTypes","classnames","Markdown","convert","Provider","ButtonLinkIcon","Icon","IconPreview","ButtonLink","CardsGrid","COLORS","SelectOptionPropTypes","AllCourses","style","ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","_get","createElement","label","type","customStyle","width","borderRadius","backgroundColor","hoverBackgroundColor","hoverColor","white","icon","position","faIcon","name","color","size","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","bool","func","SkillDetail","title","iconColor","iconName","skillRef","description","metrics","focused","availableForReview","skillIncludedCourses","filters","onBackClick","onReviewClick","onContinueLearningClick","search","bannerMicrolearning","score","questionsToReview","totalContents","bannerMicrolearningAction","action","descriptionRef","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","ref","className","truncate","ProgressBar","progressBarColor","cm_positive_500","inlineProgressStyle","progressBarRow","progressBarWrapper","progress","role","progressInformationNumber","toFixed","hasDescription","Boolean","trim","length","backgroundContainer","container","topSection","_isNil","backButton","tooltipPlacement","mainSection","leftSide","gap","padding","rightSide","skillFocusBadge","purple_100","faSize","wrapperSize","skillBadge","cm_grey_100","Fragment","showMoreWrapper","skillInformation","count","progressContainer","noDescriptionSpacing","ctaWrapper","disabled","cm_grey_700","content","oldSwitchValue","undefined","string","isRequired","shape","number","onChange","options","arrayOf","oldValue"],"sources":["../../../src/template/skill-detail/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useRef, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport {convert} from 'css-color-function';\nimport Provider from '../../atom/provider';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport IconPreview from '../../molecule/icon-preview';\nimport ButtonLink from '../../atom/button-link';\nimport CardsGrid, {CardsGridProps} from '../../organism/cards-grid';\nimport {COLORS} from '../../variables/colors';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport AllCourses from './all-courses';\nimport style from './style.css';\n\ninterface ContinueLearningButtonProps {\n ongoingCoursesAvailable?: boolean;\n onClick?: () => void;\n}\ninterface ProviderContext {\n skin: {\n common: {\n primary: string;\n secondary: string;\n };\n };\n translate: (key: string, options?: any) => string;\n}\n\nexport const ContinueLearningButton = (\n props: ContinueLearningButtonProps,\n context: ProviderContext\n) => {\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <ButtonLink\n label={ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')}\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)}\n hoverColor={COLORS.white}\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: COLORS.white,\n size: 14\n }\n }}\n onClick={onClick}\n />\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\ninterface Metrics {\n score?: number;\n questionsToReview?: number;\n totalContents?: number;\n}\n\ntype BannerMicrolearning =\n | Record<string, never>\n | {\n action: () => void;\n oldSwitchValue: boolean;\n };\ninterface SkillDetailProps {\n title: string;\n icon: {name: string; color: string};\n skillRef: string;\n description?: string;\n metrics?: Metrics;\n focused?: boolean;\n availableForReview?: boolean;\n ongoingCoursesAvailable?: boolean;\n skillIncludedCourses: CardsGridProps;\n filters: {\n onChange?: () => void;\n options?: unknown[];\n };\n onBackClick?: () => void;\n onReviewClick?: () => void;\n onContinueLearningClick?: () => void;\n search: {\n oldValue: string;\n onChange: () => void;\n };\n bannerMicrolearning?: BannerMicrolearning;\n}\nconst SkillDetail = (props: SkillDetailProps, context: ProviderContext) => {\n const {\n title,\n icon: {color: iconColor, name: iconName},\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCoursesAvailable,\n skillIncludedCourses,\n filters,\n onBackClick,\n onReviewClick,\n onContinueLearningClick,\n search,\n bannerMicrolearning\n } = props;\n\n const {score = 0, questionsToReview = 0, totalContents = 0} = metrics;\n const {translate} = context;\n const bannerMicrolearningAction = bannerMicrolearning?.action;\n const descriptionRef = useRef(null);\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => {\n setShowMore(!showMore);\n }, [showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n data-testid=\"skill-description\"\n className={classnames(style.description, !showMore && style.truncate)}\n >\n {description ? <Markdown>{description}</Markdown> : null}\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (typeof score !== 'number') return null;\n\n const progressBarColor = COLORS.cm_positive_500;\n const inlineProgressStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarRow}>\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressStyle}\n role=\"progressbar\"\n aria-valuenow={score}\n aria-valuemin={0}\n aria-valuemax={100}\n />\n </div>\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n );\n }, [score]);\n const hasDescription = Boolean(description && description.trim().length > 0);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n {/* Top section for the back arrow (optional) */}\n <div className={style.topSection}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n </div>\n\n {/* Main section: icon on the left, skill info on the right */}\n <div className={style.mainSection}>\n <div className={style.leftSide}>\n <IconPreview\n icon={{\n name: iconName,\n color: iconColor\n }}\n title={title}\n customStyle={{gap: 24, padding: '50px 49px 50px 50px'}}\n />\n </div>\n <div className={style.rightSide}>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor={COLORS.purple_100}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill_focus')}\n </div>\n ) : (\n <div className={style.skillBadge}>\n <Icon\n iconName=\"shapes\"\n backgroundColor={COLORS.cm_grey_100}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill')}\n </div>\n )}\n\n <h2 className={style.title}>{title}</h2>\n\n {description && (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 14}}\n customStyle={{padding: '8px'}}\n />\n </div>\n ) : null}\n </>\n )}\n\n {questionsToReview > 0 ? (\n <div className={style.skillInformation}>\n <span>\n {translate('skill_chart_side_panel_questions_to_review', {\n count: questionsToReview\n })}\n </span>\n </div>\n ) : null}\n\n <div\n className={classnames(\n style.progressContainer,\n !hasDescription && style.noDescriptionSpacing\n )}\n >\n <ProgressBar />\n </div>\n\n <div className={style.ctaWrapper}>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n <ButtonLink\n type=\"secondary\"\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n onClick={onReviewClick}\n icon={{\n position: 'left',\n faIcon: {\n name: 'rotate-right',\n color: COLORS.cm_grey_700,\n size: 14\n }\n }}\n customStyle={{borderRadius: '12px', width: 'fit-content'}}\n />\n </div>\n </div>\n </div>\n\n {/* Courses section below */}\n <AllCourses\n content={skillIncludedCourses}\n filters={filters}\n totalContents={totalContents}\n bannerMicrolearning={\n bannerMicrolearning && bannerMicrolearningAction\n ? {\n type: 'skill',\n action: bannerMicrolearningAction,\n oldSwitchValue: bannerMicrolearning.oldSwitchValue\n }\n : undefined\n }\n search={search}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n icon: PropTypes.shape({\n name: PropTypes.string,\n color: PropTypes.string\n }).isRequired,\n skillRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n questionsToReview: PropTypes.number,\n totalContents: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCoursesAvailable: PropTypes.bool,\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func,\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n }),\n bannerMicrolearning: PropTypes.shape({\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n })\n};\n\nexport default SkillDetail;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useState","useRef","useEffect","PropTypes","classnames","Markdown","convert","Provider","ButtonLinkIcon","Icon","IconPreview","ButtonLink","CardsGrid","COLORS","SelectOptionPropTypes","AllCourses","style","ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","_get","createElement","label","type","customStyle","width","borderRadius","backgroundColor","hoverBackgroundColor","hoverColor","white","icon","position","faIcon","name","color","size","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV","bool","func","SkillDetail","title","iconColor","iconName","skillRef","description","metrics","focused","availableForReview","skillIncludedCourses","filters","onBackClick","onReviewClick","onContinueLearningClick","search","bannerMicrolearning","score","questionsToReview","totalContents","bannerMicrolearningAction","action","descriptionRef","isDescriptionTruncated","setIsDescriptionTruncated","showMore","setShowMore","handleShowMore","current","clientHeight","scrollHeight","Description","ref","className","truncate","ProgressBar","progressBarColor","cm_positive_500","inlineProgressStyle","progressBarRow","progressBarWrapper","progress","role","progressInformationNumber","toFixed","hasDescription","Boolean","trim","length","backgroundContainer","container","topSection","_isNil","backButton","tooltipPlacement","mainSection","leftSide","gap","padding","rightSide","skillFocusBadge","purple_100","faSize","wrapperSize","skillBadge","cm_grey_100","Fragment","showMoreWrapper","skillInformation","dangerouslySetInnerHTML","__html","count","progressContainer","noDescriptionSpacing","ctaWrapper","disabled","cm_grey_700","content","oldSwitchValue","undefined","string","isRequired","shape","number","onChange","options","arrayOf","oldValue"],"sources":["../../../src/template/skill-detail/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useRef, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport {convert} from 'css-color-function';\nimport Provider from '../../atom/provider';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport IconPreview from '../../molecule/icon-preview';\nimport ButtonLink from '../../atom/button-link';\nimport CardsGrid, {CardsGridProps} from '../../organism/cards-grid';\nimport {COLORS} from '../../variables/colors';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport AllCourses from './all-courses';\nimport style from './style.css';\n\ninterface ContinueLearningButtonProps {\n ongoingCoursesAvailable?: boolean;\n onClick?: () => void;\n}\ninterface ProviderContext {\n skin: {\n common: {\n primary: string;\n secondary: string;\n };\n };\n translate: (key: string, options?: any) => string;\n}\n\nexport const ContinueLearningButton = (\n props: ContinueLearningButtonProps,\n context: ProviderContext\n) => {\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <ButtonLink\n label={ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')}\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)}\n hoverColor={COLORS.white}\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: COLORS.white,\n size: 14\n }\n }}\n onClick={onClick}\n />\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\ninterface Metrics {\n score?: number;\n questionsToReview?: number;\n totalContents?: number;\n}\n\ntype BannerMicrolearning =\n | Record<string, never>\n | {\n action: () => void;\n oldSwitchValue: boolean;\n };\ninterface SkillDetailProps {\n title: string;\n icon: {name: string; color: string};\n skillRef: string;\n description?: string;\n metrics?: Metrics;\n focused?: boolean;\n availableForReview?: boolean;\n ongoingCoursesAvailable?: boolean;\n skillIncludedCourses: CardsGridProps;\n filters: {\n onChange?: () => void;\n options?: unknown[];\n };\n onBackClick?: () => void;\n onReviewClick?: () => void;\n onContinueLearningClick?: () => void;\n search: {\n oldValue: string;\n onChange: () => void;\n };\n bannerMicrolearning?: BannerMicrolearning;\n}\nconst SkillDetail = (props: SkillDetailProps, context: ProviderContext) => {\n const {\n title,\n icon: {color: iconColor, name: iconName},\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCoursesAvailable,\n skillIncludedCourses,\n filters,\n onBackClick,\n onReviewClick,\n onContinueLearningClick,\n search,\n bannerMicrolearning\n } = props;\n\n const {score = 0, questionsToReview = 0, totalContents = 0} = metrics;\n const {translate} = context;\n const bannerMicrolearningAction = bannerMicrolearning?.action;\n const descriptionRef = useRef(null);\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => {\n setShowMore(!showMore);\n }, [showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n data-testid=\"skill-description\"\n className={classnames(style.description, !showMore && style.truncate)}\n >\n {description ? <Markdown>{description}</Markdown> : null}\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (typeof score !== 'number') return null;\n\n const progressBarColor = COLORS.cm_positive_500;\n const inlineProgressStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarRow}>\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressStyle}\n role=\"progressbar\"\n aria-valuenow={score}\n aria-valuemin={0}\n aria-valuemax={100}\n />\n </div>\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n );\n }, [score]);\n const hasDescription = Boolean(description && description.trim().length > 0);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n {/* Top section for the back arrow (optional) */}\n <div className={style.topSection}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n </div>\n\n {/* Main section: icon on the left, skill info on the right */}\n <div className={style.mainSection}>\n <div className={style.leftSide}>\n <IconPreview\n icon={{\n name: iconName,\n color: iconColor\n }}\n title={title}\n customStyle={{gap: 24, padding: '50px 49px 50px 50px'}}\n />\n </div>\n <div className={style.rightSide}>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor={COLORS.purple_100}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill_focus')}\n </div>\n ) : (\n <div className={style.skillBadge}>\n <Icon\n iconName=\"shapes\"\n backgroundColor={COLORS.cm_grey_100}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill')}\n </div>\n )}\n\n <h2 className={style.title}>{title}</h2>\n\n {description && (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 14}}\n customStyle={{padding: '8px'}}\n />\n </div>\n ) : null}\n </>\n )}\n\n {questionsToReview > 0 ? (\n <div className={style.skillInformation}>\n <span\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{\n __html: translate('skill_chart_side_panel_questions_to_review', {\n count: questionsToReview\n })\n }}\n />\n </div>\n ) : null}\n\n <div\n className={classnames(\n style.progressContainer,\n !hasDescription && style.noDescriptionSpacing\n )}\n >\n <ProgressBar />\n </div>\n\n <div className={style.ctaWrapper}>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n <ButtonLink\n type=\"secondary\"\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n onClick={onReviewClick}\n icon={{\n position: 'left',\n faIcon: {\n name: 'rotate-right',\n color: COLORS.cm_grey_700,\n size: 14\n }\n }}\n customStyle={{borderRadius: '12px', width: 'fit-content'}}\n />\n </div>\n </div>\n </div>\n\n {/* Courses section below */}\n <AllCourses\n content={skillIncludedCourses}\n filters={filters}\n totalContents={totalContents}\n bannerMicrolearning={\n bannerMicrolearning && bannerMicrolearningAction\n ? {\n type: 'skill',\n action: bannerMicrolearningAction,\n oldSwitchValue: bannerMicrolearning.oldSwitchValue\n }\n : undefined\n }\n search={search}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n icon: PropTypes.shape({\n name: PropTypes.string,\n color: PropTypes.string\n }).isRequired,\n skillRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n questionsToReview: PropTypes.number,\n totalContents: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCoursesAvailable: PropTypes.bool,\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func,\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n }),\n bannerMicrolearning: PropTypes.shape({\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n })\n};\n\nexport default SkillDetail;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/range/index.js"],"names":[],"mappings":";AAyFA;IACE;;;;;;;;;;;;;;;;;;;;;;MAcE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF;;;MAIC;IAED,sCAYC;IAVC;;;;MAGC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/range/index.js"],"names":[],"mappings":";AAyFA;IACE;;;;;;;;;;;;;;;;;;;;;;MAcE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF;;;MAIC;IAED,sCAYC;IAVC;;;;MAGC;IA4EH,0BAkBC;IArFD,8BAEC;IAiBD,8BAKC;IAED,8BAKC;IAED,iCAKC;IAED,iCAKC;IA5CC,WAAkB;IAGpB,8CAGC;IAED,gCAQC;IA8BD,8DAWC;IAED,iDAKC;IAsBD,4BA2FC;CACF"}
|
package/lib/atom/range/index.js
CHANGED
|
@@ -123,10 +123,14 @@ class Range extends _react.default.Component {
|
|
|
123
123
|
}
|
|
124
124
|
roundToStep(value) {
|
|
125
125
|
const {
|
|
126
|
-
step
|
|
126
|
+
step
|
|
127
127
|
} = this.props;
|
|
128
128
|
const precision = 10;
|
|
129
|
-
|
|
129
|
+
if (!step) {
|
|
130
|
+
return Number(value.toFixed(precision));
|
|
131
|
+
} else {
|
|
132
|
+
return Number((Math.round(value / step) * step).toFixed(precision));
|
|
133
|
+
}
|
|
130
134
|
}
|
|
131
135
|
handleMinChange(e) {
|
|
132
136
|
e.srcEvent.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_provider","_handle","_style","e","__esModule","default","valueOnTrack","track","x","left","right","getBoundingClientRect","_clamp2","extractStateFromProps","props","multi","value","min","max","toNormalized","actualValue","normalizedValue","Array","isArray","map","RenderHandles","pending","onHandleMinChange","onHandleMinChangeEnd","onHandleMaxChange","onHandleMaxChangeEnd","HammerForTestingMin","HammerForTestingMax","createElement","className","style","handle","animatedHandle","axis","onPan","onPanEnd","HammerForTesting","propTypes","process","env","NODE_ENV","PropTypes","number","bool","func","Handle","Range","React","Component","contextTypes","skin","Provider","childContextTypes","getDerivedStateFromProps","state","constructor","context","handleClick","bind","setRefTrack","handleMinChange","handleMaxChange","handleMinChangeEnd","handleMaxChangeEnd","normalizedToActual","roundToStep","step","precision","Number","Math","round","toFixed","srcEvent","stopPropagation","preventDefault","newValue","center","handleChange","valueIndex","prevValue","_set2","minValue","maxValue","nextValue","triggerChange","setState","newValues","onChange","_noop2","onChangeEnd","actualValues","val","clientX","isClickToTheLeft","closestHandle","abs","render","theme","minLabel","maxLabel","minValueLabel","maxValueLabel","railWidth","railLeft","primaryColor","_getOr2","railStyle","backgroundColor","width","minActualValue","maxActualValue","sliderComponent","container","ref","rail","animatedRail","containerWrapper","onClick","inputsRow","moocInput","inputHint","inputValue","oneOf","string","_default","exports"],"sources":["../../../src/atom/range/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, set, clamp, getOr} from 'lodash/fp';\nimport Provider from '../provider';\nimport Handle from './handle';\nimport style from './style.css';\n\nconst valueOnTrack = (track, x) => {\n const {left, right} = track.getBoundingClientRect();\n return clamp(0, 1, (x - left) / (right - left));\n};\n\nconst extractStateFromProps = props => {\n const {multi = false, value = multi ? [0, 1] : 0, min = 0, max = 1} = props;\n\n const toNormalized = actualValue => (actualValue - min) / (max - min);\n\n let normalizedValue;\n if (multi) {\n normalizedValue = Array.isArray(value)\n ? value.map(toNormalized)\n : [toNormalized(0), toNormalized(value)];\n } else {\n normalizedValue = toNormalized(value);\n }\n\n return {\n multi,\n value: multi ? normalizedValue : [0, normalizedValue]\n };\n};\n\nconst RenderHandles = props => {\n const {\n left,\n right,\n multi = false,\n pending,\n onHandleMinChange,\n onHandleMinChangeEnd,\n onHandleMaxChange,\n onHandleMaxChangeEnd,\n HammerForTestingMin,\n HammerForTestingMax\n } = props;\n\n return (\n <div data-testid=\"handles\">\n {multi ? (\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${left * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMinChange}\n onPanEnd={onHandleMinChangeEnd}\n HammerForTesting={HammerForTestingMin}\n />\n </span>\n ) : null}\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${right * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMaxChange}\n onPanEnd={onHandleMaxChangeEnd}\n HammerForTesting={HammerForTestingMax}\n />\n </span>\n </div>\n );\n};\n\nRenderHandles.propTypes = {\n left: PropTypes.number,\n right: PropTypes.number,\n multi: PropTypes.bool,\n pending: PropTypes.bool,\n onHandleMinChange: PropTypes.func,\n onHandleMinChangeEnd: PropTypes.func,\n onHandleMaxChange: PropTypes.func,\n onHandleMaxChangeEnd: PropTypes.func,\n HammerForTestingMin: Handle.propTypes.HammerForTesting,\n HammerForTestingMax: Handle.propTypes.HammerForTesting\n};\n\nclass Range extends React.Component {\n static propTypes = {\n onChange: PropTypes.func,\n onChangeEnd: PropTypes.func,\n multi: PropTypes.bool,\n theme: PropTypes.oneOf(['default', 'mooc']),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string,\n minValueLabel: PropTypes.string,\n maxValueLabel: PropTypes.string,\n HammerForTestingMin: RenderHandles.propTypes.HammerForTestingMin,\n HammerForTestingMax: RenderHandles.propTypes.HammerForTestingMax\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n static getDerivedStateFromProps(props, state) {\n const {pending} = state;\n if (pending) return null;\n return extractStateFromProps(props);\n }\n\n constructor(props, context) {\n super(props, context);\n this.state = {\n ...extractStateFromProps(props),\n pending: false\n };\n this.handleClick = this.handleClick.bind(this);\n this.setRefTrack = this.setRefTrack.bind(this);\n this.handleMinChange = this.handleMinChange.bind(this);\n this.handleMaxChange = this.handleMaxChange.bind(this);\n this.handleMinChangeEnd = this.handleMinChangeEnd.bind(this);\n this.handleMaxChangeEnd = this.handleMaxChangeEnd.bind(this);\n }\n\n setRefTrack(track) {\n this.track = track;\n }\n\n normalizedToActual(normalizedValue) {\n const {min = 0, max = 1} = this.props;\n return min + normalizedValue * (max - min);\n }\n\n roundToStep(value) {\n const {step = 0.1} = this.props;\n const precision = 10;\n return Number((Math.round(value / step) * step).toFixed(precision));\n }\n\n handleMinChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, true);\n }\n\n handleMaxChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, true);\n }\n\n handleMinChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, false);\n }\n\n handleMaxChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, false);\n }\n\n handleChange(value, valueIndex, pending) {\n const {value: prevValue} = this.state;\n const newValue = set(valueIndex, value, prevValue);\n const [minValue, maxValue] = newValue;\n const nextValue = minValue > maxValue ? prevValue : newValue;\n\n this.triggerChange(nextValue, pending);\n return this.setState({\n pending,\n value: pending ? nextValue : extractStateFromProps(this.props).value\n });\n }\n\n triggerChange(newValues, pending) {\n const {onChange = noop, onChangeEnd = onChange, multi = false} = this.props;\n const handle = pending ? onChange : onChangeEnd;\n const actualValues = newValues.map(val => this.roundToStep(this.normalizedToActual(val)));\n return handle(multi ? actualValues : actualValues[1]);\n }\n\n handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n const {\n value: [left, right],\n multi\n } = this.state;\n const newValue = valueOnTrack(this.track, e.clientX);\n\n if (!multi) return this.handleChange(newValue, 1, false);\n\n if (left === right) {\n const isClickToTheLeft = left - newValue > 0;\n return this.handleChange(newValue, isClickToTheLeft ? 0 : 1, false);\n }\n\n const closestHandle = Math.abs(newValue - left) < Math.abs(newValue - right) ? 0 : 1;\n return this.handleChange(newValue, closestHandle, false);\n }\n\n render() {\n const {\n multi = false,\n value: [left, right],\n pending\n } = this.state;\n const {\n theme = 'default',\n minLabel = 'Min',\n maxLabel = 'Max',\n min,\n max,\n minValueLabel,\n maxValueLabel,\n HammerForTestingMin,\n HammerForTestingMax\n } = this.props;\n\n const railWidth = right - left;\n const railLeft = left;\n\n const {skin} = this.context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n const railStyle =\n theme === 'mooc'\n ? {\n backgroundColor: primaryColor,\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n }\n : {\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n };\n\n const minActualValue = this.roundToStep(this.normalizedToActual(left));\n const maxActualValue = this.roundToStep(this.normalizedToActual(right));\n\n const sliderComponent = (\n <div className={style.container}>\n <div\n data-testid=\"track\"\n className={style.track}\n data-name=\"sliderTrack\"\n ref={this.setRefTrack}\n />\n <div className={pending ? style.rail : style.animatedRail} style={railStyle} />\n <RenderHandles\n HammerForTestingMin={HammerForTestingMin}\n HammerForTestingMax={HammerForTestingMax}\n left={left}\n right={right}\n pending={pending}\n multi={multi}\n onHandleMinChange={this.handleMinChange}\n onHandleMinChangeEnd={this.handleMinChangeEnd}\n onHandleMaxChange={this.handleMaxChange}\n onHandleMaxChangeEnd={this.handleMaxChangeEnd}\n />\n </div>\n );\n\n if (theme === 'mooc') {\n return (\n <div data-testid=\"slider\" className={style.containerWrapper}>\n <div onClick={this.handleClick}>{sliderComponent}</div>\n <div className={style.inputsRow}>\n {multi ? (\n <div className={style.moocInput} data-testid=\"min-value\">\n <span className={style.inputHint}>{minLabel}</span>\n <span className={style.inputValue}>\n {minActualValue === min && !!minValueLabel ? minValueLabel : minActualValue}\n </span>\n </div>\n ) : null}\n <div className={style.moocInput} data-testid=\"max-value\">\n <span className={style.inputHint}>{maxLabel}</span>\n <span className={style.inputValue}>\n {maxActualValue === max && !!maxValueLabel ? maxValueLabel : maxActualValue}\n </span>\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div data-testid=\"slider\" className={style.containerWrapper} onClick={this.handleClick}>\n {sliderComponent}\n </div>\n );\n }\n}\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_provider","_handle","_style","e","__esModule","default","valueOnTrack","track","x","left","right","getBoundingClientRect","_clamp2","extractStateFromProps","props","multi","value","min","max","toNormalized","actualValue","normalizedValue","Array","isArray","map","RenderHandles","pending","onHandleMinChange","onHandleMinChangeEnd","onHandleMaxChange","onHandleMaxChangeEnd","HammerForTestingMin","HammerForTestingMax","createElement","className","style","handle","animatedHandle","axis","onPan","onPanEnd","HammerForTesting","propTypes","process","env","NODE_ENV","PropTypes","number","bool","func","Handle","Range","React","Component","contextTypes","skin","Provider","childContextTypes","getDerivedStateFromProps","state","constructor","context","handleClick","bind","setRefTrack","handleMinChange","handleMaxChange","handleMinChangeEnd","handleMaxChangeEnd","normalizedToActual","roundToStep","step","precision","Number","toFixed","Math","round","srcEvent","stopPropagation","preventDefault","newValue","center","handleChange","valueIndex","prevValue","_set2","minValue","maxValue","nextValue","triggerChange","setState","newValues","onChange","_noop2","onChangeEnd","actualValues","val","clientX","isClickToTheLeft","closestHandle","abs","render","theme","minLabel","maxLabel","minValueLabel","maxValueLabel","railWidth","railLeft","primaryColor","_getOr2","railStyle","backgroundColor","width","minActualValue","maxActualValue","sliderComponent","container","ref","rail","animatedRail","containerWrapper","onClick","inputsRow","moocInput","inputHint","inputValue","oneOf","string","_default","exports"],"sources":["../../../src/atom/range/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, set, clamp, getOr} from 'lodash/fp';\nimport Provider from '../provider';\nimport Handle from './handle';\nimport style from './style.css';\n\nconst valueOnTrack = (track, x) => {\n const {left, right} = track.getBoundingClientRect();\n return clamp(0, 1, (x - left) / (right - left));\n};\n\nconst extractStateFromProps = props => {\n const {multi = false, value = multi ? [0, 1] : 0, min = 0, max = 1} = props;\n\n const toNormalized = actualValue => (actualValue - min) / (max - min);\n\n let normalizedValue;\n if (multi) {\n normalizedValue = Array.isArray(value)\n ? value.map(toNormalized)\n : [toNormalized(0), toNormalized(value)];\n } else {\n normalizedValue = toNormalized(value);\n }\n\n return {\n multi,\n value: multi ? normalizedValue : [0, normalizedValue]\n };\n};\n\nconst RenderHandles = props => {\n const {\n left,\n right,\n multi = false,\n pending,\n onHandleMinChange,\n onHandleMinChangeEnd,\n onHandleMaxChange,\n onHandleMaxChangeEnd,\n HammerForTestingMin,\n HammerForTestingMax\n } = props;\n\n return (\n <div data-testid=\"handles\">\n {multi ? (\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${left * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMinChange}\n onPanEnd={onHandleMinChangeEnd}\n HammerForTesting={HammerForTestingMin}\n />\n </span>\n ) : null}\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${right * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMaxChange}\n onPanEnd={onHandleMaxChangeEnd}\n HammerForTesting={HammerForTestingMax}\n />\n </span>\n </div>\n );\n};\n\nRenderHandles.propTypes = {\n left: PropTypes.number,\n right: PropTypes.number,\n multi: PropTypes.bool,\n pending: PropTypes.bool,\n onHandleMinChange: PropTypes.func,\n onHandleMinChangeEnd: PropTypes.func,\n onHandleMaxChange: PropTypes.func,\n onHandleMaxChangeEnd: PropTypes.func,\n HammerForTestingMin: Handle.propTypes.HammerForTesting,\n HammerForTestingMax: Handle.propTypes.HammerForTesting\n};\n\nclass Range extends React.Component {\n static propTypes = {\n onChange: PropTypes.func,\n onChangeEnd: PropTypes.func,\n multi: PropTypes.bool,\n theme: PropTypes.oneOf(['default', 'mooc']),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string,\n minValueLabel: PropTypes.string,\n maxValueLabel: PropTypes.string,\n HammerForTestingMin: RenderHandles.propTypes.HammerForTestingMin,\n HammerForTestingMax: RenderHandles.propTypes.HammerForTestingMax\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n static getDerivedStateFromProps(props, state) {\n const {pending} = state;\n if (pending) return null;\n return extractStateFromProps(props);\n }\n\n constructor(props, context) {\n super(props, context);\n this.state = {\n ...extractStateFromProps(props),\n pending: false\n };\n this.handleClick = this.handleClick.bind(this);\n this.setRefTrack = this.setRefTrack.bind(this);\n this.handleMinChange = this.handleMinChange.bind(this);\n this.handleMaxChange = this.handleMaxChange.bind(this);\n this.handleMinChangeEnd = this.handleMinChangeEnd.bind(this);\n this.handleMaxChangeEnd = this.handleMaxChangeEnd.bind(this);\n }\n\n setRefTrack(track) {\n this.track = track;\n }\n\n normalizedToActual(normalizedValue) {\n const {min = 0, max = 1} = this.props;\n return min + normalizedValue * (max - min);\n }\n\n roundToStep(value) {\n const {step} = this.props;\n const precision = 10;\n if (!step) {\n return Number(value.toFixed(precision));\n } else {\n return Number((Math.round(value / step) * step).toFixed(precision));\n }\n }\n\n handleMinChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, true);\n }\n\n handleMaxChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, true);\n }\n\n handleMinChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, false);\n }\n\n handleMaxChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, false);\n }\n\n handleChange(value, valueIndex, pending) {\n const {value: prevValue} = this.state;\n const newValue = set(valueIndex, value, prevValue);\n const [minValue, maxValue] = newValue;\n const nextValue = minValue > maxValue ? prevValue : newValue;\n\n this.triggerChange(nextValue, pending);\n return this.setState({\n pending,\n value: pending ? nextValue : extractStateFromProps(this.props).value\n });\n }\n\n triggerChange(newValues, pending) {\n const {onChange = noop, onChangeEnd = onChange, multi = false} = this.props;\n const handle = pending ? onChange : onChangeEnd;\n const actualValues = newValues.map(val => this.roundToStep(this.normalizedToActual(val)));\n return handle(multi ? actualValues : actualValues[1]);\n }\n\n handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n const {\n value: [left, right],\n multi\n } = this.state;\n const newValue = valueOnTrack(this.track, e.clientX);\n\n if (!multi) return this.handleChange(newValue, 1, false);\n\n if (left === right) {\n const isClickToTheLeft = left - newValue > 0;\n return this.handleChange(newValue, isClickToTheLeft ? 0 : 1, false);\n }\n\n const closestHandle = Math.abs(newValue - left) < Math.abs(newValue - right) ? 0 : 1;\n return this.handleChange(newValue, closestHandle, false);\n }\n\n render() {\n const {\n multi = false,\n value: [left, right],\n pending\n } = this.state;\n const {\n theme = 'default',\n minLabel = 'Min',\n maxLabel = 'Max',\n min,\n max,\n minValueLabel,\n maxValueLabel,\n HammerForTestingMin,\n HammerForTestingMax\n } = this.props;\n\n const railWidth = right - left;\n const railLeft = left;\n\n const {skin} = this.context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n const railStyle =\n theme === 'mooc'\n ? {\n backgroundColor: primaryColor,\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n }\n : {\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n };\n\n const minActualValue = this.roundToStep(this.normalizedToActual(left));\n const maxActualValue = this.roundToStep(this.normalizedToActual(right));\n\n const sliderComponent = (\n <div className={style.container}>\n <div\n data-testid=\"track\"\n className={style.track}\n data-name=\"sliderTrack\"\n ref={this.setRefTrack}\n />\n <div className={pending ? style.rail : style.animatedRail} style={railStyle} />\n <RenderHandles\n HammerForTestingMin={HammerForTestingMin}\n HammerForTestingMax={HammerForTestingMax}\n left={left}\n right={right}\n pending={pending}\n multi={multi}\n onHandleMinChange={this.handleMinChange}\n onHandleMinChangeEnd={this.handleMinChangeEnd}\n onHandleMaxChange={this.handleMaxChange}\n onHandleMaxChangeEnd={this.handleMaxChangeEnd}\n />\n </div>\n );\n\n if (theme === 'mooc') {\n return (\n <div data-testid=\"slider\" className={style.containerWrapper}>\n <div onClick={this.handleClick}>{sliderComponent}</div>\n <div className={style.inputsRow}>\n {multi ? (\n <div className={style.moocInput} data-testid=\"min-value\">\n <span className={style.inputHint}>{minLabel}</span>\n <span className={style.inputValue}>\n {minActualValue === min && !!minValueLabel ? minValueLabel : minActualValue}\n </span>\n </div>\n ) : null}\n <div className={style.moocInput} data-testid=\"max-value\">\n <span className={style.inputHint}>{maxLabel}</span>\n <span className={style.inputValue}>\n {maxActualValue === max && !!maxValueLabel ? maxValueLabel : maxActualValue}\n </span>\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div data-testid=\"slider\" className={style.containerWrapper} onClick={this.handleClick}>\n {sliderComponent}\n </div>\n );\n }\n}\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA2BvE,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAoQtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA2BvE,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAoQtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,sBAwErC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -274,11 +274,13 @@ const Slide = props => {
|
|
|
274
274
|
} = slide;
|
|
275
275
|
if (loading) {
|
|
276
276
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
277
|
-
style: slideStyle.slide
|
|
277
|
+
style: slideStyle.slide,
|
|
278
|
+
pointerEvents: isFirstSlide ? 'auto' : 'none'
|
|
278
279
|
});
|
|
279
280
|
}
|
|
280
281
|
return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
|
|
281
|
-
style: [slideStyle.slide, animatedStyle]
|
|
282
|
+
style: [slideStyle.slide, animatedStyle],
|
|
283
|
+
pointerEvents: isFirstSlide ? 'auto' : 'none'
|
|
282
284
|
}, /*#__PURE__*/_react.default.createElement(Question, {
|
|
283
285
|
questionOrigin: parentContentTitle,
|
|
284
286
|
questionText: questionText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["_react","_interopRequireWildcard","require","_reactNative","_get","_interopRequireDefault","_getOr","_reactNativeAnimation","_index","_index2","_templateContext","_index3","_propTypes","_index4","_index5","_useMobileKeyboardVisibility","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","styles","StyleSheet","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","TYPE_VIDEO","createElement","View","style","TYPE_IMAGE","uri","url","split","Image","source","TYPE_AUDIO","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","useTranslateY","fromValue","toValue","duration","easing","Easing","bezier","useEffect","start","klf","getOr","undefined","information","label","message","next","onClick","_correctionPopinProps","resultLabel","animatedStyle","Animated","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","useTemplateContext","setStyle","useState","questionStyle","hasVideoOrImage","includes","Fragment","isTextCentered","ScrollView","contentContainerStyle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","useMobileKeyboardVisibility","handleValidatePress","useCallback","Keyboard","dismiss","setTimeout","useWindowDimensions","slideStyle","useMemo","isFirstSlide","loading","parentContentTitle","key","disabled","submitValue","onPress","testID","_default","exports"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport useMobileKeyboardVisibility from '../../util/use-mobile-keyboard-visibility';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: TextStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAYA,IAAAE,IAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,qBAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,OAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AAEA,IAAAS,OAAA,GAAAN,sBAAA,CAAAH,OAAA;AACA,IAAAU,UAAA,GAAAV,OAAA;AACA,IAAAW,OAAA,GAAAR,sBAAA,CAAAH,OAAA;AAEA,IAAAY,OAAA,GAAAT,sBAAA,CAAAH,OAAA;AACA,IAAAa,4BAAA,GAAAV,sBAAA,CAAAH,OAAA;AAAoF,SAAAG,uBAAAW,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAGpF,MAAMW,MAAM,GAAGC,uBAAU,CAACC,MAAM,CAAC;EAC/BC,cAAc,EAAE;IACdC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,GAAG;IACXC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACDC,KAAK,EAAE;IACLC,IAAI,EAAE,CAAC;IACPL,KAAK,EAAE;EACT,CAAC;EACDM,sBAAsB,EAAE;IACtBC,QAAQ,EAAE,UAAU;IACpBC,MAAM,EAAE,EAAE;IACVR,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEF,MAAMS,SAAS,GAAGA,CAAC;EAACC,KAAK;EAAEC;AAA4C,CAAC,KAAK;EAC3E,IAAI,CAACD,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEA,QAAQA,KAAK,CAACE,IAAI;IAChB,KAAKC,qBAAU;MACb,oBACEvD,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAsD,IAAI;QAACC,KAAK,EAAEtB,MAAM,CAACG;MAAe,gBACjCvC,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAAC3C,OAAA,CAAAK,OAAK;QAACkC,KAAK,EAAEA,KAAM;QAACC,QAAQ,EAAEA;MAAS,CAAE,CACtC,CAAC;IAEX,KAAKM,qBAAU;MAAE;QACf,MAAMC,GAAG,GAAG,WAAWR,KAAK,CAACS,GAAG,EAAEC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;QAClD,oBAAO9D,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAA4D,KAAK;UAACL,KAAK,EAAE,CAACtB,MAAM,CAACG,cAAc,EAAEH,MAAM,CAACU,KAAK,CAAE;UAACkB,MAAM,EAAE;YAACJ;UAAG;QAAE,CAAE,CAAC;MAC/E;IACA,KAAKK,qBAAU;IACf;MACE,OAAO,IAAI;EACf;AACF,CAAC;AAED,MAAMC,eAAe,GAAGA,CAAC;EACvBC,oBAAoB;EACpBC,UAAU;EACVC,mBAAmB;EACnBC;AACU,CAAC,KAAK;EAChB,MAAMC,WAAW,GAAG,IAAAC,mCAAa,EAAC;IAChCC,SAAS,EAAE,GAAG;IACdC,OAAO,EAAE,CAAC;IACVC,QAAQ,EAAE,GAAG;IACbC,MAAM,EAAEC,mBAAM,CAACC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;EAC3C,CAAC,CAAC;;EAEF;EACA;EACA,IAAAC,gBAAS,EAAC,MAAMR,WAAW,CAACS,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;EAExC,IAAI,CAACX,mBAAmB,EAAE,OAAO,IAAI;EAErC,MAAMY,GAAG,GAAG,IAAAC,cAAK,EAACC,SAAS,EAAE,KAAK,EAAEhB,oBAAoB,CAAC;EACzD,MAAMiB,WAAW,GAAG,IAAAF,cAAK,EAAC;IAACG,KAAK,EAAE,EAAE;IAAEC,OAAO,EAAE;EAAE,CAAC,EAAE,aAAa,EAAEnB,oBAAoB,CAAC;EACxF,MAAMoB,IAAI,GAAG,IAAA/D,YAAG,EAAC,MAAM,EAAE2C,oBAAoB,CAAC;EAC9C,MAAMqB,OAAO,GAAG,IAAAhE,YAAG,EAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE2C,oBAAoB,CAAC;EAE9D,MAAMsB,qBAAqB,GAAG;IAC5BF,IAAI,EAAE;MACJC,OAAO;MACPH,KAAK,EAAEE,IAAI,IAAIA,IAAI,CAACF,KAAK;MACzB,WAAW,EAAE,wBAAwBjB,UAAU,EAAE;MACjD,YAAY,EAAEmB,IAAI,IAAIA,IAAI,CAAC,YAAY;IACzC,CAAC;IACDN,GAAG;IACHG,WAAW;IACX9B,IAAI,EAAEa,oBAAoB,CAACb,IAAI;IAC/BoC,WAAW,EAAEvB,oBAAoB,CAACuB;EACpC,CAAC;EAED,MAAMhC,KAAK,GAAGY,sBAAsB,GAChC,CAAClC,MAAM,CAACY,sBAAsB,EAAEuB,WAAW,CAACoB,aAAa,CAAC,GAC1DvD,MAAM,CAACY,sBAAsB;EAEjC,oBACEhD,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAyF,QAAQ,CAACnC,IAAI;IAACC,KAAK,EAAEA;EAAM,gBAC1B1D,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAAC/C,OAAA,CAAAS,OAAqB,EAAKuE,qBAAwB,CACtC,CAAC;AAEpB,CAAC;AAcD,MAAMI,mBAAmB,GAAIC,KAAY,IACvCzD,uBAAU,CAACC,MAAM,CAAC;EAChByD,eAAe,EAAE;IACftD,cAAc,EAAE,eAAe;IAC/BD,UAAU,EAAE;EACd,CAAC;EACDwD,uBAAuB,EAAE;IACvBC,YAAY,EAAEH,KAAK,CAACI,OAAO,CAACC,IAAI;IAChCC,SAAS,EAAEN,KAAK,CAACI,OAAO,CAACG;EAC3B,CAAC;EACDC,cAAc,EAAE;IACdC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,KAAK,EAAEX,KAAK,CAACY,MAAM,CAACC,IAAI,CAACC,OAAO;IAChCC,SAAS,EAAE;EACb,CAAC;EACDC,qBAAqB,EAAE;IACrBC,cAAc,EAAE,CAAC;IACjBF,SAAS,EAAE;EACb,CAAC;EACDG,YAAY,EAAE;IACZT,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdS,UAAU,EAAE,KAAK;IACjBR,KAAK,EAAEX,KAAK,CAACY,MAAM,CAACC,IAAI,CAACC;EAC3B,CAAC;EACDM,qBAAqB,EAAE;IACrBH,cAAc,EAAE;EAClB,CAAC;EACDI,YAAY,EAAE;IACZZ,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,EAAE;IACdC,KAAK,EAAEX,KAAK,CAACY,MAAM,CAACU,IAAI,CAACC,MAAM;IAC/BpB,YAAY,EAAE,CAAC;IACfG,SAAS,EAAEN,KAAK,CAACI,OAAO,CAACG,KAAK;IAC9BQ,SAAS,EAAE;EACb,CAAC;EACDS,iBAAiB,EAAE;IACjBlB,SAAS,EAAE,EAAE;IACb1D,KAAK,EAAE;EACT,CAAC;EACD6E,oBAAoB,EAAE;IACpBC,QAAQ,EAAE,CAAC;IACX/E,cAAc,EAAE,cAAc;IAC9BgF,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAUJ,MAAMC,QAAQ,GAAIC,KAAoB,IAAK;EACzC,MAAM;IACJC,QAAQ;IACRZ,YAAY;IACZV,cAAc,GAAG,EAAE;IACnBuB,iBAAiB;IACjBC,aAAa,GAAG;EAClB,CAAC,GAAGH,KAAK;EACT,MAAM;IAAC7B;EAAK,CAAC,GAAG,IAAAiC,mCAAkB,EAAC,CAAC;EACpC,MAAM,CAACrE,KAAK,EAAEsE,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAiB,CAAC;EAEpD,IAAAlD,gBAAS,EAAC,MAAM;IACd,MAAMmD,aAAa,GAAGrC,mBAAmB,CAACC,KAAK,CAAC;IAChDkC,QAAQ,CAACE,aAAa,CAAC;EACzB,CAAC,EAAE,CAACpC,KAAK,CAAC,CAAC;EAEX,IAAI,CAAC8B,QAAQ,IAAI,CAACZ,YAAY,IAAI,CAACtD,KAAK,EAAE,OAAO,IAAI;EAErD,MAAMyE,eAAe,GACnBP,QAAQ,CAACxE,KAAK,EAAEE,IAAI,IAAI,CAACC,qBAAU,EAAEI,qBAAU,CAAC,CAACyE,QAAQ,CAACR,QAAQ,CAACxE,KAAK,CAACE,IAAI,CAAC;EAEhF,oBACEtD,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAAAxD,MAAA,CAAAkB,OAAA,CAAAmH,QAAA,qBACErI,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAsD,IAAI;IAACC,KAAK,EAAEA,KAAK,CAACqC;EAAgB,gBACjC/F,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAsD,IAAI;IAACC,KAAK,EAAEA,KAAK,CAACsC;EAAwB,gBACzChG,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAAC1C,OAAA,CAAAI,OAAI;IAACwC,KAAK,EAAEA,KAAK,CAAC4C,cAAe;IAACgC,cAAc;EAAA,GAC9ChC,cACG,CACF,CAAC,eACPtG,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAsD,IAAI;IAACC,KAAK,EAAEA,KAAK,CAACoD;EAAsB,gBACvC9G,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAAC1C,OAAA,CAAAI,OAAI;IAACwC,KAAK,EAAEA,KAAK,CAACsD,YAAa;IAACsB,cAAc;EAAA,GAC5CtB,YACG,CACF,CAAC,eACPhH,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAsD,IAAI;IAACC,KAAK,EAAEA,KAAK,CAACwD;EAAsB,gBACvClH,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAAC1C,OAAA,CAAAI,OAAI;IAACwC,KAAK,EAAEA,KAAK,CAACyD;EAAa,GAAE,IAAA3F,YAAG,EAAC,MAAM,EAAEoG,QAAQ,CAAQ,CAC1D,CACF,CAAC,eACP5H,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAoI,UAAU;IACT7E,KAAK,EAAEA,KAAK,CAAC4D,iBAAkB;IAC/BkB,qBAAqB,EAAE9E,KAAK,CAAC6D,oBAAqB;IAClDkB,8BAA8B,EAAE,KAAM;IACtCC,4BAA4B,EAAE;EAAM,GAEnC,CAACb,iBAAiB,IAAIM,eAAe,gBACpCnI,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACL,SAAS;IAACC,KAAK,EAAEwE,QAAQ,CAACxE,KAAM;IAACC,QAAQ,EAAEyE;EAAc,CAAE,CAAC,GAC3D,IAAI,eACR9H,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAsD,IAAI;IACHC,KAAK,EAAE;MACL0C,SAAS,EAAE+B,eAAe,GAAG,EAAE,GAAG;IACpC;EAAE,gBAEFnI,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAAChD,MAAA,CAAAU,OAAM,EAAK0G,QAAW,CACnB,CACI,CACZ,CAAC;AAEP,CAAC;AAOD,MAAMe,gBAAgB,GAAGA,CACvBC,GAAW,EACXC,WAAmB,EACnBhB,iBAA0B,KACX;EACf,MAAMiB,UAAU,GAAGD,WAAW,GAAG,EAAE,GAAGD,GAAG,GAAG,CAAC;EAE7C,OAAOvG,uBAAU,CAACC,MAAM,CAAC;IACvByG,6BAA6B,EAAE;MAC7B9F,QAAQ,EAAE,UAAU;MACpB+F,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,GAAG,EAAE,CAAC;MACNhG,MAAM,EAAE,CAAC;MACTiG,eAAe,EAAE;IACnB,CAAC;IACDC,KAAK,EAAE;MACLnG,QAAQ,EAAE,UAAU;MACpB+F,IAAI,EAAE,EAAE,GAAGJ,GAAG,GAAG,CAAC;MAClB1F,MAAM,EAAE,CAAC2E,iBAAiB,GAAG,CAAC,GAAG,EAAE,IAAIe,GAAG,GAAG,CAAC;MAC9CO,eAAe,EAAE,MAAM;MAAE;MACzBxG,MAAM,EAAE,KAAK;MACbD,KAAK,EAAEoG,UAAU;MACjBrG,cAAc,EAAE,eAAe;MAC/BD,UAAU,EAAE,QAAQ;MACpBiF,OAAO,EAAE,EAAE;MACX4B,WAAW,EAAE,MAAM;MACnBC,YAAY,EAAE;QAAC5G,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE,CAAC;MAAC,CAAC;MACpC4G,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,EAAE;MAChBC,SAAS,EAAE,EAAE,GAAGb,GAAG,GAAG,CAAC;MACvBhG,YAAY,EAAE;IAChB;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAM8G,KAAK,GAAI/B,KAAuB,IAAK;EACzC,MAAM;IAAChC,aAAa;IAAEyD,KAAK;IAAEjF,oBAAoB;IAAEwF,cAAc;IAAEf,GAAG;IAAExE,UAAU,GAAG;EAAG,CAAC,GAAGuD,KAAK;EACjG,MAAM,CAACiC,WAAW,EAAEC,YAAY,CAAC,GAAG,IAAA5B,eAAQ,EAAU,KAAK,CAAC;EAE5D,MAAMJ,iBAAiB,GAAG,IAAAiC,oCAA2B,EAAC,CAAC;EAEvD,MAAMC,mBAAmB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC5CC,qBAAQ,CAACC,OAAO,CAAC,CAAC;IAClBL,YAAY,CAAC,IAAI,CAAC;;IAElB;IACAM,UAAU,CAAC,MAAM;MACfR,cAAc,CAACnE,OAAO,CAAC,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC;;IAEN;IACA;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAC9C;EAAK,CAAC,GAAG,IAAA0H,gCAAmB,EAAC,CAAC;EACrC,MAAMC,UAAU,GAAG,IAAAC,cAAO,EACxB,MAAM3B,gBAAgB,CAACC,GAAG,EAAElG,KAAK,EAAEmF,iBAAiB,CAAC,EACrD,CAACe,GAAG,EAAElG,KAAK,EAAEmF,iBAAiB,CAChC,CAAC;EACD,MAAM0C,YAAY,GAAG3B,GAAG,KAAK,CAAC;EAE9B,MAAM;IACJ4B,OAAO;IACPC,kBAAkB;IAClBzD,YAAY;IACZY,QAAQ;IACRvD,mBAAmB;IACnBC;EACF,CAAC,GAAG8E,KAAK;EAET,IAAIoB,OAAO,EAAE;IACX,oBAAOxK,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAsD,IAAI;MAACC,KAAK,EAAE2G,UAAU,CAACjB;IAAM,CAAE,CAAC;EAC1C;EAEA,oBACEpJ,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAyF,QAAQ,CAACnC,IAAI;IAACC,KAAK,EAAE,CAAC2G,UAAU,CAACjB,KAAK,EAAEzD,aAAa;EAAE,gBACtD3F,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACkE,QAAQ;IACPpB,cAAc,EAAEmE,kBAAmB;IACnCzD,YAAY,EAAEA,YAAa;IAC3BY,QAAQ,EAAEA,QAAS;IACnBE,aAAa,EAAEyC,YAAa;IAC5B1C,iBAAiB,EAAEA,iBAAkB;IACrC6C,GAAG,EAAC;EAAoB,CACzB,CAAC,EACD7C,iBAAiB,GAAG,IAAI,gBACvB7H,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAAC7C,OAAA,CAAAO,OAAM;IACLyJ,QAAQ,EAAEf,WAAW,IAAID,cAAc,CAACgB,QAAS;IACjDC,WAAW,EAAEjB,cAAc,CAACtE,KAAM;IAClCwF,OAAO,EAAEd,mBAAoB;IAC7Be,MAAM,EAAE,yBAAyB1G,UAAU;EAAG,CAC/C,CACF,EACAwF,WAAW,gBAAG5J,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACrD,YAAA,CAAAsD,IAAI;IAACC,KAAK,EAAE2G,UAAU,CAACtB;EAA8B,CAAE,CAAC,GAAG,IAAI,EAC9E5E,oBAAoB,gBACnBnE,MAAA,CAAAkB,OAAA,CAAAsC,aAAA,CAACU,eAAe;IACdC,oBAAoB,EAAEA,oBAAqB;IAC3CC,UAAU,EAAEA,UAAW;IACvBC,mBAAmB,EAAEA,mBAAoB;IACzCC,sBAAsB,EAAEA,sBAAuB;IAC/CoG,GAAG,EAAC;EAAkB,CACvB,CAAC,GACA,IACS,CAAC;AAEpB,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAA9J,OAAA,GAEawI,KAAK","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["_react","_interopRequireWildcard","require","_reactNative","_get","_interopRequireDefault","_getOr","_reactNativeAnimation","_index","_index2","_templateContext","_index3","_propTypes","_index4","_index5","_useMobileKeyboardVisibility","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","styles","StyleSheet","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","TYPE_VIDEO","createElement","View","style","TYPE_IMAGE","uri","url","split","Image","source","TYPE_AUDIO","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","useTranslateY","fromValue","toValue","duration","easing","Easing","bezier","useEffect","start","klf","getOr","undefined","information","label","message","next","onClick","_correctionPopinProps","resultLabel","animatedStyle","Animated","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","useTemplateContext","setStyle","useState","questionStyle","hasVideoOrImage","includes","Fragment","isTextCentered","ScrollView","contentContainerStyle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","useMobileKeyboardVisibility","handleValidatePress","useCallback","Keyboard","dismiss","setTimeout","useWindowDimensions","slideStyle","useMemo","isFirstSlide","loading","parentContentTitle","pointerEvents","key","disabled","submitValue","onPress","testID","_default","exports"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport useMobileKeyboardVisibility from '../../util/use-mobile-keyboard-visibility';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: TextStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} pointerEvents={isFirstSlide ? 'auto' : 'none'} />;\n }\n\n return (\n <Animated.View\n style={[slideStyle.slide, animatedStyle]}\n pointerEvents={isFirstSlide ? 'auto' : 'none'}\n >\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,OAAkB,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAMpE,UAAU,2BAA2B;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AACD,UAAU,eAAe;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;CACnD;AAED,eAAO,MAAM,sBAAsB;YAC1B,2BAA2B,WACzB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BzB,CAAC;AAYF,UAAU,OAAO;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,aAAK,mBAAmB,GACpB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACrB;IACE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AACN,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,EAAE,cAAc,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;KACtB,CAAC;IACF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AACD,QAAA,MAAM,WAAW;YAAW,gBAAgB,WAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,SAAS,MAAM,YAAY,CAAC;AAUnC,OAAkB,EAAC,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAMpE,UAAU,2BAA2B;IACnC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AACD,UAAU,eAAe;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;CACnD;AAED,eAAO,MAAM,sBAAsB;YAC1B,2BAA2B,WACzB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BzB,CAAC;AAYF,UAAU,OAAO;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,aAAK,mBAAmB,GACpB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACrB;IACE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AACN,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,oBAAoB,EAAE,cAAc,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,IAAI,CAAC;KACtB,CAAC;IACF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AACD,QAAA,MAAM,WAAW;YAAW,gBAAgB,WAAW,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkNrE,CAAC;AAyCF,eAAe,WAAW,CAAC"}
|
|
@@ -202,9 +202,14 @@ const SkillDetail = (props, context) => {
|
|
|
202
202
|
}
|
|
203
203
|
})) : null), questionsToReview > 0 ? /*#__PURE__*/_react.default.createElement("div", {
|
|
204
204
|
className: _style.default.skillInformation
|
|
205
|
-
}, /*#__PURE__*/_react.default.createElement("span",
|
|
206
|
-
|
|
207
|
-
|
|
205
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
206
|
+
// eslint-disable-next-line react/no-danger
|
|
207
|
+
dangerouslySetInnerHTML: {
|
|
208
|
+
__html: translate('skill_chart_side_panel_questions_to_review', {
|
|
209
|
+
count: questionsToReview
|
|
210
|
+
})
|
|
211
|
+
}
|
|
212
|
+
})) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
208
213
|
className: (0, _classnames.default)(_style.default.progressContainer, !hasDescription && _style.default.noDescriptionSpacing)
|
|
209
214
|
}, /*#__PURE__*/_react.default.createElement(ProgressBar, null)), /*#__PURE__*/_react.default.createElement("div", {
|
|
210
215
|
className: _style.default.ctaWrapper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_markdownToJsx","_cssColorFunction","_provider","_buttonLinkIcon","_icon","_iconPreview","_buttonLink","_cardsGrid","_colors","_select","_allCourses","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","_get2","createElement","label","type","customStyle","width","borderRadius","backgroundColor","hoverBackgroundColor","convert","hoverColor","COLORS","white","icon","position","faIcon","name","color","size","exports","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","bool","func","SkillDetail","title","iconColor","iconName","skillRef","description","metrics","focused","availableForReview","skillIncludedCourses","filters","onBackClick","onReviewClick","onContinueLearningClick","search","bannerMicrolearning","score","questionsToReview","totalContents","bannerMicrolearningAction","action","descriptionRef","useRef","isDescriptionTruncated","setIsDescriptionTruncated","useState","showMore","setShowMore","handleShowMore","useCallback","useEffect","current","clientHeight","scrollHeight","Description","ref","className","classnames","style","truncate","ProgressBar","progressBarColor","cm_positive_500","inlineProgressStyle","progressBarRow","progressBarWrapper","progress","role","progressInformationNumber","toFixed","hasDescription","Boolean","trim","length","backgroundContainer","container","topSection","_isNil2","backButton","tooltipPlacement","mainSection","leftSide","gap","padding","rightSide","skillFocusBadge","purple_100","faSize","wrapperSize","skillBadge","cm_grey_100","Fragment","showMoreWrapper","skillInformation","count","progressContainer","noDescriptionSpacing","ctaWrapper","disabled","cm_grey_700","content","oldSwitchValue","undefined","string","isRequired","shape","number","CardsGrid","onChange","options","arrayOf","SelectOptionPropTypes","oldValue","_default"],"sources":["../../../src/template/skill-detail/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useRef, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport {convert} from 'css-color-function';\nimport Provider from '../../atom/provider';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport IconPreview from '../../molecule/icon-preview';\nimport ButtonLink from '../../atom/button-link';\nimport CardsGrid, {CardsGridProps} from '../../organism/cards-grid';\nimport {COLORS} from '../../variables/colors';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport AllCourses from './all-courses';\nimport style from './style.css';\n\ninterface ContinueLearningButtonProps {\n ongoingCoursesAvailable?: boolean;\n onClick?: () => void;\n}\ninterface ProviderContext {\n skin: {\n common: {\n primary: string;\n secondary: string;\n };\n };\n translate: (key: string, options?: any) => string;\n}\n\nexport const ContinueLearningButton = (\n props: ContinueLearningButtonProps,\n context: ProviderContext\n) => {\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <ButtonLink\n label={ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')}\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)}\n hoverColor={COLORS.white}\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: COLORS.white,\n size: 14\n }\n }}\n onClick={onClick}\n />\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\ninterface Metrics {\n score?: number;\n questionsToReview?: number;\n totalContents?: number;\n}\n\ntype BannerMicrolearning =\n | Record<string, never>\n | {\n action: () => void;\n oldSwitchValue: boolean;\n };\ninterface SkillDetailProps {\n title: string;\n icon: {name: string; color: string};\n skillRef: string;\n description?: string;\n metrics?: Metrics;\n focused?: boolean;\n availableForReview?: boolean;\n ongoingCoursesAvailable?: boolean;\n skillIncludedCourses: CardsGridProps;\n filters: {\n onChange?: () => void;\n options?: unknown[];\n };\n onBackClick?: () => void;\n onReviewClick?: () => void;\n onContinueLearningClick?: () => void;\n search: {\n oldValue: string;\n onChange: () => void;\n };\n bannerMicrolearning?: BannerMicrolearning;\n}\nconst SkillDetail = (props: SkillDetailProps, context: ProviderContext) => {\n const {\n title,\n icon: {color: iconColor, name: iconName},\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCoursesAvailable,\n skillIncludedCourses,\n filters,\n onBackClick,\n onReviewClick,\n onContinueLearningClick,\n search,\n bannerMicrolearning\n } = props;\n\n const {score = 0, questionsToReview = 0, totalContents = 0} = metrics;\n const {translate} = context;\n const bannerMicrolearningAction = bannerMicrolearning?.action;\n const descriptionRef = useRef(null);\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => {\n setShowMore(!showMore);\n }, [showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n data-testid=\"skill-description\"\n className={classnames(style.description, !showMore && style.truncate)}\n >\n {description ? <Markdown>{description}</Markdown> : null}\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (typeof score !== 'number') return null;\n\n const progressBarColor = COLORS.cm_positive_500;\n const inlineProgressStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarRow}>\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressStyle}\n role=\"progressbar\"\n aria-valuenow={score}\n aria-valuemin={0}\n aria-valuemax={100}\n />\n </div>\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n );\n }, [score]);\n const hasDescription = Boolean(description && description.trim().length > 0);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n {/* Top section for the back arrow (optional) */}\n <div className={style.topSection}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n </div>\n\n {/* Main section: icon on the left, skill info on the right */}\n <div className={style.mainSection}>\n <div className={style.leftSide}>\n <IconPreview\n icon={{\n name: iconName,\n color: iconColor\n }}\n title={title}\n customStyle={{gap: 24, padding: '50px 49px 50px 50px'}}\n />\n </div>\n <div className={style.rightSide}>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor={COLORS.purple_100}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill_focus')}\n </div>\n ) : (\n <div className={style.skillBadge}>\n <Icon\n iconName=\"shapes\"\n backgroundColor={COLORS.cm_grey_100}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill')}\n </div>\n )}\n\n <h2 className={style.title}>{title}</h2>\n\n {description && (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 14}}\n customStyle={{padding: '8px'}}\n />\n </div>\n ) : null}\n </>\n )}\n\n {questionsToReview > 0 ? (\n <div className={style.skillInformation}>\n <span>\n {translate('skill_chart_side_panel_questions_to_review', {\n count: questionsToReview\n })}\n </span>\n </div>\n ) : null}\n\n <div\n className={classnames(\n style.progressContainer,\n !hasDescription && style.noDescriptionSpacing\n )}\n >\n <ProgressBar />\n </div>\n\n <div className={style.ctaWrapper}>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n <ButtonLink\n type=\"secondary\"\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n onClick={onReviewClick}\n icon={{\n position: 'left',\n faIcon: {\n name: 'rotate-right',\n color: COLORS.cm_grey_700,\n size: 14\n }\n }}\n customStyle={{borderRadius: '12px', width: 'fit-content'}}\n />\n </div>\n </div>\n </div>\n\n {/* Courses section below */}\n <AllCourses\n content={skillIncludedCourses}\n filters={filters}\n totalContents={totalContents}\n bannerMicrolearning={\n bannerMicrolearning && bannerMicrolearningAction\n ? {\n type: 'skill',\n action: bannerMicrolearningAction,\n oldSwitchValue: bannerMicrolearning.oldSwitchValue\n }\n : undefined\n }\n search={search}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n icon: PropTypes.shape({\n name: PropTypes.string,\n color: PropTypes.string\n }).isRequired,\n skillRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n questionsToReview: PropTypes.number,\n totalContents: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCoursesAvailable: PropTypes.bool,\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func,\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n }),\n bannerMicrolearning: PropTypes.shape({\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n })\n};\n\nexport default SkillDetail;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_markdownToJsx","_cssColorFunction","_provider","_buttonLinkIcon","_icon","_iconPreview","_buttonLink","_cardsGrid","_colors","_select","_allCourses","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ContinueLearningButton","props","context","ongoingCoursesAvailable","onClick","skin","translate","primarySkinColor","_get2","createElement","label","type","customStyle","width","borderRadius","backgroundColor","hoverBackgroundColor","convert","hoverColor","COLORS","white","icon","position","faIcon","name","color","size","exports","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","bool","func","SkillDetail","title","iconColor","iconName","skillRef","description","metrics","focused","availableForReview","skillIncludedCourses","filters","onBackClick","onReviewClick","onContinueLearningClick","search","bannerMicrolearning","score","questionsToReview","totalContents","bannerMicrolearningAction","action","descriptionRef","useRef","isDescriptionTruncated","setIsDescriptionTruncated","useState","showMore","setShowMore","handleShowMore","useCallback","useEffect","current","clientHeight","scrollHeight","Description","ref","className","classnames","style","truncate","ProgressBar","progressBarColor","cm_positive_500","inlineProgressStyle","progressBarRow","progressBarWrapper","progress","role","progressInformationNumber","toFixed","hasDescription","Boolean","trim","length","backgroundContainer","container","topSection","_isNil2","backButton","tooltipPlacement","mainSection","leftSide","gap","padding","rightSide","skillFocusBadge","purple_100","faSize","wrapperSize","skillBadge","cm_grey_100","Fragment","showMoreWrapper","skillInformation","dangerouslySetInnerHTML","__html","count","progressContainer","noDescriptionSpacing","ctaWrapper","disabled","cm_grey_700","content","oldSwitchValue","undefined","string","isRequired","shape","number","CardsGrid","onChange","options","arrayOf","SelectOptionPropTypes","oldValue","_default"],"sources":["../../../src/template/skill-detail/index.tsx"],"sourcesContent":["import React, {useCallback, useState, useRef, useEffect} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, isNil} from 'lodash/fp';\nimport Markdown from 'markdown-to-jsx';\nimport {convert} from 'css-color-function';\nimport Provider from '../../atom/provider';\nimport ButtonLinkIcon from '../../atom/button-link-icon';\nimport Icon from '../../atom/icon';\nimport IconPreview from '../../molecule/icon-preview';\nimport ButtonLink from '../../atom/button-link';\nimport CardsGrid, {CardsGridProps} from '../../organism/cards-grid';\nimport {COLORS} from '../../variables/colors';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport AllCourses from './all-courses';\nimport style from './style.css';\n\ninterface ContinueLearningButtonProps {\n ongoingCoursesAvailable?: boolean;\n onClick?: () => void;\n}\ninterface ProviderContext {\n skin: {\n common: {\n primary: string;\n secondary: string;\n };\n };\n translate: (key: string, options?: any) => string;\n}\n\nexport const ContinueLearningButton = (\n props: ContinueLearningButtonProps,\n context: ProviderContext\n) => {\n const {ongoingCoursesAvailable, onClick} = props;\n const {skin, translate} = context;\n const primarySkinColor = get('common.primary', skin);\n\n return (\n <ButtonLink\n label={ongoingCoursesAvailable ? translate('continue_learning') : translate('start_learning')}\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n borderRadius: '12px',\n backgroundColor: primarySkinColor\n }}\n hoverBackgroundColor={convert(`hsl(from ${primarySkinColor} h s calc(l*(1 - 0.08)))`)}\n hoverColor={COLORS.white}\n icon={{\n position: 'left',\n faIcon: {\n name: 'play',\n color: COLORS.white,\n size: 14\n }\n }}\n onClick={onClick}\n />\n );\n};\n\nContinueLearningButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearningButton.propTypes = {\n ongoingCoursesAvailable: PropTypes.bool,\n onClick: PropTypes.func\n};\n\ninterface Metrics {\n score?: number;\n questionsToReview?: number;\n totalContents?: number;\n}\n\ntype BannerMicrolearning =\n | Record<string, never>\n | {\n action: () => void;\n oldSwitchValue: boolean;\n };\ninterface SkillDetailProps {\n title: string;\n icon: {name: string; color: string};\n skillRef: string;\n description?: string;\n metrics?: Metrics;\n focused?: boolean;\n availableForReview?: boolean;\n ongoingCoursesAvailable?: boolean;\n skillIncludedCourses: CardsGridProps;\n filters: {\n onChange?: () => void;\n options?: unknown[];\n };\n onBackClick?: () => void;\n onReviewClick?: () => void;\n onContinueLearningClick?: () => void;\n search: {\n oldValue: string;\n onChange: () => void;\n };\n bannerMicrolearning?: BannerMicrolearning;\n}\nconst SkillDetail = (props: SkillDetailProps, context: ProviderContext) => {\n const {\n title,\n icon: {color: iconColor, name: iconName},\n skillRef,\n description,\n metrics = {},\n focused,\n availableForReview,\n ongoingCoursesAvailable,\n skillIncludedCourses,\n filters,\n onBackClick,\n onReviewClick,\n onContinueLearningClick,\n search,\n bannerMicrolearning\n } = props;\n\n const {score = 0, questionsToReview = 0, totalContents = 0} = metrics;\n const {translate} = context;\n const bannerMicrolearningAction = bannerMicrolearning?.action;\n const descriptionRef = useRef(null);\n const [isDescriptionTruncated, setIsDescriptionTruncated] = useState(false);\n const [showMore, setShowMore] = useState(false);\n\n const handleShowMore = useCallback(() => {\n setShowMore(!showMore);\n }, [showMore]);\n\n useEffect(() => {\n if (descriptionRef.current) {\n const {clientHeight = 0, scrollHeight = 0} = descriptionRef.current;\n setIsDescriptionTruncated(scrollHeight > clientHeight);\n }\n }, [description]);\n\n const Description = useCallback(() => {\n return (\n <div\n ref={descriptionRef}\n data-testid=\"skill-description\"\n className={classnames(style.description, !showMore && style.truncate)}\n >\n {description ? <Markdown>{description}</Markdown> : null}\n </div>\n );\n }, [showMore, description]);\n\n const ProgressBar = useCallback(() => {\n if (typeof score !== 'number') return null;\n\n const progressBarColor = COLORS.cm_positive_500;\n const inlineProgressStyle = {\n backgroundColor: progressBarColor,\n width: `${score}%`\n };\n\n return (\n <div className={style.progressBarRow}>\n <div className={style.progressBarWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressStyle}\n role=\"progressbar\"\n aria-valuenow={score}\n aria-valuemin={0}\n aria-valuemax={100}\n />\n </div>\n <span className={style.progressInformationNumber}>{score.toFixed(1)}%</span>\n </div>\n );\n }, [score]);\n const hasDescription = Boolean(description && description.trim().length > 0);\n\n return (\n <div className={style.backgroundContainer}>\n <div className={style.container} data-name={skillRef}>\n {/* Top section for the back arrow (optional) */}\n <div className={style.topSection}>\n {!isNil(onBackClick) ? (\n <ButtonLinkIcon\n faIcon=\"arrow-left\"\n data-name=\"back-button\"\n aria-label={translate('back')}\n onClick={onBackClick}\n className={style.backButton}\n tooltipPlacement=\"right\"\n />\n ) : null}\n </div>\n\n {/* Main section: icon on the left, skill info on the right */}\n <div className={style.mainSection}>\n <div className={style.leftSide}>\n <IconPreview\n icon={{\n name: iconName,\n color: iconColor\n }}\n title={title}\n customStyle={{gap: 24, padding: '50px 49px 50px 50px'}}\n />\n </div>\n <div className={style.rightSide}>\n {focused ? (\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor={COLORS.purple_100}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill_focus')}\n </div>\n ) : (\n <div className={style.skillBadge}>\n <Icon\n iconName=\"shapes\"\n backgroundColor={COLORS.cm_grey_100}\n size={{faSize: 10, wrapperSize: 16}}\n />\n {translate('skill')}\n </div>\n )}\n\n <h2 className={style.title}>{title}</h2>\n\n {description && (\n <>\n <Description />\n {isDescriptionTruncated ? (\n <div className={style.showMoreWrapper} onClick={handleShowMore}>\n {showMore ? translate('Show less') : translate('Show more')}\n <Icon\n iconName={showMore ? 'chevron-up' : 'chevron-down'}\n size={{faSize: 14, wrapperSize: 14}}\n customStyle={{padding: '8px'}}\n />\n </div>\n ) : null}\n </>\n )}\n\n {questionsToReview > 0 ? (\n <div className={style.skillInformation}>\n <span\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{\n __html: translate('skill_chart_side_panel_questions_to_review', {\n count: questionsToReview\n })\n }}\n />\n </div>\n ) : null}\n\n <div\n className={classnames(\n style.progressContainer,\n !hasDescription && style.noDescriptionSpacing\n )}\n >\n <ProgressBar />\n </div>\n\n <div className={style.ctaWrapper}>\n <ContinueLearningButton\n ongoingCoursesAvailable={ongoingCoursesAvailable}\n onClick={onContinueLearningClick}\n />\n <ButtonLink\n type=\"secondary\"\n label={translate('review_this_skill')}\n disabled={!availableForReview}\n onClick={onReviewClick}\n icon={{\n position: 'left',\n faIcon: {\n name: 'rotate-right',\n color: COLORS.cm_grey_700,\n size: 14\n }\n }}\n customStyle={{borderRadius: '12px', width: 'fit-content'}}\n />\n </div>\n </div>\n </div>\n\n {/* Courses section below */}\n <AllCourses\n content={skillIncludedCourses}\n filters={filters}\n totalContents={totalContents}\n bannerMicrolearning={\n bannerMicrolearning && bannerMicrolearningAction\n ? {\n type: 'skill',\n action: bannerMicrolearningAction,\n oldSwitchValue: bannerMicrolearning.oldSwitchValue\n }\n : undefined\n }\n search={search}\n />\n </div>\n </div>\n );\n};\n\nSkillDetail.contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n};\n\nSkillDetail.propTypes = {\n title: PropTypes.string.isRequired,\n icon: PropTypes.shape({\n name: PropTypes.string,\n color: PropTypes.string\n }).isRequired,\n skillRef: PropTypes.string.isRequired,\n description: PropTypes.string,\n metrics: PropTypes.shape({\n score: PropTypes.number,\n questionsToReview: PropTypes.number,\n totalContents: PropTypes.number\n }),\n focused: PropTypes.bool,\n availableForReview: PropTypes.bool,\n ongoingCoursesAvailable: PropTypes.bool,\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n onBackClick: PropTypes.func,\n onReviewClick: PropTypes.func,\n onContinueLearningClick: PropTypes.func,\n search: PropTypes.shape({\n oldValue: PropTypes.string,\n onChange: PropTypes.func\n }),\n bannerMicrolearning: PropTypes.shape({\n action: PropTypes.func,\n oldSwitchValue: PropTypes.bool\n })\n};\n\nexport default SkillDetail;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "11.40.
|
|
3
|
+
"version": "11.40.18-react18.3+e6781731d",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"Soualmi Djamel <djamel.soualmi@coorpacademy.com>"
|
|
60
60
|
],
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"@coorpacademy/nova-icons": "4.5.
|
|
63
|
-
"@coorpacademy/react-native-animation": "1.1.
|
|
62
|
+
"@coorpacademy/nova-icons": "4.5.1",
|
|
63
|
+
"@coorpacademy/react-native-animation": "1.1.0",
|
|
64
64
|
"@fortawesome/fontawesome-svg-core": "^6.5.1",
|
|
65
65
|
"@fortawesome/free-solid-svg-icons": "^6.5.1",
|
|
66
66
|
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"@coorpacademy/eslint-plugin-coorpacademy": "^10.0.0",
|
|
110
110
|
"@coorpacademy/react-native-mock-render": "^0.2.9",
|
|
111
111
|
"@coorpacademy/translate": "6.3.0",
|
|
112
|
-
"@coorpacademy/webpack-config": "13.1.
|
|
112
|
+
"@coorpacademy/webpack-config": "13.1.3",
|
|
113
113
|
"@react-native-community/blur": "^4.2.0",
|
|
114
114
|
"@storybook/addon-actions": "^6.5.12",
|
|
115
115
|
"@storybook/addon-controls": "^6.5.12",
|
|
@@ -170,5 +170,5 @@
|
|
|
170
170
|
"last 2 versions",
|
|
171
171
|
"IE 11"
|
|
172
172
|
],
|
|
173
|
-
"gitHead": "
|
|
173
|
+
"gitHead": "e6781731d47392cbf2e664bf94830ac50afc83a0"
|
|
174
174
|
}
|