@coorpacademy/components 11.40.13 → 11.40.14-alpha.11

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 (129) hide show
  1. package/es/atom/checkbox-with-title/index.d.ts +24 -1
  2. package/es/atom/checkbox-with-title/index.d.ts.map +1 -1
  3. package/es/atom/checkbox-with-title/index.js +16 -2
  4. package/es/atom/checkbox-with-title/index.js.map +1 -1
  5. package/es/atom/chip/index.d.ts.map +1 -1
  6. package/es/atom/chip/index.js +4 -4
  7. package/es/atom/chip/index.js.map +1 -1
  8. package/es/atom/input-switch/index.d.ts +24 -1
  9. package/es/atom/input-switch/index.d.ts.map +1 -1
  10. package/es/atom/input-switch/index.js +16 -2
  11. package/es/atom/input-switch/index.js.map +1 -1
  12. package/es/atom/range/index.d.ts +33 -3
  13. package/es/atom/range/index.d.ts.map +1 -1
  14. package/es/atom/range/index.js +88 -20
  15. package/es/atom/range/index.js.map +1 -1
  16. package/es/atom/range/style.css +38 -0
  17. package/es/molecule/multi-filter-panel/index.d.ts +41 -0
  18. package/es/molecule/multi-filter-panel/index.d.ts.map +1 -1
  19. package/es/molecule/multi-filter-panel/index.js +28 -13
  20. package/es/molecule/multi-filter-panel/index.js.map +1 -1
  21. package/es/molecule/multi-filter-panel/prop-types.d.ts +31 -5
  22. package/es/molecule/multi-filter-panel/prop-types.d.ts.map +1 -1
  23. package/es/molecule/multi-filter-panel/prop-types.js +4 -0
  24. package/es/molecule/multi-filter-panel/prop-types.js.map +1 -1
  25. package/es/molecule/questions/question-range/index.d.ts +4 -1
  26. package/es/molecule/quick-filters/index.js +3 -1
  27. package/es/molecule/quick-filters/index.js.map +1 -1
  28. package/es/molecule/quick-filters/style.css +2 -0
  29. package/es/organism/content-skill-modal/index.d.ts +20 -0
  30. package/es/organism/content-skill-modal/index.d.ts.map +1 -1
  31. package/es/organism/content-skill-modal/types.d.ts +20 -0
  32. package/es/organism/content-skill-modal/types.d.ts.map +1 -1
  33. package/es/organism/filter-checkbox-and-search/index.d.ts +21 -0
  34. package/es/organism/filter-checkbox-and-search/index.d.ts.map +1 -1
  35. package/es/organism/filter-checkbox-and-search/index.js +13 -2
  36. package/es/organism/filter-checkbox-and-search/index.js.map +1 -1
  37. package/es/organism/filter-chip/index.d.ts +21 -0
  38. package/es/organism/filter-chip/index.d.ts.map +1 -1
  39. package/es/organism/filter-chip/index.js +14 -2
  40. package/es/organism/filter-chip/index.js.map +1 -1
  41. package/es/organism/filter-range/index.d.ts +28 -0
  42. package/es/organism/filter-range/index.d.ts.map +1 -0
  43. package/es/organism/filter-range/index.js +89 -0
  44. package/es/organism/filter-range/index.js.map +1 -0
  45. package/es/organism/filter-range/prop-types.d.ts +38 -0
  46. package/es/organism/filter-range/prop-types.d.ts.map +1 -0
  47. package/es/organism/filter-range/prop-types.js +20 -0
  48. package/es/organism/filter-range/prop-types.js.map +1 -0
  49. package/es/organism/filter-range/style.css +15 -0
  50. package/es/organism/filter-switch/index.d.ts +22 -0
  51. package/es/organism/filter-switch/index.d.ts.map +1 -1
  52. package/es/organism/filter-switch/index.js +18 -3
  53. package/es/organism/filter-switch/index.js.map +1 -1
  54. package/es/organism/filter-switch/prop-types.d.ts +2 -0
  55. package/es/organism/filter-switch/prop-types.d.ts.map +1 -1
  56. package/es/organism/filter-switch/prop-types.js +2 -1
  57. package/es/organism/filter-switch/prop-types.js.map +1 -1
  58. package/es/template/back-office/brand-update/index.d.ts +20 -0
  59. package/es/template/common/search-page/index.d.ts +36 -0
  60. package/es/template/common/search-page/index.d.ts.map +1 -1
  61. package/es/template/common/search-page/index.js +45 -6
  62. package/es/template/common/search-page/index.js.map +1 -1
  63. package/es/template/common/search-page/style.css +27 -1
  64. package/es/variables/colors.css +1 -0
  65. package/lib/atom/checkbox-with-title/index.d.ts +24 -1
  66. package/lib/atom/checkbox-with-title/index.d.ts.map +1 -1
  67. package/lib/atom/checkbox-with-title/index.js +16 -2
  68. package/lib/atom/checkbox-with-title/index.js.map +1 -1
  69. package/lib/atom/chip/index.d.ts.map +1 -1
  70. package/lib/atom/chip/index.js +4 -4
  71. package/lib/atom/chip/index.js.map +1 -1
  72. package/lib/atom/input-switch/index.d.ts +24 -1
  73. package/lib/atom/input-switch/index.d.ts.map +1 -1
  74. package/lib/atom/input-switch/index.js +16 -2
  75. package/lib/atom/input-switch/index.js.map +1 -1
  76. package/lib/atom/range/index.d.ts +33 -3
  77. package/lib/atom/range/index.d.ts.map +1 -1
  78. package/lib/atom/range/index.js +88 -20
  79. package/lib/atom/range/index.js.map +1 -1
  80. package/lib/atom/range/style.css +38 -0
  81. package/lib/molecule/multi-filter-panel/index.d.ts +41 -0
  82. package/lib/molecule/multi-filter-panel/index.d.ts.map +1 -1
  83. package/lib/molecule/multi-filter-panel/index.js +28 -13
  84. package/lib/molecule/multi-filter-panel/index.js.map +1 -1
  85. package/lib/molecule/multi-filter-panel/prop-types.d.ts +31 -5
  86. package/lib/molecule/multi-filter-panel/prop-types.d.ts.map +1 -1
  87. package/lib/molecule/multi-filter-panel/prop-types.js +4 -0
  88. package/lib/molecule/multi-filter-panel/prop-types.js.map +1 -1
  89. package/lib/molecule/questions/question-range/index.d.ts +4 -1
  90. package/lib/molecule/quick-filters/index.js +3 -1
  91. package/lib/molecule/quick-filters/index.js.map +1 -1
  92. package/lib/molecule/quick-filters/style.css +2 -0
  93. package/lib/organism/content-skill-modal/index.d.ts +20 -0
  94. package/lib/organism/content-skill-modal/index.d.ts.map +1 -1
  95. package/lib/organism/content-skill-modal/types.d.ts +20 -0
  96. package/lib/organism/content-skill-modal/types.d.ts.map +1 -1
  97. package/lib/organism/filter-checkbox-and-search/index.d.ts +21 -0
  98. package/lib/organism/filter-checkbox-and-search/index.d.ts.map +1 -1
  99. package/lib/organism/filter-checkbox-and-search/index.js +13 -2
  100. package/lib/organism/filter-checkbox-and-search/index.js.map +1 -1
  101. package/lib/organism/filter-chip/index.d.ts +21 -0
  102. package/lib/organism/filter-chip/index.d.ts.map +1 -1
  103. package/lib/organism/filter-chip/index.js +14 -2
  104. package/lib/organism/filter-chip/index.js.map +1 -1
  105. package/lib/organism/filter-range/index.d.ts +28 -0
  106. package/lib/organism/filter-range/index.d.ts.map +1 -0
  107. package/lib/organism/filter-range/index.js +96 -0
  108. package/lib/organism/filter-range/index.js.map +1 -0
  109. package/lib/organism/filter-range/prop-types.d.ts +38 -0
  110. package/lib/organism/filter-range/prop-types.d.ts.map +1 -0
  111. package/lib/organism/filter-range/prop-types.js +25 -0
  112. package/lib/organism/filter-range/prop-types.js.map +1 -0
  113. package/lib/organism/filter-range/style.css +15 -0
  114. package/lib/organism/filter-switch/index.d.ts +22 -0
  115. package/lib/organism/filter-switch/index.d.ts.map +1 -1
  116. package/lib/organism/filter-switch/index.js +18 -3
  117. package/lib/organism/filter-switch/index.js.map +1 -1
  118. package/lib/organism/filter-switch/prop-types.d.ts +2 -0
  119. package/lib/organism/filter-switch/prop-types.d.ts.map +1 -1
  120. package/lib/organism/filter-switch/prop-types.js +2 -1
  121. package/lib/organism/filter-switch/prop-types.js.map +1 -1
  122. package/lib/template/back-office/brand-update/index.d.ts +20 -0
  123. package/lib/template/common/search-page/index.d.ts +36 -0
  124. package/lib/template/common/search-page/index.d.ts.map +1 -1
  125. package/lib/template/common/search-page/index.js +45 -6
  126. package/lib/template/common/search-page/index.js.map +1 -1
  127. package/lib/template/common/search-page/style.css +27 -1
  128. package/lib/variables/colors.css +1 -0
  129. package/package.json +2 -2
