@coorpacademy/components 11.32.1 → 11.32.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/es/atom/button-link/index.d.ts +1 -0
  2. package/es/atom/button-link/index.d.ts.map +1 -1
  3. package/es/atom/button-link/index.js +6 -5
  4. package/es/atom/button-link/index.js.map +1 -1
  5. package/es/atom/button-link/types.d.ts +3 -0
  6. package/es/atom/button-link/types.d.ts.map +1 -1
  7. package/es/atom/button-link/types.js +1 -0
  8. package/es/atom/button-link/types.js.map +1 -1
  9. package/es/atom/icon/index.d.ts.map +1 -1
  10. package/es/atom/icon/index.js +3 -0
  11. package/es/atom/icon/index.js.map +1 -1
  12. package/es/atom/input-search/style.css +1 -0
  13. package/es/molecule/cm-popin/types.d.ts +2 -0
  14. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  15. package/es/molecule/expandible-actionable-table/index.d.ts +1 -0
  16. package/es/molecule/expandible-actionable-table/index.d.ts.map +1 -1
  17. package/es/molecule/expandible-actionable-table/types.d.ts +1 -0
  18. package/es/molecule/expandible-actionable-table/types.d.ts.map +1 -1
  19. package/es/molecule/learner-skill-card/index.d.ts +2 -0
  20. package/es/molecule/learner-skill-card/index.d.ts.map +1 -1
  21. package/es/molecule/learner-skill-card/index.js +7 -2
  22. package/es/molecule/learner-skill-card/index.js.map +1 -1
  23. package/es/molecule/learning-profile-radar-chart/index.d.ts +1 -1
  24. package/es/molecule/learning-profile-radar-chart/index.d.ts.map +1 -1
  25. package/es/molecule/learning-profile-radar-chart/index.js +27 -13
  26. package/es/molecule/learning-profile-radar-chart/index.js.map +1 -1
  27. package/es/molecule/learning-profile-radar-chart/style.css +43 -40
  28. package/es/molecule/learning-profile-radar-chart/types.d.ts +7 -1
  29. package/es/molecule/learning-profile-radar-chart/types.d.ts.map +1 -1
  30. package/es/molecule/learning-profile-radar-chart/types.js.map +1 -1
  31. package/es/molecule/skill-picker-modal/index.d.ts.map +1 -1
  32. package/es/molecule/skill-picker-modal/index.js +1 -1
  33. package/es/molecule/skill-picker-modal/index.js.map +1 -1
  34. package/es/molecule/skills-chart-side-information-panel/style.css +25 -9
  35. package/es/organism/list-items/index.d.ts +2 -0
  36. package/es/organism/review-no-skills/index.d.ts +2 -1
  37. package/es/organism/review-no-skills/index.d.ts.map +1 -1
  38. package/es/organism/review-no-skills/index.js +8 -4
  39. package/es/organism/review-no-skills/index.js.map +1 -1
  40. package/es/organism/review-no-skills/prop-types.d.ts +2 -0
  41. package/es/organism/review-no-skills/prop-types.d.ts.map +1 -1
  42. package/es/organism/review-no-skills/prop-types.js +2 -1
  43. package/es/organism/review-no-skills/prop-types.js.map +1 -1
  44. package/es/organism/review-no-skills/style.css +6 -0
  45. package/es/organism/setup-header/index.d.ts +4 -0
  46. package/es/organism/wizard-contents/index.d.ts +3 -0
  47. package/es/template/app-player/loading/index.d.ts +2 -0
  48. package/es/template/app-player/player/index.d.ts +4 -0
  49. package/es/template/app-player/player/slides/index.d.ts +2 -0
  50. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  51. package/es/template/app-player/popin-correction/index.d.ts +2 -0
  52. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  53. package/es/template/app-player/popin-end/index.d.ts +2 -0
  54. package/es/template/app-review/index.d.ts +2 -0
  55. package/es/template/app-review/index.d.ts.map +1 -1
  56. package/es/template/app-review/player/prop-types.d.ts +2 -0
  57. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  58. package/es/template/app-review/prop-types.d.ts +2 -0
  59. package/es/template/app-review/prop-types.d.ts.map +1 -1
  60. package/es/template/back-office/brand-create/index.d.ts +4 -0
  61. package/es/template/back-office/brand-create/index.d.ts.map +1 -1
  62. package/es/template/back-office/brand-list/index.d.ts +4 -0
  63. package/es/template/back-office/brand-list/index.d.ts.map +1 -1
  64. package/es/template/back-office/brand-update/index.d.ts +11 -0
  65. package/es/template/back-office/dashboard-preview/index.d.ts +4 -0
  66. package/es/template/back-office/layout/index.d.ts +4 -0
  67. package/es/template/back-office/layout/index.d.ts.map +1 -1
  68. package/es/template/common/dashboard/index.d.ts +4 -0
  69. package/es/template/common/search-page/index.d.ts +2 -0
  70. package/es/template/external-course/index.d.ts +2 -0
  71. package/es/template/my-learning/index.d.ts +33 -0
  72. package/es/template/my-learning/index.d.ts.map +1 -0
  73. package/es/template/my-learning/index.js +393 -0
  74. package/es/template/my-learning/index.js.map +1 -0
  75. package/es/template/my-learning/style.css +269 -0
  76. package/es/util/search-value-included.d.ts +3 -0
  77. package/es/util/search-value-included.d.ts.map +1 -0
  78. package/es/util/search-value-included.js +10 -0
  79. package/es/util/search-value-included.js.map +1 -0
  80. package/lib/atom/button-link/index.d.ts +1 -0
  81. package/lib/atom/button-link/index.d.ts.map +1 -1
  82. package/lib/atom/button-link/index.js +6 -5
  83. package/lib/atom/button-link/index.js.map +1 -1
  84. package/lib/atom/button-link/types.d.ts +3 -0
  85. package/lib/atom/button-link/types.d.ts.map +1 -1
  86. package/lib/atom/button-link/types.js +1 -0
  87. package/lib/atom/button-link/types.js.map +1 -1
  88. package/lib/atom/icon/index.d.ts.map +1 -1
  89. package/lib/atom/icon/index.js +3 -0
  90. package/lib/atom/icon/index.js.map +1 -1
  91. package/lib/atom/input-search/style.css +1 -0
  92. package/lib/molecule/cm-popin/types.d.ts +2 -0
  93. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  94. package/lib/molecule/expandible-actionable-table/index.d.ts +1 -0
  95. package/lib/molecule/expandible-actionable-table/index.d.ts.map +1 -1
  96. package/lib/molecule/expandible-actionable-table/types.d.ts +1 -0
  97. package/lib/molecule/expandible-actionable-table/types.d.ts.map +1 -1
  98. package/lib/molecule/learner-skill-card/index.d.ts +2 -0
  99. package/lib/molecule/learner-skill-card/index.d.ts.map +1 -1
  100. package/lib/molecule/learner-skill-card/index.js +7 -2
  101. package/lib/molecule/learner-skill-card/index.js.map +1 -1
  102. package/lib/molecule/learning-profile-radar-chart/index.d.ts +1 -1
  103. package/lib/molecule/learning-profile-radar-chart/index.d.ts.map +1 -1
  104. package/lib/molecule/learning-profile-radar-chart/index.js +27 -13
  105. package/lib/molecule/learning-profile-radar-chart/index.js.map +1 -1
  106. package/lib/molecule/learning-profile-radar-chart/style.css +43 -40
  107. package/lib/molecule/learning-profile-radar-chart/types.d.ts +7 -1
  108. package/lib/molecule/learning-profile-radar-chart/types.d.ts.map +1 -1
  109. package/lib/molecule/learning-profile-radar-chart/types.js.map +1 -1
  110. package/lib/molecule/skill-picker-modal/index.d.ts.map +1 -1
  111. package/lib/molecule/skill-picker-modal/index.js +1 -1
  112. package/lib/molecule/skill-picker-modal/index.js.map +1 -1
  113. package/lib/molecule/skills-chart-side-information-panel/style.css +25 -9
  114. package/lib/organism/list-items/index.d.ts +2 -0
  115. package/lib/organism/review-no-skills/index.d.ts +2 -1
  116. package/lib/organism/review-no-skills/index.d.ts.map +1 -1
  117. package/lib/organism/review-no-skills/index.js +8 -4
  118. package/lib/organism/review-no-skills/index.js.map +1 -1
  119. package/lib/organism/review-no-skills/prop-types.d.ts +2 -0
  120. package/lib/organism/review-no-skills/prop-types.d.ts.map +1 -1
  121. package/lib/organism/review-no-skills/prop-types.js +2 -1
  122. package/lib/organism/review-no-skills/prop-types.js.map +1 -1
  123. package/lib/organism/review-no-skills/style.css +6 -0
  124. package/lib/organism/setup-header/index.d.ts +4 -0
  125. package/lib/organism/wizard-contents/index.d.ts +3 -0
  126. package/lib/template/app-player/loading/index.d.ts +2 -0
  127. package/lib/template/app-player/player/index.d.ts +4 -0
  128. package/lib/template/app-player/player/slides/index.d.ts +2 -0
  129. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  130. package/lib/template/app-player/popin-correction/index.d.ts +2 -0
  131. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  132. package/lib/template/app-player/popin-end/index.d.ts +2 -0
  133. package/lib/template/app-review/index.d.ts +2 -0
  134. package/lib/template/app-review/index.d.ts.map +1 -1
  135. package/lib/template/app-review/player/prop-types.d.ts +2 -0
  136. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  137. package/lib/template/app-review/prop-types.d.ts +2 -0
  138. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  139. package/lib/template/back-office/brand-create/index.d.ts +4 -0
  140. package/lib/template/back-office/brand-create/index.d.ts.map +1 -1
  141. package/lib/template/back-office/brand-list/index.d.ts +4 -0
  142. package/lib/template/back-office/brand-list/index.d.ts.map +1 -1
  143. package/lib/template/back-office/brand-update/index.d.ts +11 -0
  144. package/lib/template/back-office/dashboard-preview/index.d.ts +4 -0
  145. package/lib/template/back-office/layout/index.d.ts +4 -0
  146. package/lib/template/back-office/layout/index.d.ts.map +1 -1
  147. package/lib/template/common/dashboard/index.d.ts +4 -0
  148. package/lib/template/common/search-page/index.d.ts +2 -0
  149. package/lib/template/external-course/index.d.ts +2 -0
  150. package/lib/template/my-learning/index.d.ts +33 -0
  151. package/lib/template/my-learning/index.d.ts.map +1 -0
  152. package/lib/template/my-learning/index.js +422 -0
  153. package/lib/template/my-learning/index.js.map +1 -0
  154. package/lib/template/my-learning/style.css +269 -0
  155. package/lib/util/search-value-included.d.ts +3 -0
  156. package/lib/util/search-value-included.d.ts.map +1 -0
  157. package/lib/util/search-value-included.js +20 -0
  158. package/lib/util/search-value-included.js.map +1 -0
  159. package/locales/cs/global.json +38 -6
  160. package/locales/de/global.json +38 -6
  161. package/locales/en/global.json +27 -1
  162. package/locales/es/global.json +38 -6
  163. package/locales/fi/global.json +38 -6
  164. package/locales/fr/global.json +37 -5
  165. package/locales/hr/global.json +38 -6
  166. package/locales/hu/global.json +38 -6
  167. package/locales/it/global.json +38 -6
  168. package/locales/ja/global.json +38 -6
  169. package/locales/ko/global.json +38 -6
  170. package/locales/nl/global.json +37 -5
  171. package/locales/pl/global.json +38 -6
  172. package/locales/pt/global.json +38 -6
  173. package/locales/ro/global.json +38 -6
  174. package/locales/ru/global.json +38 -6
  175. package/locales/sk/global.json +38 -6
  176. package/locales/sl/global.json +38 -6
  177. package/locales/sv/global.json +38 -6
  178. package/locales/tl/global.json +38 -6
  179. package/locales/tr/global.json +38 -6
  180. package/locales/uk/global.json +38 -6
  181. package/locales/vi/global.json +38 -6
  182. package/locales/zh/global.json +38 -6
  183. package/locales/zh_TW/global.json +38 -6
  184. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Fragment","useCallback","useEffect","useMemo","useState","Radar","RadarChart","PolarGrid","PolarAngleAxis","ResponsiveContainer","Tooltip","PolarRadiusAxis","classnames","isMobile","getIsMobile","style","learningProfileRadarChartPropTypes","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","CustomTooltip","active","payload","length","tooltip","tooltipLabel","tooltipValue","value","CustomDot","cx","cy","onDotClick","activeDot","dataName","subject","onClick","e","stopPropagation","buildRadars","totalDataset","handleOnDotClick","index","datakey","dataset","buildCustomLabel","percentagesValues","chartType","formatedColors","isCurrentDotActive","offsetX","offsetY","rest","onLabelClick","tickWrapper","tickWrapperFocus","alignItems","textAlign","opacity","map","colorLabel","i","tickValue","tickLabel","CHART_CONFIGS_BY_SIDE_COUNT","formatValues","values_","val","formatData","legend","data_","ref","LearningProfileRadarChart","data","colorsProps","width","height","setIsMobile","setActiveDot","Object","assign","gradients","userAgent","navigator","isMobile_","setIsMobile_","handleClick","undefined","window","addEventListener","removeEventListener","formatedData","find","indexOf","skillRef","key","renderCustomLabel","currentData","ResponsiveLearningProfileRadarChart","props","propTypes"],"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} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport style from './style.css';\nimport {\n ActiveDotType,\n FormatedColorsType,\n FormatedDataType,\n LearningProfileRadarChartPropTypes,\n TickType,\n learningProfileRadarChartPropTypes\n} from './types';\n\ntype CHART_TYPE_TYPE = keyof typeof CHART_CONFIGS;\n\n/* TICK_POSITIONS */\nconst top: TickType = {offset: {x: -100, y: -65}, 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: 4,\n strokeOpacity: 0.2,\n fill: '#fff',\n r: 8,\n pointerEvents: 'all',\n style: {cursor: 'pointer'}\n} as const;\n\nconst DOT_ACTIVE_PROPS = {\n fill: '#fff',\n r: 8,\n strokeWidth: 6,\n strokeOpacity: 0.5\n} as const;\n\nconst RADAR_DEFAULT_PROPS = {\n strokeWidth: 6,\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 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 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 onClick: e => {\n e.stopPropagation();\n\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n 'data-name': dataName\n }}\n />\n);\n\nconst buildRadars = (\n totalDataset: number,\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 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 buildCustomLabel = ({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n onClick\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 onClick: (name: string) => void;\n}) => {\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 return (\n <g>\n <foreignObject x={x + offsetX} y={y + offsetY} width=\"200\" height=\"65\">\n <div\n data-name={label}\n onClick={onLabelClick}\n className={classnames(style.tickWrapper, isCurrentDotActive && style.tickWrapperFocus)}\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 </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 data,\n legend,\n totalDataset,\n colors: colorsProps,\n onClick,\n width,\n height\n}: LearningProfileRadarChartPropTypes) => {\n const [isMobile, setIsMobile] = useState(false);\n const [activeDot, setActiveDot] = useState<ActiveDotType>();\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 = () => setActiveDot(undefined);\n\n !isEmpty(activeDot) && window.addEventListener('click', handleClick);\n\n return () => {\n window.removeEventListener('click', handleClick);\n };\n }, [activeDot]);\n\n function handleOnDotClick(label: string) {\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 renderCustomLabel({\n x,\n y,\n payload: {value: label},\n index\n }: {\n x: number;\n y: number;\n payload: {value: string};\n index: number;\n }) {\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 buildCustomLabel({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n onClick: handleOnDotClick\n });\n }\n const formatedData = useMemo(() => formatData(legend, data), [legend, data]);\n\n return (\n <RadarChart\n width={width}\n height={height}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius=\"80%\"\n data={formatedData}\n >\n {gradients}\n {buildRadars(totalDataset, handleOnDotClick, activeDot)}\n <PolarGrid strokeDasharray={15} strokeWidth={3} radialLines={false} />\n <PolarAngleAxis dataKey=\"subject\" tick={!isMobile && renderCustomLabel} />\n <PolarRadiusAxis tick={false} axisLine={false} domain={[0, 100]} />\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.propTypes = learningProfileRadarChartPropTypes;\nResponsiveLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\n\nexport default ResponsiveLearningProfileRadarChart;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","Fragment","useCallback","useEffect","useMemo","useState","Radar","RadarChart","PolarGrid","PolarAngleAxis","ResponsiveContainer","Tooltip","PolarRadiusAxis","classnames","isMobile","getIsMobile","style","learningProfileRadarChartPropTypes","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","CustomTooltip","active","payload","length","tooltip","tooltipLabel","tooltipValue","value","CustomDot","cx","cy","onDotClick","activeDot","dataName","subject","onTouchStart","onClick","e","stopPropagation","buildRadars","totalDataset","handleOnDotClick","index","datakey","dataset","buildCustomLabel","percentagesValues","chartType","formatedColors","isCurrentDotActive","offsetX","offsetY","rest","onLabelClick","tickeForeignObject","tickWrapper","tickWrapperFocus","alignItems","textAlign","opacity","map","colorLabel","i","tickValue","tickLabel","CHART_CONFIGS_BY_SIDE_COUNT","formatValues","values_","val","formatData","legend","data_","ref","LearningProfileRadarChart","data","colorsProps","width","height","setIsMobile","setActiveDot","Object","assign","gradients","userAgent","navigator","isMobile_","setIsMobile_","handleClick","undefined","window","addEventListener","removeEventListener","formatedData","find","indexOf","skillRef","key","renderCustomLabel","currentData","ResponsiveLearningProfileRadarChart","props","propTypes"],"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} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport style from './style.css';\nimport {\n ActiveDotType,\n FormatedColorsType,\n FormatedDataType,\n LearningProfileRadarChartPropTypes,\n TickType,\n learningProfileRadarChartPropTypes\n} from './types';\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 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 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 'data-name': dataName\n }}\n />\n);\n\nconst buildRadars = (\n totalDataset: number,\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 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 buildCustomLabel = ({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n onClick\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 onClick: (name: string) => void;\n}) => {\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 return (\n <g>\n <foreignObject\n className={style.tickeForeignObject}\n x={x + offsetX}\n y={y + offsetY}\n width=\"200\"\n height=\"65\"\n >\n <div\n data-name={label}\n onClick={onLabelClick}\n className={classnames(style.tickWrapper, isCurrentDotActive && style.tickWrapperFocus)}\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 </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 data,\n legend,\n totalDataset,\n colors: colorsProps,\n onClick,\n width,\n height,\n margin\n}: LearningProfileRadarChartPropTypes) => {\n const [isMobile, setIsMobile] = useState(false);\n const [activeDot, setActiveDot] = useState<ActiveDotType>();\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 handleOnDotClick(label: string) {\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 renderCustomLabel({\n x,\n y,\n payload: {value: label},\n index\n }: {\n x: number;\n y: number;\n payload: {value: string};\n index: number;\n }) {\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 buildCustomLabel({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n onClick: handleOnDotClick\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 {buildRadars(totalDataset, handleOnDotClick, activeDot)}\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 {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.propTypes = learningProfileRadarChartPropTypes;\nResponsiveLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\n\nexport default ResponsiveLearningProfileRadarChart;\n"],"mappings":"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"}
