@coorpacademy/components 11.36.2 → 11.36.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqJhC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoJhC,CAAC;AAEF,QAAA,MAAM,mCAAmC;YAAW,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;CAIrF,CAAC;AAUF,eAAe,mCAAmC,CAAC"}
@@ -347,8 +347,7 @@ export const LearningProfileRadarChart = ({
347
347
  type: `stroke-${index}`,
348
348
  colors: stroke
349
349
  }))), [formatedColors]);
350
- const userAgent = navigator?.userAgent;
351
- const isMobile_ = useMemo(() => getIsMobile(userAgent), [userAgent]);
350
+ const isMobile_ = getIsMobile();
352
351
  const setIsMobile_ = useCallback(() => {
353
352
  setIsMobile(isMobile_);
354
353
  }, [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","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_);\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":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,IAAGC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAO,OAAO;AAChF,SACEC,KAAK,EACLC,UAAU,EACVC,SAAS,EACTC,cAAc,EACdC,mBAAmB,EACnBC,OAAO,EACPC,eAAe,QACV,UAAU;AAkBjB,SAAQC,OAAO,QAAO,oBAAoB;AAC1C,OAAOC,UAAU,MAAM,YAAY;AACnC,SAAQC,QAAQ,IAAIC,WAAW,QAAO,4BAA4B;AAClE,OAAOC,UAAU,MAAM,wBAAwB;AAE/C,OAAOC,QAAQ,IAAGC,kBAAkB,EAAEC,uBAAuB,QAAO,qBAAqB;AAEzF,SAMEC,kCAAkC,QAC7B,SAAS;AAChB,OAAOC,KAAK,MAAM,aAAa;AAI/B;AACA,MAAMC,GAAa,GAAG;EAACC,MAAM,EAAE;IAACC,CAAC,EAAE,CAAC,GAAG;IAAEC,CAAC,EAAE,CAAC;EAAE,CAAC;EAAEC,SAAS,EAAE,QAAQ;EAAEC,MAAM,EAAE;AAAM,CAAC;AACtF,MAAMC,MAAgB,GAAG;EAACL,MAAM,EAAE;IAACC,CAAC,EAAE,CAAC,GAAG;IAAEC,CAAC,EAAE;EAAE,CAAC;EAAEC,SAAS,EAAE,QAAQ;EAAEC,MAAM,EAAE;AAAM,CAAC;AACxF,MAAME,KAAe,GAAG;EAACN,MAAM,EAAE;IAACC,CAAC,EAAE,EAAE;IAAEC,CAAC,EAAE,CAAC;EAAE,CAAC;EAAEC,SAAS,EAAE,OAAO;EAAEI,WAAW,EAAE;AAAM,CAAC;AAC1F,MAAMC,IAAc,GAAG;EAACR,MAAM,EAAE;IAACC,CAAC,EAAE,CAAC,GAAG;IAAEC,CAAC,EAAE,CAAC;EAAE,CAAC;EAAEC,SAAS,EAAE,KAAK;EAAEM,UAAU,EAAE;AAAM,CAAC;;AAExF;AACA,MAAMC,KAAK,GAAG,WAAW;AACzB,MAAMC,KAAK,GAAG,WAAW;AACzB,MAAMC,kBAAkB,GAAG,WAAW;AAEtC,MAAMC,cAAkC,GAAG;EACzCC,QAAQ,EAAE;IACRC,IAAI,EAAE,CAACH,kBAAkB,EAAEA,kBAAkB,CAAC;IAC9CI,MAAM,EAAE,CAACJ,kBAAkB,EAAEA,kBAAkB;EACjD,CAAC;EACDK,UAAU,EAAE;IACVC,KAAK,EAAER,KAAK;IACZS,UAAU,EAAER;EACd,CAAC;EACDS,KAAK,EAAE;IACLF,KAAK,EAAER;EACT;AACF,CAAC;AAED,MAAMW,aAAa,GAAG;EACpBC,QAAQ,EAAE;IACRC,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE,CAACzB,GAAG,EAAEO,KAAK,EAAEE,IAAI,CAAC;IACzBiB,SAAS,EAAE;EACb,CAAC;EACDC,aAAa,EAAE;IACbH,IAAI,EAAE,eAAe;IACrBC,KAAK,EAAE,CAACzB,GAAG,EAAEO,KAAK,EAAED,MAAM,EAAEG,IAAI,CAAC;IACjCiB,SAAS,EAAE;EACb,CAAC;EACDE,QAAQ,EAAE;IACRJ,IAAI,EAAE,UAAU;IAChBC,KAAK,EAAE,CAACzB,GAAG,EAAEO,KAAK,EAAEA,KAAK,EAAEE,IAAI,EAAEA,IAAI,CAAC;IACtCiB,SAAS,EAAE;EACb,CAAC;EACDG,OAAO,EAAE;IACPL,IAAI,EAAE,SAAS;IACfC,KAAK,EAAE,CAACzB,GAAG,EAAEO,KAAK,EAAEA,KAAK,EAAED,MAAM,EAAEG,IAAI,EAAEA,IAAI,CAAC;IAC9CiB,SAAS,EAAE;EACb;AACF,CAAU;AAEV,MAAMI,iBAAiB,GAAG;EACxBC,WAAW,EAAE,CAAC;EACdC,aAAa,EAAE,GAAG;EAClBhB,IAAI,EAAE,MAAM;EACZiB,CAAC,EAAE,CAAC;EACJC,aAAa,EAAE,KAAK;EACpBnC,KAAK,EAAE;IAACoC,MAAM,EAAE;EAAS;AAC3B,CAAU;AAEV,MAAMC,gBAAgB,GAAG;EACvBpB,IAAI,EAAE,MAAM;EACZiB,CAAC,EAAE,CAAC;EACJF,WAAW,EAAE,CAAC;EACdC,aAAa,EAAE;AACjB,CAAU;AAEV,MAAMK,mBAAmB,GAAG;EAC1BN,WAAW,EAAE,CAAC;EACdC,aAAa,EAAE,GAAG;EAClBM,WAAW,EAAE;AACf,CAAU;;AAEV;AACA,MAAMC,QAAQ,GAAGA,CAAC;EAACC,IAAI;EAAEC,MAAM,EAAE,CAACC,UAAU,EAAEC,WAAW;AAAmC,CAAC,kBAC3FlE,KAAA,CAAAmE,aAAA,4BACEnE,KAAA,CAAAmE,aAAA;EAAgBC,EAAE,EAAE,YAAYL,IAAI,EAAG;EAACM,EAAE,EAAC,IAAI;EAACC,EAAE,EAAC,IAAI;EAACC,EAAE,EAAC,IAAI;EAACC,EAAE,EAAC;AAAM,gBACvExE,KAAA,CAAAmE,aAAA;EAAM3C,MAAM,EAAC,IAAI;EAACiD,SAAS,EAAER;AAAW,CAAE,CAAC,eAC3CjE,KAAA,CAAAmE,aAAA;EAAM3C,MAAM,EAAC,MAAM;EAACiD,SAAS,EAAEP;AAAY,CAAE,CAC/B,CACZ,CACP;AAED,MAAMQ,aAAa,GAAGA,CAAC;EACrBC,MAAM;EACNC,OAAO;EACPhC;AAKF,CAAC,KACC+B,MAAM,IAAI,CAAC,CAACC,OAAO,EAAEC,MAAM,gBACzB7E,KAAA,CAAAmE,aAAA;EAAKW,SAAS,EAAExD,KAAK,CAACyD;AAAQ,gBAC5B/E,KAAA,CAAAmE,aAAA;EAAMW,SAAS,EAAExD,KAAK,CAAC0D;AAAa,GAAEpC,KAAY,CAAC,eACnD5C,KAAA,CAAAmE,aAAA;EAAMW,SAAS,EAAExD,KAAK,CAAC2D;AAAa,GAAEL,OAAO,CAAC,CAAC,CAAC,CAACM,KAAK,EAAC,GAAO,CAC3D,CAAC,GACJ,IAAI;AAEV,MAAMC,SAAS,GAAGA,CAAC;EACjBC,EAAE;EACFC,EAAE;EACFT,OAAO;EACPU,UAAU;EACVC,UAAU;EACV/C,MAAM;EACNgD,SAAS;EACTC;AAWF,CAAC,kBACCzF,KAAA,CAAAmE,aAAA,WAAAuB,QAAA,KAEOrC,iBAAiB,EAChBuB,OAAO,EAAEA,OAAO,CAACe,OAAO,KAAKH,SAAS,EAAE5C,KAAK,IAAIe,gBAAgB;EACrEnB,MAAM;EACN4C,EAAE;EACFC,EAAE;EACFO,YAAY,EAAEA,CAAA,KAAM;IAClB,IAAI,CAAChB,OAAO,EAAE7B,IAAI,EAAE;IACpBwC,UAAU,CAACX,OAAO,CAAC7B,IAAI,CAAC;EAC1B,CAAC;EACD8C,OAAO,EAAEC,CAAC,IAAI;IACZA,CAAC,CAACC,eAAe,CAAC,CAAC;IAEnB,IAAI,CAACnB,OAAO,EAAE7B,IAAI,EAAE;IACpBwC,UAAU,CAACX,OAAO,CAAC7B,IAAI,CAAC;EAC1B,CAAC;EACDiD,WAAW,EAAEA,CAAA,KAAM;IACjB,IAAI,CAACpB,OAAO,EAAE7B,IAAI,EAAE;IACpBuC,UAAU,CAACV,OAAO,CAAC7B,IAAI,CAAC;EAC1B,CAAC;EACDkD,YAAY,EAAEA,CAAA,KAAMX,UAAU,CAAC,EAAE,CAAC;EAClC,WAAW,EAAEG;AAAQ,EAExB,CACF;AAED,MAAMS,WAAW,GAAGA,CAClBC,YAAoB,EACpBC,cAAsC,EACtCC,gBAAwC,EACxCb,SAAyB,KAEzBc,MAAA,CAAMC,KAAK,IAAI;EACb,MAAMC,OAAO,GAAG,QAAQD,KAAK,GAAG,CAAC,EAAE;EACnC,MAAME,OAAO,GAAG,WAAWF,KAAK,GAAG,CAAC,EAAE;EAEtC,oBACEvG,KAAA,CAAAmE,aAAA,CAAC7D,KAAK,EAAAoF,QAAA,KACA9B,mBAAmB;IACvBrB,IAAI,EAAE,sBAAsBgE,KAAK,GAAI;IACrC/D,MAAM,EAAE,wBAAwB+D,KAAK,GAAI;IACzCG,GAAG,EAAED,OAAQ;IACb1D,IAAI,EAAE0D,OAAQ;IACdE,OAAO,EAAEH,OAAQ;IACjBhB,SAAS,EAAE;MACT,GAAG7B,gBAAgB;MACnBnB,MAAM,EAAE,wBAAwB+D,KAAK;IACvC;IACA;IACA;IACA;IAAA;IACAK,GAAG,eACD5G,KAAA,CAAAmE,aAAA,CAACgB,SAAS;MACRG,UAAU,EAAEc,cAAe;MAC3Bb,UAAU,EAAEc,gBAAiB;MAC7Bb,SAAS,EAAEA,SAAU;MACrBmB,OAAO,EAAEH,OAAQ;MACjBhE,MAAM,EAAE,wBAAwB+D,KAAK,GAAI;MACzCd,QAAQ,EAAE,OAAOgB,OAAO;IAAG,CAC5B;EACF,EACF,CAAC;AAEN,CAAC,EAAEN,YAAY,CAAC;AAElB,MAAMU,WAAW,GAAGA,CAAC;EACnBN,KAAK;EACL9E,CAAC;EACDC,CAAC;EACDoF,iBAAiB;EACjBlE,KAAK;EACL4C,SAAS;EACTuB,SAAS;EACTC,cAAc;EACdC,gBAAgB;EAChBC,aAAa;EACbC,UAAU;EACVtB,OAAO;EACPuB;AAeF,CAAC,KAAK;EACJ,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGjH,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMkH,kBAAkB,GAAG/B,SAAS,EAAE5C,KAAK,KAAKA,KAAK;EACrD,MAAM;IACJpB,MAAM,EAAE;MAACC,CAAC,EAAE+F,OAAO;MAAE9F,CAAC,EAAE+F;IAAO,CAAC;IAChC9F,SAAS;IACT,GAAG+F;EACL,CAAC,GAAG7E,aAAa,CAACkE,SAAS,CAAC,CAAC/D,KAAK,CAACuD,KAAK,CAAC;EAEzC,SAASoB,YAAYA,CAAC7B,CAAmB,EAAE;IACzCA,CAAC,CAACC,eAAe,CAAC,CAAC;IACnBF,OAAO,CAACjD,KAAK,CAAC;EAChB;EAEA,SAASgF,kBAAkBA,CAAA,EAAG;IAC5BR,cAAc,CAACxE,KAAK,CAAC;EACvB;EAEA,MAAMiF,kBAAmC,GAAG;IAC1CC,WAAW,EAAE;MACXC,MAAM,EAAE,MAAM;MACdC,eAAe,EAAEX,OAAO,GAAGJ,gBAAgB,GAAGpG,OAAO,CAAC,SAASoG,gBAAgB,WAAW,CAAC;MAC3FvE,KAAK,EAAE2E,OAAO,GAAG,SAAS,GAAGJ,gBAAgB;MAC7CgB,UAAU,EAAE;IACd,CAAC;IACDpC,OAAO,EAAE+B,kBAAkB;IAC3B,YAAY,EAAE,GAAGhF,KAAK,KAAKsE,aAAa,EAAE;IAC1CtE,KAAK,EAAEsE,aAAa;IACpB,WAAW,EAAE,mCAAmC;IAChDgB,IAAI,EAAE;MACJC,QAAQ,EAAE,MAAM;MAChBC,MAAM,EAAE;QACNrF,IAAI,EAAE,SAAS;QACfiF,eAAe,EAAEX,OAAO,GAAGJ,gBAAgB,GAAGpG,OAAO,CAAC,SAASoG,gBAAgB,WAAW,CAAC;QAC3FvE,KAAK,EAAE2E,OAAO,GAAG,SAAS,GAAGJ,gBAAgB;QAC7CoB,IAAI,EAAE;MACR;IACF;EACF,CAAC;EAED,MAAMC,eAAe,GAAGpI,WAAW,CAAC,MAAMoH,UAAU,CAAC,IAAI,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEzE,MAAMiB,gBAAgB,GAAGrI,WAAW,CAAC,MAAMoH,UAAU,CAAC,KAAK,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAE3E,MAAMkB,YAAY,GAAGjB,kBAAkB,IAAIhB,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;EAEhE,oBACEvG,KAAA,CAAAmE,aAAA,yBACEnE,KAAA,CAAAmE,aAAA;IACEW,SAAS,EAAEhE,UAAU,CACnBQ,KAAK,CAACmH,kBAAkB,EACxBlB,kBAAkB,IAAIjG,KAAK,CAACoH,uBAC9B,CAAE;IACFjH,CAAC,EAAEA,CAAC,GAAG+F,OAAQ;IACf9F,CAAC,EAAEA,CAAC,GAAG+F,OAAO,GAAGe;EAAa,gBAE9BxI,KAAA,CAAAmE,aAAA;IACE,aAAWvB,KAAM;IACjBiD,OAAO,EAAE8B,YAAa;IACtB7C,SAAS,EAAEhE,UAAU,CACnBQ,KAAK,CAACqH,WAAW,EACjBpB,kBAAkB,IAAIjG,KAAK,CAACsH,gBAAgB,EAC5CzB,UAAU,KAAKvE,KAAK,IAAItB,KAAK,CAACuH,gBAChC,CAAE;IACFvH,KAAK,EAAE;MACL,GAAGoG,IAAI;MACPoB,UAAU,EAAEnH,SAAS;MACrBoH,SAAS,EAAEpH,SAAS;MACpBqH,OAAO,EAAE,CAACC,QAAA,CAAQzD,SAAS,CAAC,IAAI,CAAC+B,kBAAkB,GAAG,GAAG,GAAG;IAC9D;EAAE,GAEDP,cAAc,CAACkC,GAAG,CACjB,CAAC;IAACzG,UAAU,EAAE;MAACC,KAAK;MAAEC;IAAU,CAAC;IAAEC,KAAK,EAAE;MAACF,KAAK,EAAEyG;IAAU;EAAC,CAAC,EAAEC,CAAC,kBAC/DpJ,KAAA,CAAAmE,aAAA,CAAClE,QAAQ;IAACyG,GAAG,EAAE0C;EAAE,gBACfpJ,KAAA,CAAAmE,aAAA;IAAMW,SAAS,EAAExD,KAAK,CAAC+H,SAAU;IAAC/H,KAAK,EAAE;MAACoB,KAAK;MAAEC;IAAU;EAAE,GAC1DmE,iBAAiB,CAACsC,CAAC,CAChB,CAAC,eACPpJ,KAAA,CAAAmE,aAAA;IAAMW,SAAS,EAAExD,KAAK,CAACgI,SAAU;IAAChI,KAAK,EAAE;MAACoB,KAAK,EAAEyG;IAAU;EAAE,GAC1DvG,KACG,CACE,CAEd,CAAC,EACA2E,kBAAkB,gBACjBvH,KAAA,CAAAmE,aAAA;IACEW,SAAS,EAAExD,KAAK,CAACiI,aAAc;IAC/BvD,WAAW,EAAEsC,eAAgB;IAC7BrC,YAAY,EAAEsC,gBAAiB;IAC/B,aAAU;EAAwB,gBAElCvI,KAAA,CAAAmE,aAAA,CAAClD,UAAU,EAAK4G,kBAAqB,CAClC,CAAC,GACJ,IACD,CACQ,CACd,CAAC;AAER,CAAC;;AAED;AACA,MAAM2B,2BAA2B,GAAGC,KAAA,CAAKC,MAAA,CAAM,WAAW,CAAC,EAAEC,UAAA,CAAU,MAAM,CAAC,CAAC,CAAC9G,aAAa,CAAC;AAE9F,MAAM+G,YAAoE,GAAGH,KAAA,CAC3EI,OAAO,IAAIC,QAAA,CAAQ,CAACD,OAAO,CAAC,CAAC,EAC7BA,OAAO,IAAIA,OAAO,CAACX,GAAG,CAAC,CAACa,GAAW,EAAEX,CAAS,KAAuB,CAAC,QAAQA,CAAC,GAAG,CAAC,EAAE,EAAEW,GAAG,CAAC,CAAC,EAAAC,UAE9F,CAAC;;AAED;AACA,OAAO,MAAMC,UAGU,GAAGA,CAACC,MAAM,EAAEC,KAAK,KACtCV,KAAA,CAAAW,QAAA,EAEEC,IAAA,CAAI,CAAC,CAACC,GAAG,EAAET,OAAO,CAA8B,MAAM;EACpD,GAAGD,YAAY,CAACC,OAAO,CAAC;EACxBlE,OAAO,EAAEuE,MAAM,CAACI,GAAG;AACrB,CAAC,CAAC,CACJ,CAAC,CAACH,KAAK,CAAC;AAEV,OAAO,MAAMI,yBAAyB,GAAGA,CACvC;EACEC,IAAI;EACJN,MAAM;EACN/D,YAAY;EACZnC,MAAM,EAAEyG,WAAW;EACnB5E,OAAO;EACPuB,cAAc;EACdsD,KAAK;EACL3C,MAAM;EACNnG;AACkC,CAAC,EACrC+I,aAA+B,KAC5B;EACH,MAAM,CAAC5J,QAAQ,EAAE6J,WAAW,CAAC,GAAGvK,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAM,CAACmF,SAAS,EAAEqF,YAAY,CAAC,GAAGxK,QAAQ,CAAgB,CAAC;EAC3D,MAAM,CAAC8G,UAAU,EAAE2D,aAAa,CAAC,GAAGzK,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAM0K,IAAI,GAAG5J,kBAAkB,CAACwJ,aAAa,CAAC;EAC9C,MAAMK,SAAS,GAAG5J,uBAAuB,CAACuJ,aAAa,CAAC;EACxD,MAAM1D,gBAAgB,GAAGgE,IAAA,CAAI,gBAAgB,EAAEF,IAAI,CAAC;EAEpD,MAAM/D,cAAc,GAAGV,MAAA,CAAM8C,CAAC,IAAI;IAChC,IAAI,CAACqB,WAAW,EAAE5F,MAAM,EAAE,OAAOxC,cAAc;IAE/C,MAAM2B,MAAM,GAAGyG,WAAW,CAACrB,CAAC,CAAC;IAC7B,OAAOpF,MAAM,GAAGkH,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE9I,cAAc,EAAE2B,MAAM,CAAC,GAAG3B,cAAc;EAC5E,CAAC,CAAC,CAAC8D,YAAY,CAAC;EAEhB,MAAMY,SAA0B,GAAG3G,OAAO,CACxC,MAAMgL,MAAA,CAAM,SAAS,EAAEC,KAAA,CAAKb,IAAI,CAAC,EAAEhB,2BAA2B,CAAC,EAC/D,CAACgB,IAAI,CACP,CAAC;EAED,MAAMc,SAAS,GAAGlL,OAAO,CACvB,MACE4G,cAAc,CAACkC,GAAG,CAAC,CAAC;IAAC5G,QAAQ,EAAE;MAACC,IAAI;MAAEC;IAAM;EAAC,CAAC,EAAE+D,KAAK,kBACnDvG,KAAA,CAAAmE,aAAA;IAAKuC,GAAG,EAAE,YAAYH,KAAK;EAAG,gBAC5BvG,KAAA,CAAAmE,aAAA,CAACL,QAAQ;IAACC,IAAI,EAAE,QAAQwC,KAAK,EAAG;IAACvC,MAAM,EAAEzB;EAAK,CAAE,CAAC,eACjDvC,KAAA,CAAAmE,aAAA,CAACL,QAAQ;IAACC,IAAI,EAAE,UAAUwC,KAAK,EAAG;IAACvC,MAAM,EAAExB;EAAO,CAAE,CACjD,CACN,CAAC,EACJ,CAACwE,cAAc,CACjB,CAAC;EAED,MAAMuE,SAAS,GAAGC,SAAS,EAAED,SAAS;EACtC,MAAME,SAAS,GAAGrL,OAAO,CAAC,MAAMY,WAAW,CAACuK,SAAS,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEpE,MAAMG,YAAY,GAAGxL,WAAW,CAAC,MAAM;IACrC0K,WAAW,CAACa,SAAS,CAAC;EACxB,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEftL,SAAS,CAAC,MAAMuL,YAAY,CAAC,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAE/CvL,SAAS,CAAC,MAAM;IACd,MAAMwL,WAAW,GAAGA,CAAA,KAAM;MACxBd,YAAY,CAACe,SAAS,CAAC;MACvB/F,OAAO,CAAC+F,SAAS,CAAC;IACpB,CAAC;IAED,CAAC3C,QAAA,CAAQzD,SAAS,CAAC,IAAIqG,MAAM,CAACC,gBAAgB,CAAC,OAAO,EAAEH,WAAW,CAAC;IAEpE,OAAO,MAAM;MACXE,MAAM,CAACE,mBAAmB,CAAC,OAAO,EAAEJ,WAAW,CAAC;IAClD,CAAC;EACH,CAAC,EAAE,CAACnG,SAAS,EAAEK,OAAO,EAAEgF,YAAY,CAAC,CAAC;EAEtC,SAASmB,sBAAsBA,CAAA,EAAG;IAChCnB,YAAY,CAACe,SAAS,CAAC;IACvB/F,OAAO,CAAC+F,SAAS,CAAC;EACpB;EAEA,SAASvF,gBAAgBA,CAACzD,KAAa,EAAE;IACvC,IAAI,CAACqG,QAAA,CAAQzD,SAAS,CAAC,IAAIA,SAAS,EAAE5C,KAAK,KAAKA,KAAK,EAAE;MACrDoJ,sBAAsB,CAAC,CAAC;MACxB;IACF;IACA,MAAMpH,OAAO,GAAGqH,YAAY,CAACC,IAAI,CAAC,CAAC;MAACvG;IAAO,CAAC,KAAKA,OAAO,KAAK/C,KAAK,CAAC;IACnE,IAAI,CAACgC,OAAO,EAAE;IAEd,MAAM2B,KAAK,GAAG0F,YAAY,CAACE,OAAO,CAACvH,OAAO,CAAC;IAC3C,MAAM4B,OAAO,GAAG,QAAQD,KAAK,GAAG,CAAC,EAAE;IACnC,MAAM6F,QAAQ,GAAGC,QAAA,CAAQtC,GAAG,IAAIA,GAAG,KAAKnF,OAAO,EAAEe,OAAO,EAAEuE,MAAM,CAAC;IAEjE,IAAIkC,QAAQ,EAAE;MACZvB,YAAY,CAAC;QACXnE,GAAG,EAAEF,OAAO;QACZtB,KAAK,EAAEN,OAAO,CAAC4B,OAAO,CAAC;QACvB5D,KAAK,EAAEgC,OAAO,CAACe;MACjB,CAAC,CAAC;MACFE,OAAO,CAACuG,QAAQ,CAAC;IACnB;EACF;EAEA,SAASxE,kBAAkBA,CAAChF,KAAa,EAAE;IACzC,MAAMgC,OAAO,GAAGqH,YAAY,CAACC,IAAI,CAAC,CAAC;MAACvG;IAAO,CAAC,KAAKA,OAAO,KAAK/C,KAAK,CAAC;IACnE,IAAI,CAACgC,OAAO,EAAE;IAEd,MAAMwH,QAAQ,GAAGC,QAAA,CAAQtC,GAAG,IAAIA,GAAG,KAAKnF,OAAO,EAAEe,OAAO,EAAEuE,MAAM,CAAC;IAEjE,IAAIkC,QAAQ,EAAE;MACZhF,cAAc,CAACgF,QAAQ,CAAC;IAC1B;EACF;EAEA,SAASE,iBAAiBA,CAACC,KAK1B,EAAE;IACD,MAAM;MACJ9K,CAAC;MACDC,CAAC;MACDkD,OAAO,EAAE;QAACM,KAAK,EAAEtC;MAAK,CAAC;MACvB2D;IACF,CAAC,GAAGgG,KAAK;IACT,MAAMC,WAAW,GAAGP,YAAY,CAACC,IAAI,CAAC,CAAC;MAACvG;IAAO,CAAC,KAAKA,OAAO,KAAK/C,KAAK,CAAC;IACvE,MAAMkE,iBAA2B,GAAG2C,KAAA,CAClCgD,KAAA,CAAK,SAAS,CAAC,EACf9C,UAAA,CAAUzE,KAAK,IAAI,GAAGA,KAAK,GAAG,CAAC,EAAAwH,OAEjC,CAAC,CAACF,WAAW,CAAC;IAEd,oBACExM,KAAA,CAAAmE,aAAA,CAAC0C,WAAW;MACVN,KAAK,EAAEA,KAAM;MACb9E,CAAC,EAAEA,CAAE;MACLC,CAAC,EAAEA,CAAE;MACLoF,iBAAiB,EAAEA,iBAAkB;MACrClE,KAAK,EAAEA,KAAM;MACb4C,SAAS,EAAEA,SAAU;MACrBuB,SAAS,EAAEA,SAAU;MACrBC,cAAc,EAAEA,cAAe;MAC/BC,gBAAgB,EAAEA,gBAAiB;MACnCC,aAAa,EAAE8D,SAAS,CAAC,SAAS,CAAE;MACpC7D,UAAU,EAAEA,UAAW;MACvBtB,OAAO,EAAEQ,gBAAiB;MAC1Be,cAAc,EAAEQ;IAAmB,CACpC,CAAC;EAEN;EACA,MAAMqE,YAAY,GAAG7L,OAAO,CAAC,MAAM6J,UAAU,CAACC,MAAM,EAAEM,IAAI,CAAC,EAAE,CAACN,MAAM,EAAEM,IAAI,CAAC,CAAC;EAE5E,oBACExK,KAAA,CAAAmE,aAAA,CAAC5D,UAAU;IACTmK,KAAK,EAAEA,KAAM;IACb3C,MAAM,EAAEA,MAAO;IACfnG,MAAM,EAAEA,MAAM,KAAKb,QAAQ,GAAG;MAACQ,GAAG,EAAE;IAAE,CAAC,GAAG;MAACA,GAAG,EAAE;IAAG,CAAC,CAAE;IACtD6D,EAAE,EAAC,KAAK;IACRC,EAAE,EAAC,KAAK;IACRsH,WAAW,EAAC,KAAK;IACjBnC,IAAI,EAAEyB;EAAa,GAElBX,SAAS,eACVtL,KAAA,CAAAmE,aAAA,CAAC3D,SAAS;IAACoM,eAAe,EAAE,EAAG;IAACtJ,WAAW,EAAE,CAAE;IAACuJ,WAAW,EAAE;EAAM,CAAE,CAAC,eACtE7M,KAAA,CAAAmE,aAAA,CAAC1D,cAAc;IAACkG,OAAO,EAAC,SAAS;IAACmG,IAAI,EAAE,CAAC/L,QAAQ,IAAIuL;EAAkB,CAAE,CAAC,eAC1EtM,KAAA,CAAAmE,aAAA,CAACvD,eAAe;IAACkM,IAAI,EAAE,KAAM;IAACC,QAAQ,EAAE,KAAM;IAACC,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG;EAAE,CAAE,CAAC,EAClE9G,WAAW,CAACC,YAAY,EAAE2E,aAAa,EAAEzE,gBAAgB,EAAEb,SAAS,CAAC,EACrEzE,QAAQ,gBAAGf,KAAA,CAAAmE,aAAA,CAACxD,OAAO;IAAC+C,MAAM,EAAE,KAAM;IAACuJ,OAAO,eAAEjN,KAAA,CAAAmE,aAAA,CAACO,aAAa,MAAE;EAAE,CAAE,CAAC,GAAG,IAC3D,CAAC;AAEjB,CAAC;AAED,MAAMwI,mCAAmC,GAAIX,KAAyC,iBACpFvM,KAAA,CAAAmE,aAAA,CAACzD,mBAAmB;EAACgK,KAAK,EAAC,MAAM;EAAC3C,MAAM,EAAC;AAAM,gBAC7C/H,KAAA,CAAAmE,aAAA,CAACoG,yBAAyB,EAAKgC,KAAQ,CACpB,CACtB;AAEDhC,yBAAyB,CAAC4C,YAAY,GAAG;EACvCpC,IAAI,EAAE7J,QAAQ,CAACkM,iBAAiB,CAACrC,IAAI;EACrCC,SAAS,EAAE9J,QAAQ,CAACkM,iBAAiB,CAACpC;AACxC,CAAC;AAEDT,yBAAyB,CAAC8C,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAGnM,kCAAkC;AACxE6L,mCAAmC,CAACG,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAAGnM,kCAAkC;AAElF,eAAe6L,mCAAmC","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","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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAuBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+FE;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,0DASE;IAEF,6BAqdC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+FE;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,0DASE;IAEF,6BAwdC;CACF"}