@@ -5,7 +5,7 @@ exports.default = exports.calculateHoveredSelectedBgColor = void 0;
5
5
  var _react = _interopRequireWildcard(require("react"));
6
6
  var _propTypes = _interopRequireDefault(require("prop-types"));
7
7
  var _classnames = _interopRequireDefault(require("classnames"));
8
- var _get = _interopRequireDefault(require("lodash/fp/get"));
8
+ var _getOr = _interopRequireDefault(require("lodash/fp/getOr"));
9
9
  var _cssColorFunction = require("css-color-function");
10
10
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
11
11
  var _proSolidSvgIcons = require("@fortawesome/pro-solid-svg-icons");
@@ -34,14 +34,14 @@ const Chip = (props, context) => {
34
34
  customIcon,
35
35
  onClick,
36
36
  leftIcon,
37
- backgroundColor = DEFAULT_BACKGROUND_COLOR,
37
+ backgroundColor,
38
38
  customStyle
39
39
  } = props;
40
40
  const {
41
41
  skin
42
42
  } = context;
43
- const skinColor = (0, _get.default)('common.primary', skin);
44
- const selectedBgColor = backgroundColor === 'skin' && skinColor ? skinColor : backgroundColor;
43
+ const skinColor = (0, _getOr.default)(DEFAULT_BACKGROUND_COLOR, 'common.primary', skin);
44
+ const selectedBgColor = backgroundColor === 'skin' && skinColor ? skinColor : backgroundColor || DEFAULT_BACKGROUND_COLOR;
45
45
  const hoveredSelectedBgColor = calculateHoveredSelectedBgColor(selectedBgColor);
46
46
  const [isHovered, setIsHovered] = (0, _react.useState)(false);
