@coorpacademy/components 11.38.1 → 11.38.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"names":[],"mappings":";AAiCA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAGL,gBAAgB,EAChB,kCAAkC,EAGnC,MAAM,SAAS,CAAC;AAoUjB,eAAO,MAAM,UAAU,EAAE,CACvB,MAAM,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EAC/B,KAAK,EAAE,kCAAkC,CAAC,MAAM,CAAC,KAC9C,gBAAgB,EAOX,CAAC;AAEX,eAAO,MAAM,yBAAyB;0GAWjC,kCAAkC,iBACtB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoJhC,CAAC;AAEF,QAAA,MAAM,mCAAmC;YAAW,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;CAIrF,CAAC;AAUF,eAAe,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"names":[],"mappings":";AAiCA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAGL,gBAAgB,EAChB,kCAAkC,EAGnC,MAAM,SAAS,CAAC;AAoUjB,eAAO,MAAM,UAAU,EAAE,CACvB,MAAM,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EAC/B,KAAK,EAAE,kCAAkC,CAAC,MAAM,CAAC,KAC9C,gBAAgB,EAOX,CAAC;AAEX,eAAO,MAAM,yBAAyB;0GAWjC,kCAAkC,iBACtB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqJhC,CAAC;AAEF,QAAA,MAAM,mCAAmC;YAAW,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;CAIrF,CAAC;AAUF,eAAe,mCAAmC,CAAC"}
@@ -347,7 +347,8 @@ export const LearningProfileRadarChart = ({
347
347
  type: `stroke-${index}`,
348
348
  colors: stroke
349
349
  }))), [formatedColors]);