@@ -17,6 +17,7 @@ import Search from '../../atom/input-search';
17
17
  import SearchForm from '../../molecule/search-form';
18
18
  import ButtonMenuAction from '../../molecule/button-menu-action';
19
19
  import { COLORS } from '../../variables/colors';
20
+ import { isMobile as getIsMobile } from '../../util/check-is-mobile';
20
21
  import style from './style.css';
21
22
  class MoocHeader extends React.Component {
22
23
  static contextTypes = {
@@ -199,6 +200,7 @@ class MoocHeader extends React.Component {
199
200
  translate,
200
201
  skin
201
202
  } = this.context;
203
+ const isMobile = getIsMobile();
202
204
  const {
203
205
  'aria-label': logoAriaLabel,
204
206
  closeMenuAriaLabel,
@@ -289,7 +291,11 @@ class MoocHeader extends React.Component {
289
291
  });
290
292
  pagesView = /*#__PURE__*/React.createElement("div", {
291
293
  className: search.value || isFocus ? style.noItems : style.items
292
- }, displayedPages, items.more ? /*#__PURE__*/React.createElement("div", {
294
+ }, displayedPages, items.more && (isMobile ? /*#__PURE__*/React.createElement("div", {
295
+ className: style.tabletOnlyMoreMenu
296
+ }, /*#__PURE__*/React.createElement("div", {
297
+ className: style.optionsGroup
298
+ }, optionsView)) : /*#__PURE__*/React.createElement("div", {
293
299
  className: style.desktopOnlyMoreMenu
294
300
  }, /*#__PURE__*/React.createElement(ButtonMenuAction, {
295
301
  button: {
@@ -310,11 +316,7 @@ class MoocHeader extends React.Component {
310
316
  menu: {
311
317
  buttons: this.createMenuButtons(items.more, primaryColor)
312
318
  }
313
- })) : null, /*#__PURE__*/React.createElement("div", {
314
- className: style.tabletOnlyMoreMenu
315
- }, /*#__PURE__*/React.createElement("div", {
316
- className: style.optionsGroup
317
- }, optionsView)));
319
+ }))));
318
320
  }