@@ -3,62 +3,65 @@
3
3
  @value cm_grey_50 from colors;
4
4
  @value lightDark from colors;
5
5
 
6
+ .tickeForeignObject {
7
+ overflow: visible;
8
+ }
9
+
6
10
  .tickWrapper {
7
- display: flex;
8
- flex-direction: column;
9
- justify-content: center;
10
- align-items: end;
11
- gap: 6px;
12
- width: 100%;
13
- height: 100%;
14
- font-size: 14px;
15
- font-family: 'Gilroy';
16
- font-weight: 600;
17
- padding: 0px 12px;
18
- box-sizing: border-box;
11
+ display: flex;
12
+ flex-direction: column;
13
+ justify-content: center;
14
+ align-items: end;
15
+ gap: 6px;
16
+ width: 100%;
17
+ font-size: 14px;
18
+ font-family: 'Gilroy';
19
+ font-weight: 600;
20
+ padding: 8px;
21
+ box-sizing: border-box;
19
22
  }
20
23
 
21
24
  .tickWrapperFocus {
22
- background-color: cm_grey_50;
23
- border-radius: 12px;
24
- width: fit-content;
25
+ background-color: cm_grey_50;
26
+ border-radius: 12px;
27
+ width: fit-content;
25
28
  }
26
29
 