47
47
  const handleClick = (0, _react.useMemo)(() => onClick, [onClick]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_get","_cssColorFunction","_reactFontawesome","_proSolidSvgIcons","_fontawesomeSvgCore","_provider","_colors","_style","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","library","add","fas","LUMINOSITY_DELTA","cm_primary_blue","DEFAULT_BACKGROUND_COLOR","COLORS","ICON_SIZE","calculateHoveredSelectedBgColor","selectedBgColor","luminosityDelta","convert","exports","Chip","props","context","text","subText","textColor","cm_grey_700","selected","customIcon","onClick","leftIcon","backgroundColor","customStyle","skin","skinColor","hoveredSelectedBgColor","isHovered","setIsHovered","useState","handleClick","useMemo","handleMouseEnter","useCallback","handleMouseLeave","hoverStyle","defaultIcon","showIcon","color","white","createElement","className","classnames","style","container","unselected","onMouseEnter","onMouseLeave","left","FontAwesomeIcon","icon","fontSize","title","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","string","bool","func","objectOf","oneOfType","number","_default"],"sources":["../../../src/atom/chip/index.js"],"sourcesContent":["import React, {useMemo, useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport get from 'lodash/fp/get';\nimport {convert} from 'css-color-function';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {fas} from '@fortawesome/pro-solid-svg-icons';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport Provider from '../provider';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\n\nlibrary.add(fas);\n\nconst LUMINOSITY_DELTA = 0.08;\nconst {cm_primary_blue: DEFAULT_BACKGROUND_COLOR} = COLORS;\nconst ICON_SIZE = '12px';\n\nexport const calculateHoveredSelectedBgColor = (\n selectedBgColor,\n luminosityDelta = LUMINOSITY_DELTA\n) => convert(`hsl(from ${selectedBgColor} h s calc(l*(1 - ${luminosityDelta})))`);\n// note: luminosity decrease is relative to the selected color\n\nconst Chip = (props, context) => {\n const {\n text,\n subText,\n textColor = COLORS.cm_grey_700,\n selected = false,\n customIcon,\n onClick,\n leftIcon,\n backgroundColor = DEFAULT_BACKGROUND_COLOR,\n customStyle\n } = props;\n const {skin} = context;\n const skinColor = get('common.primary', skin);\n const selectedBgColor = backgroundColor === 'skin' && skinColor ? skinColor : backgroundColor;\n const hoveredSelectedBgColor = calculateHoveredSelectedBgColor(selectedBgColor);\n\n const [isHovered, setIsHovered] = useState(false);\n\n const handleClick = useMemo(() => onClick, [onClick]);\n\n const handleMouseEnter = useCallback(() => {\n setIsHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setIsHovered(false);\n }, []);\n\n const hoverStyle = isHovered ? {backgroundColor: hoveredSelectedBgColor} : {};\n\n const defaultIcon = selected ? 'fa-check' : 'fa-plus';\n const showIcon = customIcon !== 'none';\n const color = selected ? COLORS.white : textColor;\n\n return (\n <div\n className={classnames(style.container, !selected && style.unselected)}\n style={{\n ...(selected && selectedBgColor ? {backgroundColor: selectedBgColor} : {}),\n ...(selected && hoverStyle),\n ...customStyle\n }}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n aria-label={text}\n data-name={`chip-${text}`}\n >\n <div className={style.left}>\n {leftIcon ? <FontAwesomeIcon style={{color}} icon={leftIcon} fontSize={ICON_SIZE} /> : null}\n <div title={text}>\n <span className={style.text} style={{color}}>\n {text}\n </span>\n {subText ? (\n <span className={style.subText} style={{color}}>\n {subText}\n </span>\n ) : null}\n </div>\n </div>\n {showIcon ? (\n <FontAwesomeIcon\n style={{color}}\n icon={customIcon ? `fa-${customIcon}` : defaultIcon}\n fontSize={ICON_SIZE}\n />\n ) : null}\n </div>\n );\n};\n\nChip.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nChip.propTypes = {\n text: PropTypes.string,\n subText: PropTypes.string,\n textColor: PropTypes.string,\n selected: PropTypes.bool,\n customIcon: PropTypes.string,\n backgroundColor: PropTypes.string,\n onClick: PropTypes.func,\n leftIcon: PropTypes.string,\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n};\n\nexport default Chip;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_classnames","_getOr","_cssColorFunction","_reactFontawesome","_proSolidSvgIcons","_fontawesomeSvgCore","_provider","_colors","_style","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","library","add","fas","LUMINOSITY_DELTA","cm_primary_blue","DEFAULT_BACKGROUND_COLOR","COLORS","ICON_SIZE","calculateHoveredSelectedBgColor","selectedBgColor","luminosityDelta","convert","exports","Chip","props","context","text","subText","textColor","cm_grey_700","selected","customIcon","onClick","leftIcon","backgroundColor","customStyle","skin","skinColor","getOr","hoveredSelectedBgColor","isHovered","setIsHovered","useState","handleClick","useMemo","handleMouseEnter","useCallback","handleMouseLeave","hoverStyle","defaultIcon","showIcon","color","white","createElement","className","classnames","style","container","unselected","onMouseEnter","onMouseLeave","left","FontAwesomeIcon","icon","fontSize","title","contextTypes","Provider","childContextTypes","propTypes","process","env","NODE_ENV","PropTypes","string","bool","func","objectOf","oneOfType","number","_default"],"sources":["../../../src/atom/chip/index.js"],"sourcesContent":["import React, {useMemo, useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport getOr from 'lodash/fp/getOr';\nimport {convert} from 'css-color-function';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {fas} from '@fortawesome/pro-solid-svg-icons';\nimport {library} from '@fortawesome/fontawesome-svg-core';\nimport Provider from '../provider';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\n\nlibrary.add(fas);\n\nconst LUMINOSITY_DELTA = 0.08;\nconst {cm_primary_blue: DEFAULT_BACKGROUND_COLOR} = COLORS;\nconst ICON_SIZE = '12px';\n\nexport const calculateHoveredSelectedBgColor = (\n selectedBgColor,\n luminosityDelta = LUMINOSITY_DELTA\n) => convert(`hsl(from ${selectedBgColor} h s calc(l*(1 - ${luminosityDelta})))`);\n// note: luminosity decrease is relative to the selected color\n\nconst Chip = (props, context) => {\n const {\n text,\n subText,\n textColor = COLORS.cm_grey_700,\n selected = false,\n customIcon,\n onClick,\n leftIcon,\n backgroundColor,\n customStyle\n } = props;\n const {skin} = context;\n const skinColor = getOr(DEFAULT_BACKGROUND_COLOR, 'common.primary', skin);\n const selectedBgColor =\n backgroundColor === 'skin' && skinColor\n ? skinColor\n : backgroundColor || DEFAULT_BACKGROUND_COLOR;\n const hoveredSelectedBgColor = calculateHoveredSelectedBgColor(selectedBgColor);\n\n const [isHovered, setIsHovered] = useState(false);\n\n const handleClick = useMemo(() => onClick, [onClick]);\n\n const handleMouseEnter = useCallback(() => {\n setIsHovered(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setIsHovered(false);\n }, []);\n\n const hoverStyle = isHovered ? {backgroundColor: hoveredSelectedBgColor} : {};\n\n const defaultIcon = selected ? 'fa-check' : 'fa-plus';\n const showIcon = customIcon !== 'none';\n const color = selected ? COLORS.white : textColor;\n\n return (\n <div\n className={classnames(style.container, !selected && style.unselected)}\n style={{\n ...(selected && selectedBgColor ? {backgroundColor: selectedBgColor} : {}),\n ...(selected && hoverStyle),\n ...customStyle\n }}\n onClick={handleClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n aria-label={text}\n data-name={`chip-${text}`}\n >\n <div className={style.left}>\n {leftIcon ? <FontAwesomeIcon style={{color}} icon={leftIcon} fontSize={ICON_SIZE} /> : null}\n <div title={text}>\n <span className={style.text} style={{color}}>\n {text}\n </span>\n {subText ? (\n <span className={style.subText} style={{color}}>\n {subText}\n </span>\n ) : null}\n </div>\n </div>\n {showIcon ? (\n <FontAwesomeIcon\n style={{color}}\n icon={customIcon ? `fa-${customIcon}` : defaultIcon}\n fontSize={ICON_SIZE}\n />\n ) : null}\n </div>\n );\n};\n\nChip.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nChip.propTypes = {\n text: PropTypes.string,\n subText: PropTypes.string,\n textColor: PropTypes.string,\n selected: PropTypes.bool,\n customIcon: PropTypes.string,\n backgroundColor: PropTypes.string,\n onClick: PropTypes.func,\n leftIcon: PropTypes.string,\n customStyle: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n};\n\nexport default Chip;\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  export default InputSwitch;
2
- declare function InputSwitch(props: any): JSX.Element;
2
+ declare function InputSwitch(props: any, context: any): JSX.Element;
3
3
  declare namespace InputSwitch {
4
4
  const propTypes: {
5
5
  title: PropTypes.Requireable<string>;
@@ -19,6 +19,29 @@ declare namespace InputSwitch {
19
19
  requiredSelection: PropTypes.Requireable<boolean>;
20
20
  icon: PropTypes.Requireable<string>;
21
21
  };
22
+ namespace contextTypes {
23
+ const skin: PropTypes.Requireable<PropTypes.InferProps<{
24
+ common: PropTypes.Requireable<{
25
+ [x: string]: any;
26
+ }>;
27
+ images: PropTypes.Requireable<PropTypes.InferProps<{
28
+ 'logo-mobile': PropTypes.Requireable<any>;
29
+ logo: PropTypes.Requireable<any>;
30
+ 'logo-email': PropTypes.Requireable<any>;
31
+ login: PropTypes.Requireable<any>;
32
+ }>>;
33
+ icons: PropTypes.Requireable<{
34
+ [x: string]: any;
35
+ }>;
36
+ mod: PropTypes.Requireable<{
37
+ [x: string]: any;
38
+ }>;
39
+ courses: PropTypes.Requireable<any[]>;
40
+ texts: PropTypes.Requireable<{
41
+ [x: string]: any;
42
+ }>;
43
+ }>>;
44
+ }
22
45
  }
23
46
  import PropTypes from "prop-types";
24
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-switch/index.js"],"names":[],"mappings":";AAQA,sDAmGC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-switch/index.js"],"names":[],"mappings":";AAUA,oEAqGC"}
@@ -4,17 +4,20 @@ exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
  var _uniqueId2 = _interopRequireDefault(require("lodash/fp/uniqueId"));
6
6
  var _noop2 = _interopRequireDefault(require("lodash/fp/noop"));
7
+ var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
7
8
  var _react = _interopRequireWildcard(require("react"));
8
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
10
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
10
11
  var _classnames = _interopRequireDefault(require("classnames"));
11
12
  var _getClassState = _interopRequireDefault(require("../../util/get-class-state"));
13
+ var _colors = require("../../variables/colors");
14
+ var _provider = _interopRequireDefault(require("../provider"));
12
15
  var _style = _interopRequireDefault(require("./style.css"));
13
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
19
  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); }
17
- const InputSwitch = props => {
20
+ const InputSwitch = (props, context) => {
18
21
  const {
19
22
  title,
20
23
  name,
@@ -33,6 +36,10 @@ const InputSwitch = props => {
33
36
  'aria-label': ariaLabel,
34
37
  icon
35
38
  } = props;
39
+ const {
40
+ skin
41
+ } = context;
42
+ const primaryColor = (0, _getOr2.default)(_colors.COLORS.cm_primary_blue, 'common.primary', skin);
36
43
  const idSwitch = id || (0, _uniqueId2.default)('input-switch-');
37
44
  const isDisabled = disabled ? 'disabled' : '';
38
45
  const handleChange = (0, _react.useMemo)(() => e => onChange(e.target.checked), [onChange]);
@@ -104,7 +111,11 @@ const InputSwitch = props => {
104
111
  "data-name": "input-switch-label",
105
112
  tabIndex: 0,
106
113
  "aria-label": ariaLabel,
107
- title: ariaLabel
114
+ title: ariaLabel,
115
+ style: value ? {
116
+ background: primaryColor,
117
+ borderColor: primaryColor
118
+ } : null
108
119
  }))), /*#__PURE__*/_react.default.createElement("div", {
109
120
  className: !details ? _style.default.alignedTextContainer : null
110
121
  }, titlePosition === 'right' ? titleView : null, details ? /*#__PURE__*/_react.default.createElement("div", {
@@ -129,5 +140,8 @@ InputSwitch.propTypes = process.env.NODE_ENV !== "production" ? {
129
140
  requiredSelection: _propTypes.default.bool,
130
141
  icon: _propTypes.default.string
131
142
  } : {};
143
+ InputSwitch.contextTypes = {
144
+ skin: _provider.default.childContextTypes.skin
145
+ };
132
146
  var _default = exports.default = InputSwitch;
133
147
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactFontawesome","_classnames","_getClassState","_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","InputSwitch","props","title","name","id","value","disabled","onChange","_noop2","description","modified","theme","titlePosition","details","requiredSelection","dataName","ariaLabelledBy","ariaLabel","icon","idSwitch","_uniqueId2","isDisabled","handleChange","useMemo","target","checked","titleView","createElement","className","classNames","style","titleContainer","newMoocTitleContainer","FontAwesomeIcon","descriptionView","getClass","defaultClass","coorpmanager","modifiedClass","coorpmanagerModified","newMooc","newMoocModified","partielUncheck","defaultStyle","getClassState","btnSwitchContainer","type","checkbox","htmlFor","tabIndex","alignedTextContainer","detailsTxt","propTypes","process","env","NODE_ENV","PropTypes","string","bool","func","oneOf","_default","exports"],"sources":["../../../src/atom/input-switch/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, uniqueId} from 'lodash/fp';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst InputSwitch = props => {\n const {\n title,\n name,\n id,\n value,\n disabled,\n onChange = noop,\n description,\n modified = false,\n theme = 'default',\n titlePosition = 'left',\n details = '',\n requiredSelection = false,\n 'data-name': dataName,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-label': ariaLabel,\n icon\n } = props;\n\n const idSwitch = id || uniqueId('input-switch-');\n const isDisabled = disabled ? 'disabled' : '';\n const handleChange = useMemo(() => e => onChange(e.target.checked), [onChange]);\n const titleView = title ? (\n <div\n className={classNames(\n icon ? style.titleContainer : null,\n theme === 'newMooc' ? style.newMoocTitleContainer : null\n )}\n >\n {icon ? <FontAwesomeIcon icon={icon} className={style.icon} /> : null}\n <span id={`title-view-${dataName}`} className={style.title}>\n {title}\n </span>\n </div>\n ) : null;\n\n const descriptionView = description ? (\n <div className={style.description}>{description}</div>\n ) : null;\n\n const getClass = () => {\n switch (theme) {\n case 'coorpmanager':\n return {\n defaultClass: style.coorpmanager,\n modifiedClass: style.coorpmanagerModified\n };\n case 'newMooc':\n return {\n defaultClass: style.newMooc,\n modifiedClass: style.newMoocModified\n };\n case 'mooc':\n return {\n defaultClass: style.partielUncheck,\n modifiedClass: style.coorpmanagerModified\n };\n default:\n return {defaultClass: style.defaultStyle, modifiedClass: style.modified};\n }\n };\n const {defaultClass, modifiedClass} = getClass();\n const className = getClassState(defaultClass, modifiedClass, null, modified);\n\n return (\n <div className={className} data-name={`switch-input-${theme}${dataName}`}>\n {titlePosition === 'left' ? titleView : null}\n <div className={requiredSelection ? style.requiredSelection : null}>\n <div className={style.btnSwitchContainer}>\n <input\n {...(ariaLabelledBy ? {'aria-labelledby': ariaLabelledBy} : {})}\n {...(title ? {'aria-labelledby': `title-view-${dataName}`} : {})}\n {...(ariaLabel && !ariaLabelledBy && !title ? {'aria-label': ariaLabel} : {})}\n type=\"checkbox\"\n id={idSwitch}\n name={name}\n onChange={handleChange}\n checked={value}\n disabled={isDisabled}\n className={style.checkbox}\n aria-labelledby={ariaLabelledBy}\n />\n <label\n htmlFor={idSwitch}\n data-name=\"input-switch-label\"\n tabIndex={0}\n aria-label={ariaLabel}\n title={ariaLabel}\n />\n </div>\n </div>\n <div className={!details ? style.alignedTextContainer : null}>\n {titlePosition === 'right' ? titleView : null}\n {details ? <div className={style.detailsTxt}>{details}</div> : null}\n </div>\n {descriptionView}\n </div>\n );\n};\n\nInputSwitch.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n value: PropTypes.bool,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n description: PropTypes.string,\n 'aria-labelledby': PropTypes.string,\n 'aria-label': PropTypes.string,\n modified: PropTypes.bool,\n titlePosition: PropTypes.oneOf(['right', 'left']),\n theme: PropTypes.oneOf(['default', 'coorpmanager', 'mooc', 'newMooc']),\n details: PropTypes.string,\n 'data-name': PropTypes.string,\n requiredSelection: PropTypes.bool,\n icon: PropTypes.string\n};\nexport default InputSwitch;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactFontawesome","_classnames","_getClassState","_colors","_provider","_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","InputSwitch","props","context","title","name","id","value","disabled","onChange","_noop2","description","modified","theme","titlePosition","details","requiredSelection","dataName","ariaLabelledBy","ariaLabel","icon","skin","primaryColor","_getOr2","COLORS","cm_primary_blue","idSwitch","_uniqueId2","isDisabled","handleChange","useMemo","target","checked","titleView","createElement","className","classNames","style","titleContainer","newMoocTitleContainer","FontAwesomeIcon","descriptionView","getClass","defaultClass","coorpmanager","modifiedClass","coorpmanagerModified","newMooc","newMoocModified","partielUncheck","defaultStyle","getClassState","btnSwitchContainer","type","checkbox","htmlFor","tabIndex","background","borderColor","alignedTextContainer","detailsTxt","propTypes","process","env","NODE_ENV","PropTypes","string","bool","func","oneOf","contextTypes","Provider","childContextTypes","_default","exports"],"sources":["../../../src/atom/input-switch/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr, noop, uniqueId} from 'lodash/fp';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport classNames from 'classnames';\nimport getClassState from '../../util/get-class-state';\nimport {COLORS} from '../../variables/colors';\nimport Provider from '../provider';\nimport style from './style.css';\n\nconst InputSwitch = (props, context) => {\n const {\n title,\n name,\n id,\n value,\n disabled,\n onChange = noop,\n description,\n modified = false,\n theme = 'default',\n titlePosition = 'left',\n details = '',\n requiredSelection = false,\n 'data-name': dataName,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-label': ariaLabel,\n icon\n } = props;\n const {skin} = context;\n const primaryColor = getOr(COLORS.cm_primary_blue, 'common.primary', skin);\n const idSwitch = id || uniqueId('input-switch-');\n const isDisabled = disabled ? 'disabled' : '';\n const handleChange = useMemo(() => e => onChange(e.target.checked), [onChange]);\n const titleView = title ? (\n <div\n className={classNames(\n icon ? style.titleContainer : null,\n theme === 'newMooc' ? style.newMoocTitleContainer : null\n )}\n >\n {icon ? <FontAwesomeIcon icon={icon} className={style.icon} /> : null}\n <span id={`title-view-${dataName}`} className={style.title}>\n {title}\n </span>\n </div>\n ) : null;\n\n const descriptionView = description ? (\n <div className={style.description}>{description}</div>\n ) : null;\n\n const getClass = () => {\n switch (theme) {\n case 'coorpmanager':\n return {\n defaultClass: style.coorpmanager,\n modifiedClass: style.coorpmanagerModified\n };\n case 'newMooc':\n return {\n defaultClass: style.newMooc,\n modifiedClass: style.newMoocModified\n };\n case 'mooc':\n return {\n defaultClass: style.partielUncheck,\n modifiedClass: style.coorpmanagerModified\n };\n default:\n return {defaultClass: style.defaultStyle, modifiedClass: style.modified};\n }\n };\n const {defaultClass, modifiedClass} = getClass();\n const className = getClassState(defaultClass, modifiedClass, null, modified);\n\n return (\n <div className={className} data-name={`switch-input-${theme}${dataName}`}>\n {titlePosition === 'left' ? titleView : null}\n <div className={requiredSelection ? style.requiredSelection : null}>\n <div className={style.btnSwitchContainer}>\n <input\n {...(ariaLabelledBy ? {'aria-labelledby': ariaLabelledBy} : {})}\n {...(title ? {'aria-labelledby': `title-view-${dataName}`} : {})}\n {...(ariaLabel && !ariaLabelledBy && !title ? {'aria-label': ariaLabel} : {})}\n type=\"checkbox\"\n id={idSwitch}\n name={name}\n onChange={handleChange}\n checked={value}\n disabled={isDisabled}\n className={style.checkbox}\n aria-labelledby={ariaLabelledBy}\n />\n <label\n htmlFor={idSwitch}\n data-name=\"input-switch-label\"\n tabIndex={0}\n aria-label={ariaLabel}\n title={ariaLabel}\n style={value ? {background: primaryColor, borderColor: primaryColor} : null}\n />\n </div>\n </div>\n <div className={!details ? style.alignedTextContainer : null}>\n {titlePosition === 'right' ? titleView : null}\n {details ? <div className={style.detailsTxt}>{details}</div> : null}\n </div>\n {descriptionView}\n </div>\n );\n};\n\nInputSwitch.propTypes = {\n title: PropTypes.string,\n name: PropTypes.string,\n id: PropTypes.string,\n value: PropTypes.bool,\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n description: PropTypes.string,\n 'aria-labelledby': PropTypes.string,\n 'aria-label': PropTypes.string,\n modified: PropTypes.bool,\n titlePosition: PropTypes.oneOf(['right', 'left']),\n theme: PropTypes.oneOf(['default', 'coorpmanager', 'mooc', 'newMooc']),\n details: PropTypes.string,\n 'data-name': PropTypes.string,\n requiredSelection: PropTypes.bool,\n icon: PropTypes.string\n};\n\nInputSwitch.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default InputSwitch;\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,12 @@ declare class Range extends React.Component<any, any, any> {
4
4
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
5
5
  onChangeEnd: PropTypes.Requireable<(...args: any[]) => any>;
6
6
  multi: PropTypes.Requireable<boolean>;
7
+ theme: PropTypes.Requireable<string>;
8
+ min: PropTypes.Requireable<number>;
9
+ max: PropTypes.Requireable<number>;
10
+ step: PropTypes.Requireable<number>;
11
+ minLabel: PropTypes.Requireable<string>;
12
+ maxLabel: PropTypes.Requireable<string>;
7
13
  HammerForTestingMin: PropTypes.Requireable<PropTypes.InferProps<{
8
14
  on: PropTypes.Requireable<(...args: any[]) => any>;
9
15
  destroy: PropTypes.Requireable<(...args: any[]) => any>;
@@ -14,17 +20,39 @@ declare class Range extends React.Component<any, any, any> {
14
20
  destroy: PropTypes.Requireable<(...args: any[]) => any>;
15
21
  stop: PropTypes.Requireable<(...args: any[]) => any>;
16
22
  }>>;
17
- value: PropTypes.Requireable<NonNullable<number | (number | null | undefined)[] | null | undefined>>;
23
+ };
24
+ static contextTypes: {
25
+ skin: PropTypes.Requireable<PropTypes.InferProps<{
26
+ common: PropTypes.Requireable<{
27
+ [x: string]: any;
28
+ }>;
29
+ images: PropTypes.Requireable<PropTypes.InferProps<{
30
+ 'logo-mobile': PropTypes.Requireable<any>;
31
+ logo: PropTypes.Requireable<any>;
32
+ 'logo-email': PropTypes.Requireable<any>;
33
+ login: PropTypes.Requireable<any>;
34
+ }>>;
35
+ icons: PropTypes.Requireable<{
36
+ [x: string]: any;
37
+ }>;
38
+ mod: PropTypes.Requireable<{
39
+ [x: string]: any;
40
+ }>;
41
+ courses: PropTypes.Requireable<any[]>;
42
+ texts: PropTypes.Requireable<{
43
+ [x: string]: any;
44
+ }>;
45
+ }>>;
18
46
  };
19
47
  static getDerivedStateFromProps(props: any, state: any): {
20
48
  multi: any;
21
- value: any;
49
+ value: number | (number | number[])[];
22
50
  } | null;
23
51
  constructor(props: any, context: any);
24
52
  state: {
25
53
  pending: boolean;
26
54
  multi: any;
27
- value: any;
55
+ value: number | (number | number[])[];
28
56
  };
29
57
  handleClick(e: any): void;
30
58
  setRefTrack(track: any): void;
@@ -33,6 +61,8 @@ declare class Range extends React.Component<any, any, any> {
33
61
  handleMinChangeEnd(e: any): void;
34
62
  handleMaxChangeEnd(e: any): void;
35
63
  track: any;
64
+ normalizedToActual(normalizedValue: any): any;
65
+ roundToStep(value: any): number;
36
66
  handleChange(value: any, valueIndex: any, pending: any): void;
37
67
  triggerChange(newValues: any, pending: any): any;
38
68
  render(): JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/range/index.js"],"names":[],"mappings":";AA4EA;IACE;;;;;;;;;;;;;;;MAQE;IAEF;;;aAMC;IAED,sCAcC;IAXC;;;;MAGC;IAkEH,0BAmBC;IA3ED,8BAEC;IAED,8BAKC;IAED,8BAKC;IAED,iCAKC;IAED,iCAKC;IA7BC,WAAkB;IA+BpB,8DAcC;IAED,iDAMC;IAuBD,sBAyCC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/range/index.js"],"names":[],"mappings":";AAyFA;IACE;;;;;;;;;;;;;;;;;;;;MAYE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF;;;aAIC;IAED,sCAYC;IAVC;;;;MAGC;IAuEH,0BAkBC;IAhFD,8BAEC;IAYD,8BAKC;IAED,8BAKC;IAED,iCAKC;IAED,iCAKC;IAvCC,WAAkB;IAGpB,8CAGC;IAED,gCAGC;IA8BD,8DAWC;IAED,iDAKC;IAsBD,sBAmFC;CACF"}
@@ -2,11 +2,13 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
+ var _getOr2 = _interopRequireDefault(require("lodash/fp/getOr"));
5
6
  var _clamp2 = _interopRequireDefault(require("lodash/fp/clamp"));
6
7
  var _set2 = _interopRequireDefault(require("lodash/fp/set"));
7
8
  var _noop2 = _interopRequireDefault(require("lodash/fp/noop"));
8
9
  var _react = _interopRequireDefault(require("react"));
9
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _provider = _interopRequireDefault(require("../provider"));
10
12
  var _handle = _interopRequireDefault(require("./handle"));
11
13
  var _style = _interopRequireDefault(require("./style.css"));
12
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -20,11 +22,20 @@ const valueOnTrack = (track, x) => {
20
22
  const extractStateFromProps = props => {
21
23
  const {
22
24
  multi = false,
23
- value = multi ? [0, 1] : 0
25
+ value = multi ? [0, 1] : 0,
26
+ min = 0,
27
+ max = 100
24
28
  } = props;
29
+ const toNormalized = actualValue => (actualValue - min) / (max - min);
30
+ let normalizedValue;
31
+ if (multi) {
32
+ normalizedValue = Array.isArray(value) ? value.map(toNormalized) : [toNormalized(0), toNormalized(value)];
33
+ } else {
34
+ normalizedValue = toNormalized(value);
35
+ }
25
36
  return {
26
37
  multi,
27
- value: multi ? value : [0, value]
38
+ value: multi ? normalizedValue : [0, normalizedValue]
28
39
  };
29
40
  };
30
41
  const RenderHandles = props => {
@@ -77,6 +88,9 @@ RenderHandles.propTypes = process.env.NODE_ENV !== "production" ? {
77
88
  HammerForTestingMax: _handle.default.propTypes.HammerForTesting
78
89
  } : {};
79
90
  class Range extends _react.default.Component {
91
+ static contextTypes = {
92
+ skin: _provider.default.childContextTypes.skin
93
+ };
80
94
  static getDerivedStateFromProps(props, state) {
81
95
  const {
82
96
  pending
@@ -100,6 +114,19 @@ class Range extends _react.default.Component {
100
114
  setRefTrack(track) {
101
115
  this.track = track;
102
116
  }
117
+ normalizedToActual(normalizedValue) {
118
+ const {
119
+ min = 0,
120
+ max = 100
121
+ } = this.props;
122
+ return min + normalizedValue * (max - min);
123
+ }
124
+ roundToStep(value) {
125
+ const {
126
+ step = 1
127
+ } = this.props;
128
+ return Math.round(value / step) * step;
129
+ }
103
130
  handleMinChange(e) {
104
131
  e.srcEvent.stopPropagation();
105
132
  e.srcEvent.preventDefault();
@@ -144,7 +171,8 @@ class Range extends _react.default.Component {
144
171
  multi = false
145
172
  } = this.props;
146
173
  const handle = pending ? onChange : onChangeEnd;
147
- return handle(multi ? newValues : newValues[1]);
174
+ const actualValues = newValues.map(val => this.roundToStep(this.normalizedToActual(val)));
175
+ return handle(multi ? actualValues : actualValues[1]);
148
176
  }
149
177
  handleClick(e) {
150
178
  e.stopPropagation();
@@ -153,8 +181,7 @@ class Range extends _react.default.Component {
153
181
  value: [left, right],
154
182
  multi
155
183
  } = this.state;
156
- const x = e.clientX;
157
- const newValue = valueOnTrack(this.track, x);
184
+ const newValue = valueOnTrack(this.track, e.clientX);
158
185
  if (!multi) return this.handleChange(newValue, 1, false);
159
186
  if (left === right) {
160
187
  const isClickToTheLeft = left - newValue > 0;
@@ -169,22 +196,30 @@ class Range extends _react.default.Component {
169
196
  value: [left, right],
170
197
  pending
171
198
  } = this.state;
199
+ const {
200
+ theme = 'default',
201
+ minLabel = 'Min',
202
+ maxLabel = 'Max',
203
+ HammerForTestingMin,
204
+ HammerForTestingMax
205
+ } = this.props;
172
206
  const railWidth = right - left;
173
207
  const railLeft = left;
174
- const railStyle = {
175
- backgroundColor: '#9999A8',
208
+ const {
209
+ skin
210
+ } = this.context;
211
+ const primaryColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
212
+ const railStyle = theme === 'mooc' ? {
213
+ backgroundColor: primaryColor,
214
+ width: `${railWidth * 100}%`,
215
+ left: `${railLeft * 100}%`
216
+ } : {
176
217
  width: `${railWidth * 100}%`,
177
218
  left: `${railLeft * 100}%`
178
219
  };
179
- const {
180
- HammerForTestingMin,
181
- HammerForTestingMax
182
- } = this.props;
183
- return /*#__PURE__*/_react.default.createElement("div", {
184
- "data-testid": "slider",
185
- className: _style.default.containerWrapper,
186
- onClick: this.handleClick
187
- }, /*#__PURE__*/_react.default.createElement("div", {
220
+ const minActualValue = this.roundToStep(this.normalizedToActual(left));
221
+ const maxActualValue = this.roundToStep(this.normalizedToActual(right));
222
+ const sliderComponent = /*#__PURE__*/_react.default.createElement("div", {
188
223
  className: _style.default.container
189
224
  }, /*#__PURE__*/_react.default.createElement("div", {
190
225
  "data-testid": "track",
@@ -205,17 +240,50 @@ class Range extends _react.default.Component {
205
240
  onHandleMinChangeEnd: this.handleMinChangeEnd,
206
241
  onHandleMaxChange: this.handleMaxChange,
207
242
  onHandleMaxChangeEnd: this.handleMaxChangeEnd
208
- })));
243
+ }));
244
+ if (theme === 'mooc') {
245
+ return /*#__PURE__*/_react.default.createElement("div", {
246
+ "data-testid": "slider",
247
+ className: _style.default.containerWrapper
248
+ }, /*#__PURE__*/_react.default.createElement("div", {
249
+ onClick: this.handleClick
250
+ }, sliderComponent), /*#__PURE__*/_react.default.createElement("div", {
251
+ className: _style.default.inputsRow
252
+ }, multi ? /*#__PURE__*/_react.default.createElement("div", {
253
+ className: _style.default.moocInput,
254
+ "data-testid": "min-value"
255
+ }, /*#__PURE__*/_react.default.createElement("span", {
256
+ className: _style.default.inputHint
257
+ }, minLabel), /*#__PURE__*/_react.default.createElement("span", {
258
+ className: _style.default.inputValue
259
+ }, minActualValue)) : null, /*#__PURE__*/_react.default.createElement("div", {
260
+ className: _style.default.moocInput,
261
+ "data-testid": "max-value"
262
+ }, /*#__PURE__*/_react.default.createElement("span", {
263
+ className: _style.default.inputHint
264
+ }, maxLabel), /*#__PURE__*/_react.default.createElement("span", {
265
+ className: _style.default.inputValue
266
+ }, maxActualValue))));
267
+ }
268
+ return /*#__PURE__*/_react.default.createElement("div", {
269
+ "data-testid": "slider",
270
+ className: _style.default.containerWrapper,
271
+ onClick: this.handleClick
272
+ }, sliderComponent);
209
273
  }
210
274
  }
211
275
  Range.propTypes = process.env.NODE_ENV !== "production" ? {
212
276
  onChange: _propTypes.default.func,
213
277
  onChangeEnd: _propTypes.default.func,
214
278
  multi: _propTypes.default.bool,
279
+ theme: _propTypes.default.oneOf(['default', 'mooc']),
280
+ min: _propTypes.default.number,
281
+ max: _propTypes.default.number,
282
+ step: _propTypes.default.number,
283
+ minLabel: _propTypes.default.string,
284
+ maxLabel: _propTypes.default.string,
215
285
  HammerForTestingMin: RenderHandles.propTypes.HammerForTestingMin,
216
- HammerForTestingMax: RenderHandles.propTypes.HammerForTestingMax,
217
- // eslint-disable-next-line react/no-unused-prop-types
218
- value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.arrayOf(_propTypes.default.number)])
286
+ HammerForTestingMax: RenderHandles.propTypes.HammerForTestingMax
219
287
  } : {};
220
288
  var _default = exports.default = Range;
221
289
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_handle","_style","e","__esModule","default","valueOnTrack","track","x","left","right","getBoundingClientRect","_clamp2","extractStateFromProps","props","multi","value","RenderHandles","pending","onHandleMinChange","onHandleMinChangeEnd","onHandleMaxChange","onHandleMaxChangeEnd","HammerForTestingMin","HammerForTestingMax","createElement","className","style","handle","animatedHandle","axis","onPan","onPanEnd","HammerForTesting","propTypes","process","env","NODE_ENV","PropTypes","number","bool","func","Handle","Range","React","Component","getDerivedStateFromProps","state","constructor","context","handleClick","bind","setRefTrack","handleMinChange","handleMaxChange","handleMinChangeEnd","handleMaxChangeEnd","srcEvent","stopPropagation","preventDefault","newValue","center","handleChange","valueIndex","prevValue","_set2","minValue","maxValue","nextValue","triggerChange","setState","newValues","onChange","_noop2","onChangeEnd","clientX","isClickToTheLeft","closestHandle","Math","abs","render","railWidth","railLeft","railStyle","backgroundColor","width","containerWrapper","onClick","container","ref","rail","animatedRail","oneOfType","arrayOf","_default","exports"],"sources":["../../../src/atom/range/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, set, clamp} from 'lodash/fp';\nimport Handle from './handle';\nimport style from './style.css';\n\nconst valueOnTrack = (track, x) => {\n const {left, right} = track.getBoundingClientRect();\n return clamp(0, 1, (x - left) / (right - left));\n};\n\nconst extractStateFromProps = props => {\n const {multi = false, value = multi ? [0, 1] : 0} = props;\n return {\n multi,\n value: multi ? value : [0, value]\n };\n};\n\nconst RenderHandles = props => {\n const {\n left,\n right,\n multi = false,\n pending,\n onHandleMinChange,\n onHandleMinChangeEnd,\n onHandleMaxChange,\n onHandleMaxChangeEnd,\n HammerForTestingMin,\n HammerForTestingMax\n } = props;\n\n return (\n <div data-testid=\"handles\">\n {multi ? (\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${left * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMinChange}\n onPanEnd={onHandleMinChangeEnd}\n HammerForTesting={HammerForTestingMin}\n />\n </span>\n ) : null}\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${right * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMaxChange}\n onPanEnd={onHandleMaxChangeEnd}\n HammerForTesting={HammerForTestingMax}\n />\n </span>\n </div>\n );\n};\n\nRenderHandles.propTypes = {\n left: PropTypes.number,\n right: PropTypes.number,\n multi: PropTypes.bool,\n pending: PropTypes.bool,\n onHandleMinChange: PropTypes.func,\n onHandleMinChangeEnd: PropTypes.func,\n onHandleMaxChange: PropTypes.func,\n onHandleMaxChangeEnd: PropTypes.func,\n HammerForTestingMin: Handle.propTypes.HammerForTesting,\n HammerForTestingMax: Handle.propTypes.HammerForTesting\n};\n\nclass Range extends React.Component {\n static propTypes = {\n onChange: PropTypes.func,\n onChangeEnd: PropTypes.func,\n multi: PropTypes.bool,\n HammerForTestingMin: RenderHandles.propTypes.HammerForTestingMin,\n HammerForTestingMax: RenderHandles.propTypes.HammerForTestingMax,\n // eslint-disable-next-line react/no-unused-prop-types\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)])\n };\n\n static getDerivedStateFromProps(props, state) {\n const {pending} = state;\n\n if (pending) return null;\n\n return extractStateFromProps(props);\n }\n\n constructor(props, context) {\n super(props, context);\n\n this.state = {\n ...extractStateFromProps(props),\n pending: false\n };\n\n this.handleClick = this.handleClick.bind(this);\n this.setRefTrack = this.setRefTrack.bind(this);\n this.handleMinChange = this.handleMinChange.bind(this);\n this.handleMaxChange = this.handleMaxChange.bind(this);\n this.handleMinChangeEnd = this.handleMinChangeEnd.bind(this);\n this.handleMaxChangeEnd = this.handleMaxChangeEnd.bind(this);\n }\n\n setRefTrack(track) {\n this.track = track;\n }\n\n handleMinChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, true);\n }\n\n handleMaxChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, true);\n }\n\n handleMinChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, false);\n }\n\n handleMaxChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, false);\n }\n\n handleChange(value, valueIndex, pending) {\n const {value: prevValue} = this.state;\n\n const newValue = set(valueIndex, value, prevValue);\n\n const [minValue, maxValue] = newValue;\n\n const nextValue = minValue > maxValue ? prevValue : newValue;\n\n this.triggerChange(nextValue, pending);\n return this.setState({\n pending,\n value: pending ? nextValue : extractStateFromProps(this.props).value\n });\n }\n\n triggerChange(newValues, pending) {\n const {onChange = noop, onChangeEnd = onChange, multi = false} = this.props;\n\n const handle = pending ? onChange : onChangeEnd;\n\n return handle(multi ? newValues : newValues[1]);\n }\n\n handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n const {\n value: [left, right],\n multi\n } = this.state;\n const x = e.clientX;\n const newValue = valueOnTrack(this.track, x);\n\n if (!multi) return this.handleChange(newValue, 1, false);\n\n if (left === right) {\n const isClickToTheLeft = left - newValue > 0;\n return this.handleChange(newValue, isClickToTheLeft ? 0 : 1, false);\n }\n\n const closestHandle = Math.abs(newValue - left) < Math.abs(newValue - right) ? 0 : 1;\n return this.handleChange(newValue, closestHandle, false);\n }\n\n render() {\n const {\n multi = false,\n value: [left, right],\n pending\n } = this.state;\n const railWidth = right - left;\n const railLeft = left;\n const railStyle = {\n backgroundColor: '#9999A8',\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n };\n\n const {HammerForTestingMin, HammerForTestingMax} = this.props;\n\n return (\n <div data-testid=\"slider\" className={style.containerWrapper} onClick={this.handleClick}>\n <div className={style.container}>\n <div\n data-testid=\"track\"\n className={style.track}\n data-name=\"sliderTrack\"\n ref={this.setRefTrack}\n />\n <div className={pending ? style.rail : style.animatedRail} style={railStyle} />\n <RenderHandles\n HammerForTestingMin={HammerForTestingMin}\n HammerForTestingMax={HammerForTestingMax}\n left={left}\n right={right}\n pending={pending}\n multi={multi}\n onHandleMinChange={this.handleMinChange}\n onHandleMinChangeEnd={this.handleMinChangeEnd}\n onHandleMaxChange={this.handleMaxChange}\n onHandleMaxChangeEnd={this.handleMaxChangeEnd}\n />\n </div>\n </div>\n );\n }\n}\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_provider","_handle","_style","e","__esModule","default","valueOnTrack","track","x","left","right","getBoundingClientRect","_clamp2","extractStateFromProps","props","multi","value","min","max","toNormalized","actualValue","normalizedValue","Array","isArray","map","RenderHandles","pending","onHandleMinChange","onHandleMinChangeEnd","onHandleMaxChange","onHandleMaxChangeEnd","HammerForTestingMin","HammerForTestingMax","createElement","className","style","handle","animatedHandle","axis","onPan","onPanEnd","HammerForTesting","propTypes","process","env","NODE_ENV","PropTypes","number","bool","func","Handle","Range","React","Component","contextTypes","skin","Provider","childContextTypes","getDerivedStateFromProps","state","constructor","context","handleClick","bind","setRefTrack","handleMinChange","handleMaxChange","handleMinChangeEnd","handleMaxChangeEnd","normalizedToActual","roundToStep","step","Math","round","srcEvent","stopPropagation","preventDefault","newValue","center","handleChange","valueIndex","prevValue","_set2","minValue","maxValue","nextValue","triggerChange","setState","newValues","onChange","_noop2","onChangeEnd","actualValues","val","clientX","isClickToTheLeft","closestHandle","abs","render","theme","minLabel","maxLabel","railWidth","railLeft","primaryColor","_getOr2","railStyle","backgroundColor","width","minActualValue","maxActualValue","sliderComponent","container","ref","rail","animatedRail","containerWrapper","onClick","inputsRow","moocInput","inputHint","inputValue","oneOf","string","_default","exports"],"sources":["../../../src/atom/range/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {noop, set, clamp, getOr} from 'lodash/fp';\nimport Provider from '../provider';\nimport Handle from './handle';\nimport style from './style.css';\n\nconst valueOnTrack = (track, x) => {\n const {left, right} = track.getBoundingClientRect();\n return clamp(0, 1, (x - left) / (right - left));\n};\n\nconst extractStateFromProps = props => {\n const {multi = false, value = multi ? [0, 1] : 0, min = 0, max = 100} = props;\n\n const toNormalized = actualValue => (actualValue - min) / (max - min);\n\n let normalizedValue;\n if (multi) {\n normalizedValue = Array.isArray(value)\n ? value.map(toNormalized)\n : [toNormalized(0), toNormalized(value)];\n } else {\n normalizedValue = toNormalized(value);\n }\n\n return {\n multi,\n value: multi ? normalizedValue : [0, normalizedValue]\n };\n};\n\nconst RenderHandles = props => {\n const {\n left,\n right,\n multi = false,\n pending,\n onHandleMinChange,\n onHandleMinChangeEnd,\n onHandleMaxChange,\n onHandleMaxChangeEnd,\n HammerForTestingMin,\n HammerForTestingMax\n } = props;\n\n return (\n <div data-testid=\"handles\">\n {multi ? (\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${left * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMinChange}\n onPanEnd={onHandleMinChangeEnd}\n HammerForTesting={HammerForTestingMin}\n />\n </span>\n ) : null}\n <span\n className={pending ? style.handle : style.animatedHandle}\n style={{left: `${right * 100}%`}}\n >\n <Handle\n axis=\"x\"\n onPan={onHandleMaxChange}\n onPanEnd={onHandleMaxChangeEnd}\n HammerForTesting={HammerForTestingMax}\n />\n </span>\n </div>\n );\n};\n\nRenderHandles.propTypes = {\n left: PropTypes.number,\n right: PropTypes.number,\n multi: PropTypes.bool,\n pending: PropTypes.bool,\n onHandleMinChange: PropTypes.func,\n onHandleMinChangeEnd: PropTypes.func,\n onHandleMaxChange: PropTypes.func,\n onHandleMaxChangeEnd: PropTypes.func,\n HammerForTestingMin: Handle.propTypes.HammerForTesting,\n HammerForTestingMax: Handle.propTypes.HammerForTesting\n};\n\nclass Range extends React.Component {\n static propTypes = {\n onChange: PropTypes.func,\n onChangeEnd: PropTypes.func,\n multi: PropTypes.bool,\n theme: PropTypes.oneOf(['default', 'mooc']),\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string,\n HammerForTestingMin: RenderHandles.propTypes.HammerForTestingMin,\n HammerForTestingMax: RenderHandles.propTypes.HammerForTestingMax\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n static getDerivedStateFromProps(props, state) {\n const {pending} = state;\n if (pending) return null;\n return extractStateFromProps(props);\n }\n\n constructor(props, context) {\n super(props, context);\n this.state = {\n ...extractStateFromProps(props),\n pending: false\n };\n this.handleClick = this.handleClick.bind(this);\n this.setRefTrack = this.setRefTrack.bind(this);\n this.handleMinChange = this.handleMinChange.bind(this);\n this.handleMaxChange = this.handleMaxChange.bind(this);\n this.handleMinChangeEnd = this.handleMinChangeEnd.bind(this);\n this.handleMaxChangeEnd = this.handleMaxChangeEnd.bind(this);\n }\n\n setRefTrack(track) {\n this.track = track;\n }\n\n normalizedToActual(normalizedValue) {\n const {min = 0, max = 100} = this.props;\n return min + normalizedValue * (max - min);\n }\n\n roundToStep(value) {\n const {step = 1} = this.props;\n return Math.round(value / step) * step;\n }\n\n handleMinChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, true);\n }\n\n handleMaxChange(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, true);\n }\n\n handleMinChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 0, false);\n }\n\n handleMaxChangeEnd(e) {\n e.srcEvent.stopPropagation();\n e.srcEvent.preventDefault();\n const newValue = valueOnTrack(this.track, e.center.x);\n return this.handleChange(newValue, 1, false);\n }\n\n handleChange(value, valueIndex, pending) {\n const {value: prevValue} = this.state;\n const newValue = set(valueIndex, value, prevValue);\n const [minValue, maxValue] = newValue;\n const nextValue = minValue > maxValue ? prevValue : newValue;\n\n this.triggerChange(nextValue, pending);\n return this.setState({\n pending,\n value: pending ? nextValue : extractStateFromProps(this.props).value\n });\n }\n\n triggerChange(newValues, pending) {\n const {onChange = noop, onChangeEnd = onChange, multi = false} = this.props;\n const handle = pending ? onChange : onChangeEnd;\n const actualValues = newValues.map(val => this.roundToStep(this.normalizedToActual(val)));\n return handle(multi ? actualValues : actualValues[1]);\n }\n\n handleClick(e) {\n e.stopPropagation();\n e.preventDefault();\n const {\n value: [left, right],\n multi\n } = this.state;\n const newValue = valueOnTrack(this.track, e.clientX);\n\n if (!multi) return this.handleChange(newValue, 1, false);\n\n if (left === right) {\n const isClickToTheLeft = left - newValue > 0;\n return this.handleChange(newValue, isClickToTheLeft ? 0 : 1, false);\n }\n\n const closestHandle = Math.abs(newValue - left) < Math.abs(newValue - right) ? 0 : 1;\n return this.handleChange(newValue, closestHandle, false);\n }\n\n render() {\n const {\n multi = false,\n value: [left, right],\n pending\n } = this.state;\n const {\n theme = 'default',\n minLabel = 'Min',\n maxLabel = 'Max',\n HammerForTestingMin,\n HammerForTestingMax\n } = this.props;\n\n const railWidth = right - left;\n const railLeft = left;\n\n const {skin} = this.context;\n const primaryColor = getOr('#00B0FF', 'common.primary', skin);\n const railStyle =\n theme === 'mooc'\n ? {\n backgroundColor: primaryColor,\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n }\n : {\n width: `${railWidth * 100}%`,\n left: `${railLeft * 100}%`\n };\n\n const minActualValue = this.roundToStep(this.normalizedToActual(left));\n const maxActualValue = this.roundToStep(this.normalizedToActual(right));\n\n const sliderComponent = (\n <div className={style.container}>\n <div\n data-testid=\"track\"\n className={style.track}\n data-name=\"sliderTrack\"\n ref={this.setRefTrack}\n />\n <div className={pending ? style.rail : style.animatedRail} style={railStyle} />\n <RenderHandles\n HammerForTestingMin={HammerForTestingMin}\n HammerForTestingMax={HammerForTestingMax}\n left={left}\n right={right}\n pending={pending}\n multi={multi}\n onHandleMinChange={this.handleMinChange}\n onHandleMinChangeEnd={this.handleMinChangeEnd}\n onHandleMaxChange={this.handleMaxChange}\n onHandleMaxChangeEnd={this.handleMaxChangeEnd}\n />\n </div>\n );\n\n if (theme === 'mooc') {\n return (\n <div data-testid=\"slider\" className={style.containerWrapper}>\n <div onClick={this.handleClick}>{sliderComponent}</div>\n <div className={style.inputsRow}>\n {multi ? (\n <div className={style.moocInput} data-testid=\"min-value\">\n <span className={style.inputHint}>{minLabel}</span>\n <span className={style.inputValue}>{minActualValue}</span>\n </div>\n ) : null}\n <div className={style.moocInput} data-testid=\"max-value\">\n <span className={style.inputHint}>{maxLabel}</span>\n <span className={style.inputValue}>{maxActualValue}</span>\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div data-testid=\"slider\" className={style.containerWrapper} onClick={this.handleClick}>\n {sliderComponent}\n </div>\n );\n }\n}\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}