319
321
  if (links) {
320
322
  const ctas = links.map((cta, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classnames","NovaCompositionNavigationBurger","BurgerIcon","NovaCompositionNavigationClose","CloseIcon","NovaCompositionCoorpacademyCog","CogIcon","NovaCompositionCoorpacademyPlacesHome24","HomeIcon","FontAwesomeIcon","Provider","Cta","Select","Picture","InputSwitch","Link","Search","SearchForm","ButtonMenuAction","COLORS","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","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","darkColor","displayedPages","displayed","index","activeColor","pageCountAriaLabel","itemLabel","pageBadge","counter","createElement","className","itemBadge","activePage","itemName","hoverColor","brand","onClick","bar","backgroundColor","optionsView","more","option","line","value","noItems","desktopOnlyMoreMenu","button","containerCustom","alignItems","menuWrapper","top","buttons","tabletOnlyMoreMenu","optionsGroup","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","avatarWrapper","avatar","userLink","src","picture","alt","profileAvatarAlt","settingsElements","setting","settingView","options","settingName","ariaLabel","selectProps","values","theme","onChange","languageSelect","selectBoxes","switchProps","id","ref","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","role","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 NovaCompositionCoorpacademyCog as CogIcon,\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 Select from '../../atom/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 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 })\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']),\n color: PropTypes.string,\n 'aria-label': 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 };\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: {padding: '0 16px', ...(item.selected && {color: primaryColor})}\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 {\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 const darkColor = get('common.dark', 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 <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 menuWrapper={{\n customStyle: {\n top: '30px'\n }\n }}\n menu={{\n buttons: this.createMenuButtons(items.more, primaryColor)\n }}\n />\n </div>\n ) : null}\n <div className={style.tabletOnlyMoreMenu}>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\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 </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </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 color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n style={{color: darkColor}}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\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","NovaCompositionCoorpacademyCog","CogIcon","NovaCompositionCoorpacademyPlacesHome24","HomeIcon","FontAwesomeIcon","Provider","Cta","Select","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","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","darkColor","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","menuWrapper","top","buttons","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","avatarWrapper","avatar","userLink","src","picture","alt","profileAvatarAlt","settingsElements","setting","settingView","options","settingName","ariaLabel","selectProps","values","theme","onChange","languageSelect","selectBoxes","switchProps","id","ref","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","role","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 NovaCompositionCoorpacademyCog as CogIcon,\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 Select from '../../atom/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 })\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']),\n color: PropTypes.string,\n 'aria-label': 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 };\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: {padding: '0 16px', ...(item.selected && {color: primaryColor})}\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 const darkColor = get('common.dark', 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 menuWrapper={{\n customStyle: {\n top: '30px'\n }\n }}\n menu={{\n buttons: this.createMenuButtons(items.more, primaryColor)\n }}\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 </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </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 color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n style={{color: darkColor}}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\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":[]}
@@ -851,8 +851,4 @@
851
851
  .open .settings {
852
852
  width: 100%;
853
853
  }
854
-
855
- .desktopOnlyMoreMenu {
856
- display: none;
857
- }
858
854
  }