350
- const isMobile_ = getIsMobile();
350
+ const userAgent = navigator?.userAgent;
351
+ const isMobile_ = useMemo(() => getIsMobile(userAgent), [userAgent]);
351
352
  const setIsMobile_ = useCallback(() => {
352
353
  setIsMobile(isMobile_);
353
354
  }, [isMobile_]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Fragment","useCallback","useEffect","useMemo","useState","Radar","RadarChart","PolarGrid","PolarAngleAxis","ResponsiveContainer","Tooltip","PolarRadiusAxis","convert","classnames","isMobile","getIsMobile","ButtonLink","Provider","GetSkinFromContext","GetTranslateFromContext","learningProfileRadarChartPropTypes","style","top","offset","x","y","alignment","margin","bottom","right","marginRight","left","marginLeft","BLACK","WHITE","DEFAULT_MAIN_COLOR","DEFAULT_COLORS","gradient","fill","stroke","percentage","color","background","label","CHART_CONFIGS","triangle","name","ticks","sideCount","quadrilateral","pentagon","hexagon","DOT_DEFAULT_PROPS","strokeWidth","strokeOpacity","r","pointerEvents","cursor","DOT_ACTIVE_PROPS","RADAR_DEFAULT_PROPS","fillOpacity","Gradient","type","colors","firstColor","secondColor","createElement","id","x1","y1","x2","y2","stopColor","CustomTooltip","active","payload","length","className","tooltip","tooltipLabel","tooltipValue","value","CustomDot","cx","cy","onDotHover","onDotClick","activeDot","dataName","_extends","subject","onTouchStart","onClick","e","stopPropagation","onMouseOver","onMouseLeave","buildRadars","totalDataset","handleDotHover","handleOnDotClick","_times","index","datakey","dataset","key","dataKey","dot","CustomLabel","percentagesValues","chartType","formatedColors","primarySkinColor","exploreLocale","hoveredDot","onExploreClick","hovered","setHovered","isCurrentDotActive","offsetX","offsetY","rest","onLabelClick","handleExploreClick","buttonExploreProps","customStyle","height","backgroundColor","transition","icon","position","faIcon","size","handleMouseOver","handleMouseLeave","extraOffsetY","tickeForeignObject","tickeForeignObjectFocus","tickWrapper","tickWrapperFocus","tickWrapperHover","alignItems","textAlign","opacity","_isEmpty","map","colorLabel","i","tickValue","tickLabel","buttonWrapper","CHART_CONFIGS_BY_SIDE_COUNT","_pipe","_keyBy","_mapValues","formatValues","values_","_flatten","val","_fromPairs","formatData","legend","data_","_toPairs","_map","ref","LearningProfileRadarChart","data","colorsProps","width","legacyContext","setIsMobile","setActiveDot","setHoveredDot","skin","translate","_get","Object","assign","_getOr","_size","gradients","isMobile_","setIsMobile_","handleClick","undefined","window","addEventListener","removeEventListener","handleOnActiveDotClick","formatedData","find","indexOf","skillRef","_findKey","renderCustomLabel","props","currentData","_omit","_values","outerRadius","strokeDasharray","radialLines","tick","axisLine","domain","content","ResponsiveLearningProfileRadarChart","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV"],"sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"sourcesContent":["import React, {Fragment, useCallback, useEffect, useMemo, useState} from 'react';\nimport {\n Radar,\n RadarChart,\n PolarGrid,\n PolarAngleAxis,\n ResponsiveContainer,\n Tooltip,\n PolarRadiusAxis\n} from 'recharts';\nimport {\n pipe,\n keyBy,\n mapValues,\n size,\n getOr,\n map,\n toPairs,\n values,\n isEmpty,\n omit,\n fromPairs,\n times,\n flatten,\n findKey,\n get\n} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport ButtonLink from '../../atom/button-link';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport {\n ActiveDotType,\n FormatedColorsType,\n FormatedDataType,\n LearningProfileRadarChartPropTypes,\n TickType,\n learningProfileRadarChartPropTypes\n} from './types';\nimport style from './style.css';\n\ntype CHART_TYPE_TYPE = keyof typeof CHART_CONFIGS;\n\n/* TICK_POSITIONS */\nconst top: TickType = {offset: {x: -100, y: -75}, alignment: 'center', margin: 'auto'};\nconst bottom: TickType = {offset: {x: -100, y: 10}, alignment: 'center', margin: 'auto'};\nconst right: TickType = {offset: {x: 30, y: -10}, alignment: 'start', marginRight: 'auto'};\nconst left: TickType = {offset: {x: -230, y: -10}, alignment: 'end', marginLeft: 'auto'};\n\n/* CONSTANTS */\nconst BLACK = '#000000ff';\nconst WHITE = '#ffffffff';\nconst DEFAULT_MAIN_COLOR = '#0062ffff';\n\nconst DEFAULT_COLORS: FormatedColorsType = {\n gradient: {\n fill: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR],\n stroke: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR]\n },\n percentage: {\n color: BLACK,\n background: WHITE\n },\n label: {\n color: BLACK\n }\n};\n\nconst CHART_CONFIGS = {\n triangle: {\n name: 'triangle',\n ticks: [top, right, left],\n sideCount: 3\n },\n quadrilateral: {\n name: 'quadrilateral',\n ticks: [top, right, bottom, left],\n sideCount: 4\n },\n pentagon: {\n name: 'pentagon',\n ticks: [top, right, right, left, left],\n sideCount: 5\n },\n hexagon: {\n name: 'hexagon',\n ticks: [top, right, right, bottom, left, left],\n sideCount: 6\n }\n} as const;\n\nconst DOT_DEFAULT_PROPS = {\n strokeWidth: 2,\n strokeOpacity: 0.4,\n fill: '#fff',\n r: 4,\n pointerEvents: 'all',\n style: {cursor: 'pointer'}\n} as const;\n\nconst DOT_ACTIVE_PROPS = {\n fill: '#fff',\n r: 6,\n strokeWidth: 4,\n strokeOpacity: 0.6\n} as const;\n\nconst RADAR_DEFAULT_PROPS = {\n strokeWidth: 3,\n strokeOpacity: 0.2,\n fillOpacity: 0.2\n} as const;\n\n/* COMPONENTS */\nconst Gradient = ({type, colors: [firstColor, secondColor]}: {type: string; colors: string[]}) => (\n <defs>\n <linearGradient id={`gradient-${type}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor={firstColor} />\n <stop offset=\"100%\" stopColor={secondColor} />\n </linearGradient>\n </defs>\n);\n\nconst CustomTooltip = ({\n active,\n payload,\n label\n}: {\n active?: boolean;\n payload?: {value: number}[];\n label?: string;\n}) =>\n active && !!payload?.length ? (\n <div className={style.tooltip}>\n <span className={style.tooltipLabel}>{label}</span>\n <span className={style.tooltipValue}>{payload[0].value}%</span>\n </div>\n ) : null;\n\nconst CustomDot = ({\n cx,\n cy,\n payload,\n onDotHover,\n onDotClick,\n stroke,\n activeDot,\n dataName\n}: {\n cx?: number;\n cy?: number;\n payload?: {payload: {subject: string} & {[datakey: string]: number}; name: string};\n onDotHover: (name: string) => void;\n onDotClick: (name: string) => void;\n dataKey: string;\n stroke: string;\n activeDot?: ActiveDotType;\n dataName: string;\n}) => (\n <circle\n {...{\n ...DOT_DEFAULT_PROPS,\n ...(payload?.payload.subject === activeDot?.label && DOT_ACTIVE_PROPS),\n stroke,\n cx,\n cy,\n onTouchStart: () => {\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n onClick: e => {\n e.stopPropagation();\n\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n onMouseOver: () => {\n if (!payload?.name) return;\n onDotHover(payload.name);\n },\n onMouseLeave: () => onDotHover(''),\n 'data-name': dataName\n }}\n />\n);\n\nconst buildRadars = (\n totalDataset: number,\n handleDotHover: (name: string) => void,\n handleOnDotClick: (name: string) => void,\n activeDot?: ActiveDotType\n) =>\n times(index => {\n const datakey = `value${index + 1}`;\n const dataset = `dataset-${index + 1}`;\n\n return (\n <Radar\n {...RADAR_DEFAULT_PROPS}\n fill={`url(#gradient-fill-${index})`}\n stroke={`url(#gradient-stroke-${index})`}\n key={dataset}\n name={dataset}\n dataKey={datakey}\n activeDot={{\n ...DOT_ACTIVE_PROPS,\n stroke: `url(#gradient-stroke-${index})`\n }}\n // only on mobile\n // to handle dot style on hover (convert to click)\n // use with the tooltip component\n dot={\n <CustomDot\n onDotHover={handleDotHover}\n onDotClick={handleOnDotClick}\n activeDot={activeDot}\n dataKey={datakey}\n stroke={`url(#gradient-stroke-${index})`}\n dataName={`dot-${dataset}`}\n />\n }\n />\n );\n }, totalDataset);\n\nconst CustomLabel = ({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n primarySkinColor,\n exploreLocale,\n hoveredDot,\n onClick,\n onExploreClick\n}: {\n index: number;\n x: number;\n y: number;\n percentagesValues: number[];\n label: string;\n chartType: CHART_TYPE_TYPE;\n formatedColors: FormatedColorsType[];\n activeDot?: ActiveDotType;\n primarySkinColor: string;\n exploreLocale: string;\n hoveredDot: string;\n onClick: (name: string) => void;\n onExploreClick: (name: string) => void;\n}) => {\n const [hovered, setHovered] = useState(false);\n const isCurrentDotActive = activeDot?.label === label;\n const {\n offset: {x: offsetX, y: offsetY},\n alignment,\n ...rest\n } = CHART_CONFIGS[chartType].ticks[index];\n\n function onLabelClick(e: React.MouseEvent) {\n e.stopPropagation();\n onClick(label);\n }\n\n function handleExploreClick() {\n onExploreClick(label);\n }\n\n const buttonExploreProps: ButtonLinkProps = {\n customStyle: {\n height: '36px',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick: handleExploreClick,\n 'aria-label': `${label}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }\n };\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const extraOffsetY = isCurrentDotActive && index === 0 ? -25 : 0;\n\n return (\n <g>\n <foreignObject\n className={classnames(\n style.tickeForeignObject,\n isCurrentDotActive && style.tickeForeignObjectFocus\n )}\n x={x + offsetX}\n y={y + offsetY + extraOffsetY}\n >\n <div\n data-name={label}\n onClick={onLabelClick}\n className={classnames(\n style.tickWrapper,\n isCurrentDotActive && style.tickWrapperFocus,\n hoveredDot === label && style.tickWrapperHover\n )}\n style={{\n ...rest,\n alignItems: alignment,\n textAlign: alignment,\n opacity: !isEmpty(activeDot) && !isCurrentDotActive ? 0.3 : 1\n }}\n >\n {formatedColors.map(\n ({percentage: {color, background}, label: {color: colorLabel}}, i) => (\n <Fragment key={i}>\n <span className={style.tickValue} style={{color, background}}>\n {percentagesValues[i]}\n </span>\n <span className={style.tickLabel} style={{color: colorLabel}}>\n {label}\n </span>\n </Fragment>\n )\n )}\n {isCurrentDotActive ? (\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-explore-wrapper\"\n >\n <ButtonLink {...buttonExploreProps} />\n </div>\n ) : null}\n </div>\n </foreignObject>\n </g>\n );\n};\n\n/* UTILS */\nconst CHART_CONFIGS_BY_SIDE_COUNT = pipe(keyBy('sideCount'), mapValues('name'))(CHART_CONFIGS);\n\nconst formatValues: (values_: number | number[]) => Record<string, number> = pipe(\n values_ => flatten([values_]),\n values_ => values_.map((val: number, i: number): [string, number] => [`value${i + 1}`, val]),\n fromPairs\n);\n\n/* this convert incoming component data to rechart data structure */\nexport const formatData: (\n legend: {[ref: string]: string},\n data_: LearningProfileRadarChartPropTypes['data']\n) => FormatedDataType[] = (legend, data_) =>\n pipe(\n toPairs,\n map(([ref, values_]: [string, number | number[]]) => ({\n ...formatValues(values_),\n subject: legend[ref]\n }))\n )(data_);\n\nexport const LearningProfileRadarChart = (\n {\n data,\n legend,\n totalDataset,\n colors: colorsProps,\n onClick,\n onExploreClick,\n width,\n height,\n margin\n }: LearningProfileRadarChartPropTypes,\n legacyContext: WebContextValues\n) => {\n const [isMobile, setIsMobile] = useState(false);\n const [activeDot, setActiveDot] = useState<ActiveDotType>();\n const [hoveredDot, setHoveredDot] = useState('');\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n const primarySkinColor = get('common.primary', skin);\n\n const formatedColors = times(i => {\n if (!colorsProps?.length) return DEFAULT_COLORS;\n\n const colors = colorsProps[i];\n return colors ? Object.assign({}, DEFAULT_COLORS, colors) : DEFAULT_COLORS;\n })(totalDataset);\n\n const chartType: CHART_TYPE_TYPE = useMemo(\n () => getOr('hexagon', size(data), CHART_CONFIGS_BY_SIDE_COUNT),\n [data]\n );\n\n const gradients = useMemo(\n () =>\n formatedColors.map(({gradient: {fill, stroke}}, index) => (\n <svg key={`gradient-${index}`}>\n <Gradient type={`fill-${index}`} colors={fill} />\n <Gradient type={`stroke-${index}`} colors={stroke} />\n </svg>\n )),\n [formatedColors]\n );\n\n const isMobile_ = getIsMobile();\n\n const setIsMobile_ = useCallback(() => {\n setIsMobile(isMobile_ as boolean);\n }, [isMobile_]);\n\n useEffect(() => setIsMobile_(), [setIsMobile_]);\n\n useEffect(() => {\n const handleClick = () => {\n setActiveDot(undefined);\n onClick(undefined);\n };\n\n !isEmpty(activeDot) && window.addEventListener('click', handleClick);\n\n return () => {\n window.removeEventListener('click', handleClick);\n };\n }, [activeDot, onClick, setActiveDot]);\n\n function handleOnActiveDotClick() {\n setActiveDot(undefined);\n onClick(undefined);\n }\n\n function handleOnDotClick(label: string) {\n if (!isEmpty(activeDot) && activeDot?.label === label) {\n handleOnActiveDotClick();\n return;\n }\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const index = formatedData.indexOf(payload);\n const datakey = `value${index + 1}`;\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n setActiveDot({\n key: datakey,\n value: payload[datakey],\n label: payload.subject\n });\n onClick(skillRef);\n }\n }\n\n function handleExploreClick(label: string) {\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n onExploreClick(skillRef);\n }\n }\n\n function renderCustomLabel(props: {\n x: number;\n y: number;\n payload: {value: string};\n index: number;\n }) {\n const {\n x,\n y,\n payload: {value: label},\n index\n } = props;\n const currentData = formatedData.find(({subject}) => subject === label);\n const percentagesValues: number[] = pipe(\n omit('subject'),\n mapValues(value => `${value}%`),\n values\n )(currentData);\n\n return (\n <CustomLabel\n index={index}\n x={x}\n y={y}\n percentagesValues={percentagesValues}\n label={label}\n activeDot={activeDot}\n chartType={chartType}\n formatedColors={formatedColors}\n primarySkinColor={primarySkinColor}\n exploreLocale={translate('Explore')}\n hoveredDot={hoveredDot}\n onClick={handleOnDotClick}\n onExploreClick={handleExploreClick}\n />\n );\n }\n const formatedData = useMemo(() => formatData(legend, data), [legend, data]);\n\n return (\n <RadarChart\n width={width}\n height={height}\n margin={margin ?? (isMobile ? {top: 80} : {top: 180})}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius=\"80%\"\n data={formatedData}\n >\n {gradients}\n <PolarGrid strokeDasharray={10} strokeWidth={2} radialLines={false} />\n <PolarAngleAxis dataKey=\"subject\" tick={!isMobile && renderCustomLabel} />\n <PolarRadiusAxis tick={false} axisLine={false} domain={[0, 100]} />\n {buildRadars(totalDataset, setHoveredDot, handleOnDotClick, activeDot)}\n {isMobile ? <Tooltip cursor={false} content={<CustomTooltip />} /> : null}\n </RadarChart>\n );\n};\n\nconst ResponsiveLearningProfileRadarChart = (props: LearningProfileRadarChartPropTypes) => (\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LearningProfileRadarChart {...props} />\n </ResponsiveContainer>\n);\n\nLearningProfileRadarChart.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\nResponsiveLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\n\nexport default ResponsiveLearningProfileRadarChart;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","Fragment","useCallback","useEffect","useMemo","useState","Radar","RadarChart","PolarGrid","PolarAngleAxis","ResponsiveContainer","Tooltip","PolarRadiusAxis","convert","classnames","isMobile","getIsMobile","ButtonLink","Provider","GetSkinFromContext","GetTranslateFromContext","learningProfileRadarChartPropTypes","style","top","offset","x","y","alignment","margin","bottom","right","marginRight","left","marginLeft","BLACK","WHITE","DEFAULT_MAIN_COLOR","DEFAULT_COLORS","gradient","fill","stroke","percentage","color","background","label","CHART_CONFIGS","triangle","name","ticks","sideCount","quadrilateral","pentagon","hexagon","DOT_DEFAULT_PROPS","strokeWidth","strokeOpacity","r","pointerEvents","cursor","DOT_ACTIVE_PROPS","RADAR_DEFAULT_PROPS","fillOpacity","Gradient","type","colors","firstColor","secondColor","createElement","id","x1","y1","x2","y2","stopColor","CustomTooltip","active","payload","length","className","tooltip","tooltipLabel","tooltipValue","value","CustomDot","cx","cy","onDotHover","onDotClick","activeDot","dataName","_extends","subject","onTouchStart","onClick","e","stopPropagation","onMouseOver","onMouseLeave","buildRadars","totalDataset","handleDotHover","handleOnDotClick","_times","index","datakey","dataset","key","dataKey","dot","CustomLabel","percentagesValues","chartType","formatedColors","primarySkinColor","exploreLocale","hoveredDot","onExploreClick","hovered","setHovered","isCurrentDotActive","offsetX","offsetY","rest","onLabelClick","handleExploreClick","buttonExploreProps","customStyle","height","backgroundColor","transition","icon","position","faIcon","size","handleMouseOver","handleMouseLeave","extraOffsetY","tickeForeignObject","tickeForeignObjectFocus","tickWrapper","tickWrapperFocus","tickWrapperHover","alignItems","textAlign","opacity","_isEmpty","map","colorLabel","i","tickValue","tickLabel","buttonWrapper","CHART_CONFIGS_BY_SIDE_COUNT","_pipe","_keyBy","_mapValues","formatValues","values_","_flatten","val","_fromPairs","formatData","legend","data_","_toPairs","_map","ref","LearningProfileRadarChart","data","colorsProps","width","legacyContext","setIsMobile","setActiveDot","setHoveredDot","skin","translate","_get","Object","assign","_getOr","_size","gradients","userAgent","navigator","isMobile_","setIsMobile_","handleClick","undefined","window","addEventListener","removeEventListener","handleOnActiveDotClick","formatedData","find","indexOf","skillRef","_findKey","renderCustomLabel","props","currentData","_omit","_values","outerRadius","strokeDasharray","radialLines","tick","axisLine","domain","content","ResponsiveLearningProfileRadarChart","contextTypes","childContextTypes","propTypes","process","env","NODE_ENV"],"sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"sourcesContent":["import React, {Fragment, useCallback, useEffect, useMemo, useState} from 'react';\nimport {\n Radar,\n RadarChart,\n PolarGrid,\n PolarAngleAxis,\n ResponsiveContainer,\n Tooltip,\n PolarRadiusAxis\n} from 'recharts';\nimport {\n pipe,\n keyBy,\n mapValues,\n size,\n getOr,\n map,\n toPairs,\n values,\n isEmpty,\n omit,\n fromPairs,\n times,\n flatten,\n findKey,\n get\n} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport ButtonLink from '../../atom/button-link';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport {\n ActiveDotType,\n FormatedColorsType,\n FormatedDataType,\n LearningProfileRadarChartPropTypes,\n TickType,\n learningProfileRadarChartPropTypes\n} from './types';\nimport style from './style.css';\n\ntype CHART_TYPE_TYPE = keyof typeof CHART_CONFIGS;\n\n/* TICK_POSITIONS */\nconst top: TickType = {offset: {x: -100, y: -75}, alignment: 'center', margin: 'auto'};\nconst bottom: TickType = {offset: {x: -100, y: 10}, alignment: 'center', margin: 'auto'};\nconst right: TickType = {offset: {x: 30, y: -10}, alignment: 'start', marginRight: 'auto'};\nconst left: TickType = {offset: {x: -230, y: -10}, alignment: 'end', marginLeft: 'auto'};\n\n/* CONSTANTS */\nconst BLACK = '#000000ff';\nconst WHITE = '#ffffffff';\nconst DEFAULT_MAIN_COLOR = '#0062ffff';\n\nconst DEFAULT_COLORS: FormatedColorsType = {\n gradient: {\n fill: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR],\n stroke: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR]\n },\n percentage: {\n color: BLACK,\n background: WHITE\n },\n label: {\n color: BLACK\n }\n};\n\nconst CHART_CONFIGS = {\n triangle: {\n name: 'triangle',\n ticks: [top, right, left],\n sideCount: 3\n },\n quadrilateral: {\n name: 'quadrilateral',\n ticks: [top, right, bottom, left],\n sideCount: 4\n },\n pentagon: {\n name: 'pentagon',\n ticks: [top, right, right, left, left],\n sideCount: 5\n },\n hexagon: {\n name: 'hexagon',\n ticks: [top, right, right, bottom, left, left],\n sideCount: 6\n }\n} as const;\n\nconst DOT_DEFAULT_PROPS = {\n strokeWidth: 2,\n strokeOpacity: 0.4,\n fill: '#fff',\n r: 4,\n pointerEvents: 'all',\n style: {cursor: 'pointer'}\n} as const;\n\nconst DOT_ACTIVE_PROPS = {\n fill: '#fff',\n r: 6,\n strokeWidth: 4,\n strokeOpacity: 0.6\n} as const;\n\nconst RADAR_DEFAULT_PROPS = {\n strokeWidth: 3,\n strokeOpacity: 0.2,\n fillOpacity: 0.2\n} as const;\n\n/* COMPONENTS */\nconst Gradient = ({type, colors: [firstColor, secondColor]}: {type: string; colors: string[]}) => (\n <defs>\n <linearGradient id={`gradient-${type}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor={firstColor} />\n <stop offset=\"100%\" stopColor={secondColor} />\n </linearGradient>\n </defs>\n);\n\nconst CustomTooltip = ({\n active,\n payload,\n label\n}: {\n active?: boolean;\n payload?: {value: number}[];\n label?: string;\n}) =>\n active && !!payload?.length ? (\n <div className={style.tooltip}>\n <span className={style.tooltipLabel}>{label}</span>\n <span className={style.tooltipValue}>{payload[0].value}%</span>\n </div>\n ) : null;\n\nconst CustomDot = ({\n cx,\n cy,\n payload,\n onDotHover,\n onDotClick,\n stroke,\n activeDot,\n dataName\n}: {\n cx?: number;\n cy?: number;\n payload?: {payload: {subject: string} & {[datakey: string]: number}; name: string};\n onDotHover: (name: string) => void;\n onDotClick: (name: string) => void;\n dataKey: string;\n stroke: string;\n activeDot?: ActiveDotType;\n dataName: string;\n}) => (\n <circle\n {...{\n ...DOT_DEFAULT_PROPS,\n ...(payload?.payload.subject === activeDot?.label && DOT_ACTIVE_PROPS),\n stroke,\n cx,\n cy,\n onTouchStart: () => {\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n onClick: e => {\n e.stopPropagation();\n\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n onMouseOver: () => {\n if (!payload?.name) return;\n onDotHover(payload.name);\n },\n onMouseLeave: () => onDotHover(''),\n 'data-name': dataName\n }}\n />\n);\n\nconst buildRadars = (\n totalDataset: number,\n handleDotHover: (name: string) => void,\n handleOnDotClick: (name: string) => void,\n activeDot?: ActiveDotType\n) =>\n times(index => {\n const datakey = `value${index + 1}`;\n const dataset = `dataset-${index + 1}`;\n\n return (\n <Radar\n {...RADAR_DEFAULT_PROPS}\n fill={`url(#gradient-fill-${index})`}\n stroke={`url(#gradient-stroke-${index})`}\n key={dataset}\n name={dataset}\n dataKey={datakey}\n activeDot={{\n ...DOT_ACTIVE_PROPS,\n stroke: `url(#gradient-stroke-${index})`\n }}\n // only on mobile\n // to handle dot style on hover (convert to click)\n // use with the tooltip component\n dot={\n <CustomDot\n onDotHover={handleDotHover}\n onDotClick={handleOnDotClick}\n activeDot={activeDot}\n dataKey={datakey}\n stroke={`url(#gradient-stroke-${index})`}\n dataName={`dot-${dataset}`}\n />\n }\n />\n );\n }, totalDataset);\n\nconst CustomLabel = ({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n primarySkinColor,\n exploreLocale,\n hoveredDot,\n onClick,\n onExploreClick\n}: {\n index: number;\n x: number;\n y: number;\n percentagesValues: number[];\n label: string;\n chartType: CHART_TYPE_TYPE;\n formatedColors: FormatedColorsType[];\n activeDot?: ActiveDotType;\n primarySkinColor: string;\n exploreLocale: string;\n hoveredDot: string;\n onClick: (name: string) => void;\n onExploreClick: (name: string) => void;\n}) => {\n const [hovered, setHovered] = useState(false);\n const isCurrentDotActive = activeDot?.label === label;\n const {\n offset: {x: offsetX, y: offsetY},\n alignment,\n ...rest\n } = CHART_CONFIGS[chartType].ticks[index];\n\n function onLabelClick(e: React.MouseEvent) {\n e.stopPropagation();\n onClick(label);\n }\n\n function handleExploreClick() {\n onExploreClick(label);\n }\n\n const buttonExploreProps: ButtonLinkProps = {\n customStyle: {\n height: '36px',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick: handleExploreClick,\n 'aria-label': `${label}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }\n };\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const extraOffsetY = isCurrentDotActive && index === 0 ? -25 : 0;\n\n return (\n <g>\n <foreignObject\n className={classnames(\n style.tickeForeignObject,\n isCurrentDotActive && style.tickeForeignObjectFocus\n )}\n x={x + offsetX}\n y={y + offsetY + extraOffsetY}\n >\n <div\n data-name={label}\n onClick={onLabelClick}\n className={classnames(\n style.tickWrapper,\n isCurrentDotActive && style.tickWrapperFocus,\n hoveredDot === label && style.tickWrapperHover\n )}\n style={{\n ...rest,\n alignItems: alignment,\n textAlign: alignment,\n opacity: !isEmpty(activeDot) && !isCurrentDotActive ? 0.3 : 1\n }}\n >\n {formatedColors.map(\n ({percentage: {color, background}, label: {color: colorLabel}}, i) => (\n <Fragment key={i}>\n <span className={style.tickValue} style={{color, background}}>\n {percentagesValues[i]}\n </span>\n <span className={style.tickLabel} style={{color: colorLabel}}>\n {label}\n </span>\n </Fragment>\n )\n )}\n {isCurrentDotActive ? (\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-explore-wrapper\"\n >\n <ButtonLink {...buttonExploreProps} />\n </div>\n ) : null}\n </div>\n </foreignObject>\n </g>\n );\n};\n\n/* UTILS */\nconst CHART_CONFIGS_BY_SIDE_COUNT = pipe(keyBy('sideCount'), mapValues('name'))(CHART_CONFIGS);\n\nconst formatValues: (values_: number | number[]) => Record<string, number> = pipe(\n values_ => flatten([values_]),\n values_ => values_.map((val: number, i: number): [string, number] => [`value${i + 1}`, val]),\n fromPairs\n);\n\n/* this convert incoming component data to rechart data structure */\nexport const formatData: (\n legend: {[ref: string]: string},\n data_: LearningProfileRadarChartPropTypes['data']\n) => FormatedDataType[] = (legend, data_) =>\n pipe(\n toPairs,\n map(([ref, values_]: [string, number | number[]]) => ({\n ...formatValues(values_),\n subject: legend[ref]\n }))\n )(data_);\n\nexport const LearningProfileRadarChart = (\n {\n data,\n legend,\n totalDataset,\n colors: colorsProps,\n onClick,\n onExploreClick,\n width,\n height,\n margin\n }: LearningProfileRadarChartPropTypes,\n legacyContext: WebContextValues\n) => {\n const [isMobile, setIsMobile] = useState(false);\n const [activeDot, setActiveDot] = useState<ActiveDotType>();\n const [hoveredDot, setHoveredDot] = useState('');\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n const primarySkinColor = get('common.primary', skin);\n\n const formatedColors = times(i => {\n if (!colorsProps?.length) return DEFAULT_COLORS;\n\n const colors = colorsProps[i];\n return colors ? Object.assign({}, DEFAULT_COLORS, colors) : DEFAULT_COLORS;\n })(totalDataset);\n\n const chartType: CHART_TYPE_TYPE = useMemo(\n () => getOr('hexagon', size(data), CHART_CONFIGS_BY_SIDE_COUNT),\n [data]\n );\n\n const gradients = useMemo(\n () =>\n formatedColors.map(({gradient: {fill, stroke}}, index) => (\n <svg key={`gradient-${index}`}>\n <Gradient type={`fill-${index}`} colors={fill} />\n <Gradient type={`stroke-${index}`} colors={stroke} />\n </svg>\n )),\n [formatedColors]\n );\n\n const userAgent = navigator?.userAgent;\n const isMobile_ = useMemo(() => getIsMobile(userAgent), [userAgent]);\n\n const setIsMobile_ = useCallback(() => {\n setIsMobile(isMobile_ as boolean);\n }, [isMobile_]);\n\n useEffect(() => setIsMobile_(), [setIsMobile_]);\n\n useEffect(() => {\n const handleClick = () => {\n setActiveDot(undefined);\n onClick(undefined);\n };\n\n !isEmpty(activeDot) && window.addEventListener('click', handleClick);\n\n return () => {\n window.removeEventListener('click', handleClick);\n };\n }, [activeDot, onClick, setActiveDot]);\n\n function handleOnActiveDotClick() {\n setActiveDot(undefined);\n onClick(undefined);\n }\n\n function handleOnDotClick(label: string) {\n if (!isEmpty(activeDot) && activeDot?.label === label) {\n handleOnActiveDotClick();\n return;\n }\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const index = formatedData.indexOf(payload);\n const datakey = `value${index + 1}`;\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n setActiveDot({\n key: datakey,\n value: payload[datakey],\n label: payload.subject\n });\n onClick(skillRef);\n }\n }\n\n function handleExploreClick(label: string) {\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n onExploreClick(skillRef);\n }\n }\n\n function renderCustomLabel(props: {\n x: number;\n y: number;\n payload: {value: string};\n index: number;\n }) {\n const {\n x,\n y,\n payload: {value: label},\n index\n } = props;\n const currentData = formatedData.find(({subject}) => subject === label);\n const percentagesValues: number[] = pipe(\n omit('subject'),\n mapValues(value => `${value}%`),\n values\n )(currentData);\n\n return (\n <CustomLabel\n index={index}\n x={x}\n y={y}\n percentagesValues={percentagesValues}\n label={label}\n activeDot={activeDot}\n chartType={chartType}\n formatedColors={formatedColors}\n primarySkinColor={primarySkinColor}\n exploreLocale={translate('Explore')}\n hoveredDot={hoveredDot}\n onClick={handleOnDotClick}\n onExploreClick={handleExploreClick}\n />\n );\n }\n const formatedData = useMemo(() => formatData(legend, data), [legend, data]);\n\n return (\n <RadarChart\n width={width}\n height={height}\n margin={margin ?? (isMobile ? {top: 80} : {top: 180})}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius=\"80%\"\n data={formatedData}\n >\n {gradients}\n <PolarGrid strokeDasharray={10} strokeWidth={2} radialLines={false} />\n <PolarAngleAxis dataKey=\"subject\" tick={!isMobile && renderCustomLabel} />\n <PolarRadiusAxis tick={false} axisLine={false} domain={[0, 100]} />\n {buildRadars(totalDataset, setHoveredDot, handleOnDotClick, activeDot)}\n {isMobile ? <Tooltip cursor={false} content={<CustomTooltip />} /> : null}\n </RadarChart>\n );\n};\n\nconst ResponsiveLearningProfileRadarChart = (props: LearningProfileRadarChartPropTypes) => (\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LearningProfileRadarChart {...props} />\n </ResponsiveContainer>\n);\n\nLearningProfileRadarChart.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\nResponsiveLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\n\nexport default ResponsiveLearningProfileRadarChart;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAuBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsGE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IArBC;;;;;MAKC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,0DAaE;IAEF,6BAqfC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAuBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsGE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IArBC;;;;;MAKC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,0DAaE;IAEF,6BAufC;CACF"}
@@ -201,7 +201,8 @@ class MoocHeader extends React.Component {
201
201
  translate,
202
202
  skin
203
203
  } = this.context;
204
- const isMobile = getIsMobile();
204
+ const userAgent = navigator?.userAgent;
205
+ const isMobile = getIsMobile(userAgent);
205
206
  const {
206
207
  'aria-label': logoAriaLabel,
207
208
  closeMenuAriaLabel,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyPlacesHome24","HomeIcon","FontAwesomeIcon","Provider","Cta","InputSelect","Picture","InputSwitch","Link","Search","SearchForm","ButtonMenuAction","COLORS","isMobile","getIsMobile","style","MoocHeader","Component","contextTypes","translate","childContextTypes","skin","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","createMenuButtons","items","primaryColor","map","item","label","title","disabled","type","link","href","name","customStyle","padding","selected","color","customLabelClassName","buttonContentLabel","render","_isEmpty","logo","pages","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","_get","logoMobileUrl","_getOr","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","mediumColor","displayedPages","displayed","index","activeColor","pageCountAriaLabel","itemLabel","pageBadge","counter","createElement","className","itemBadge","activePage","itemName","hoverColor","brand","onClick","bar","backgroundColor","optionsView","more","option","line","value","noItems","tabletOnlyMoreMenu","optionsGroup","desktopOnlyMoreMenu","button","containerCustom","alignItems","closeOnClick","enableScroll","menuWrapper","top","maxWidth","buttons","showFade","ctas","cta","_extends","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","icon","negative_700","neutral_500","stats","stat","stars","yellow_500","ranking","badge","neutral_400","myList","purple_500","avatarWrapper","settingsElements","setting","settingView","options","settingName","ariaLabel","iconView","linkIcon","settingLink","selectProps","values","opt","find","onChange","placeholder","selectBoxes","switchProps","id","titlePosition","theme","ref","userAvatarWrapper","userAvatarOpen","userLinkAvatar","role","avatar","src","picture","alt","profileAvatarAlt","settingsWrapper","settingsWrapperHidden","settingsGroup","hiddenSearchBar","searchBar","onSubmit","onReset","onSearchFocus","onSearchBlur","wrapper","open","header","logoWrapper","onMouseOver","onMouseLeave","navMobile","burgerHidden","burger","close","closeHidden","onKeyDown","tabIndex","tooltipIconContainer","homeIcon","dangerouslySetInnerHTML","__html","hiddenMenuWrapper","propTypes","process","env","NODE_ENV","shape","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon\n} from '@coorpacademy/nova-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport InputSelect from '../../atom/input-select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport ButtonMenuAction from '../../molecule/button-menu-action';\nimport {COLORS} from '../../variables/colors';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n myList: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n 'group-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link', 'danger-link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func,\n enableScroll: PropTypes.bool\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n createMenuButtons = (items, primaryColor) => {\n return items.map(item => ({\n label: item.title,\n disabled: item.disabled,\n type: 'defaultLeft',\n link: {href: item.href},\n 'data-name': `item-more-${item.name}`,\n customStyle: {\n padding: '0 16px',\n ...(item.selected && {color: primaryColor})\n },\n customLabelClassName: style.buttonContentLabel\n }));\n };\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const isMobile = getIsMobile();\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n disabled={item.disabled}\n className={classnames(\n style.itemBadge,\n item.selected && style.activePage,\n item.disabled && style.disabled\n )}\n aria-label={pageCountAriaLabel}\n >\n <span className={style.counter}>{item.counter > 99 ? '99+' : item.counter}</span>\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n disabled={item.disabled}\n className={classnames(\n style.item,\n item.disabled && item.selected && style.activePage,\n item.disabled && style.disabled\n )}\n hoverColor={item.disabled ? '' : getOr(COLORS.brand, 'common.primary', skin)}\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n disabled={item.disabled}\n className={classnames(style.option, item.disabled && style.disabled)}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n hoverColor={item.disabled ? '' : getOr(COLORS.brand, 'common.primary', skin)}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n {items.more &&\n (isMobile ? (\n <div className={style.tabletOnlyMoreMenu}>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n ) : (\n <div className={style.desktopOnlyMoreMenu}>\n <ButtonMenuAction\n button={{\n label: moreAriaLabel,\n 'aria-label': moreAriaLabel,\n 'data-name': 'item-more'\n }}\n type=\"link\"\n primaryColor={primaryColor}\n containerCustom={{alignItems: 'flex-start'}}\n closeOnClick\n enableScroll\n menuWrapper={{\n customStyle: {\n top: '30px',\n maxWidth: 360\n }\n }}\n menu={{\n buttons: this.createMenuButtons(items.more, primaryColor)\n }}\n showFade\n />\n </div>\n ))}\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications > 99 ? '99+' : nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <FontAwesomeIcon\n icon=\"bell\"\n style={{color: nbNotifications > 0 ? COLORS.negative_700 : COLORS.neutral_500}}\n />\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"star\"\n style={{color: COLORS.yellow_500}}\n className={style.stars}\n />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"ranking-star\"\n className={style.ranking}\n style={{color: primaryColor}}\n />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"trophy\"\n className={style.badge}\n style={{color: COLORS.neutral_400}}\n />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-my-list\"\n href={user.stats.myList.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.myList['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"list-check\"\n className={style.icon}\n style={{color: COLORS.purple_500}}\n />\n </div>\n <div className={style.label}>{user.stats.myList.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>{notificationPageView}</div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n 'aria-label': ariaLabel,\n icon,\n disabled = false\n } = setting;\n\n switch (type) {\n case 'link':\n case 'danger-link': {\n const iconView =\n icon && !isMobile ? <FontAwesomeIcon icon={icon} className={style.linkIcon} /> : null;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, disabled && style.disabled)}\n key={settingName}\n >\n <Link\n className={style.settingLink}\n href={options.href}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n >\n {iconView}\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {\n options: options.values.map(opt => ({\n value: opt.value,\n label: opt.name,\n 'data-name': `setting-${settingName}-option-${opt.value}`\n })),\n value: options.values.find(opt => opt.selected)?.value,\n onChange: options.onChange,\n placeholder: title,\n 'aria-label': ariaLabel || title,\n 'button-data-testid': `setting-${settingName}-button`\n };\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <InputSelect {...selectProps} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {\n value: options.value,\n id: `input-switch-${index}`,\n onChange: options.onChange,\n titlePosition: 'left',\n theme: 'newMooc',\n type: 'switch',\n title,\n icon\n };\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, disabled && style.disabled)}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <div\n data-name=\"user-avatar-wrapper\"\n className={classnames(style.userAvatarWrapper, isSettingsOpen && style.userAvatarOpen)}\n >\n <Link\n className={classnames(style.userLinkAvatar)}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n aria-haspopup=\"true\"\n role=\"button\"\n >\n <Picture\n className={style.avatar}\n src={user && user.picture}\n alt={user && user.profileAvatarAlt}\n />\n </Link>\n </div>\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n id=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <nav\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </nav>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyPlacesHome24","HomeIcon","FontAwesomeIcon","Provider","Cta","InputSelect","Picture","InputSwitch","Link","Search","SearchForm","ButtonMenuAction","COLORS","isMobile","getIsMobile","style","MoocHeader","Component","contextTypes","translate","childContextTypes","skin","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","bind","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","createMenuButtons","items","primaryColor","map","item","label","title","disabled","type","link","href","name","customStyle","padding","selected","color","customLabelClassName","buttonContentLabel","render","_isEmpty","logo","pages","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","context","userAgent","navigator","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","_get","logoMobileUrl","_getOr","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","mediumColor","displayedPages","displayed","index","activeColor","pageCountAriaLabel","itemLabel","pageBadge","counter","createElement","className","itemBadge","activePage","itemName","hoverColor","brand","onClick","bar","backgroundColor","optionsView","more","option","line","value","noItems","tabletOnlyMoreMenu","optionsGroup","desktopOnlyMoreMenu","button","containerCustom","alignItems","closeOnClick","enableScroll","menuWrapper","top","maxWidth","buttons","showFade","ctas","cta","_extends","length","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","icon","negative_700","neutral_500","stats","stat","stars","yellow_500","ranking","badge","neutral_400","myList","purple_500","avatarWrapper","settingsElements","setting","settingView","options","settingName","ariaLabel","iconView","linkIcon","settingLink","selectProps","values","opt","find","onChange","placeholder","selectBoxes","switchProps","id","titlePosition","theme","ref","userAvatarWrapper","userAvatarOpen","userLinkAvatar","role","avatar","src","picture","alt","profileAvatarAlt","settingsWrapper","settingsWrapperHidden","settingsGroup","hiddenSearchBar","searchBar","onSubmit","onReset","onSearchFocus","onSearchBlur","wrapper","open","header","logoWrapper","onMouseOver","onMouseLeave","navMobile","burgerHidden","burger","close","closeHidden","onKeyDown","tabIndex","tooltipIconContainer","homeIcon","dangerouslySetInnerHTML","__html","hiddenMenuWrapper","propTypes","process","env","NODE_ENV","shape","string","srcMobile","func","arrayOf","oneOf","bool","number"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon\n} from '@coorpacademy/nova-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport InputSelect from '../../atom/input-select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport ButtonMenuAction from '../../molecule/button-menu-action';\nimport {COLORS} from '../../variables/colors';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n myList: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n 'group-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link', 'danger-link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func,\n enableScroll: PropTypes.bool\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n createMenuButtons = (items, primaryColor) => {\n return items.map(item => ({\n label: item.title,\n disabled: item.disabled,\n type: 'defaultLeft',\n link: {href: item.href},\n 'data-name': `item-more-${item.name}`,\n customStyle: {\n padding: '0 16px',\n ...(item.selected && {color: primaryColor})\n },\n customLabelClassName: style.buttonContentLabel\n }));\n };\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const userAgent = navigator?.userAgent;\n const isMobile = getIsMobile(userAgent);\n\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n disabled={item.disabled}\n className={classnames(\n style.itemBadge,\n item.selected && style.activePage,\n item.disabled && style.disabled\n )}\n aria-label={pageCountAriaLabel}\n >\n <span className={style.counter}>{item.counter > 99 ? '99+' : item.counter}</span>\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n disabled={item.disabled}\n className={classnames(\n style.item,\n item.disabled && item.selected && style.activePage,\n item.disabled && style.disabled\n )}\n hoverColor={item.disabled ? '' : getOr(COLORS.brand, 'common.primary', skin)}\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n disabled={item.disabled}\n className={classnames(style.option, item.disabled && style.disabled)}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n hoverColor={item.disabled ? '' : getOr(COLORS.brand, 'common.primary', skin)}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n {items.more &&\n (isMobile ? (\n <div className={style.tabletOnlyMoreMenu}>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n ) : (\n <div className={style.desktopOnlyMoreMenu}>\n <ButtonMenuAction\n button={{\n label: moreAriaLabel,\n 'aria-label': moreAriaLabel,\n 'data-name': 'item-more'\n }}\n type=\"link\"\n primaryColor={primaryColor}\n containerCustom={{alignItems: 'flex-start'}}\n closeOnClick\n enableScroll\n menuWrapper={{\n customStyle: {\n top: '30px',\n maxWidth: 360\n }\n }}\n menu={{\n buttons: this.createMenuButtons(items.more, primaryColor)\n }}\n showFade\n />\n </div>\n ))}\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications > 99 ? '99+' : nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <FontAwesomeIcon\n icon=\"bell\"\n style={{color: nbNotifications > 0 ? COLORS.negative_700 : COLORS.neutral_500}}\n />\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"star\"\n style={{color: COLORS.yellow_500}}\n className={style.stars}\n />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"ranking-star\"\n className={style.ranking}\n style={{color: primaryColor}}\n />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"trophy\"\n className={style.badge}\n style={{color: COLORS.neutral_400}}\n />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-my-list\"\n href={user.stats.myList.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.myList['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"list-check\"\n className={style.icon}\n style={{color: COLORS.purple_500}}\n />\n </div>\n <div className={style.label}>{user.stats.myList.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>{notificationPageView}</div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n 'aria-label': ariaLabel,\n icon,\n disabled = false\n } = setting;\n\n switch (type) {\n case 'link':\n case 'danger-link': {\n const iconView =\n icon && !isMobile ? <FontAwesomeIcon icon={icon} className={style.linkIcon} /> : null;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, disabled && style.disabled)}\n key={settingName}\n >\n <Link\n className={style.settingLink}\n href={options.href}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n >\n {iconView}\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {\n options: options.values.map(opt => ({\n value: opt.value,\n label: opt.name,\n 'data-name': `setting-${settingName}-option-${opt.value}`\n })),\n value: options.values.find(opt => opt.selected)?.value,\n onChange: options.onChange,\n placeholder: title,\n 'aria-label': ariaLabel || title,\n 'button-data-testid': `setting-${settingName}-button`\n };\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <InputSelect {...selectProps} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {\n value: options.value,\n id: `input-switch-${index}`,\n onChange: options.onChange,\n titlePosition: 'left',\n theme: 'newMooc',\n type: 'switch',\n title,\n icon\n };\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, disabled && style.disabled)}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <div\n data-name=\"user-avatar-wrapper\"\n className={classnames(style.userAvatarWrapper, isSettingsOpen && style.userAvatarOpen)}\n >\n <Link\n className={classnames(style.userLinkAvatar)}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n aria-haspopup=\"true\"\n role=\"button\"\n >\n <Picture\n className={style.avatar}\n src={user && user.picture}\n alt={user && user.profileAvatarAlt}\n />\n </Link>\n </div>\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n id=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <nav\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </nav>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export function isMobile(): boolean | (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any));
1
+ export function isMobile(userAgent: any): boolean;
2
2
  //# sourceMappingURL=check-is-mobile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-is-mobile.d.ts","sourceRoot":"","sources":["../../src/util/check-is-mobile.js"],"names":[],"mappings":"AAAO,uIACgF"}
1
+ {"version":3,"file":"check-is-mobile.d.ts","sourceRoot":"","sources":["../../src/util/check-is-mobile.js"],"names":[],"mappings":"AAAO,kDAWN"}
@@ -1,2 +1,7 @@
1
- export const isMobile = () => window.ontouchstart || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
1
+ export const isMobile = userAgent => {
2
+ const isTouch = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
3
+ const isSmallScreen = window.innerWidth <= 768;
4
+ const isMobileUserAgent = /Android|iPhone|iPad|iPod|Mobile|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
5
+ return isSmallScreen || isTouch && isMobileUserAgent;
6
+ };
2
7
  //# sourceMappingURL=check-is-mobile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-is-mobile.js","names":["isMobile","window","ontouchstart","navigator","maxTouchPoints","msMaxTouchPoints"],"sources":["../../src/util/check-is-mobile.js"],"sourcesContent":["export const isMobile = () =>\n window.ontouchstart || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n"],"mappings":"AAAA,OAAO,MAAMA,QAAQ,GAAGA,CAAA,KACtBC,MAAM,CAACC,YAAY,IAAIC,SAAS,CAACC,cAAc,GAAG,CAAC,IAAID,SAAS,CAACE,gBAAgB,GAAG,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"check-is-mobile.js","names":["isMobile","userAgent","isTouch","window","navigator","maxTouchPoints","msMaxTouchPoints","isSmallScreen","innerWidth","isMobileUserAgent","test"],"sources":["../../src/util/check-is-mobile.js"],"sourcesContent":["export const isMobile = userAgent => {\n const isTouch =\n 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n\n const isSmallScreen = window.innerWidth <= 768;\n\n const isMobileUserAgent = /Android|iPhone|iPad|iPod|Mobile|BlackBerry|IEMobile|Opera Mini/i.test(\n userAgent\n );\n\n return isSmallScreen || (isTouch && isMobileUserAgent);\n};\n"],"mappings":"AAAA,OAAO,MAAMA,QAAQ,GAAGC,SAAS,IAAI;EACnC,MAAMC,OAAO,GACX,cAAc,IAAIC,MAAM,IAAIC,SAAS,CAACC,cAAc,GAAG,CAAC,IAAID,SAAS,CAACE,gBAAgB,GAAG,CAAC;EAE5F,MAAMC,aAAa,GAAGJ,MAAM,CAACK,UAAU,IAAI,GAAG;EAE9C,MAAMC,iBAAiB,GAAG,iEAAiE,CAACC,IAAI,CAC9FT,SACF,CAAC;EAED,OAAOM,aAAa,IAAKL,OAAO,IAAIO,iBAAkB;AACxD,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"names":[],"mappings":";AAiCA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAGL,gBAAgB,EAChB,kCAAkC,EAGnC,MAAM,SAAS,CAAC;AAoUjB,eAAO,MAAM,UAAU,EAAE,CACvB,MAAM,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EAC/B,KAAK,EAAE,kCAAkC,CAAC,MAAM,CAAC,KAC9C,gBAAgB,EAOX,CAAC;AAEX,eAAO,MAAM,yBAAyB;0GAWjC,kCAAkC,iBACtB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoJhC,CAAC;AAEF,QAAA,MAAM,mCAAmC;YAAW,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;CAIrF,CAAC;AAUF,eAAe,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"names":[],"mappings":";AAiCA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAGL,gBAAgB,EAChB,kCAAkC,EAGnC,MAAM,SAAS,CAAC;AAoUjB,eAAO,MAAM,UAAU,EAAE,CACvB,MAAM,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,EAC/B,KAAK,EAAE,kCAAkC,CAAC,MAAM,CAAC,KAC9C,gBAAgB,EAOX,CAAC;AAEX,eAAO,MAAM,yBAAyB;0GAWjC,kCAAkC,iBACtB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqJhC,CAAC;AAEF,QAAA,MAAM,mCAAmC;YAAW,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;CAIrF,CAAC;AAUF,eAAe,mCAAmC,CAAC"}
@@ -355,7 +355,8 @@ const LearningProfileRadarChart = ({
355
355
  type: `stroke-${index}`,
356
356
  colors: stroke
357
357
  }))), [formatedColors]);