27
30
  .tickValue {
28
- padding: 4px;
29
- border-radius: 12px;
31
+ padding: 4px;
32
+ border-radius: 12px;
30
33
  }
31
34
 
32
35
  .tickLabel {
33
- text-overflow: ellipsis;
34
- overflow: hidden;
35
- white-space: normal;
36
- width: 100%;
37
- width: fit-content;
36
+ text-overflow: ellipsis;
37
+ overflow: hidden;
38
+ white-space: normal;
39
+ width: 100%;
40
+ width: fit-content;
38
41
  }
39
42
 
40
43
  .tooltip {
41
- display: flex;
42
- flex-direction: column;
43
- gap: 8px;
44
- position: relative;
45
- font-family: 'Gilroy';
46
- font-weight: 600;
47
- background-color: lightDark;
48
- color: cm_grey_50;
49
- padding: 4px 8px;
50
- border-radius: 8px;
51
- width: 100%;
52
- padding: 8px 12px;
53
- box-sizing: border-box;
44
+ display: flex;
45
+ flex-direction: column;
46
+ gap: 8px;
47
+ position: relative;
48
+ font-family: 'Gilroy';
49
+ font-weight: 600;
50
+ background-color: lightDark;
51
+ color: cm_grey_50;
52
+ padding: 4px 8px;
53
+ border-radius: 8px;
54
+ width: 100%;
55
+ padding: 8px 12px;
56
+ box-sizing: border-box;
54
57
  }
55
58
 
56
59
  .tooltipLabel {
57
- font-size: 10px;
58
- font-weight: 600;
60
+ font-size: 10px;
61
+ font-weight: 600;
59
62
  }
60
63
 
61
64
  .tooltipValue {
62
- font-size: 14px;
63
- font-weight: 700;
64
- }
65
+ font-size: 14px;
66
+ font-weight: 700;
67
+ }
@@ -73,10 +73,16 @@ export declare type LearningProfileRadarChartPropTypes = {
73
73
  [ref: string]: string;
74
74
  };
75
75
  totalDataset: number;
76
- onClick: (skillRef: string) => void;
76
+ onClick: (skillRef?: string) => void;
77
77
  colors?: ColorType[];
78
78
  width?: number;
79
79
  height?: number;
80
+ margin?: {
81
+ top?: number;
82
+ right?: number;
83
+ bottom?: number;
84
+ left?: number;
85
+ };
80
86
  };