@@ -1,2 +1,2 @@
1
- export function isMobile(userAgent: any): any;
1
+ export function isMobile(): boolean | (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any));
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":"AAEO,8CAC6D"}
1
+ {"version":3,"file":"check-is-mobile.d.ts","sourceRoot":"","sources":["../../src/util/check-is-mobile.js"],"names":[],"mappings":"AAAO,uIACgF"}
@@ -1,3 +1,2 @@
1
- const MOBILE_USER_AGENT_REGEX = /iphone|ipad|ipod|android|blackberry|windows phone/g;
2
- export const isMobile = userAgent => userAgent && MOBILE_USER_AGENT_REGEX.test(userAgent.toLowerCase());
1
+ export const isMobile = () => window.ontouchstart || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
3
2
  //# sourceMappingURL=check-is-mobile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-is-mobile.js","names":["MOBILE_USER_AGENT_REGEX","isMobile","userAgent","test","toLowerCase"],"sources":["../../src/util/check-is-mobile.js"],"sourcesContent":["const MOBILE_USER_AGENT_REGEX = /iphone|ipad|ipod|android|blackberry|windows phone/g;\n\nexport const isMobile = userAgent =>\n userAgent && MOBILE_USER_AGENT_REGEX.test(userAgent.toLowerCase());\n"],"mappings":"AAAA,MAAMA,uBAAuB,GAAG,oDAAoD;AAEpF,OAAO,MAAMC,QAAQ,GAAGC,SAAS,IAC/BA,SAAS,IAAIF,uBAAuB,CAACG,IAAI,CAACD,SAAS,CAACE,WAAW,CAAC,CAAC,CAAC","ignoreList":[]}
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 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqJhC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoJhC,CAAC;AAEF,QAAA,MAAM,mCAAmC;YAAW,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;CAIrF,CAAC;AAUF,eAAe,mCAAmC,CAAC"}
@@ -355,8 +355,7 @@ const LearningProfileRadarChart = ({
355
355
  type: `stroke-${index}`,
356
356
  colors: stroke
357
357
  }))), [formatedColors]);