358
- const isMobile_ = (0, _checkIsMobile.isMobile)();
358
+ const userAgent = navigator?.userAgent;
359
+ const isMobile_ = (0, _react.useMemo)(() => (0, _checkIsMobile.isMobile)(userAgent), [userAgent]);
359
360
  const setIsMobile_ = (0, _react.useCallback)(() => {
360
361
  setIsMobile(isMobile_);
361
362
  }, [isMobile_]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_recharts","_cssColorFunction","_classnames","_interopRequireDefault","_checkIsMobile","_buttonLink","_provider","_types","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","top","offset","x","y","alignment","margin","bottom","right","marginRight","left","marginLeft","BLACK","WHITE","DEFAULT_MAIN_COLOR","DEFAULT_COLORS","gradient","fill","stroke","percentage","color","background","label","CHART_CONFIGS","triangle","name","ticks","sideCount","quadrilateral","pentagon","hexagon","DOT_DEFAULT_PROPS","strokeWidth","strokeOpacity","pointerEvents","style","cursor","DOT_ACTIVE_PROPS","RADAR_DEFAULT_PROPS","fillOpacity","Gradient","type","colors","firstColor","secondColor","createElement","id","x1","y1","x2","y2","stopColor","CustomTooltip","active","payload","className","tooltip","tooltipLabel","tooltipValue","value","CustomDot","cx","cy","onDotHover","onDotClick","activeDot","dataName","subject","onTouchStart","onClick","stopPropagation","onMouseOver","onMouseLeave","buildRadars","totalDataset","handleDotHover","handleOnDotClick","_times2","index","datakey","dataset","Radar","key","dataKey","dot","CustomLabel","percentagesValues","chartType","formatedColors","primarySkinColor","exploreLocale","hoveredDot","onExploreClick","hovered","setHovered","useState","isCurrentDotActive","offsetX","offsetY","rest","onLabelClick","handleExploreClick","buttonExploreProps","customStyle","height","backgroundColor","convert","transition","icon","position","faIcon","size","handleMouseOver","useCallback","handleMouseLeave","extraOffsetY","classnames","tickeForeignObject","tickeForeignObjectFocus","tickWrapper","tickWrapperFocus","tickWrapperHover","alignItems","textAlign","opacity","_isEmpty2","map","colorLabel","Fragment","tickValue","tickLabel","buttonWrapper","CHART_CONFIGS_BY_SIDE_COUNT","_pipe2","_keyBy2","_mapValues2","formatValues","values_","_flatten2","val","_fromPairs2","formatData","legend","data_","_toPairs2","_map2","ref","exports","LearningProfileRadarChart","data","colorsProps","width","legacyContext","isMobile","setIsMobile","setActiveDot","setHoveredDot","skin","GetSkinFromContext","translate","GetTranslateFromContext","_get2","useMemo","_getOr2","_size2","gradients","isMobile_","getIsMobile","setIsMobile_","useEffect","handleClick","undefined","window","addEventListener","removeEventListener","handleOnActiveDotClick","formatedData","find","indexOf","skillRef","_findKey2","renderCustomLabel","props","currentData","_omit2","_values2","RadarChart","outerRadius","PolarGrid","strokeDasharray","radialLines","PolarAngleAxis","tick","PolarRadiusAxis","axisLine","domain","Tooltip","content","ResponsiveLearningProfileRadarChart","ResponsiveContainer","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","learningProfileRadarChartPropTypes","_default"],"sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"sourcesContent":["import React, {Fragment, useCallback, useEffect, useMemo, useState} from 'react';\nimport {\n Radar,\n RadarChart,\n PolarGrid,\n PolarAngleAxis,\n ResponsiveContainer,\n Tooltip,\n PolarRadiusAxis\n} from 'recharts';\nimport {\n pipe,\n keyBy,\n mapValues,\n size,\n getOr,\n map,\n toPairs,\n values,\n isEmpty,\n omit,\n fromPairs,\n times,\n flatten,\n findKey,\n get\n} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport ButtonLink from '../../atom/button-link';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport {\n ActiveDotType,\n FormatedColorsType,\n FormatedDataType,\n LearningProfileRadarChartPropTypes,\n TickType,\n learningProfileRadarChartPropTypes\n} from './types';\nimport style from './style.css';\n\ntype CHART_TYPE_TYPE = keyof typeof CHART_CONFIGS;\n\n/* TICK_POSITIONS */\nconst top: TickType = {offset: {x: -100, y: -75}, alignment: 'center', margin: 'auto'};\nconst bottom: TickType = {offset: {x: -100, y: 10}, alignment: 'center', margin: 'auto'};\nconst right: TickType = {offset: {x: 30, y: -10}, alignment: 'start', marginRight: 'auto'};\nconst left: TickType = {offset: {x: -230, y: -10}, alignment: 'end', marginLeft: 'auto'};\n\n/* CONSTANTS */\nconst BLACK = '#000000ff';\nconst WHITE = '#ffffffff';\nconst DEFAULT_MAIN_COLOR = '#0062ffff';\n\nconst DEFAULT_COLORS: FormatedColorsType = {\n gradient: {\n fill: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR],\n stroke: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR]\n },\n percentage: {\n color: BLACK,\n background: WHITE\n },\n label: {\n color: BLACK\n }\n};\n\nconst CHART_CONFIGS = {\n triangle: {\n name: 'triangle',\n ticks: [top, right, left],\n sideCount: 3\n },\n quadrilateral: {\n name: 'quadrilateral',\n ticks: [top, right, bottom, left],\n sideCount: 4\n },\n pentagon: {\n name: 'pentagon',\n ticks: [top, right, right, left, left],\n sideCount: 5\n },\n hexagon: {\n name: 'hexagon',\n ticks: [top, right, right, bottom, left, left],\n sideCount: 6\n }\n} as const;\n\nconst DOT_DEFAULT_PROPS = {\n strokeWidth: 2,\n strokeOpacity: 0.4,\n fill: '#fff',\n r: 4,\n pointerEvents: 'all',\n style: {cursor: 'pointer'}\n} as const;\n\nconst DOT_ACTIVE_PROPS = {\n fill: '#fff',\n r: 6,\n strokeWidth: 4,\n strokeOpacity: 0.6\n} as const;\n\nconst RADAR_DEFAULT_PROPS = {\n strokeWidth: 3,\n strokeOpacity: 0.2,\n fillOpacity: 0.2\n} as const;\n\n/* COMPONENTS */\nconst Gradient = ({type, colors: [firstColor, secondColor]}: {type: string; colors: string[]}) => (\n <defs>\n <linearGradient id={`gradient-${type}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor={firstColor} />\n <stop offset=\"100%\" stopColor={secondColor} />\n </linearGradient>\n </defs>\n);\n\nconst CustomTooltip = ({\n active,\n payload,\n label\n}: {\n active?: boolean;\n payload?: {value: number}[];\n label?: string;\n}) =>\n active && !!payload?.length ? (\n <div className={style.tooltip}>\n <span className={style.tooltipLabel}>{label}</span>\n <span className={style.tooltipValue}>{payload[0].value}%</span>\n </div>\n ) : null;\n\nconst CustomDot = ({\n cx,\n cy,\n payload,\n onDotHover,\n onDotClick,\n stroke,\n activeDot,\n dataName\n}: {\n cx?: number;\n cy?: number;\n payload?: {payload: {subject: string} & {[datakey: string]: number}; name: string};\n onDotHover: (name: string) => void;\n onDotClick: (name: string) => void;\n dataKey: string;\n stroke: string;\n activeDot?: ActiveDotType;\n dataName: string;\n}) => (\n <circle\n {...{\n ...DOT_DEFAULT_PROPS,\n ...(payload?.payload.subject === activeDot?.label && DOT_ACTIVE_PROPS),\n stroke,\n cx,\n cy,\n onTouchStart: () => {\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n onClick: e => {\n e.stopPropagation();\n\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n onMouseOver: () => {\n if (!payload?.name) return;\n onDotHover(payload.name);\n },\n onMouseLeave: () => onDotHover(''),\n 'data-name': dataName\n }}\n />\n);\n\nconst buildRadars = (\n totalDataset: number,\n handleDotHover: (name: string) => void,\n handleOnDotClick: (name: string) => void,\n activeDot?: ActiveDotType\n) =>\n times(index => {\n const datakey = `value${index + 1}`;\n const dataset = `dataset-${index + 1}`;\n\n return (\n <Radar\n {...RADAR_DEFAULT_PROPS}\n fill={`url(#gradient-fill-${index})`}\n stroke={`url(#gradient-stroke-${index})`}\n key={dataset}\n name={dataset}\n dataKey={datakey}\n activeDot={{\n ...DOT_ACTIVE_PROPS,\n stroke: `url(#gradient-stroke-${index})`\n }}\n // only on mobile\n // to handle dot style on hover (convert to click)\n // use with the tooltip component\n dot={\n <CustomDot\n onDotHover={handleDotHover}\n onDotClick={handleOnDotClick}\n activeDot={activeDot}\n dataKey={datakey}\n stroke={`url(#gradient-stroke-${index})`}\n dataName={`dot-${dataset}`}\n />\n }\n />\n );\n }, totalDataset);\n\nconst CustomLabel = ({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n primarySkinColor,\n exploreLocale,\n hoveredDot,\n onClick,\n onExploreClick\n}: {\n index: number;\n x: number;\n y: number;\n percentagesValues: number[];\n label: string;\n chartType: CHART_TYPE_TYPE;\n formatedColors: FormatedColorsType[];\n activeDot?: ActiveDotType;\n primarySkinColor: string;\n exploreLocale: string;\n hoveredDot: string;\n onClick: (name: string) => void;\n onExploreClick: (name: string) => void;\n}) => {\n const [hovered, setHovered] = useState(false);\n const isCurrentDotActive = activeDot?.label === label;\n const {\n offset: {x: offsetX, y: offsetY},\n alignment,\n ...rest\n } = CHART_CONFIGS[chartType].ticks[index];\n\n function onLabelClick(e: React.MouseEvent) {\n e.stopPropagation();\n onClick(label);\n }\n\n function handleExploreClick() {\n onExploreClick(label);\n }\n\n const buttonExploreProps: ButtonLinkProps = {\n customStyle: {\n height: '36px',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick: handleExploreClick,\n 'aria-label': `${label}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }\n };\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const extraOffsetY = isCurrentDotActive && index === 0 ? -25 : 0;\n\n return (\n <g>\n <foreignObject\n className={classnames(\n style.tickeForeignObject,\n isCurrentDotActive && style.tickeForeignObjectFocus\n )}\n x={x + offsetX}\n y={y + offsetY + extraOffsetY}\n >\n <div\n data-name={label}\n onClick={onLabelClick}\n className={classnames(\n style.tickWrapper,\n isCurrentDotActive && style.tickWrapperFocus,\n hoveredDot === label && style.tickWrapperHover\n )}\n style={{\n ...rest,\n alignItems: alignment,\n textAlign: alignment,\n opacity: !isEmpty(activeDot) && !isCurrentDotActive ? 0.3 : 1\n }}\n >\n {formatedColors.map(\n ({percentage: {color, background}, label: {color: colorLabel}}, i) => (\n <Fragment key={i}>\n <span className={style.tickValue} style={{color, background}}>\n {percentagesValues[i]}\n </span>\n <span className={style.tickLabel} style={{color: colorLabel}}>\n {label}\n </span>\n </Fragment>\n )\n )}\n {isCurrentDotActive ? (\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-explore-wrapper\"\n >\n <ButtonLink {...buttonExploreProps} />\n </div>\n ) : null}\n </div>\n </foreignObject>\n </g>\n );\n};\n\n/* UTILS */\nconst CHART_CONFIGS_BY_SIDE_COUNT = pipe(keyBy('sideCount'), mapValues('name'))(CHART_CONFIGS);\n\nconst formatValues: (values_: number | number[]) => Record<string, number> = pipe(\n values_ => flatten([values_]),\n values_ => values_.map((val: number, i: number): [string, number] => [`value${i + 1}`, val]),\n fromPairs\n);\n\n/* this convert incoming component data to rechart data structure */\nexport const formatData: (\n legend: {[ref: string]: string},\n data_: LearningProfileRadarChartPropTypes['data']\n) => FormatedDataType[] = (legend, data_) =>\n pipe(\n toPairs,\n map(([ref, values_]: [string, number | number[]]) => ({\n ...formatValues(values_),\n subject: legend[ref]\n }))\n )(data_);\n\nexport const LearningProfileRadarChart = (\n {\n data,\n legend,\n totalDataset,\n colors: colorsProps,\n onClick,\n onExploreClick,\n width,\n height,\n margin\n }: LearningProfileRadarChartPropTypes,\n legacyContext: WebContextValues\n) => {\n const [isMobile, setIsMobile] = useState(false);\n const [activeDot, setActiveDot] = useState<ActiveDotType>();\n const [hoveredDot, setHoveredDot] = useState('');\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n const primarySkinColor = get('common.primary', skin);\n\n const formatedColors = times(i => {\n if (!colorsProps?.length) return DEFAULT_COLORS;\n\n const colors = colorsProps[i];\n return colors ? Object.assign({}, DEFAULT_COLORS, colors) : DEFAULT_COLORS;\n })(totalDataset);\n\n const chartType: CHART_TYPE_TYPE = useMemo(\n () => getOr('hexagon', size(data), CHART_CONFIGS_BY_SIDE_COUNT),\n [data]\n );\n\n const gradients = useMemo(\n () =>\n formatedColors.map(({gradient: {fill, stroke}}, index) => (\n <svg key={`gradient-${index}`}>\n <Gradient type={`fill-${index}`} colors={fill} />\n <Gradient type={`stroke-${index}`} colors={stroke} />\n </svg>\n )),\n [formatedColors]\n );\n\n const isMobile_ = getIsMobile();\n\n const setIsMobile_ = useCallback(() => {\n setIsMobile(isMobile_ as boolean);\n }, [isMobile_]);\n\n useEffect(() => setIsMobile_(), [setIsMobile_]);\n\n useEffect(() => {\n const handleClick = () => {\n setActiveDot(undefined);\n onClick(undefined);\n };\n\n !isEmpty(activeDot) && window.addEventListener('click', handleClick);\n\n return () => {\n window.removeEventListener('click', handleClick);\n };\n }, [activeDot, onClick, setActiveDot]);\n\n function handleOnActiveDotClick() {\n setActiveDot(undefined);\n onClick(undefined);\n }\n\n function handleOnDotClick(label: string) {\n if (!isEmpty(activeDot) && activeDot?.label === label) {\n handleOnActiveDotClick();\n return;\n }\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const index = formatedData.indexOf(payload);\n const datakey = `value${index + 1}`;\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n setActiveDot({\n key: datakey,\n value: payload[datakey],\n label: payload.subject\n });\n onClick(skillRef);\n }\n }\n\n function handleExploreClick(label: string) {\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n onExploreClick(skillRef);\n }\n }\n\n function renderCustomLabel(props: {\n x: number;\n y: number;\n payload: {value: string};\n index: number;\n }) {\n const {\n x,\n y,\n payload: {value: label},\n index\n } = props;\n const currentData = formatedData.find(({subject}) => subject === label);\n const percentagesValues: number[] = pipe(\n omit('subject'),\n mapValues(value => `${value}%`),\n values\n )(currentData);\n\n return (\n <CustomLabel\n index={index}\n x={x}\n y={y}\n percentagesValues={percentagesValues}\n label={label}\n activeDot={activeDot}\n chartType={chartType}\n formatedColors={formatedColors}\n primarySkinColor={primarySkinColor}\n exploreLocale={translate('Explore')}\n hoveredDot={hoveredDot}\n onClick={handleOnDotClick}\n onExploreClick={handleExploreClick}\n />\n );\n }\n const formatedData = useMemo(() => formatData(legend, data), [legend, data]);\n\n return (\n <RadarChart\n width={width}\n height={height}\n margin={margin ?? (isMobile ? {top: 80} : {top: 180})}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius=\"80%\"\n data={formatedData}\n >\n {gradients}\n <PolarGrid strokeDasharray={10} strokeWidth={2} radialLines={false} />\n <PolarAngleAxis dataKey=\"subject\" tick={!isMobile && renderCustomLabel} />\n <PolarRadiusAxis tick={false} axisLine={false} domain={[0, 100]} />\n {buildRadars(totalDataset, setHoveredDot, handleOnDotClick, activeDot)}\n {isMobile ? <Tooltip cursor={false} content={<CustomTooltip />} /> : null}\n </RadarChart>\n );\n};\n\nconst ResponsiveLearningProfileRadarChart = (props: LearningProfileRadarChartPropTypes) => (\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LearningProfileRadarChart {...props} />\n </ResponsiveContainer>\n);\n\nLearningProfileRadarChart.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\nResponsiveLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\n\nexport default ResponsiveLearningProfileRadarChart;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_recharts","_cssColorFunction","_classnames","_interopRequireDefault","_checkIsMobile","_buttonLink","_provider","_types","_style","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","top","offset","x","y","alignment","margin","bottom","right","marginRight","left","marginLeft","BLACK","WHITE","DEFAULT_MAIN_COLOR","DEFAULT_COLORS","gradient","fill","stroke","percentage","color","background","label","CHART_CONFIGS","triangle","name","ticks","sideCount","quadrilateral","pentagon","hexagon","DOT_DEFAULT_PROPS","strokeWidth","strokeOpacity","pointerEvents","style","cursor","DOT_ACTIVE_PROPS","RADAR_DEFAULT_PROPS","fillOpacity","Gradient","type","colors","firstColor","secondColor","createElement","id","x1","y1","x2","y2","stopColor","CustomTooltip","active","payload","className","tooltip","tooltipLabel","tooltipValue","value","CustomDot","cx","cy","onDotHover","onDotClick","activeDot","dataName","subject","onTouchStart","onClick","stopPropagation","onMouseOver","onMouseLeave","buildRadars","totalDataset","handleDotHover","handleOnDotClick","_times2","index","datakey","dataset","Radar","key","dataKey","dot","CustomLabel","percentagesValues","chartType","formatedColors","primarySkinColor","exploreLocale","hoveredDot","onExploreClick","hovered","setHovered","useState","isCurrentDotActive","offsetX","offsetY","rest","onLabelClick","handleExploreClick","buttonExploreProps","customStyle","height","backgroundColor","convert","transition","icon","position","faIcon","size","handleMouseOver","useCallback","handleMouseLeave","extraOffsetY","classnames","tickeForeignObject","tickeForeignObjectFocus","tickWrapper","tickWrapperFocus","tickWrapperHover","alignItems","textAlign","opacity","_isEmpty2","map","colorLabel","Fragment","tickValue","tickLabel","buttonWrapper","CHART_CONFIGS_BY_SIDE_COUNT","_pipe2","_keyBy2","_mapValues2","formatValues","values_","_flatten2","val","_fromPairs2","formatData","legend","data_","_toPairs2","_map2","ref","exports","LearningProfileRadarChart","data","colorsProps","width","legacyContext","isMobile","setIsMobile","setActiveDot","setHoveredDot","skin","GetSkinFromContext","translate","GetTranslateFromContext","_get2","useMemo","_getOr2","_size2","gradients","userAgent","navigator","isMobile_","getIsMobile","setIsMobile_","useEffect","handleClick","undefined","window","addEventListener","removeEventListener","handleOnActiveDotClick","formatedData","find","indexOf","skillRef","_findKey2","renderCustomLabel","props","currentData","_omit2","_values2","RadarChart","outerRadius","PolarGrid","strokeDasharray","radialLines","PolarAngleAxis","tick","PolarRadiusAxis","axisLine","domain","Tooltip","content","ResponsiveLearningProfileRadarChart","ResponsiveContainer","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","learningProfileRadarChartPropTypes","_default"],"sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"sourcesContent":["import React, {Fragment, useCallback, useEffect, useMemo, useState} from 'react';\nimport {\n Radar,\n RadarChart,\n PolarGrid,\n PolarAngleAxis,\n ResponsiveContainer,\n Tooltip,\n PolarRadiusAxis\n} from 'recharts';\nimport {\n pipe,\n keyBy,\n mapValues,\n size,\n getOr,\n map,\n toPairs,\n values,\n isEmpty,\n omit,\n fromPairs,\n times,\n flatten,\n findKey,\n get\n} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport classnames from 'classnames';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport ButtonLink from '../../atom/button-link';\nimport {ButtonLinkProps} from '../../atom/button-link/types';\nimport Provider, {GetSkinFromContext, GetTranslateFromContext} from '../../atom/provider';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport {\n ActiveDotType,\n FormatedColorsType,\n FormatedDataType,\n LearningProfileRadarChartPropTypes,\n TickType,\n learningProfileRadarChartPropTypes\n} from './types';\nimport style from './style.css';\n\ntype CHART_TYPE_TYPE = keyof typeof CHART_CONFIGS;\n\n/* TICK_POSITIONS */\nconst top: TickType = {offset: {x: -100, y: -75}, alignment: 'center', margin: 'auto'};\nconst bottom: TickType = {offset: {x: -100, y: 10}, alignment: 'center', margin: 'auto'};\nconst right: TickType = {offset: {x: 30, y: -10}, alignment: 'start', marginRight: 'auto'};\nconst left: TickType = {offset: {x: -230, y: -10}, alignment: 'end', marginLeft: 'auto'};\n\n/* CONSTANTS */\nconst BLACK = '#000000ff';\nconst WHITE = '#ffffffff';\nconst DEFAULT_MAIN_COLOR = '#0062ffff';\n\nconst DEFAULT_COLORS: FormatedColorsType = {\n gradient: {\n fill: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR],\n stroke: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR]\n },\n percentage: {\n color: BLACK,\n background: WHITE\n },\n label: {\n color: BLACK\n }\n};\n\nconst CHART_CONFIGS = {\n triangle: {\n name: 'triangle',\n ticks: [top, right, left],\n sideCount: 3\n },\n quadrilateral: {\n name: 'quadrilateral',\n ticks: [top, right, bottom, left],\n sideCount: 4\n },\n pentagon: {\n name: 'pentagon',\n ticks: [top, right, right, left, left],\n sideCount: 5\n },\n hexagon: {\n name: 'hexagon',\n ticks: [top, right, right, bottom, left, left],\n sideCount: 6\n }\n} as const;\n\nconst DOT_DEFAULT_PROPS = {\n strokeWidth: 2,\n strokeOpacity: 0.4,\n fill: '#fff',\n r: 4,\n pointerEvents: 'all',\n style: {cursor: 'pointer'}\n} as const;\n\nconst DOT_ACTIVE_PROPS = {\n fill: '#fff',\n r: 6,\n strokeWidth: 4,\n strokeOpacity: 0.6\n} as const;\n\nconst RADAR_DEFAULT_PROPS = {\n strokeWidth: 3,\n strokeOpacity: 0.2,\n fillOpacity: 0.2\n} as const;\n\n/* COMPONENTS */\nconst Gradient = ({type, colors: [firstColor, secondColor]}: {type: string; colors: string[]}) => (\n <defs>\n <linearGradient id={`gradient-${type}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor={firstColor} />\n <stop offset=\"100%\" stopColor={secondColor} />\n </linearGradient>\n </defs>\n);\n\nconst CustomTooltip = ({\n active,\n payload,\n label\n}: {\n active?: boolean;\n payload?: {value: number}[];\n label?: string;\n}) =>\n active && !!payload?.length ? (\n <div className={style.tooltip}>\n <span className={style.tooltipLabel}>{label}</span>\n <span className={style.tooltipValue}>{payload[0].value}%</span>\n </div>\n ) : null;\n\nconst CustomDot = ({\n cx,\n cy,\n payload,\n onDotHover,\n onDotClick,\n stroke,\n activeDot,\n dataName\n}: {\n cx?: number;\n cy?: number;\n payload?: {payload: {subject: string} & {[datakey: string]: number}; name: string};\n onDotHover: (name: string) => void;\n onDotClick: (name: string) => void;\n dataKey: string;\n stroke: string;\n activeDot?: ActiveDotType;\n dataName: string;\n}) => (\n <circle\n {...{\n ...DOT_DEFAULT_PROPS,\n ...(payload?.payload.subject === activeDot?.label && DOT_ACTIVE_PROPS),\n stroke,\n cx,\n cy,\n onTouchStart: () => {\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n onClick: e => {\n e.stopPropagation();\n\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n onMouseOver: () => {\n if (!payload?.name) return;\n onDotHover(payload.name);\n },\n onMouseLeave: () => onDotHover(''),\n 'data-name': dataName\n }}\n />\n);\n\nconst buildRadars = (\n totalDataset: number,\n handleDotHover: (name: string) => void,\n handleOnDotClick: (name: string) => void,\n activeDot?: ActiveDotType\n) =>\n times(index => {\n const datakey = `value${index + 1}`;\n const dataset = `dataset-${index + 1}`;\n\n return (\n <Radar\n {...RADAR_DEFAULT_PROPS}\n fill={`url(#gradient-fill-${index})`}\n stroke={`url(#gradient-stroke-${index})`}\n key={dataset}\n name={dataset}\n dataKey={datakey}\n activeDot={{\n ...DOT_ACTIVE_PROPS,\n stroke: `url(#gradient-stroke-${index})`\n }}\n // only on mobile\n // to handle dot style on hover (convert to click)\n // use with the tooltip component\n dot={\n <CustomDot\n onDotHover={handleDotHover}\n onDotClick={handleOnDotClick}\n activeDot={activeDot}\n dataKey={datakey}\n stroke={`url(#gradient-stroke-${index})`}\n dataName={`dot-${dataset}`}\n />\n }\n />\n );\n }, totalDataset);\n\nconst CustomLabel = ({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n primarySkinColor,\n exploreLocale,\n hoveredDot,\n onClick,\n onExploreClick\n}: {\n index: number;\n x: number;\n y: number;\n percentagesValues: number[];\n label: string;\n chartType: CHART_TYPE_TYPE;\n formatedColors: FormatedColorsType[];\n activeDot?: ActiveDotType;\n primarySkinColor: string;\n exploreLocale: string;\n hoveredDot: string;\n onClick: (name: string) => void;\n onExploreClick: (name: string) => void;\n}) => {\n const [hovered, setHovered] = useState(false);\n const isCurrentDotActive = activeDot?.label === label;\n const {\n offset: {x: offsetX, y: offsetY},\n alignment,\n ...rest\n } = CHART_CONFIGS[chartType].ticks[index];\n\n function onLabelClick(e: React.MouseEvent) {\n e.stopPropagation();\n onClick(label);\n }\n\n function handleExploreClick() {\n onExploreClick(label);\n }\n\n const buttonExploreProps: ButtonLinkProps = {\n customStyle: {\n height: '36px',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onClick: handleExploreClick,\n 'aria-label': `${label}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }\n };\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const extraOffsetY = isCurrentDotActive && index === 0 ? -25 : 0;\n\n return (\n <g>\n <foreignObject\n className={classnames(\n style.tickeForeignObject,\n isCurrentDotActive && style.tickeForeignObjectFocus\n )}\n x={x + offsetX}\n y={y + offsetY + extraOffsetY}\n >\n <div\n data-name={label}\n onClick={onLabelClick}\n className={classnames(\n style.tickWrapper,\n isCurrentDotActive && style.tickWrapperFocus,\n hoveredDot === label && style.tickWrapperHover\n )}\n style={{\n ...rest,\n alignItems: alignment,\n textAlign: alignment,\n opacity: !isEmpty(activeDot) && !isCurrentDotActive ? 0.3 : 1\n }}\n >\n {formatedColors.map(\n ({percentage: {color, background}, label: {color: colorLabel}}, i) => (\n <Fragment key={i}>\n <span className={style.tickValue} style={{color, background}}>\n {percentagesValues[i]}\n </span>\n <span className={style.tickLabel} style={{color: colorLabel}}>\n {label}\n </span>\n </Fragment>\n )\n )}\n {isCurrentDotActive ? (\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-explore-wrapper\"\n >\n <ButtonLink {...buttonExploreProps} />\n </div>\n ) : null}\n </div>\n </foreignObject>\n </g>\n );\n};\n\n/* UTILS */\nconst CHART_CONFIGS_BY_SIDE_COUNT = pipe(keyBy('sideCount'), mapValues('name'))(CHART_CONFIGS);\n\nconst formatValues: (values_: number | number[]) => Record<string, number> = pipe(\n values_ => flatten([values_]),\n values_ => values_.map((val: number, i: number): [string, number] => [`value${i + 1}`, val]),\n fromPairs\n);\n\n/* this convert incoming component data to rechart data structure */\nexport const formatData: (\n legend: {[ref: string]: string},\n data_: LearningProfileRadarChartPropTypes['data']\n) => FormatedDataType[] = (legend, data_) =>\n pipe(\n toPairs,\n map(([ref, values_]: [string, number | number[]]) => ({\n ...formatValues(values_),\n subject: legend[ref]\n }))\n )(data_);\n\nexport const LearningProfileRadarChart = (\n {\n data,\n legend,\n totalDataset,\n colors: colorsProps,\n onClick,\n onExploreClick,\n width,\n height,\n margin\n }: LearningProfileRadarChartPropTypes,\n legacyContext: WebContextValues\n) => {\n const [isMobile, setIsMobile] = useState(false);\n const [activeDot, setActiveDot] = useState<ActiveDotType>();\n const [hoveredDot, setHoveredDot] = useState('');\n const skin = GetSkinFromContext(legacyContext);\n const translate = GetTranslateFromContext(legacyContext);\n const primarySkinColor = get('common.primary', skin);\n\n const formatedColors = times(i => {\n if (!colorsProps?.length) return DEFAULT_COLORS;\n\n const colors = colorsProps[i];\n return colors ? Object.assign({}, DEFAULT_COLORS, colors) : DEFAULT_COLORS;\n })(totalDataset);\n\n const chartType: CHART_TYPE_TYPE = useMemo(\n () => getOr('hexagon', size(data), CHART_CONFIGS_BY_SIDE_COUNT),\n [data]\n );\n\n const gradients = useMemo(\n () =>\n formatedColors.map(({gradient: {fill, stroke}}, index) => (\n <svg key={`gradient-${index}`}>\n <Gradient type={`fill-${index}`} colors={fill} />\n <Gradient type={`stroke-${index}`} colors={stroke} />\n </svg>\n )),\n [formatedColors]\n );\n\n const userAgent = navigator?.userAgent;\n const isMobile_ = useMemo(() => getIsMobile(userAgent), [userAgent]);\n\n const setIsMobile_ = useCallback(() => {\n setIsMobile(isMobile_ as boolean);\n }, [isMobile_]);\n\n useEffect(() => setIsMobile_(), [setIsMobile_]);\n\n useEffect(() => {\n const handleClick = () => {\n setActiveDot(undefined);\n onClick(undefined);\n };\n\n !isEmpty(activeDot) && window.addEventListener('click', handleClick);\n\n return () => {\n window.removeEventListener('click', handleClick);\n };\n }, [activeDot, onClick, setActiveDot]);\n\n function handleOnActiveDotClick() {\n setActiveDot(undefined);\n onClick(undefined);\n }\n\n function handleOnDotClick(label: string) {\n if (!isEmpty(activeDot) && activeDot?.label === label) {\n handleOnActiveDotClick();\n return;\n }\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const index = formatedData.indexOf(payload);\n const datakey = `value${index + 1}`;\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n setActiveDot({\n key: datakey,\n value: payload[datakey],\n label: payload.subject\n });\n onClick(skillRef);\n }\n }\n\n function handleExploreClick(label: string) {\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n onExploreClick(skillRef);\n }\n }\n\n function renderCustomLabel(props: {\n x: number;\n y: number;\n payload: {value: string};\n index: number;\n }) {\n const {\n x,\n y,\n payload: {value: label},\n index\n } = props;\n const currentData = formatedData.find(({subject}) => subject === label);\n const percentagesValues: number[] = pipe(\n omit('subject'),\n mapValues(value => `${value}%`),\n values\n )(currentData);\n\n return (\n <CustomLabel\n index={index}\n x={x}\n y={y}\n percentagesValues={percentagesValues}\n label={label}\n activeDot={activeDot}\n chartType={chartType}\n formatedColors={formatedColors}\n primarySkinColor={primarySkinColor}\n exploreLocale={translate('Explore')}\n hoveredDot={hoveredDot}\n onClick={handleOnDotClick}\n onExploreClick={handleExploreClick}\n />\n );\n }\n const formatedData = useMemo(() => formatData(legend, data), [legend, data]);\n\n return (\n <RadarChart\n width={width}\n height={height}\n margin={margin ?? (isMobile ? {top: 80} : {top: 180})}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius=\"80%\"\n data={formatedData}\n >\n {gradients}\n <PolarGrid strokeDasharray={10} strokeWidth={2} radialLines={false} />\n <PolarAngleAxis dataKey=\"subject\" tick={!isMobile && renderCustomLabel} />\n <PolarRadiusAxis tick={false} axisLine={false} domain={[0, 100]} />\n {buildRadars(totalDataset, setHoveredDot, handleOnDotClick, activeDot)}\n {isMobile ? <Tooltip cursor={false} content={<CustomTooltip />} /> : null}\n </RadarChart>\n );\n};\n\nconst ResponsiveLearningProfileRadarChart = (props: LearningProfileRadarChartPropTypes) => (\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LearningProfileRadarChart {...props} />\n </ResponsiveContainer>\n);\n\nLearningProfileRadarChart.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\nResponsiveLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\n\nexport default ResponsiveLearningProfileRadarChart;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAuBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsGE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IArBC;;;;;MAKC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,0DAaE;IAEF,6BAqfC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAuBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsGE;IAEF;;;;;;;;;;;;;;;;;;;;;;;MAGE;IAEF,wBAuBC;IArBC;;;;;MAKC;IAgDH,6BAIC;IAED,yBAGC;IAxBD,qCAQC;IAED,wBAGC;IAjBD,+BAEC;IA4BD,2BAKC;IAED,0BAKC;IAED,sBAIC;IAED,qBAIC;IAED,yBAQC;IAED,0BAQC;IAED,0BAIC;IAED,2BAIC;IAED,iCAUC;IA7GD,2EASC;IAGC,kBAAsB;IAmGxB,0DAaE;IAEF,6BAufC;CACF"}
@@ -206,7 +206,8 @@ class MoocHeader extends _react.default.Component {
206
206
  translate,
207
207
  skin
208
208
  } = this.context;
209
- const isMobile = (0, _checkIsMobile.isMobile)();
209
+ const userAgent = navigator?.userAgent;
210
+ const isMobile = (0, _checkIsMobile.isMobile)(userAgent);
210
211
  const {
211
212
  'aria-label': logoAriaLabel,
212
213
  closeMenuAriaLabel,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_novaIcons","_reactFontawesome","_provider","_cta","_inputSelect","_picture","_inputSwitch","_link","_inputSearch","_searchForm","_buttonMenuAction","_colors","_checkIsMobile","_style","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","MoocHeader","React","Component","contextTypes","translate","Provider","childContextTypes","skin","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","createMenuButtons","items","primaryColor","map","item","label","title","disabled","type","link","href","name","customStyle","padding","selected","color","customLabelClassName","style","buttonContentLabel","render","_isEmpty2","logo","pages","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","context","isMobile","getIsMobile","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","_get2","logoMobileUrl","_getOr2","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","mediumColor","displayedPages","displayed","index","activeColor","pageCountAriaLabel","itemLabel","pageBadge","counter","createElement","className","classnames","itemBadge","activePage","itemName","hoverColor","COLORS","brand","onClick","bar","backgroundColor","optionsView","more","option","line","value","noItems","tabletOnlyMoreMenu","optionsGroup","desktopOnlyMoreMenu","button","containerCustom","alignItems","closeOnClick","enableScroll","menuWrapper","top","maxWidth","buttons","showFade","ctas","cta","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","FontAwesomeIcon","icon","negative_700","neutral_500","stats","stat","stars","yellow_500","ranking","badge","neutral_400","myList","purple_500","avatarWrapper","settingsElements","setting","settingView","options","settingName","ariaLabel","iconView","linkIcon","settingLink","selectProps","values","opt","find","onChange","placeholder","selectBoxes","switchProps","id","titlePosition","theme","ref","userAvatarWrapper","userAvatarOpen","userLinkAvatar","role","avatar","src","picture","alt","profileAvatarAlt","settingsWrapper","settingsWrapperHidden","settingsGroup","hiddenSearchBar","searchBar","onSubmit","onReset","onSearchFocus","onSearchBlur","wrapper","open","header","logoWrapper","onMouseOver","onMouseLeave","navMobile","NovaCompositionNavigationBurger","burgerHidden","burger","NovaCompositionNavigationClose","close","closeHidden","onKeyDown","tabIndex","tooltipIconContainer","NovaCompositionCoorpacademyPlacesHome24","homeIcon","dangerouslySetInnerHTML","__html","hiddenMenuWrapper","propTypes","process","env","NODE_ENV","PropTypes","shape","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta","_default","exports"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon\n} from '@coorpacademy/nova-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport InputSelect from '../../atom/input-select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport ButtonMenuAction from '../../molecule/button-menu-action';\nimport {COLORS} from '../../variables/colors';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n myList: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n 'group-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link', 'danger-link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func,\n enableScroll: PropTypes.bool\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n createMenuButtons = (items, primaryColor) => {\n return items.map(item => ({\n label: item.title,\n disabled: item.disabled,\n type: 'defaultLeft',\n link: {href: item.href},\n 'data-name': `item-more-${item.name}`,\n customStyle: {\n padding: '0 16px',\n ...(item.selected && {color: primaryColor})\n },\n customLabelClassName: style.buttonContentLabel\n }));\n };\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const isMobile = getIsMobile();\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n disabled={item.disabled}\n className={classnames(\n style.itemBadge,\n item.selected && style.activePage,\n item.disabled && style.disabled\n )}\n aria-label={pageCountAriaLabel}\n >\n <span className={style.counter}>{item.counter > 99 ? '99+' : item.counter}</span>\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n disabled={item.disabled}\n className={classnames(\n style.item,\n item.disabled && item.selected && style.activePage,\n item.disabled && style.disabled\n )}\n hoverColor={item.disabled ? '' : getOr(COLORS.brand, 'common.primary', skin)}\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n disabled={item.disabled}\n className={classnames(style.option, item.disabled && style.disabled)}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n hoverColor={item.disabled ? '' : getOr(COLORS.brand, 'common.primary', skin)}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n {items.more &&\n (isMobile ? (\n <div className={style.tabletOnlyMoreMenu}>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n ) : (\n <div className={style.desktopOnlyMoreMenu}>\n <ButtonMenuAction\n button={{\n label: moreAriaLabel,\n 'aria-label': moreAriaLabel,\n 'data-name': 'item-more'\n }}\n type=\"link\"\n primaryColor={primaryColor}\n containerCustom={{alignItems: 'flex-start'}}\n closeOnClick\n enableScroll\n menuWrapper={{\n customStyle: {\n top: '30px',\n maxWidth: 360\n }\n }}\n menu={{\n buttons: this.createMenuButtons(items.more, primaryColor)\n }}\n showFade\n />\n </div>\n ))}\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications > 99 ? '99+' : nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <FontAwesomeIcon\n icon=\"bell\"\n style={{color: nbNotifications > 0 ? COLORS.negative_700 : COLORS.neutral_500}}\n />\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"star\"\n style={{color: COLORS.yellow_500}}\n className={style.stars}\n />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"ranking-star\"\n className={style.ranking}\n style={{color: primaryColor}}\n />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"trophy\"\n className={style.badge}\n style={{color: COLORS.neutral_400}}\n />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-my-list\"\n href={user.stats.myList.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.myList['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"list-check\"\n className={style.icon}\n style={{color: COLORS.purple_500}}\n />\n </div>\n <div className={style.label}>{user.stats.myList.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>{notificationPageView}</div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n 'aria-label': ariaLabel,\n icon,\n disabled = false\n } = setting;\n\n switch (type) {\n case 'link':\n case 'danger-link': {\n const iconView =\n icon && !isMobile ? <FontAwesomeIcon icon={icon} className={style.linkIcon} /> : null;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, disabled && style.disabled)}\n key={settingName}\n >\n <Link\n className={style.settingLink}\n href={options.href}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n >\n {iconView}\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {\n options: options.values.map(opt => ({\n value: opt.value,\n label: opt.name,\n 'data-name': `setting-${settingName}-option-${opt.value}`\n })),\n value: options.values.find(opt => opt.selected)?.value,\n onChange: options.onChange,\n placeholder: title,\n 'aria-label': ariaLabel || title,\n 'button-data-testid': `setting-${settingName}-button`\n };\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <InputSelect {...selectProps} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {\n value: options.value,\n id: `input-switch-${index}`,\n onChange: options.onChange,\n titlePosition: 'left',\n theme: 'newMooc',\n type: 'switch',\n title,\n icon\n };\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, disabled && style.disabled)}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <div\n data-name=\"user-avatar-wrapper\"\n className={classnames(style.userAvatarWrapper, isSettingsOpen && style.userAvatarOpen)}\n >\n <Link\n className={classnames(style.userLinkAvatar)}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n aria-haspopup=\"true\"\n role=\"button\"\n >\n <Picture\n className={style.avatar}\n src={user && user.picture}\n alt={user && user.profileAvatarAlt}\n />\n </Link>\n </div>\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n id=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <nav\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </nav>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_novaIcons","_reactFontawesome","_provider","_cta","_inputSelect","_picture","_inputSwitch","_link","_inputSearch","_searchForm","_buttonMenuAction","_colors","_checkIsMobile","_style","e","__esModule","default","_extends","Object","assign","bind","n","arguments","length","t","r","hasOwnProperty","call","apply","MoocHeader","React","Component","contextTypes","translate","Provider","childContextTypes","skin","constructor","props","state","isSettingsOpen","isMenuOpen","isFocus","isToolTipOpen","handleSettingsToggle","handleMenuToggle","_checkOnClose","handleLinkClick","setMenuSettings","handleSubmitSearch","handleResetSearch","handleOnFocus","handleOnBlur","handleOnMenuOpen","handleOnMenuClose","handleOnMouseOver","handleOnMouseLeave","handleKeyPress","componentDidUpdate","prevProps","prevState","prevContext","document","addEventListener","removeEventListener","el","menuSettings","clickEvent","menu","contains","target","setState","onSubmitSearch","onResetSearch","onMenuOpen","onMenuClose","event","key","createMenuButtons","items","primaryColor","map","item","label","title","disabled","type","link","href","name","customStyle","padding","selected","color","customLabelClassName","style","buttonContentLabel","render","_isEmpty2","logo","pages","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","context","userAgent","navigator","isMobile","getIsMobile","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","_get2","logoMobileUrl","_getOr2","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","mediumColor","displayedPages","displayed","index","activeColor","pageCountAriaLabel","itemLabel","pageBadge","counter","createElement","className","classnames","itemBadge","activePage","itemName","hoverColor","COLORS","brand","onClick","bar","backgroundColor","optionsView","more","option","line","value","noItems","tabletOnlyMoreMenu","optionsGroup","desktopOnlyMoreMenu","button","containerCustom","alignItems","closeOnClick","enableScroll","menuWrapper","top","maxWidth","buttons","showFade","ctas","cta","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","FontAwesomeIcon","icon","negative_700","neutral_500","stats","stat","stars","yellow_500","ranking","badge","neutral_400","myList","purple_500","avatarWrapper","settingsElements","setting","settingView","options","settingName","ariaLabel","iconView","linkIcon","settingLink","selectProps","values","opt","find","onChange","placeholder","selectBoxes","switchProps","id","titlePosition","theme","ref","userAvatarWrapper","userAvatarOpen","userLinkAvatar","role","avatar","src","picture","alt","profileAvatarAlt","settingsWrapper","settingsWrapperHidden","settingsGroup","hiddenSearchBar","searchBar","onSubmit","onReset","onSearchFocus","onSearchBlur","wrapper","open","header","logoWrapper","onMouseOver","onMouseLeave","navMobile","NovaCompositionNavigationBurger","burgerHidden","burger","NovaCompositionNavigationClose","close","closeHidden","onKeyDown","tabIndex","tooltipIconContainer","NovaCompositionCoorpacademyPlacesHome24","homeIcon","dangerouslySetInnerHTML","__html","hiddenMenuWrapper","propTypes","process","env","NODE_ENV","PropTypes","shape","string","srcMobile","Search","func","arrayOf","oneOf","bool","number","Cta","_default","exports"],"sources":["../../../src/organism/mooc-header/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, get, isEmpty} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {\n NovaCompositionNavigationBurger as BurgerIcon,\n NovaCompositionNavigationClose as CloseIcon,\n NovaCompositionCoorpacademyPlacesHome24 as HomeIcon\n} from '@coorpacademy/nova-icons';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport Provider from '../../atom/provider';\nimport Cta from '../../atom/cta';\nimport InputSelect from '../../atom/input-select';\nimport Picture from '../../atom/picture';\nimport InputSwitch from '../../atom/input-switch';\nimport Link from '../../atom/link';\nimport Search from '../../atom/input-search';\nimport SearchForm from '../../molecule/search-form';\nimport ButtonMenuAction from '../../molecule/button-menu-action';\nimport {COLORS} from '../../variables/colors';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport style from './style.css';\n\nclass MoocHeader extends React.Component {\n static propTypes = {\n logo: PropTypes.shape({\n src: PropTypes.string,\n srcMobile: PropTypes.string,\n href: PropTypes.string,\n 'aria-label': PropTypes.string,\n 'button-aria-label': PropTypes.string,\n toolTipText: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string\n }),\n search: PropTypes.shape(Search.propTypes),\n 'search-reset-aria-label': PropTypes.string,\n onSubmitSearch: PropTypes.func,\n onResetSearch: PropTypes.func,\n pages: PropTypes.shape({\n displayed: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n counter: PropTypes.number,\n 'page-count-aria-label': PropTypes.string\n })\n ),\n more: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n title: PropTypes.string,\n name: PropTypes.string,\n href: PropTypes.string,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n counter: PropTypes.number\n })\n )\n }),\n links: PropTypes.arrayOf(PropTypes.shape(Cta.propTypes)),\n user: PropTypes.shape({\n picture: PropTypes.string,\n 'picture-aria-label': PropTypes.string,\n profileAvatarAlt: PropTypes.string,\n href: PropTypes.string,\n notifications: PropTypes.shape({\n href: PropTypes.string,\n value: PropTypes.number,\n 'aria-label': PropTypes.string\n }),\n stats: PropTypes.shape({\n stars: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n ranking: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n badge: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n myList: PropTypes.shape({\n href: PropTypes.string,\n label: PropTypes.string,\n 'aria-label': PropTypes.string\n })\n })\n }),\n 'settings-aria-label': PropTypes.string,\n 'active-page-aria-label': PropTypes.string,\n 'group-settings-aria-label': PropTypes.string,\n settings: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n name: PropTypes.string,\n type: PropTypes.oneOf(['select', 'switch', 'link', 'danger-link']),\n color: PropTypes.string,\n 'aria-label': PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n href: PropTypes.string,\n onChange: PropTypes.func,\n value: PropTypes.bool,\n target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),\n values: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string,\n name: PropTypes.string,\n selected: PropTypes.bool\n })\n )\n })\n })\n ),\n onMenuOpen: PropTypes.func,\n onMenuClose: PropTypes.func,\n enableScroll: PropTypes.bool\n };\n\n static contextTypes = {\n translate: Provider.childContextTypes.translate,\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {\n isSettingsOpen: false,\n isMenuOpen: false,\n isFocus: false,\n isToolTipOpen: false\n };\n\n this.handleSettingsToggle = this.handleSettingsToggle.bind(this);\n this.handleMenuToggle = this.handleMenuToggle.bind(this);\n this._checkOnClose = this._checkOnClose.bind(this);\n this.handleLinkClick = this.handleLinkClick.bind(this);\n this.setMenuSettings = this.setMenuSettings.bind(this);\n this.handleSubmitSearch = this.handleSubmitSearch.bind(this);\n this.handleResetSearch = this.handleResetSearch.bind(this);\n this.handleOnFocus = this.handleOnFocus.bind(this);\n this.handleOnBlur = this.handleOnBlur.bind(this);\n this.handleOnMenuOpen = this.handleOnMenuOpen.bind(this);\n this.handleOnMenuClose = this.handleOnMenuClose.bind(this);\n this.handleOnMouseOver = this.handleOnMouseOver.bind(this);\n this.handleOnMouseLeave = this.handleOnMouseLeave.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n componentDidUpdate(prevProps, prevState, prevContext) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n document.addEventListener('click', this._checkOnClose);\n document.addEventListener('touchstart', this._checkOnClose);\n } else {\n document.removeEventListener('click', this._checkOnClose);\n document.removeEventListener('touchstart', this._checkOnClose);\n }\n }\n\n setMenuSettings(el) {\n this.menuSettings = el;\n }\n\n _checkOnClose(clickEvent) {\n const {isSettingsOpen} = this.state;\n if (isSettingsOpen) {\n const menu = this.menuSettings;\n if (menu && !menu.contains(clickEvent.target)) {\n this.handleSettingsToggle();\n }\n }\n }\n\n handleLinkClick() {\n const {isMenuOpen} = this.state;\n isMenuOpen && this.handleMenuToggle();\n }\n\n handleSettingsToggle() {\n this.setState(prevState => ({\n isSettingsOpen: !prevState.isSettingsOpen\n }));\n }\n\n handleMenuToggle() {\n const {isMenuOpen} = this.state;\n isMenuOpen ? this.handleOnMenuClose() : this.handleOnMenuOpen();\n }\n\n handleSubmitSearch() {\n const {onSubmitSearch} = this.props;\n if (onSubmitSearch) {\n onSubmitSearch();\n }\n }\n\n handleResetSearch() {\n const {onResetSearch} = this.props;\n if (onResetSearch) {\n onResetSearch();\n }\n }\n\n handleOnFocus() {\n this.setState(prevState => ({\n isFocus: true\n }));\n }\n\n handleOnBlur() {\n this.setState(prevState => ({\n isFocus: false\n }));\n }\n\n handleOnMenuOpen() {\n const {onMenuOpen} = this.props;\n if (onMenuOpen) {\n onMenuOpen();\n }\n this.setState(() => ({\n isMenuOpen: true\n }));\n }\n\n handleOnMenuClose() {\n const {onMenuClose} = this.props;\n if (onMenuClose) {\n onMenuClose();\n }\n this.setState(() => ({\n isMenuOpen: false\n }));\n }\n\n handleOnMouseOver() {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n }\n\n handleOnMouseLeave() {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n\n handleKeyPress(event) {\n if (event.key === 'Enter') {\n this.setState(() => ({\n isToolTipOpen: true\n }));\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n this.setState(() => ({\n isToolTipOpen: false\n }));\n }\n }\n\n createMenuButtons = (items, primaryColor) => {\n return items.map(item => ({\n label: item.title,\n disabled: item.disabled,\n type: 'defaultLeft',\n link: {href: item.href},\n 'data-name': `item-more-${item.name}`,\n customStyle: {\n padding: '0 16px',\n ...(item.selected && {color: primaryColor})\n },\n customLabelClassName: style.buttonContentLabel\n }));\n };\n\n render() {\n if (isEmpty(this.props)) return null;\n const {\n logo = {},\n pages: items,\n settings,\n user,\n links,\n search,\n 'search-reset-aria-label': searchResetAriaLabel,\n 'settings-aria-label': settingsAriaLabel,\n 'active-page-aria-label': activePageAriaLabel,\n 'group-settings-aria-label': groupAriaLbale\n } = this.props;\n const {isFocus, isSettingsOpen, isMenuOpen, isToolTipOpen} = this.state;\n const {translate, skin} = this.context;\n const userAgent = navigator?.userAgent;\n const isMobile = getIsMobile(userAgent);\n\n const {\n 'aria-label': logoAriaLabel,\n closeMenuAriaLabel,\n openMenuAriaLabel,\n toolTipText,\n closeToolTipInformationTextAriaLabel\n } = logo;\n const logoUrl = get('src', logo) || get('images.logo', skin);\n const logoMobileUrl = get('srcMobile', logo) || getOr(logoUrl, 'images.logo-mobile', skin);\n let pagesView = null;\n let linksView = null;\n let userView = null;\n let settingsView = null;\n let notificationsView = null;\n let searchFormView = null;\n\n const moreAriaLabel = translate('More');\n const primaryColor = get('common.primary', skin);\n const mediumColor = get('common.medium', skin);\n\n if (items) {\n const displayedPages = items.displayed.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const {'page-count-aria-label': pageCountAriaLabel} = item;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const pageBadge =\n item.counter > 0 ? (\n <Link\n href={item.href}\n data-name=\"item-badge\"\n disabled={item.disabled}\n className={classnames(\n style.itemBadge,\n item.selected && style.activePage,\n item.disabled && style.disabled\n )}\n aria-label={pageCountAriaLabel}\n >\n <span className={style.counter}>{item.counter > 99 ? '99+' : item.counter}</span>\n </Link>\n ) : null;\n\n const {name: itemName = index} = item;\n\n return (\n <Link\n key={itemName}\n data-name={`item-${itemName}`}\n href={item.href}\n disabled={item.disabled}\n className={classnames(\n style.item,\n item.disabled && item.selected && style.activePage,\n item.disabled && style.disabled\n )}\n hoverColor={item.disabled ? '' : getOr(COLORS.brand, 'common.primary', skin)}\n onClick={this.handleLinkClick}\n target={item.target || null}\n aria-label={itemLabel}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n {pageBadge}\n <span\n className={style.bar}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n\n const optionsView = items.more.map((item, index) => {\n const activeColor = item.selected\n ? {\n color: primaryColor\n }\n : null;\n const itemLabel = item.selected ? `${item.title}. ${activePageAriaLabel}` : item.title;\n const {name: itemName = index} = item;\n return (\n <Link\n href={item.href}\n key={itemName}\n disabled={item.disabled}\n className={classnames(style.option, item.disabled && style.disabled)}\n data-name={`item-more-${itemName}`}\n target={item.target || null}\n aria-label={itemLabel}\n onClick={this.handleLinkClick}\n hoverColor={item.disabled ? '' : getOr(COLORS.brand, 'common.primary', skin)}\n style={{\n ...activeColor\n }}\n >\n {item.title}\n <span\n className={style.line}\n style={{\n backgroundColor: primaryColor\n }}\n />\n </Link>\n );\n });\n pagesView = (\n <div className={search.value || isFocus ? style.noItems : style.items}>\n {displayedPages}\n {items.more &&\n (isMobile ? (\n <div className={style.tabletOnlyMoreMenu}>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\n ) : (\n <div className={style.desktopOnlyMoreMenu}>\n <ButtonMenuAction\n button={{\n label: moreAriaLabel,\n 'aria-label': moreAriaLabel,\n 'data-name': 'item-more'\n }}\n type=\"link\"\n primaryColor={primaryColor}\n containerCustom={{alignItems: 'flex-start'}}\n closeOnClick\n enableScroll\n menuWrapper={{\n customStyle: {\n top: '30px',\n maxWidth: 360\n }\n }}\n menu={{\n buttons: this.createMenuButtons(items.more, primaryColor)\n }}\n showFade\n />\n </div>\n ))}\n </div>\n );\n }\n\n if (links) {\n const ctas = links.map((cta, index) => {\n return (\n <Cta {...cta} key={index} className={index + 1 === links.length ? null : style.ctaLink} />\n );\n });\n\n linksView = <div className={style.links}>{ctas}</div>;\n }\n\n if (user) {\n const nbNotifications = getOr(0, 'notifications.value', user);\n const notificationsAriaLabel = getOr('', 'notifications.aria-label', user);\n\n notificationsView =\n nbNotifications > 0 ? (\n <Link\n href={user.notifications.href}\n data-name=\"user-notifications\"\n className={style.notifications}\n >\n {nbNotifications > 99 ? '99+' : nbNotifications}\n </Link>\n ) : null;\n const notificationPageView = (\n <Link\n className={classnames(style.notification, nbNotifications > 0 ? style.active : null)}\n data-name=\"stat-notifications\"\n href={user.notifications.href}\n aria-label={notificationsAriaLabel}\n >\n <FontAwesomeIcon\n icon=\"bell\"\n style={{color: nbNotifications > 0 ? COLORS.negative_700 : COLORS.neutral_500}}\n />\n {notificationsView}\n </Link>\n );\n userView = (\n <div className={style.user}>\n <div className={style.stats}>\n <Link\n className={style.stat}\n data-name=\"stat-stars\"\n href={user.stats.stars.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.stars['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"star\"\n style={{color: COLORS.yellow_500}}\n className={style.stars}\n />\n </div>\n <div data-name=\"value\" className={style.label}>\n {user.stats.stars.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-ranking\"\n href={user.stats.ranking.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.ranking['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"ranking-star\"\n className={style.ranking}\n style={{color: primaryColor}}\n />\n </div>\n\n <div data-name=\"value\" className={style.label}>\n {user.stats.ranking.label}\n </div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-badge\"\n href={user.stats.badge.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.badge['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"trophy\"\n className={style.badge}\n style={{color: COLORS.neutral_400}}\n />\n </div>\n <div className={style.label}>{user.stats.badge.label}</div>\n </Link>\n <Link\n className={style.stat}\n data-name=\"stat-my-list\"\n href={user.stats.myList.href}\n onClick={this.handleLinkClick}\n aria-label={user.stats.myList['aria-label']}\n >\n <div>\n <FontAwesomeIcon\n icon=\"list-check\"\n className={style.icon}\n style={{color: COLORS.purple_500}}\n />\n </div>\n <div className={style.label}>{user.stats.myList.label}</div>\n </Link>\n </div>\n <div className={style.avatarWrapper}>{notificationPageView}</div>\n </div>\n );\n }\n\n if (settings) {\n const settingsElements = settings.map((setting, index) => {\n let settingView = null;\n const {\n options,\n type,\n title,\n name: settingName = index,\n 'aria-label': ariaLabel,\n icon,\n disabled = false\n } = setting;\n\n switch (type) {\n case 'link':\n case 'danger-link': {\n const iconView =\n icon && !isMobile ? <FontAwesomeIcon icon={icon} className={style.linkIcon} /> : null;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, disabled && style.disabled)}\n key={settingName}\n >\n <Link\n className={style.settingLink}\n href={options.href}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n >\n {iconView}\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {\n options: options.values.map(opt => ({\n value: opt.value,\n label: opt.name,\n 'data-name': `setting-${settingName}-option-${opt.value}`\n })),\n value: options.values.find(opt => opt.selected)?.value,\n onChange: options.onChange,\n placeholder: title,\n 'aria-label': ariaLabel || title,\n 'button-data-testid': `setting-${settingName}-button`\n };\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <InputSelect {...selectProps} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {\n value: options.value,\n id: `input-switch-${index}`,\n onChange: options.onChange,\n titlePosition: 'left',\n theme: 'newMooc',\n type: 'switch',\n title,\n icon\n };\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, disabled && style.disabled)}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <div\n data-name=\"user-avatar-wrapper\"\n className={classnames(style.userAvatarWrapper, isSettingsOpen && style.userAvatarOpen)}\n >\n <Link\n className={classnames(style.userLinkAvatar)}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n aria-haspopup=\"true\"\n role=\"button\"\n >\n <Picture\n className={style.avatar}\n src={user && user.picture}\n alt={user && user.profileAvatarAlt}\n />\n </Link>\n </div>\n <div className={isSettingsOpen ? style.settingsWrapper : style.settingsWrapperHidden}>\n <div\n data-name=\"settings\"\n className={style.settingsGroup}\n role=\"group\"\n aria-label={groupAriaLbale}\n >\n {settingsElements}\n </div>\n </div>\n </div>\n );\n }\n\n if (search) {\n searchFormView = (\n <div\n data-name=\"Search-Bar\"\n className={isMenuOpen ? style.hiddenSearchBar : style.searchBar}\n >\n <SearchForm\n search={search}\n onSubmit={this.handleSubmitSearch}\n onReset={this.handleResetSearch}\n onSearchFocus={this.handleOnFocus}\n onSearchBlur={this.handleOnBlur}\n search-reset-aria-label={searchResetAriaLabel}\n />\n </div>\n );\n }\n\n return (\n <header className={style.wrapper}>\n <div\n data-name=\"moocHeader\"\n data-open={isMenuOpen}\n className={isMenuOpen ? style.open : style.header}\n >\n <div\n className={style.logoWrapper}\n aria-label={toolTipText}\n onMouseOver={this.handleOnMouseOver}\n onMouseLeave={this.handleOnMouseLeave}\n >\n <div className={style.navMobile} data-name=\"nav-mobile\">\n <BurgerIcon\n role=\"button\"\n data-name=\"nav-mobile-open\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.burgerHidden : style.burger}\n onClick={this.handleOnMenuOpen}\n aria-label={openMenuAriaLabel}\n />\n <CloseIcon\n data-name=\"nav-mobile-close\"\n style={{color: mediumColor}}\n className={isMenuOpen ? style.close : style.closeHidden}\n onClick={this.handleOnMenuClose}\n aria-label={closeMenuAriaLabel}\n />\n <Link data-name=\"logo-mobile\" href={logo.href}>\n <Picture src={logoMobileUrl} alt={logoAriaLabel} />\n </Link>\n </div>\n <Link\n className={style.logo}\n data-name=\"logo\"\n id=\"logo\"\n href={logo.href}\n onKeyDown={this.handleKeyPress}\n tabIndex={0}\n data-testid=\"brand-logo\"\n >\n <Picture src={logoUrl} alt={logoAriaLabel} />\n {isToolTipOpen ? (\n <div aria-label={toolTipText} tabIndex={0} data-testid=\"home-tooltip\">\n <div\n aria-label={`${toolTipText} ${closeToolTipInformationTextAriaLabel}`}\n role=\"tooltip\"\n className={style.tooltipIconContainer}\n tabIndex={0}\n >\n <HomeIcon className={style.homeIcon} style={{color: primaryColor}} />\n <p\n className={style.toolTipText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: toolTipText}}\n style={{color: primaryColor}}\n />\n </div>\n </div>\n ) : null}\n </Link>\n </div>\n {searchFormView}\n <nav\n className={isMenuOpen ? style.menuWrapper : style.hiddenMenuWrapper}\n data-name=\"menu-wrapper\"\n >\n {pagesView}\n {userView || linksView}\n {settingsView}\n </nav>\n </div>\n </header>\n );\n }\n}\n\nexport default MoocHeader;\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export function isMobile(): boolean | (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any));
1
+ export function isMobile(userAgent: any): boolean;
2
2
  //# sourceMappingURL=check-is-mobile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-is-mobile.d.ts","sourceRoot":"","sources":["../../src/util/check-is-mobile.js"],"names":[],"mappings":"AAAO,uIACgF"}
1
+ {"version":3,"file":"check-is-mobile.d.ts","sourceRoot":"","sources":["../../src/util/check-is-mobile.js"],"names":[],"mappings":"AAAO,kDAWN"}
@@ -2,6 +2,11 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.isMobile = void 0;
5
- const isMobile = () => window.ontouchstart || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
5
+ const isMobile = userAgent => {
6
+ const isTouch = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
7
+ const isSmallScreen = window.innerWidth <= 768;
8
+ const isMobileUserAgent = /Android|iPhone|iPad|iPod|Mobile|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);
9
+ return isSmallScreen || isTouch && isMobileUserAgent;
10
+ };
6
11
  exports.isMobile = isMobile;
7
12
  //# sourceMappingURL=check-is-mobile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-is-mobile.js","names":["isMobile","window","ontouchstart","navigator","maxTouchPoints","msMaxTouchPoints","exports"],"sources":["../../src/util/check-is-mobile.js"],"sourcesContent":["export const isMobile = () =>\n window.ontouchstart || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n"],"mappings":";;;;AAAO,MAAMA,QAAQ,GAAGA,CAAA,KACtBC,MAAM,CAACC,YAAY,IAAIC,SAAS,CAACC,cAAc,GAAG,CAAC,IAAID,SAAS,CAACE,gBAAgB,GAAG,CAAC;AAACC,OAAA,CAAAN,QAAA,GAAAA,QAAA","ignoreList":[]}
1
+ {"version":3,"file":"check-is-mobile.js","names":["isMobile","userAgent","isTouch","window","navigator","maxTouchPoints","msMaxTouchPoints","isSmallScreen","innerWidth","isMobileUserAgent","test","exports"],"sources":["../../src/util/check-is-mobile.js"],"sourcesContent":["export const isMobile = userAgent => {\n const isTouch =\n 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n\n const isSmallScreen = window.innerWidth <= 768;\n\n const isMobileUserAgent = /Android|iPhone|iPad|iPod|Mobile|BlackBerry|IEMobile|Opera Mini/i.test(\n userAgent\n );\n\n return isSmallScreen || (isTouch && isMobileUserAgent);\n};\n"],"mappings":";;;;AAAO,MAAMA,QAAQ,GAAGC,SAAS,IAAI;EACnC,MAAMC,OAAO,GACX,cAAc,IAAIC,MAAM,IAAIC,SAAS,CAACC,cAAc,GAAG,CAAC,IAAID,SAAS,CAACE,gBAAgB,GAAG,CAAC;EAE5F,MAAMC,aAAa,GAAGJ,MAAM,CAACK,UAAU,IAAI,GAAG;EAE9C,MAAMC,iBAAiB,GAAG,iEAAiE,CAACC,IAAI,CAC9FT,SACF,CAAC;EAED,OAAOM,aAAa,IAAKL,OAAO,IAAIO,iBAAkB;AACxD,CAAC;AAACE,OAAA,CAAAX,QAAA,GAAAA,QAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.38.1",
3
+ "version": "11.38.2",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -165,5 +165,5 @@
165
165
  "last 2 versions",
166
166
  "IE 11"
167
167
  ],
168
- "gitHead": "6444779adbcb82021bf7f65359525d4b5c64edca"
168
+ "gitHead": "4888ddb1d6d8c1a074ee242b31f738e1c79ad256"
169
169
  }