81
87
  export declare type CustomDotPropTypes = {
82
88
  cx: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-profile-radar-chart/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-profile-radar-chart/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["PropTypes","learningProfileRadarChartPropTypes","data","objectOf","oneOfType","arrayOf","number","isRequired","totalDataset","onDotClick","func","colors","shape","gradient","fill","string","stroke","percentage","color","background","label","width","height","customDotPropTypes","cx","cy","payload","value","subject","name","index","activeDot","key","dataKey","customTooltipPropTypes","active","bool","gradientPropTypes","type"],"sources":["../../../src/molecule/learning-profile-radar-chart/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\n// PROPTYPES\nexport const learningProfileRadarChartPropTypes = {\n data: PropTypes.objectOf(\n PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])\n ).isRequired,\n totalDataset: PropTypes.number.isRequired,\n onDotClick: PropTypes.func,\n colors: PropTypes.arrayOf(\n PropTypes.shape({\n gradient: PropTypes.shape({\n fill: PropTypes.arrayOf(PropTypes.string),\n stroke: PropTypes.arrayOf(PropTypes.string)\n }),\n percentage: PropTypes.shape({\n color: PropTypes.string,\n background: PropTypes.string\n }),\n label: PropTypes.shape({\n color: PropTypes.string\n })\n })\n ),\n width: PropTypes.number,\n height: PropTypes.number\n};\n\nexport const customDotPropTypes = {\n cx: PropTypes.number,\n cy: PropTypes.number,\n payload: PropTypes.shape({\n payload: PropTypes.shape({\n value: PropTypes.number,\n subject: PropTypes.string\n }),\n name: PropTypes.string\n }),\n onDotClick: PropTypes.func,\n index: PropTypes.number,\n activeDot: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.number,\n key: PropTypes.string\n }),\n dataKey: PropTypes.string,\n stroke: PropTypes.string\n};\n\nexport const customTooltipPropTypes = {\n active: PropTypes.bool,\n payload: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.number\n })\n ),\n label: PropTypes.string\n};\n\nexport const gradientPropTypes = {\n type: PropTypes.string,\n colors: PropTypes.arrayOf(PropTypes.string)\n};\n\n// TYPES\nexport type ColorType = {\n gradient?: {\n fill?: string[];\n stroke?: string[];\n };\n percentage?: {\n color?: string;\n background?: string;\n };\n label?: {\n color?: string;\n };\n};\n\nexport type LearningProfileRadarChartPropTypes = {\n data: {\n [ref: string]: number | number[];\n };\n legend: {\n [ref: string]: string;\n };\n totalDataset: number;\n onClick: (skillRef: string) => void;\n colors?: ColorType[];\n width?: number;\n height?: number;\n};\n\nexport type CustomDotPropTypes = {\n cx: number;\n cy: number;\n payload: {\n payload: {\n value: number;\n subject: string;\n };\n name: string;\n };\n onDotClick: (name: string) => void;\n index: number;\n activeDot?: {\n label: string;\n value: number;\n key: string;\n };\n dataKey: string;\n stroke: string;\n};\n\nexport type CustomTooltipPropTypes = {\n active: boolean;\n payload: {\n value: number;\n }[];\n label: string;\n};\n\nexport type GradientPropTypes = {\n type: string;\n colors: string[];\n};\n\nexport type TickType = {\n offset: {x: number; y: number};\n alignment: 'center' | 'start' | 'end';\n margin?: 'auto';\n marginLeft?: 'auto';\n marginRight?: 'auto';\n};\n\nexport type FormatedColorsType = {\n gradient: {\n fill: string[];\n stroke: string[];\n };\n percentage: {\n color: string;\n background: string;\n };\n label: {\n color: string;\n };\n};\n\nexport type FormatedDataType = {\n subject: string;\n} & {\n [key: string]: number | string;\n};\n\nexport type ActiveDotType = {\n key: string;\n value: number | string;\n label: string;\n};\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB,C,CAEA;;AACA,OAAO,MAAMC,kCAAkC,GAAG;EAChDC,IAAI,EAAEF,SAAS,CAACG,QAAV,CACJH,SAAS,CAACI,SAAV,CAAoB,CAACJ,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACM,MAA5B,CAAD,EAAsCN,SAAS,CAACM,MAAhD,CAApB,CADI,EAEJC,UAH8C;EAIhDC,YAAY,EAAER,SAAS,CAACM,MAAV,CAAiBC,UAJiB;EAKhDE,UAAU,EAAET,SAAS,CAACU,IAL0B;EAMhDC,MAAM,EAAEX,SAAS,CAACK,OAAV,CACNL,SAAS,CAACY,KAAV,CAAgB;IACdC,QAAQ,EAAEb,SAAS,CAACY,KAAV,CAAgB;MACxBE,IAAI,EAAEd,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACe,MAA5B,CADkB;MAExBC,MAAM,EAAEhB,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACe,MAA5B;IAFgB,CAAhB,CADI;IAKdE,UAAU,EAAEjB,SAAS,CAACY,KAAV,CAAgB;MAC1BM,KAAK,EAAElB,SAAS,CAACe,MADS;MAE1BI,UAAU,EAAEnB,SAAS,CAACe;IAFI,CAAhB,CALE;IASdK,KAAK,EAAEpB,SAAS,CAACY,KAAV,CAAgB;MACrBM,KAAK,EAAElB,SAAS,CAACe;IADI,CAAhB;EATO,CAAhB,CADM,CANwC;EAqBhDM,KAAK,EAAErB,SAAS,CAACM,MArB+B;EAsBhDgB,MAAM,EAAEtB,SAAS,CAACM;AAtB8B,CAA3C;AAyBP,OAAO,MAAMiB,kBAAkB,GAAG;EAChCC,EAAE,EAAExB,SAAS,CAACM,MADkB;EAEhCmB,EAAE,EAAEzB,SAAS,CAACM,MAFkB;EAGhCoB,OAAO,EAAE1B,SAAS,CAACY,KAAV,CAAgB;IACvBc,OAAO,EAAE1B,SAAS,CAACY,KAAV,CAAgB;MACvBe,KAAK,EAAE3B,SAAS,CAACM,MADM;MAEvBsB,OAAO,EAAE5B,SAAS,CAACe;IAFI,CAAhB,CADc;IAKvBc,IAAI,EAAE7B,SAAS,CAACe;EALO,CAAhB,CAHuB;EAUhCN,UAAU,EAAET,SAAS,CAACU,IAVU;EAWhCoB,KAAK,EAAE9B,SAAS,CAACM,MAXe;EAYhCyB,SAAS,EAAE/B,SAAS,CAACY,KAAV,CAAgB;IACzBQ,KAAK,EAAEpB,SAAS,CAACe,MADQ;IAEzBY,KAAK,EAAE3B,SAAS,CAACM,MAFQ;IAGzB0B,GAAG,EAAEhC,SAAS,CAACe;EAHU,CAAhB,CAZqB;EAiBhCkB,OAAO,EAAEjC,SAAS,CAACe,MAjBa;EAkBhCC,MAAM,EAAEhB,SAAS,CAACe;AAlBc,CAA3B;AAqBP,OAAO,MAAMmB,sBAAsB,GAAG;EACpCC,MAAM,EAAEnC,SAAS,CAACoC,IADkB;EAEpCV,OAAO,EAAE1B,SAAS,CAACK,OAAV,CACPL,SAAS,CAACY,KAAV,CAAgB;IACde,KAAK,EAAE3B,SAAS,CAACM;EADH,CAAhB,CADO,CAF2B;EAOpCc,KAAK,EAAEpB,SAAS,CAACe;AAPmB,CAA/B;AAUP,OAAO,MAAMsB,iBAAiB,GAAG;EAC/BC,IAAI,EAAEtC,SAAS,CAACe,MADe;EAE/BJ,MAAM,EAAEX,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACe,MAA5B;AAFuB,CAA1B,C,CAKP"}
1
+ {"version":3,"file":"types.js","names":["PropTypes","learningProfileRadarChartPropTypes","data","objectOf","oneOfType","arrayOf","number","isRequired","totalDataset","onDotClick","func","colors","shape","gradient","fill","string","stroke","percentage","color","background","label","width","height","customDotPropTypes","cx","cy","payload","value","subject","name","index","activeDot","key","dataKey","customTooltipPropTypes","active","bool","gradientPropTypes","type"],"sources":["../../../src/molecule/learning-profile-radar-chart/types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\n// PROPTYPES\nexport const learningProfileRadarChartPropTypes = {\n data: PropTypes.objectOf(\n PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])\n ).isRequired,\n totalDataset: PropTypes.number.isRequired,\n onDotClick: PropTypes.func,\n colors: PropTypes.arrayOf(\n PropTypes.shape({\n gradient: PropTypes.shape({\n fill: PropTypes.arrayOf(PropTypes.string),\n stroke: PropTypes.arrayOf(PropTypes.string)\n }),\n percentage: PropTypes.shape({\n color: PropTypes.string,\n background: PropTypes.string\n }),\n label: PropTypes.shape({\n color: PropTypes.string\n })\n })\n ),\n width: PropTypes.number,\n height: PropTypes.number\n};\n\nexport const customDotPropTypes = {\n cx: PropTypes.number,\n cy: PropTypes.number,\n payload: PropTypes.shape({\n payload: PropTypes.shape({\n value: PropTypes.number,\n subject: PropTypes.string\n }),\n name: PropTypes.string\n }),\n onDotClick: PropTypes.func,\n index: PropTypes.number,\n activeDot: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.number,\n key: PropTypes.string\n }),\n dataKey: PropTypes.string,\n stroke: PropTypes.string\n};\n\nexport const customTooltipPropTypes = {\n active: PropTypes.bool,\n payload: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.number\n })\n ),\n label: PropTypes.string\n};\n\nexport const gradientPropTypes = {\n type: PropTypes.string,\n colors: PropTypes.arrayOf(PropTypes.string)\n};\n\n// TYPES\nexport type ColorType = {\n gradient?: {\n fill?: string[];\n stroke?: string[];\n };\n percentage?: {\n color?: string;\n background?: string;\n };\n label?: {\n color?: string;\n };\n};\n\nexport type LearningProfileRadarChartPropTypes = {\n data: {\n [ref: string]: number | number[];\n };\n legend: {\n [ref: string]: string;\n };\n totalDataset: number;\n onClick: (skillRef?: string) => void;\n colors?: ColorType[];\n width?: number;\n height?: number;\n margin?: {\n top?: number;\n right?: number;\n bottom?: number;\n left?: number;\n };\n};\n\nexport type CustomDotPropTypes = {\n cx: number;\n cy: number;\n payload: {\n payload: {\n value: number;\n subject: string;\n };\n name: string;\n };\n onDotClick: (name: string) => void;\n index: number;\n activeDot?: {\n label: string;\n value: number;\n key: string;\n };\n dataKey: string;\n stroke: string;\n};\n\nexport type CustomTooltipPropTypes = {\n active: boolean;\n payload: {\n value: number;\n }[];\n label: string;\n};\n\nexport type GradientPropTypes = {\n type: string;\n colors: string[];\n};\n\nexport type TickType = {\n offset: {x: number; y: number};\n alignment: 'center' | 'start' | 'end';\n margin?: 'auto';\n marginLeft?: 'auto';\n marginRight?: 'auto';\n};\n\nexport type FormatedColorsType = {\n gradient: {\n fill: string[];\n stroke: string[];\n };\n percentage: {\n color: string;\n background: string;\n };\n label: {\n color: string;\n };\n};\n\nexport type FormatedDataType = {\n subject: string;\n} & {\n [key: string]: number | string;\n};\n\nexport type ActiveDotType = {\n key: string;\n value: number | string;\n label: string;\n};\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB,C,CAEA;;AACA,OAAO,MAAMC,kCAAkC,GAAG;EAChDC,IAAI,EAAEF,SAAS,CAACG,QAAV,CACJH,SAAS,CAACI,SAAV,CAAoB,CAACJ,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACM,MAA5B,CAAD,EAAsCN,SAAS,CAACM,MAAhD,CAApB,CADI,EAEJC,UAH8C;EAIhDC,YAAY,EAAER,SAAS,CAACM,MAAV,CAAiBC,UAJiB;EAKhDE,UAAU,EAAET,SAAS,CAACU,IAL0B;EAMhDC,MAAM,EAAEX,SAAS,CAACK,OAAV,CACNL,SAAS,CAACY,KAAV,CAAgB;IACdC,QAAQ,EAAEb,SAAS,CAACY,KAAV,CAAgB;MACxBE,IAAI,EAAEd,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACe,MAA5B,CADkB;MAExBC,MAAM,EAAEhB,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACe,MAA5B;IAFgB,CAAhB,CADI;IAKdE,UAAU,EAAEjB,SAAS,CAACY,KAAV,CAAgB;MAC1BM,KAAK,EAAElB,SAAS,CAACe,MADS;MAE1BI,UAAU,EAAEnB,SAAS,CAACe;IAFI,CAAhB,CALE;IASdK,KAAK,EAAEpB,SAAS,CAACY,KAAV,CAAgB;MACrBM,KAAK,EAAElB,SAAS,CAACe;IADI,CAAhB;EATO,CAAhB,CADM,CANwC;EAqBhDM,KAAK,EAAErB,SAAS,CAACM,MArB+B;EAsBhDgB,MAAM,EAAEtB,SAAS,CAACM;AAtB8B,CAA3C;AAyBP,OAAO,MAAMiB,kBAAkB,GAAG;EAChCC,EAAE,EAAExB,SAAS,CAACM,MADkB;EAEhCmB,EAAE,EAAEzB,SAAS,CAACM,MAFkB;EAGhCoB,OAAO,EAAE1B,SAAS,CAACY,KAAV,CAAgB;IACvBc,OAAO,EAAE1B,SAAS,CAACY,KAAV,CAAgB;MACvBe,KAAK,EAAE3B,SAAS,CAACM,MADM;MAEvBsB,OAAO,EAAE5B,SAAS,CAACe;IAFI,CAAhB,CADc;IAKvBc,IAAI,EAAE7B,SAAS,CAACe;EALO,CAAhB,CAHuB;EAUhCN,UAAU,EAAET,SAAS,CAACU,IAVU;EAWhCoB,KAAK,EAAE9B,SAAS,CAACM,MAXe;EAYhCyB,SAAS,EAAE/B,SAAS,CAACY,KAAV,CAAgB;IACzBQ,KAAK,EAAEpB,SAAS,CAACe,MADQ;IAEzBY,KAAK,EAAE3B,SAAS,CAACM,MAFQ;IAGzB0B,GAAG,EAAEhC,SAAS,CAACe;EAHU,CAAhB,CAZqB;EAiBhCkB,OAAO,EAAEjC,SAAS,CAACe,MAjBa;EAkBhCC,MAAM,EAAEhB,SAAS,CAACe;AAlBc,CAA3B;AAqBP,OAAO,MAAMmB,sBAAsB,GAAG;EACpCC,MAAM,EAAEnC,SAAS,CAACoC,IADkB;EAEpCV,OAAO,EAAE1B,SAAS,CAACK,OAAV,CACPL,SAAS,CAACY,KAAV,CAAgB;IACde,KAAK,EAAE3B,SAAS,CAACM;EADH,CAAhB,CADO,CAF2B;EAOpCc,KAAK,EAAEpB,SAAS,CAACe;AAPmB,CAA/B;AAUP,OAAO,MAAMsB,iBAAiB,GAAG;EAC/BC,IAAI,EAAEtC,SAAS,CAACe,MADe;EAE/BJ,MAAM,EAAEX,SAAS,CAACK,OAAV,CAAkBL,SAAS,CAACe,MAA5B;AAFuB,CAA1B,C,CAKP"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/skill-picker-modal/index.js"],"names":[],"mappings":";AASA,gFA6HC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/skill-picker-modal/index.js"],"names":[],"mappings":";AASA,gFA8HC"}
@@ -41,7 +41,7 @@ const SkillPickerModal = (props, context) => {
41
41
  };
42
42
  });
43
43
  }, [skills, selectedSkillList, skillsLocales]);