358
- const userAgent = navigator?.userAgent;
359
- const isMobile_ = (0, _react.useMemo)(() => (0, _checkIsMobile.isMobile)(userAgent), [userAgent]);
358
+ const isMobile_ = (0, _checkIsMobile.isMobile)();
360
359
  const setIsMobile_ = (0, _react.useCallback)(() => {
361
360
  setIsMobile(isMobile_);
362
361
  }, [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","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_);\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","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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAuBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+FE;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,0DASE;IAEF,6BAqdC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/mooc-header/index.js"],"names":[],"mappings":";AAwBA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+FE;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,0DASE;IAEF,6BAwdC;CACF"}
@@ -20,6 +20,7 @@ var _inputSearch = _interopRequireDefault(require("../../atom/input-search"));
20
20
  var _searchForm = _interopRequireDefault(require("../../molecule/search-form"));
21
21
  var _buttonMenuAction = _interopRequireDefault(require("../../molecule/button-menu-action"));
22
22
  var _colors = require("../../variables/colors");
23
+ var _checkIsMobile = require("../../util/check-is-mobile");
23
24
  var _style = _interopRequireDefault(require("./style.css"));
24
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
26
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
@@ -204,6 +205,7 @@ class MoocHeader extends _react.default.Component {
204
205
  translate,
205
206
  skin
206
207
  } = this.context;
208
+ const isMobile = (0, _checkIsMobile.isMobile)();
207
209
  const {
208
210
  'aria-label': logoAriaLabel,
209
211
  closeMenuAriaLabel,
@@ -294,7 +296,11 @@ class MoocHeader extends _react.default.Component {
294
296
  });
295
297
  pagesView = /*#__PURE__*/_react.default.createElement("div", {
296
298
  className: search.value || isFocus ? _style.default.noItems : _style.default.items
297
- }, displayedPages, items.more ? /*#__PURE__*/_react.default.createElement("div", {
299
+ }, displayedPages, items.more && (isMobile ? /*#__PURE__*/_react.default.createElement("div", {
300
+ className: _style.default.tabletOnlyMoreMenu
301
+ }, /*#__PURE__*/_react.default.createElement("div", {
302
+ className: _style.default.optionsGroup
303
+ }, optionsView)) : /*#__PURE__*/_react.default.createElement("div", {
298
304
  className: _style.default.desktopOnlyMoreMenu
299
305
  }, /*#__PURE__*/_react.default.createElement(_buttonMenuAction.default, {
300
306
  button: {
@@ -315,11 +321,7 @@ class MoocHeader extends _react.default.Component {
315
321
  menu: {
316
322
  buttons: this.createMenuButtons(items.more, primaryColor)
317
323
  }
318
- })) : null, /*#__PURE__*/_react.default.createElement("div", {
319
- className: _style.default.tabletOnlyMoreMenu
320
- }, /*#__PURE__*/_react.default.createElement("div", {
321
- className: _style.default.optionsGroup
322
- }, optionsView)));
324
+ }))));
323
325
  }
324
326
  if (links) {
325
327
  const ctas = links.map((cta, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_novaIcons","_reactFontawesome","_provider","_cta","_select","_picture","_inputSwitch","_link","_inputSearch","_searchForm","_buttonMenuAction","_colors","_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","render","_isEmpty2","logo","pages","settings","user","links","search","searchResetAriaLabel","settingsAriaLabel","activePageAriaLabel","groupAriaLbale","context","logoAriaLabel","closeMenuAriaLabel","openMenuAriaLabel","toolTipText","closeToolTipInformationTextAriaLabel","logoUrl","_get2","logoMobileUrl","_getOr2","pagesView","linksView","userView","settingsView","notificationsView","searchFormView","moreAriaLabel","mediumColor","darkColor","displayedPages","displayed","index","activeColor","pageCountAriaLabel","itemLabel","pageBadge","counter","createElement","className","classnames","style","itemBadge","activePage","itemName","hoverColor","COLORS","brand","onClick","bar","backgroundColor","optionsView","more","option","line","value","noItems","desktopOnlyMoreMenu","button","containerCustom","alignItems","menuWrapper","top","buttons","tabletOnlyMoreMenu","optionsGroup","ctas","cta","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","FontAwesomeIcon","icon","negative_700","neutral_500","stats","stat","stars","yellow_500","ranking","badge","neutral_400","avatarWrapper","avatar","userLink","src","picture","alt","profileAvatarAlt","settingsElements","setting","settingView","options","settingName","ariaLabel","selectProps","values","theme","onChange","languageSelect","selectBoxes","switchProps","id","ref","NovaCompositionCoorpacademyCog","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","role","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 NovaCompositionCoorpacademyCog as CogIcon,\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 Select from '../../atom/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 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 })\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']),\n color: PropTypes.string,\n 'aria-label': 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 };\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: {padding: '0 16px', ...(item.selected && {color: primaryColor})}\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 {\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 const darkColor = get('common.dark', 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 <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 menuWrapper={{\n customStyle: {\n top: '30px'\n }\n }}\n menu={{\n buttons: this.createMenuButtons(items.more, primaryColor)\n }}\n />\n </div>\n ) : null}\n <div className={style.tabletOnlyMoreMenu}>\n <div className={style.optionsGroup}>{optionsView}</div>\n </div>\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 </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </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 color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n style={{color: darkColor}}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\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","_select","_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","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","darkColor","displayedPages","displayed","index","activeColor","pageCountAriaLabel","itemLabel","pageBadge","counter","createElement","className","classnames","style","itemBadge","activePage","itemName","hoverColor","COLORS","brand","onClick","bar","backgroundColor","optionsView","more","option","line","value","noItems","tabletOnlyMoreMenu","optionsGroup","desktopOnlyMoreMenu","button","containerCustom","alignItems","menuWrapper","top","buttons","ctas","cta","ctaLink","nbNotifications","notificationsAriaLabel","notifications","notificationPageView","notification","active","FontAwesomeIcon","icon","negative_700","neutral_500","stats","stat","stars","yellow_500","ranking","badge","neutral_400","avatarWrapper","avatar","userLink","src","picture","alt","profileAvatarAlt","settingsElements","setting","settingView","options","settingName","ariaLabel","selectProps","values","theme","onChange","languageSelect","selectBoxes","switchProps","id","ref","NovaCompositionCoorpacademyCog","settingsToggle","settingsWrapper","settingsWrapperHidden","settingsGroup","role","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 NovaCompositionCoorpacademyCog as CogIcon,\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 Select from '../../atom/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 })\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']),\n color: PropTypes.string,\n 'aria-label': 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 };\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: {padding: '0 16px', ...(item.selected && {color: primaryColor})}\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 const darkColor = get('common.dark', 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 menuWrapper={{\n customStyle: {\n top: '30px'\n }\n }}\n menu={{\n buttons: this.createMenuButtons(items.more, primaryColor)\n }}\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 </div>\n <div className={style.avatarWrapper}>\n {notificationPageView}\n <div className={style.avatar} data-name=\"user-avatar\">\n <Link\n href={user.href}\n className={style.userLink}\n onClick={this.handleLinkClick}\n aria-label={user['picture-aria-label']}\n >\n <Picture src={user.picture} alt={user.profileAvatarAlt} />\n </Link>\n </div>\n </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 color,\n hoverColor,\n 'aria-label': ariaLabel\n } = setting;\n\n switch (type) {\n case 'link': {\n settingView = (\n <div data-name={`setting-${settingName}`} className={style.setting} key={settingName}>\n <Link\n className={style.link}\n href={options.href}\n hoverColor={hoverColor}\n onClick={this.handleLinkClick}\n target={options.target || null}\n aria-label={ariaLabel || title}\n style={{\n color\n }}\n >\n {title}\n </Link>\n </div>\n );\n break;\n }\n case 'select': {\n const selectProps = {};\n selectProps.options = options.values;\n selectProps.title = '';\n selectProps.theme = 'header';\n selectProps.onChange = options.onChange;\n selectProps.className = style.languageSelect;\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={classnames(style.setting, style.selectBoxes)}\n key={settingName}\n >\n <span className={style.label}>{title}</span>\n <Select {...selectProps} aria-label={ariaLabel || title} />\n </div>\n );\n break;\n }\n case 'switch': {\n const switchProps = {};\n switchProps.value = options.value;\n switchProps.id = `input-switch-${index}`;\n switchProps.onChange = options.onChange;\n\n settingView = (\n <div\n data-name={`setting-${settingName}`}\n className={style.setting}\n key={settingName}\n aria-label={ariaLabel || title}\n >\n <InputSwitch {...switchProps} aria-labelledby={`title-id-${settingName}`} />\n <span id={`title-id-${settingName}`} className={style.label}>\n {title}\n </span>\n </div>\n );\n break;\n }\n }\n\n return settingView;\n });\n\n settingsView = (\n <div className={style.settings} ref={this.setMenuSettings}>\n <CogIcon\n data-name=\"settings-toggle\"\n style={{color: darkColor}}\n className={style.settingsToggle}\n onClick={this.handleSettingsToggle}\n aria-expanded={isSettingsOpen}\n aria-label={settingsAriaLabel}\n />\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":[]}