44
- const isError = useMemo(() => selectedSkillList.length > maxSelectedSkills, [selectedSkillList, maxSelectedSkills]);
44
+ const isError = useMemo(() => selectedSkillList.length > maxSelectedSkills || selectedSkillList.length < minSelectedSkills, [selectedSkillList, maxSelectedSkills]);
45
45
  const footer = useMemo(() => {
46
46
  const footerDescription = isError ? translate('skill_focus_footer_error_description', {
47
47
  skillNumber: selectedSkillList.length - maxSelectedSkills
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","useState","useCallback","PropTypes","filter","BaseModal","Chip","Loader","Provider","style","SkillPickerModal","props","context","skills","selectedSkills","skillsLocales","isOpen","isLoading","maxSelectedSkills","minSelectedSkills","onCancel","onConfirm","onClose","translate","selectedSkillList","setSelectedSkillList","handleCancel","handleClose","skillList","map","skill","skillTitle","skillRef","focus","includes","isError","length","footer","footerDescription","skillNumber","text","replace","cancelButton","label","disabled","confirmButton","iconName","name","backgroundColor","skillPickerContainer","loaderContainer","loader","marginBottom","display","gap","flexWrap","index","handleChipClick","newSelectedSkillList","selectedSkill","contextTypes","childContextTypes","propTypes","arrayOf","string","objectOf","bool","number","func"],"sources":["../../../src/molecule/skill-picker-modal/index.js"],"sourcesContent":["import React, {useMemo, useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport filter from 'lodash/fp/filter';\nimport BaseModal from '../base-modal';\nimport Chip from '../../atom/chip';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst SkillPickerModal = (props, context) => {\n const {\n skills,\n selectedSkills,\n skillsLocales,\n isOpen,\n isLoading,\n maxSelectedSkills = 6,\n minSelectedSkills = 3,\n onCancel,\n onConfirm,\n onClose\n } = props;\n const {translate} = context;\n\n const [selectedSkillList, setSelectedSkillList] = useState(selectedSkills);\n\n const handleCancel = useCallback(() => {\n setSelectedSkillList(selectedSkills);\n onCancel();\n }, [setSelectedSkillList, selectedSkills, onCancel]);\n\n const handleClose = useCallback(() => {\n setSelectedSkillList(selectedSkills);\n onClose();\n }, [setSelectedSkillList, selectedSkills, onClose]);\n\n const skillList = useMemo(() => {\n return skills.map(skill => {\n return {\n skillTitle: skillsLocales[skill],\n skillRef: skill,\n focus: selectedSkillList.includes(skill)\n };\n });\n }, [skills, selectedSkillList, skillsLocales]);\n\n const isError = useMemo(\n () => selectedSkillList.length > maxSelectedSkills,\n [selectedSkillList, maxSelectedSkills]\n );\n\n const footer = useMemo(() => {\n const footerDescription = isError\n ? translate('skill_focus_footer_error_description', {\n skillNumber: selectedSkillList.length - maxSelectedSkills\n })\n : translate('skill_focus_footer_description', {\n skillNumber: minSelectedSkills - selectedSkillList.length\n });\n return {\n text:\n isLoading ||\n (selectedSkillList.length <= maxSelectedSkills &&\n selectedSkillList.length >= minSelectedSkills)\n ? ''\n : footerDescription.replace('.'),\n isError,\n cancelButton: {\n onCancel: handleCancel,\n label: translate('cancel'),\n disabled: isLoading || isError\n },\n confirmButton: {\n onConfirm: () => onConfirm(selectedSkillList),\n label: translate('confirm'),\n iconName: 'circle-check',\n disabled: isLoading || isError\n }\n };\n }, [\n isError,\n handleCancel,\n onConfirm,\n translate,\n selectedSkillList,\n isLoading,\n maxSelectedSkills,\n minSelectedSkills\n ]);\n\n if ((!isLoading && !skills) || !isOpen) return null;\n\n return (\n <BaseModal\n title={translate('skill_focus')}\n description={translate('skill_focus_description')}\n isOpen={isOpen}\n onClose={handleClose}\n footer={footer}\n headerIcon={{\n name: 'bullseye-arrow',\n backgroundColor: '#DDD1FF'\n }}\n >\n <div className={style.skillPickerContainer}>\n {isLoading ? (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n ) : (\n <>\n <div style={{marginBottom: '16px'}}>\n {`${selectedSkillList.length} ${translate('selected')}`}\n </div>\n <div style={{display: 'flex', gap: '16px', flexWrap: 'wrap'}}>\n {skillList.map((skill, index) => {\n const {skillTitle, skillRef, focus} = skill;\n function handleChipClick() {\n const newSelectedSkillList = focus\n ? filter(selectedSkill => selectedSkill !== skillRef, selectedSkillList)\n : [...selectedSkillList, skill.skillRef];\n setSelectedSkillList(newSelectedSkillList);\n }\n\n return (\n <Chip text={skillTitle} selected={focus} onClick={handleChipClick} key={index} />\n );\n })}\n </div>\n </>\n )}\n </div>\n </BaseModal>\n );\n};\n\nSkillPickerModal.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nSkillPickerModal.propTypes = {\n skills: PropTypes.arrayOf(PropTypes.string),\n selectedSkills: PropTypes.arrayOf(PropTypes.string),\n skillsLocales: PropTypes.objectOf(PropTypes.string),\n isOpen: PropTypes.bool,\n isLoading: PropTypes.bool,\n minSelectedSkills: PropTypes.number,\n maxSelectedSkills: PropTypes.number,\n onCancel: PropTypes.func,\n onConfirm: PropTypes.func,\n onClose: PropTypes.func\n};\n\nexport default SkillPickerModal;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","useState","useCallback","PropTypes","filter","BaseModal","Chip","Loader","Provider","style","SkillPickerModal","props","context","skills","selectedSkills","skillsLocales","isOpen","isLoading","maxSelectedSkills","minSelectedSkills","onCancel","onConfirm","onClose","translate","selectedSkillList","setSelectedSkillList","handleCancel","handleClose","skillList","map","skill","skillTitle","skillRef","focus","includes","isError","length","footer","footerDescription","skillNumber","text","replace","cancelButton","label","disabled","confirmButton","iconName","name","backgroundColor","skillPickerContainer","loaderContainer","loader","marginBottom","display","gap","flexWrap","index","handleChipClick","newSelectedSkillList","selectedSkill","contextTypes","childContextTypes","propTypes","arrayOf","string","objectOf","bool","number","func"],"sources":["../../../src/molecule/skill-picker-modal/index.js"],"sourcesContent":["import React, {useMemo, useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport filter from 'lodash/fp/filter';\nimport BaseModal from '../base-modal';\nimport Chip from '../../atom/chip';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst SkillPickerModal = (props, context) => {\n const {\n skills,\n selectedSkills,\n skillsLocales,\n isOpen,\n isLoading,\n maxSelectedSkills = 6,\n minSelectedSkills = 3,\n onCancel,\n onConfirm,\n onClose\n } = props;\n const {translate} = context;\n\n const [selectedSkillList, setSelectedSkillList] = useState(selectedSkills);\n\n const handleCancel = useCallback(() => {\n setSelectedSkillList(selectedSkills);\n onCancel();\n }, [setSelectedSkillList, selectedSkills, onCancel]);\n\n const handleClose = useCallback(() => {\n setSelectedSkillList(selectedSkills);\n onClose();\n }, [setSelectedSkillList, selectedSkills, onClose]);\n\n const skillList = useMemo(() => {\n return skills.map(skill => {\n return {\n skillTitle: skillsLocales[skill],\n skillRef: skill,\n focus: selectedSkillList.includes(skill)\n };\n });\n }, [skills, selectedSkillList, skillsLocales]);\n\n const isError = useMemo(\n () =>\n selectedSkillList.length > maxSelectedSkills || selectedSkillList.length < minSelectedSkills,\n [selectedSkillList, maxSelectedSkills]\n );\n\n const footer = useMemo(() => {\n const footerDescription = isError\n ? translate('skill_focus_footer_error_description', {\n skillNumber: selectedSkillList.length - maxSelectedSkills\n })\n : translate('skill_focus_footer_description', {\n skillNumber: minSelectedSkills - selectedSkillList.length\n });\n return {\n text:\n isLoading ||\n (selectedSkillList.length <= maxSelectedSkills &&\n selectedSkillList.length >= minSelectedSkills)\n ? ''\n : footerDescription.replace('.'),\n isError,\n cancelButton: {\n onCancel: handleCancel,\n label: translate('cancel'),\n disabled: isLoading || isError\n },\n confirmButton: {\n onConfirm: () => onConfirm(selectedSkillList),\n label: translate('confirm'),\n iconName: 'circle-check',\n disabled: isLoading || isError\n }\n };\n }, [\n isError,\n handleCancel,\n onConfirm,\n translate,\n selectedSkillList,\n isLoading,\n maxSelectedSkills,\n minSelectedSkills\n ]);\n\n if ((!isLoading && !skills) || !isOpen) return null;\n\n return (\n <BaseModal\n title={translate('skill_focus')}\n description={translate('skill_focus_description')}\n isOpen={isOpen}\n onClose={handleClose}\n footer={footer}\n headerIcon={{\n name: 'bullseye-arrow',\n backgroundColor: '#DDD1FF'\n }}\n >\n <div className={style.skillPickerContainer}>\n {isLoading ? (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n ) : (\n <>\n <div style={{marginBottom: '16px'}}>\n {`${selectedSkillList.length} ${translate('selected')}`}\n </div>\n <div style={{display: 'flex', gap: '16px', flexWrap: 'wrap'}}>\n {skillList.map((skill, index) => {\n const {skillTitle, skillRef, focus} = skill;\n function handleChipClick() {\n const newSelectedSkillList = focus\n ? filter(selectedSkill => selectedSkill !== skillRef, selectedSkillList)\n : [...selectedSkillList, skill.skillRef];\n setSelectedSkillList(newSelectedSkillList);\n }\n\n return (\n <Chip text={skillTitle} selected={focus} onClick={handleChipClick} key={index} />\n );\n })}\n </div>\n </>\n )}\n </div>\n </BaseModal>\n );\n};\n\nSkillPickerModal.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nSkillPickerModal.propTypes = {\n skills: PropTypes.arrayOf(PropTypes.string),\n selectedSkills: PropTypes.arrayOf(PropTypes.string),\n skillsLocales: PropTypes.objectOf(PropTypes.string),\n isOpen: PropTypes.bool,\n isLoading: PropTypes.bool,\n minSelectedSkills: PropTypes.number,\n maxSelectedSkills: PropTypes.number,\n onCancel: PropTypes.func,\n onConfirm: PropTypes.func,\n onClose: PropTypes.func\n};\n\nexport default SkillPickerModal;\n"],"mappings":"AAAA,OAAOA,KAAP,IAAeC,OAAf,EAAwBC,QAAxB,EAAkCC,WAAlC,QAAoD,OAApD;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,OAAOC,SAAP,MAAsB,eAAtB;AACA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,OAAOC,QAAP,MAAqB,qBAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,gBAAgB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC3C,MAAM;IACJC,MADI;IAEJC,cAFI;IAGJC,aAHI;IAIJC,MAJI;IAKJC,SALI;IAMJC,iBAAiB,GAAG,CANhB;IAOJC,iBAAiB,GAAG,CAPhB;IAQJC,QARI;IASJC,SATI;IAUJC;EAVI,IAWFX,KAXJ;EAYA,MAAM;IAACY;EAAD,IAAcX,OAApB;EAEA,MAAM,CAACY,iBAAD,EAAoBC,oBAApB,IAA4CxB,QAAQ,CAACa,cAAD,CAA1D;EAEA,MAAMY,YAAY,GAAGxB,WAAW,CAAC,MAAM;IACrCuB,oBAAoB,CAACX,cAAD,CAApB;IACAM,QAAQ;EACT,CAH+B,EAG7B,CAACK,oBAAD,EAAuBX,cAAvB,EAAuCM,QAAvC,CAH6B,CAAhC;EAKA,MAAMO,WAAW,GAAGzB,WAAW,CAAC,MAAM;IACpCuB,oBAAoB,CAACX,cAAD,CAApB;IACAQ,OAAO;EACR,CAH8B,EAG5B,CAACG,oBAAD,EAAuBX,cAAvB,EAAuCQ,OAAvC,CAH4B,CAA/B;EAKA,MAAMM,SAAS,GAAG5B,OAAO,CAAC,MAAM;IAC9B,OAAOa,MAAM,CAACgB,GAAP,CAAWC,KAAK,IAAI;MACzB,OAAO;QACLC,UAAU,EAAEhB,aAAa,CAACe,KAAD,CADpB;QAELE,QAAQ,EAAEF,KAFL;QAGLG,KAAK,EAAET,iBAAiB,CAACU,QAAlB,CAA2BJ,KAA3B;MAHF,CAAP;IAKD,CANM,CAAP;EAOD,CARwB,EAQtB,CAACjB,MAAD,EAASW,iBAAT,EAA4BT,aAA5B,CARsB,CAAzB;EAUA,MAAMoB,OAAO,GAAGnC,OAAO,CACrB,MACEwB,iBAAiB,CAACY,MAAlB,GAA2BlB,iBAA3B,IAAgDM,iBAAiB,CAACY,MAAlB,GAA2BjB,iBAFxD,EAGrB,CAACK,iBAAD,EAAoBN,iBAApB,CAHqB,CAAvB;EAMA,MAAMmB,MAAM,GAAGrC,OAAO,CAAC,MAAM;IAC3B,MAAMsC,iBAAiB,GAAGH,OAAO,GAC7BZ,SAAS,CAAC,sCAAD,EAAyC;MAChDgB,WAAW,EAAEf,iBAAiB,CAACY,MAAlB,GAA2BlB;IADQ,CAAzC,CADoB,GAI7BK,SAAS,CAAC,gCAAD,EAAmC;MAC1CgB,WAAW,EAAEpB,iBAAiB,GAAGK,iBAAiB,CAACY;IADT,CAAnC,CAJb;IAOA,OAAO;MACLI,IAAI,EACFvB,SAAS,IACRO,iBAAiB,CAACY,MAAlB,IAA4BlB,iBAA5B,IACCM,iBAAiB,CAACY,MAAlB,IAA4BjB,iBAF9B,GAGI,EAHJ,GAIImB,iBAAiB,CAACG,OAAlB,CAA0B,GAA1B,CAND;MAOLN,OAPK;MAQLO,YAAY,EAAE;QACZtB,QAAQ,EAAEM,YADE;QAEZiB,KAAK,EAAEpB,SAAS,CAAC,QAAD,CAFJ;QAGZqB,QAAQ,EAAE3B,SAAS,IAAIkB;MAHX,CART;MAaLU,aAAa,EAAE;QACbxB,SAAS,EAAE,MAAMA,SAAS,CAACG,iBAAD,CADb;QAEbmB,KAAK,EAAEpB,SAAS,CAAC,SAAD,CAFH;QAGbuB,QAAQ,EAAE,cAHG;QAIbF,QAAQ,EAAE3B,SAAS,IAAIkB;MAJV;IAbV,CAAP;EAoBD,CA5BqB,EA4BnB,CACDA,OADC,EAEDT,YAFC,EAGDL,SAHC,EAIDE,SAJC,EAKDC,iBALC,EAMDP,SANC,EAODC,iBAPC,EAQDC,iBARC,CA5BmB,CAAtB;EAuCA,IAAK,CAACF,SAAD,IAAc,CAACJ,MAAhB,IAA2B,CAACG,MAAhC,EAAwC,OAAO,IAAP;EAExC,oBACE,oBAAC,SAAD;IACE,KAAK,EAAEO,SAAS,CAAC,aAAD,CADlB;IAEE,WAAW,EAAEA,SAAS,CAAC,yBAAD,CAFxB;IAGE,MAAM,EAAEP,MAHV;IAIE,OAAO,EAAEW,WAJX;IAKE,MAAM,EAAEU,MALV;IAME,UAAU,EAAE;MACVU,IAAI,EAAE,gBADI;MAEVC,eAAe,EAAE;IAFP;EANd,gBAWE;IAAK,SAAS,EAAEvC,KAAK,CAACwC;EAAtB,GACGhC,SAAS,gBACR;IAAK,SAAS,EAAER,KAAK,CAACyC;EAAtB,gBACE,oBAAC,MAAD;IAAQ,SAAS,EAAEzC,KAAK,CAAC0C,MAAzB;IAAiC,KAAK,EAAC;EAAvC,EADF,CADQ,gBAKR,uDACE;IAAK,KAAK,EAAE;MAACC,YAAY,EAAE;IAAf;EAAZ,GACI,GAAE5B,iBAAiB,CAACY,MAAO,IAAGb,SAAS,CAAC,UAAD,CAAa,EADxD,CADF,eAIE;IAAK,KAAK,EAAE;MAAC8B,OAAO,EAAE,MAAV;MAAkBC,GAAG,EAAE,MAAvB;MAA+BC,QAAQ,EAAE;IAAzC;EAAZ,GACG3B,SAAS,CAACC,GAAV,CAAc,CAACC,KAAD,EAAQ0B,KAAR,KAAkB;IAC/B,MAAM;MAACzB,UAAD;MAAaC,QAAb;MAAuBC;IAAvB,IAAgCH,KAAtC;;IACA,SAAS2B,eAAT,GAA2B;MACzB,MAAMC,oBAAoB,GAAGzB,KAAK,GAC9B7B,MAAM,CAACuD,aAAa,IAAIA,aAAa,KAAK3B,QAApC,EAA8CR,iBAA9C,CADwB,GAE9B,CAAC,GAAGA,iBAAJ,EAAuBM,KAAK,CAACE,QAA7B,CAFJ;MAGAP,oBAAoB,CAACiC,oBAAD,CAApB;IACD;;IAED,oBACE,oBAAC,IAAD;MAAM,IAAI,EAAE3B,UAAZ;MAAwB,QAAQ,EAAEE,KAAlC;MAAyC,OAAO,EAAEwB,eAAlD;MAAmE,GAAG,EAAED;IAAxE,EADF;EAGD,CAZA,CADH,CAJF,CANJ,CAXF,CADF;AA0CD,CA9HD;;AAgIA9C,gBAAgB,CAACkD,YAAjB,GAAgC;EAC9BrC,SAAS,EAAEf,QAAQ,CAACqD,iBAAT,CAA2BtC;AADR,CAAhC;AAIAb,gBAAgB,CAACoD,SAAjB,2CAA6B;EAC3BjD,MAAM,EAAEV,SAAS,CAAC4D,OAAV,CAAkB5D,SAAS,CAAC6D,MAA5B,CADmB;EAE3BlD,cAAc,EAAEX,SAAS,CAAC4D,OAAV,CAAkB5D,SAAS,CAAC6D,MAA5B,CAFW;EAG3BjD,aAAa,EAAEZ,SAAS,CAAC8D,QAAV,CAAmB9D,SAAS,CAAC6D,MAA7B,CAHY;EAI3BhD,MAAM,EAAEb,SAAS,CAAC+D,IAJS;EAK3BjD,SAAS,EAAEd,SAAS,CAAC+D,IALM;EAM3B/C,iBAAiB,EAAEhB,SAAS,CAACgE,MANF;EAO3BjD,iBAAiB,EAAEf,SAAS,CAACgE,MAPF;EAQ3B/C,QAAQ,EAAEjB,SAAS,CAACiE,IARO;EAS3B/C,SAAS,EAAElB,SAAS,CAACiE,IATM;EAU3B9C,OAAO,EAAEnB,SAAS,CAACiE;AAVQ,CAA7B;AAaA,eAAe1D,gBAAf"}
@@ -1,10 +1,26 @@
1
+ @value breakpoints: "../../variables/breakpoints.css";
2
+ @value mobile from breakpoints;
3
+ @value tablet from breakpoints;
4
+
5
+
1
6
  .sidePanel {
2
- display: flex;
3
- width: 316px;
4
- flex-direction: column;
5
- justify-content: center;
6
- align-items: flex-start;
7
- gap: 16px;
8
- align-self: stretch;
9
- }
10
-
7
+ display: flex;
8
+ width: 316px;
9
+ flex-direction: column;
10
+ justify-content: center;
11
+ align-items: flex-start;
12
+ gap: 16px;
13
+ align-self: stretch;
14
+ }
15
+
16
+ @media mobile {
17
+ .sidePanel {
18
+ width: 100%;
19
+ }
20
+ }
21
+
22
+ @media tablet {
23
+ .sidePanel {
24
+ width: 100%;
25
+ }
26
+ }
@@ -13,6 +13,7 @@ declare namespace ListItems {
13
13
  buttonLink: PropTypes.Requireable<PropTypes.InferProps<{
14
14
  type: PropTypes.Requireable<string>;
15
15
  label: PropTypes.Requireable<string>;
16
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
16
17
  'aria-label': PropTypes.Requireable<string>;
17
18
  'data-name': PropTypes.Requireable<string>;
18
19
  'data-testid': PropTypes.Requireable<string>;
@@ -144,6 +145,7 @@ declare namespace ListItems {
144
145
  componentType: PropTypes.Requireable<string>;
145
146
  type: PropTypes.Requireable<string>;
146
147
  label: PropTypes.Requireable<string>;
148
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
147
149
  'aria-label': PropTypes.Requireable<string>;
148
150
  'data-name': PropTypes.Requireable<string>;
149
151
  'data-testid': PropTypes.Requireable<string>;
@@ -1,8 +1,9 @@
1
1
  export default ReviewNoSkills;
2
- declare function ReviewNoSkills({ titleNoSkills, textNoSkills, iconSkillAriaLabel }: {
2
+ declare function ReviewNoSkills({ titleNoSkills, textNoSkills, iconSkillAriaLabel, imagePosition }: {
3
3
  titleNoSkills: any;
4
4
  textNoSkills: any;
5
5
  iconSkillAriaLabel: any;
6
+ imagePosition?: string | undefined;
6
7
  }): JSX.Element;
7
8
  declare namespace ReviewNoSkills {
8
9
  export { propTypes };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-no-skills/index.js"],"names":[],"mappings":";AAKA;;;;gBAQC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/review-no-skills/index.js"],"names":[],"mappings":";AAKA;;;;;gBAqBC"}
@@ -6,18 +6,22 @@ import propTypes from './prop-types';
6
6
  const ReviewNoSkills = ({
7
7
  titleNoSkills,
8
8
  textNoSkills,
9
- iconSkillAriaLabel
9
+ iconSkillAriaLabel,
10
+ imagePosition = 'bottom'
10
11
  }) => {
11
12
  return /*#__PURE__*/React.createElement("div", {
12
13
  className: style.noSkillsContainer
13
- }, /*#__PURE__*/React.createElement("div", {
14
+ }, imagePosition === 'top' ? /*#__PURE__*/React.createElement(EmptyStateHomeRevision, {
15
+ className: style.imgNoSkillsReverse,
16
+ "aria-label": iconSkillAriaLabel
17
+ }) : null, /*#__PURE__*/React.createElement("div", {
14
18
  className: style.titleNoSkills
15
19
  }, titleNoSkills), /*#__PURE__*/React.createElement("div", {
16
20
  className: style.textNoSkills
17
- }, " ", textNoSkills), /*#__PURE__*/React.createElement(EmptyStateHomeRevision, {
21
+ }, " ", textNoSkills), imagePosition === 'bottom' ? /*#__PURE__*/React.createElement(EmptyStateHomeRevision, {
18
22
  className: style.imgNoSkills,
19
23
  "aria-label": iconSkillAriaLabel
20
- }));
24
+ }) : null);
21
25
  };
22
26
 
23
27
  ReviewNoSkills.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","NovaCompositionCoorpacademyEmptyStateHomeRevision","EmptyStateHomeRevision","style","propTypes","ReviewNoSkills","titleNoSkills","textNoSkills","iconSkillAriaLabel","noSkillsContainer","imgNoSkills"],"sources":["../../../src/organism/review-no-skills/index.js"],"sourcesContent":["import React from 'react';\nimport {NovaCompositionCoorpacademyEmptyStateHomeRevision as EmptyStateHomeRevision} from '@coorpacademy/nova-icons';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst ReviewNoSkills = ({titleNoSkills, textNoSkills, iconSkillAriaLabel}) => {\n return (\n <div className={style.noSkillsContainer}>\n <div className={style.titleNoSkills}>{titleNoSkills}</div>\n <div className={style.textNoSkills}> {textNoSkills}</div>\n <EmptyStateHomeRevision className={style.imgNoSkills} aria-label={iconSkillAriaLabel} />\n </div>\n );\n};\n\nReviewNoSkills.propTypes = propTypes;\n\nexport default ReviewNoSkills;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,iDAAiD,IAAIC,sBAA7D,QAA0F,0BAA1F;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAEA,MAAMC,cAAc,GAAG,CAAC;EAACC,aAAD;EAAgBC,YAAhB;EAA8BC;AAA9B,CAAD,KAAuD;EAC5E,oBACE;IAAK,SAAS,EAAEL,KAAK,CAACM;EAAtB,gBACE;IAAK,SAAS,EAAEN,KAAK,CAACG;EAAtB,GAAsCA,aAAtC,CADF,eAEE;IAAK,SAAS,EAAEH,KAAK,CAACI;EAAtB,QAAsCA,YAAtC,CAFF,eAGE,oBAAC,sBAAD;IAAwB,SAAS,EAAEJ,KAAK,CAACO,WAAzC;IAAsD,cAAYF;EAAlE,EAHF,CADF;AAOD,CARD;;AAUAH,cAAc,CAACD,SAAf,2CAA2BA,SAA3B;AAEA,eAAeC,cAAf"}
1
+ {"version":3,"file":"index.js","names":["React","NovaCompositionCoorpacademyEmptyStateHomeRevision","EmptyStateHomeRevision","style","propTypes","ReviewNoSkills","titleNoSkills","textNoSkills","iconSkillAriaLabel","imagePosition","noSkillsContainer","imgNoSkillsReverse","imgNoSkills"],"sources":["../../../src/organism/review-no-skills/index.js"],"sourcesContent":["import React from 'react';\nimport {NovaCompositionCoorpacademyEmptyStateHomeRevision as EmptyStateHomeRevision} from '@coorpacademy/nova-icons';\nimport style from './style.css';\nimport propTypes from './prop-types';\n\nconst ReviewNoSkills = ({\n titleNoSkills,\n textNoSkills,\n iconSkillAriaLabel,\n imagePosition = 'bottom'\n}) => {\n return (\n <div className={style.noSkillsContainer}>\n {imagePosition === 'top' ? (\n <EmptyStateHomeRevision\n className={style.imgNoSkillsReverse}\n aria-label={iconSkillAriaLabel}\n />\n ) : null}\n <div className={style.titleNoSkills}>{titleNoSkills}</div>\n <div className={style.textNoSkills}> {textNoSkills}</div>\n {imagePosition === 'bottom' ? (\n <EmptyStateHomeRevision className={style.imgNoSkills} aria-label={iconSkillAriaLabel} />\n ) : null}\n </div>\n );\n};\n\nReviewNoSkills.propTypes = propTypes;\n\nexport default ReviewNoSkills;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAAQC,iDAAiD,IAAIC,sBAA7D,QAA0F,0BAA1F;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,OAAOC,SAAP,MAAsB,cAAtB;;AAEA,MAAMC,cAAc,GAAG,CAAC;EACtBC,aADsB;EAEtBC,YAFsB;EAGtBC,kBAHsB;EAItBC,aAAa,GAAG;AAJM,CAAD,KAKjB;EACJ,oBACE;IAAK,SAAS,EAAEN,KAAK,CAACO;EAAtB,GACGD,aAAa,KAAK,KAAlB,gBACC,oBAAC,sBAAD;IACE,SAAS,EAAEN,KAAK,CAACQ,kBADnB;IAEE,cAAYH;EAFd,EADD,GAKG,IANN,eAOE;IAAK,SAAS,EAAEL,KAAK,CAACG;EAAtB,GAAsCA,aAAtC,CAPF,eAQE;IAAK,SAAS,EAAEH,KAAK,CAACI;EAAtB,QAAsCA,YAAtC,CARF,EASGE,aAAa,KAAK,QAAlB,gBACC,oBAAC,sBAAD;IAAwB,SAAS,EAAEN,KAAK,CAACS,WAAzC;IAAsD,cAAYJ;EAAlE,EADD,GAEG,IAXN,CADF;AAeD,CArBD;;AAuBAH,cAAc,CAACD,SAAf,2CAA2BA,SAA3B;AAEA,eAAeC,cAAf"}
@@ -3,11 +3,13 @@ declare const propTypes: {
3
3
  titleNoSkills: PropTypes.Validator<string>;
4
4
  textNoSkills: PropTypes.Validator<string>;
5
5
  iconSkillAriaLabel: PropTypes.Validator<string>;
6
+ imagePosition: PropTypes.Requireable<string>;
6
7
  };
7
8
  export default propTypes;
8
9
  export declare type NoSkillsProps = {
9
10
  titleNoSkills: string;
10
11
  textNoSkills: string;
11
12
  iconSkillAriaLabel: string;
13
+ imagePosition?: 'top' | 'bottom';
12
14
  };
13
15
  //# sourceMappingURL=prop-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/organism/review-no-skills/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,QAAA,MAAM,SAAS;;;;CAId,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,aAAa,GAAG;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"prop-types.d.ts","sourceRoot":"","sources":["../../../src/organism/review-no-skills/prop-types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,QAAA,MAAM,SAAS;;;;;CAKd,CAAC;AAEF,eAAe,SAAS,CAAC;AAEzB,oBAAY,aAAa,GAAG;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;CAClC,CAAC"}
@@ -2,7 +2,8 @@ import PropTypes from 'prop-types';
2
2
  const propTypes = {
3
3
  titleNoSkills: PropTypes.string.isRequired,
4
4
  textNoSkills: PropTypes.string.isRequired,
5
- iconSkillAriaLabel: PropTypes.string.isRequired
5
+ iconSkillAriaLabel: PropTypes.string.isRequired,
6
+ imagePosition: PropTypes.oneOf(['top', 'bottom'])
6
7
  };
7
8
  export default propTypes;
8
9
  //# sourceMappingURL=prop-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop-types.js","names":["PropTypes","propTypes","titleNoSkills","string","isRequired","textNoSkills","iconSkillAriaLabel"],"sources":["../../../src/organism/review-no-skills/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst propTypes = {\n titleNoSkills: PropTypes.string.isRequired,\n textNoSkills: PropTypes.string.isRequired,\n iconSkillAriaLabel: PropTypes.string.isRequired\n};\n\nexport default propTypes;\n\nexport type NoSkillsProps = {\n titleNoSkills: string;\n textNoSkills: string;\n iconSkillAriaLabel: string;\n};\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,MAAMC,SAAS,GAAG;EAChBC,aAAa,EAAEF,SAAS,CAACG,MAAV,CAAiBC,UADhB;EAEhBC,YAAY,EAAEL,SAAS,CAACG,MAAV,CAAiBC,UAFf;EAGhBE,kBAAkB,EAAEN,SAAS,CAACG,MAAV,CAAiBC;AAHrB,CAAlB;AAMA,eAAeH,SAAf"}
1
+ {"version":3,"file":"prop-types.js","names":["PropTypes","propTypes","titleNoSkills","string","isRequired","textNoSkills","iconSkillAriaLabel","imagePosition","oneOf"],"sources":["../../../src/organism/review-no-skills/prop-types.ts"],"sourcesContent":["import PropTypes from 'prop-types';\n\nconst propTypes = {\n titleNoSkills: PropTypes.string.isRequired,\n textNoSkills: PropTypes.string.isRequired,\n iconSkillAriaLabel: PropTypes.string.isRequired,\n imagePosition: PropTypes.oneOf(['top', 'bottom'])\n};\n\nexport default propTypes;\n\nexport type NoSkillsProps = {\n titleNoSkills: string;\n textNoSkills: string;\n iconSkillAriaLabel: string;\n imagePosition?: 'top' | 'bottom';\n};\n"],"mappings":"AAAA,OAAOA,SAAP,MAAsB,YAAtB;AAEA,MAAMC,SAAS,GAAG;EAChBC,aAAa,EAAEF,SAAS,CAACG,MAAV,CAAiBC,UADhB;EAEhBC,YAAY,EAAEL,SAAS,CAACG,MAAV,CAAiBC,UAFf;EAGhBE,kBAAkB,EAAEN,SAAS,CAACG,MAAV,CAAiBC,UAHrB;EAIhBG,aAAa,EAAEP,SAAS,CAACQ,KAAV,CAAgB,CAAC,KAAD,EAAQ,QAAR,CAAhB;AAJC,CAAlB;AAOA,eAAeP,SAAf"}
@@ -46,6 +46,12 @@
46
46
  width: 361px;
47
47
  }
48
48
 
49
+ .imgNoSkillsReverse {
50
+ composes: imgNoSkills;
51
+ margin-top: 0px;
52
+ margin-bottom: 8px;
53
+ }
54
+
49
55
  @media tablet {
50
56
  .titleNoSkills, .textNoSkills {
51
57
  width: 90%;
@@ -6,6 +6,7 @@ declare namespace SetupHeader {
6
6
  seeMyPlatform: PropTypes.Requireable<PropTypes.InferProps<{
7
7
  type: PropTypes.Requireable<string>;
8
8
  label: PropTypes.Requireable<string>;
9
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
9
10
  'aria-label': PropTypes.Requireable<string>;
10
11
  'data-name': PropTypes.Requireable<string>;
11
12
  'data-testid': PropTypes.Requireable<string>;
@@ -26,6 +27,7 @@ declare namespace SetupHeader {
26
27
  logOut: PropTypes.Requireable<PropTypes.InferProps<{
27
28
  type: PropTypes.Requireable<string>;
28
29
  label: PropTypes.Requireable<string>;
30
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
29
31
  'aria-label': PropTypes.Requireable<string>;
30
32
  'data-name': PropTypes.Requireable<string>;
31
33
  'data-testid': PropTypes.Requireable<string>;
@@ -46,6 +48,7 @@ declare namespace SetupHeader {
46
48
  globalAnalytics: PropTypes.Requireable<PropTypes.InferProps<{
47
49
  type: PropTypes.Requireable<string>;
48
50
  label: PropTypes.Requireable<string>;
51
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
49
52
  'aria-label': PropTypes.Requireable<string>;
50
53
  'data-name': PropTypes.Requireable<string>;
51
54
  'data-testid': PropTypes.Requireable<string>;
@@ -66,6 +69,7 @@ declare namespace SetupHeader {
66
69
  platformList: PropTypes.Requireable<PropTypes.InferProps<{
67
70
  type: PropTypes.Requireable<string>;
68
71
  label: PropTypes.Requireable<string>;
72
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
69
73
  'aria-label': PropTypes.Requireable<string>;
70
74
  'data-name': PropTypes.Requireable<string>;
71
75
  'data-testid': PropTypes.Requireable<string>;
@@ -22,6 +22,7 @@ declare namespace WizardContents {
22
22
  firstButtonLink: PropTypes.Requireable<PropTypes.InferProps<{
23
23
  type: PropTypes.Requireable<string>;
24
24
  label: PropTypes.Requireable<string>;
25
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
25
26
  'aria-label': PropTypes.Requireable<string>;
26
27
  'data-name': PropTypes.Requireable<string>;
27
28
  'data-testid': PropTypes.Requireable<string>;
@@ -42,6 +43,7 @@ declare namespace WizardContents {
42
43
  secondButtonLink: PropTypes.Requireable<PropTypes.InferProps<{
43
44
  type: PropTypes.Requireable<string>;
44
45
  label: PropTypes.Requireable<string>;
46
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
45
47
  'aria-label': PropTypes.Requireable<string>;
46
48
  'data-name': PropTypes.Requireable<string>;
47
49
  'data-testid': PropTypes.Requireable<string>;
@@ -424,6 +426,7 @@ declare namespace WizardContents {
424
426
  componentType: PropTypes.Requireable<string>;
425
427
  type: PropTypes.Requireable<string>;
426
428
  label: PropTypes.Requireable<string>;
429
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
427
430
  'aria-label': PropTypes.Requireable<string>;
428
431
  'data-name': PropTypes.Requireable<string>;
429
432
  'data-testid': PropTypes.Requireable<string>;
@@ -81,6 +81,7 @@ declare namespace PlayerLoading {
81
81
  buttonLink: PropTypes.Requireable<PropTypes.InferProps<{
82
82
  type: PropTypes.Requireable<string>;
83
83
  label: PropTypes.Requireable<string>;
84
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
84
85
  'aria-label': PropTypes.Requireable<string>;
85
86
  'data-name': PropTypes.Requireable<string>;
86
87
  'data-testid': PropTypes.Requireable<string>;
@@ -212,6 +213,7 @@ declare namespace PlayerLoading {
212
213
  componentType: PropTypes.Requireable<string>;
213
214
  type: PropTypes.Requireable<string>;
214
215
  label: PropTypes.Requireable<string>;
216
+ content: PropTypes.Requireable<PropTypes.ReactNodeLike>;
215
217
  'aria-label': PropTypes.Requireable<string>;
216
218
  'data-name': PropTypes.Requireable<string>;
217
219
  'data-testid': PropTypes.Requireable<string>;