@@ -851,8 +851,4 @@
851
851
  .open .settings {
852
852
  width: 100%;
853
853
  }
854
-
855
- .desktopOnlyMoreMenu {
856
- display: none;
857
- }
858
854
  }
@@ -1,2 +1,2 @@
1
- export function isMobile(userAgent: any): any;
1
+ export function isMobile(): boolean | (((this: GlobalEventHandlers, ev: TouchEvent) => any) & ((this: Window, ev: TouchEvent) => any));
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":"AAEO,8CAC6D"}
1
+ {"version":3,"file":"check-is-mobile.d.ts","sourceRoot":"","sources":["../../src/util/check-is-mobile.js"],"names":[],"mappings":"AAAO,uIACgF"}
@@ -2,7 +2,6 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.isMobile = void 0;
5
- const MOBILE_USER_AGENT_REGEX = /iphone|ipad|ipod|android|blackberry|windows phone/g;
6
- const isMobile = userAgent => userAgent && MOBILE_USER_AGENT_REGEX.test(userAgent.toLowerCase());
5
+ const isMobile = () => window.ontouchstart || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
7
6
  exports.isMobile = isMobile;
8
7
  //# sourceMappingURL=check-is-mobile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-is-mobile.js","names":["MOBILE_USER_AGENT_REGEX","isMobile","userAgent","test","toLowerCase","exports"],"sources":["../../src/util/check-is-mobile.js"],"sourcesContent":["const MOBILE_USER_AGENT_REGEX = /iphone|ipad|ipod|android|blackberry|windows phone/g;\n\nexport const isMobile = userAgent =>\n userAgent && MOBILE_USER_AGENT_REGEX.test(userAgent.toLowerCase());\n"],"mappings":";;;;AAAA,MAAMA,uBAAuB,GAAG,oDAAoD;AAE7E,MAAMC,QAAQ,GAAGC,SAAS,IAC/BA,SAAS,IAAIF,uBAAuB,CAACG,IAAI,CAACD,SAAS,CAACE,WAAW,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAJ,QAAA,GAAAA,QAAA","ignoreList":[]}
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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.36.2",
3
+ "version": "11.36.3",
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": "02960c9c1a36e3b70e8f2fc881d6de626d6f92f2"
168
+ "gitHead": "03a58efe38e1a2a57ad471682d0295199dcd7927"
169
169
  }