@coorpacademy/components 11.14.22 → 11.14.24-alpha.10

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 (46) hide show
  1. package/es/atom/autocomplete/index.d.ts +3 -1
  2. package/es/atom/autocomplete/index.d.ts.map +1 -1
  3. package/es/atom/autocomplete/index.js +55 -19
  4. package/es/atom/autocomplete/index.js.map +1 -1
  5. package/es/atom/autocomplete/style.css +223 -0
  6. package/es/atom/input-switch/index.d.ts.map +1 -1
  7. package/es/atom/input-switch/index.js +3 -1
  8. package/es/atom/input-switch/index.js.map +1 -1
  9. package/es/molecule/brand-form-group/index.d.ts +3 -1
  10. package/es/molecule/select-multiple/index.d.ts +0 -1
  11. package/es/molecule/select-multiple/index.d.ts.map +1 -1
  12. package/es/molecule/select-multiple/index.js +14 -29
  13. package/es/molecule/select-multiple/index.js.map +1 -1
  14. package/es/molecule/select-multiple/style.css +1 -1
  15. package/es/organism/brand-form/index.d.ts +4 -1
  16. package/es/organism/brand-form/index.d.ts.map +1 -1
  17. package/es/organism/brand-form/index.js +17 -7
  18. package/es/organism/brand-form/index.js.map +1 -1
  19. package/es/organism/user-preferences/index.js +3 -1
  20. package/es/organism/user-preferences/index.js.map +1 -1
  21. package/es/organism/wizard-contents/index.d.ts +4 -1
  22. package/es/template/back-office/brand-update/index.d.ts +4 -1
  23. package/lib/atom/autocomplete/index.d.ts +3 -1
  24. package/lib/atom/autocomplete/index.d.ts.map +1 -1
  25. package/lib/atom/autocomplete/index.js +58 -18
  26. package/lib/atom/autocomplete/index.js.map +1 -1
  27. package/lib/atom/autocomplete/style.css +223 -0
  28. package/lib/atom/input-switch/index.d.ts.map +1 -1
  29. package/lib/atom/input-switch/index.js +3 -1
  30. package/lib/atom/input-switch/index.js.map +1 -1
  31. package/lib/molecule/brand-form-group/index.d.ts +3 -1
  32. package/lib/molecule/select-multiple/index.d.ts +0 -1
  33. package/lib/molecule/select-multiple/index.d.ts.map +1 -1
  34. package/lib/molecule/select-multiple/index.js +15 -33
  35. package/lib/molecule/select-multiple/index.js.map +1 -1
  36. package/lib/molecule/select-multiple/style.css +1 -1
  37. package/lib/organism/brand-form/index.d.ts +4 -1
  38. package/lib/organism/brand-form/index.d.ts.map +1 -1
  39. package/lib/organism/brand-form/index.js +18 -7
  40. package/lib/organism/brand-form/index.js.map +1 -1
  41. package/lib/organism/user-preferences/index.js +3 -1
  42. package/lib/organism/user-preferences/index.js.map +1 -1
  43. package/lib/organism/wizard-contents/index.d.ts +4 -1
  44. package/lib/template/back-office/brand-update/index.d.ts +4 -1
  45. package/locales/.mtslconfig.json +1 -0
  46. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","useEffect","useRef","useCallback","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaSolidStatusClose","ErrorIcon","NovaCompositionCoorpacademyInformationIcon","InfoIcon","TitledCheckbox","Provider","Checkbox","getClassState","style","themeStyle","setup","cockpit","sidebar","coorpmanager","useChoices","options","choicesRef","current","getChoices","setChoices","choice","choices","i","selected","filter","c","CMMultipleView","multiple","onChange","handleChange","checked","item","name","SelectMultiple","title","theme","placeholder","description","hint","onError","modified","error","disabled","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","contains","target","document","addEventListener","removeEventListener","isCMTheme","handleOnClickOnListElement","lines","convert","cap","selection","isActive","titleView","titleWithSelection","noValue","active","infoIconWrapper","infoIcon","descriptionLabel","hintView","hideHint","__html","mainClass","default","showPlaceholder","behaviourClassName","errorIconView","errorIcon","select","noselection","iconsWrapper","flex","clicked","color","arrow","down","activeChoices","list","contextTypes","childContextTypes","propTypes","bool","func","string","arrayOf","oneOf"],"sources":["../../../src/molecule/select-multiple/index.js"],"sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set, keys, isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport Checkbox from '../../atom/input-checkbox';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar,\n coorpmanager: style.coorpmanager\n};\n\nexport const useChoices = options => {\n const choicesRef = {current: options};\n\n const getChoices = () => {\n return choicesRef.current;\n };\n\n const setChoices = choice => {\n const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n choicesRef.current = choices.filter(c => c.selected);\n };\n\n return [getChoices, setChoices];\n};\n\nconst CMMultipleView = ({multiple, choice, onChange}) => {\n const handleChange = useCallback(\n checked => {\n return onChange({...choice, selected: checked});\n },\n [onChange, choice]\n );\n\n return multiple ? (\n <div className={style.item}>\n <Checkbox\n titleStyle=\"inherit\"\n checked={choice.selected}\n onChange={handleChange}\n noLabelMargins\n title={choice.name}\n />\n </div>\n ) : (\n <span className={style.item} title={choice.name} data-name={`${choice.name}-language`}>\n {choice.name}\n </span>\n );\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n hint,\n multiple,\n onChange,\n onError,\n modified = false,\n error = '',\n disabled = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(\n e => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n },\n [disabled]\n );\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n // if multiple prop is turned on\n // we return all selected choices\n if (multiple) {\n setChoices(choice);\n return onChange(getChoices());\n }\n updateIsOpened(false);\n return onChange(choice);\n },\n [multiple, onChange, setChoices, getChoices]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const isCMTheme = theme === 'coorpmanager';\n\n const handleOnClickOnListElement = choice => () => handleChange(choice);\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li\n key={i}\n className={style.choice}\n onClick={isCMTheme && !multiple ? handleOnClickOnListElement({...choice, i}) : null}\n >\n {isCMTheme ? (\n <CMMultipleView multiple={multiple} choice={{...choice, i}} onChange={handleChange} />\n ) : (\n <TitledCheckbox\n onToggle={handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n )}\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const isActive = isOpened === true;\n\n const titleView = title ? (\n <span\n className={classnames(\n style.title,\n isCMTheme && selection && style.titleWithSelection,\n isCMTheme && isEmpty(selection) && style.noValue,\n isActive && style.active\n )}\n >\n {title}\n {isCMTheme ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null}\n </span>\n ) : null;\n\n const hintView = isCMTheme ? (\n <div\n className={classnames(style.hint, isActive && style.hideHint)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n\n const mainClass = theme ? themeStyle[theme] : style.default;\n const showPlaceholder = isCMTheme && isActive;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n const errorIconView = error ? <ErrorIcon onClick={onError} className={style.errorIcon} /> : null;\n\n return (\n <div\n className={classnames(mainClass, behaviourClassName, disabled && style.disabled)}\n ref={nodeRef}\n >\n <label>\n {!isCMTheme && titleView}\n <div\n className={style.select}\n title={selection || placeholder}\n data-name={`select-languages`}\n onClick={handleOnClick}\n >\n {isCMTheme && titleView}\n <span\n className={classnames(\n style.selection,\n isCMTheme && isEmpty(selection) && style.noselection\n )}\n >\n {selection || !isCMTheme || (showPlaceholder && placeholder) || null}\n </span>\n {isCMTheme ? (\n <div className={style.iconsWrapper}>\n <div className={style.flex}>{errorIconView}</div>\n <div className={classnames(style.flex, isActive && style.clicked)}>\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n </div>\n ) : (\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n )}\n </div>\n <div className={classnames(style.choices, isActive && style.activeChoices)}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n {!isCMTheme ? <div className={style.description}>{description}</div> : null}\n {hintView}\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCMMultipleView.propTypes = {\n multiple: PropTypes.bool,\n choice: TitledCheckbox.propTypes.choice,\n onChange: PropTypes.func\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n hint: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n multiple: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle))\n};\n\nexport default SelectMultiple;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useState","useEffect","useRef","useCallback","PropTypes","classnames","NovaCompositionNavigationArrowDown","ArrowDown","NovaSolidStatusClose","ErrorIcon","NovaCompositionCoorpacademyInformationIcon","InfoIcon","TitledCheckbox","Provider","Checkbox","getClassState","style","themeStyle","setup","cockpit","sidebar","coorpmanager","CMMultipleView","multiple","choice","onChange","handleChange","checked","selected","item","name","SelectMultiple","title","options","theme","placeholder","description","hint","onError","modified","error","disabled","skin","isOpened","updateIsOpened","nodeRef","defaultColor","black","handleOnClick","e","preventDefault","stopPropagation","prev","closeHandle","current","contains","target","document","addEventListener","removeEventListener","isCMTheme","handleOnClickOnListElement","lines","convert","cap","i","selection","isActive","titleView","titleWithSelection","noValue","active","infoIconWrapper","infoIcon","descriptionLabel","hintView","hideHint","__html","mainClass","default","showPlaceholder","behaviourClassName","errorIconView","errorIcon","select","noselection","iconsWrapper","flex","clicked","color","arrow","down","choices","activeChoices","list","contextTypes","childContextTypes","propTypes","bool","func","string","arrayOf","oneOf"],"sources":["../../../src/molecule/select-multiple/index.js"],"sourcesContent":["import React, {useState, useEffect, useRef, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {map, pipe, join, filter, get, set, keys, isEmpty} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowDown as ArrowDown,\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport TitledCheckbox from '../titled-checkbox';\nimport Provider from '../../atom/provider';\nimport Checkbox from '../../atom/input-checkbox';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst themeStyle = {\n setup: style.setup,\n cockpit: style.cockpit,\n sidebar: style.sidebar,\n coorpmanager: style.coorpmanager\n};\n\n// export const useChoices = options => {\n// const choicesRef = {current: options};\n\n// const getChoices = () => {\n// return choicesRef.current;\n// };\n\n// const setChoices = choice => {\n// const choices = set(`[${choice.i}].selected`, !choice.selected, getChoices());\n\n// choicesRef.current = choices.filter(c => c.selected);\n// };\n\n// return [getChoices, setChoices];\n// };\n\nconst CMMultipleView = ({multiple, choice, onChange}) => {\n const handleChange = useCallback(\n checked => {\n return onChange({...choice, selected: checked});\n },\n [onChange, choice]\n );\n\n return multiple ? (\n <div className={style.item}>\n <Checkbox\n titleStyle=\"inherit\"\n checked={choice.selected}\n onChange={handleChange}\n noLabelMargins\n title={choice.name}\n />\n </div>\n ) : (\n <span className={style.item} title={choice.name} data-name={`${choice.name}-language`}>\n {choice.name}\n </span>\n );\n};\n\nconst SelectMultiple = (\n {\n title,\n options,\n theme,\n placeholder,\n description,\n hint,\n multiple,\n onChange,\n onError,\n modified = false,\n error = '',\n disabled = false\n },\n {skin}\n) => {\n const [isOpened, updateIsOpened] = useState(false);\n // const [getChoices, setChoices] = useChoices(options);\n const nodeRef = useRef(null);\n\n const defaultColor = get('common.primary', skin);\n const black = get('common.black', skin);\n\n const handleOnClick = useCallback(\n e => {\n if (disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n updateIsOpened(prev => !prev);\n },\n [disabled]\n );\n\n const closeHandle = useCallback(e => {\n if (nodeRef && nodeRef.current && !nodeRef.current.contains(e.target)) {\n updateIsOpened(false);\n }\n }, []);\n\n const handleChange = useCallback(\n choice => {\n updateIsOpened(false);\n return onChange(choice);\n },\n [onChange]\n );\n\n useEffect(() => {\n document.addEventListener('click', closeHandle);\n document.addEventListener('touchstart', closeHandle);\n\n return () => {\n document.removeEventListener('click', closeHandle);\n document.removeEventListener('touchstart', closeHandle);\n };\n }, [closeHandle]);\n\n const isCMTheme = theme === 'coorpmanager';\n\n const handleOnClickOnListElement = choice => () => handleChange(choice);\n\n const lines = map.convert({cap: false})((choice, i) => {\n return (\n <li\n key={i}\n className={style.choice}\n onClick={isCMTheme && !multiple ? handleOnClickOnListElement({...choice, i}) : null}\n >\n {isCMTheme ? (\n <CMMultipleView multiple={multiple} choice={{...choice, i}} onChange={handleChange} />\n ) : (\n <TitledCheckbox\n onToggle={handleChange}\n choice={{...choice, i}}\n background={defaultColor}\n />\n )}\n </li>\n );\n }, options);\n\n const selection = pipe(filter({selected: true}), map('name'), join(', '))(options);\n\n const isActive = isOpened === true;\n\n const titleView = title ? (\n <span\n className={classnames(\n style.title,\n isCMTheme && selection && style.titleWithSelection,\n isCMTheme && isEmpty(selection) && style.noValue,\n isActive && style.active\n )}\n >\n {title}\n {isCMTheme ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null}\n </span>\n ) : null;\n\n const hintView = isCMTheme ? (\n <div\n className={classnames(style.hint, isActive && style.hideHint)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: error || hint}}\n />\n ) : null;\n\n const mainClass = theme ? themeStyle[theme] : style.default;\n const showPlaceholder = isCMTheme && isActive;\n const behaviourClassName = getClassState(\n style.default,\n style.modified,\n style.error,\n modified,\n error\n );\n\n const errorIconView = error ? <ErrorIcon onClick={onError} className={style.errorIcon} /> : null;\n\n return (\n <div\n className={classnames(mainClass, behaviourClassName, disabled && style.disabled)}\n ref={nodeRef}\n >\n <label>\n {!isCMTheme && titleView}\n <div\n className={style.select}\n title={selection || placeholder}\n data-name={`select-languages`}\n onClick={handleOnClick}\n >\n {isCMTheme && titleView}\n <span\n className={classnames(\n style.selection,\n isCMTheme && isEmpty(selection) && style.noselection\n )}\n >\n {selection || !isCMTheme || (showPlaceholder && placeholder) || null}\n </span>\n {isCMTheme ? (\n <div className={style.iconsWrapper}>\n <div className={style.flex}>{errorIconView}</div>\n <div className={classnames(style.flex, isActive && style.clicked)}>\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n </div>\n </div>\n ) : (\n <ArrowDown\n style={{color: black}}\n className={classnames(style.arrow, {[style.down]: isActive})}\n />\n )}\n </div>\n <div className={classnames(style.choices, isActive && style.activeChoices)}>\n <ul className={style.list}>{lines}</ul>\n </div>\n </label>\n {!isCMTheme ? <div className={style.description}>{description}</div> : null}\n {hintView}\n </div>\n );\n};\n\nSelectMultiple.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nCMMultipleView.propTypes = {\n multiple: PropTypes.bool,\n choice: TitledCheckbox.propTypes.choice,\n onChange: PropTypes.func\n};\n\nSelectMultiple.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n description: PropTypes.string,\n hint: PropTypes.string,\n options: PropTypes.arrayOf(TitledCheckbox.propTypes.choice),\n onChange: PropTypes.func,\n onError: PropTypes.func,\n multiple: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n theme: PropTypes.oneOf(keys(themeStyle))\n};\n\nexport default SelectMultiple;\n"],"mappings":"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"}
@@ -451,7 +451,7 @@
451
451
  .coorpmanager .errorIcon {
452
452
  background-color: cm_negative_100;
453
453
  color: white;
454
- padding: 4px;
454
+ padding: 2px;
455
455
  border-radius: 50%;
456
456
  width: 10px;
457
457
  height: 10px;
@@ -63,11 +63,13 @@ declare namespace BrandForm {
63
63
  required: PropTypes.Requireable<boolean>;
64
64
  modified: PropTypes.Requireable<boolean>;
65
65
  error: PropTypes.Requireable<boolean>;
66
+ errorMessage: PropTypes.Requireable<string>;
66
67
  suggestions: PropTypes.Requireable<(PropTypes.InferProps<{
67
68
  name: PropTypes.Requireable<string>;
68
69
  value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
69
70
  }> | null | undefined)[]>;
70
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
71
+ theme: PropTypes.Requireable<string>;
72
+ onInput: PropTypes.Requireable<(...args: any[]) => any>;
71
73
  onFetch: PropTypes.Requireable<(...args: any[]) => any>;
72
74
  onClear: PropTypes.Requireable<(...args: any[]) => any>;
73
75
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -510,6 +512,7 @@ declare namespace BrandForm {
510
512
  }>>;
511
513
  export { tooltip_1 as tooltip };
512
514
  export const isLoading: PropTypes.Requireable<boolean>;
515
+ export const theme: PropTypes.Requireable<string>;
513
516
  }
514
517
  }
515
518
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/brand-form/index.js"],"names":[],"mappings":";AAiDA,kEA6EC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/brand-form/index.js"],"names":[],"mappings":";AA6DA,kEA+EC"}
@@ -5,11 +5,12 @@ import { NovaCompositionNavigationArrowLeft as ArrowLeft } from '@coorpacademy/n
5
5
  import BrandFormGroup from '../../molecule/brand-form-group';
6
6
  import Provider from '../../atom/provider';
7
7
  import Button from '../../atom/button';
8
+ import ButtonLink from '../../atom/button-link';
8
9
  import Link from '../../atom/link';
9
10
  import Loader from '../../atom/loader';
10
11
  import style from './style.css';
11
12
 
12
- const buildButtonSection = (onSubmit, submitValue, onReset, resetValue, tooltip, disabled, isModified, isPending, darkColor) => {
13
+ const buildButtonSection = (onSubmit, submitValue, onReset, resetValue, tooltip, disabled, isModified, isPending, darkColor, theme) => {
13
14
  if (!onSubmit && !onReset) {
14
15
  return null;
15
16
  }
@@ -19,7 +20,14 @@ const buildButtonSection = (onSubmit, submitValue, onReset, resetValue, tooltip,
19
20
  "data-tip": tooltip.title,
20
21
  "data-for": "submitButton",
21
22
  className: style.saveButton
22
- }, /*#__PURE__*/React.createElement(Button, {
23
+ }, theme === 'coorpmanager' ? /*#__PURE__*/React.createElement(ButtonLink, {
24
+ type: "primary",
25
+ label: submitValue,
26
+ disabled: disabledSubmit,
27
+ "data-testid": "submit-button",
28
+ buttonType: "submit",
29
+ onClick: onSubmit
30
+ }) : /*#__PURE__*/React.createElement(Button, {
23
31
  type: "submit",
24
32
  disabled: disabledSubmit,
25
33
  submitValue: submitValue
@@ -39,7 +47,7 @@ const buildButtonSection = (onSubmit, submitValue, onReset, resetValue, tooltip,
39
47
  }, submitButton, resetButton);
40
48
  };
41
49
 
42
- function BrandForm(props, context) {
50
+ const BrandForm = (props, context) => {
43
51
  const {
44
52
  groups,
45
53
  disabled,
@@ -51,7 +59,8 @@ function BrandForm(props, context) {
51
59
  resetValue,
52
60
  back,
53
61
  tooltip,
54
- isLoading
62
+ isLoading,
63
+ theme
55
64
  } = props;
56
65
  const {
57
66
  skin
@@ -76,7 +85,7 @@ function BrandForm(props, context) {
76
85
  key: index
77
86
  }, /*#__PURE__*/React.createElement(BrandFormGroup, group));
78
87
  });
79
- const buttonSection = buildButtonSection(onSubmit, submitValue, onReset, resetValue, tooltip, disabled, isModified, isPending, darkColor);
88
+ const buttonSection = buildButtonSection(onSubmit, submitValue, onReset, resetValue, tooltip, disabled, isModified, isPending, darkColor, theme);
80
89
  const handleSubmit = useMemo(() => e => {
81
90
  e.preventDefault();
82
91
  return onSubmit(e);
@@ -95,7 +104,7 @@ function BrandForm(props, context) {
95
104
  onReset: handleReset,
96
105
  className: style.form
97
106
  }, brandGroups, buttonSection));
98
- }
107
+ };
99
108
 
100
109
  BrandForm.contextTypes = {
101
110
  skin: Provider.childContextTypes.skin
@@ -123,7 +132,8 @@ BrandForm.propTypes = process.env.NODE_ENV !== "production" ? {
123
132
  title: PropTypes.string,
124
133
  place: PropTypes.string
125
134
  }),
126
- isLoading: PropTypes.bool
135
+ isLoading: PropTypes.bool,
136
+ theme: PropTypes.string
127
137
  } : {};
128
138
  export default BrandForm;
129
139
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","BrandFormGroup","Provider","Button","Link","Loader","style","buildButtonSection","onSubmit","submitValue","onReset","resetValue","tooltip","disabled","isModified","isPending","darkColor","disabledSubmit","submitButton","title","saveButton","cancelBackground","backgroundColor","resetButton","buttons","BrandForm","props","context","groups","back","isLoading","skin","backView","color","arrowBack","link","backDesc","desc","brandGroups","map","group","index","buttonSection","handleSubmit","e","preventDefault","handleReset","loaderContainer","loader","form","contextTypes","childContextTypes","defaultProps","place","propTypes","arrayOf","shape","isRequired","bool","func","children","href","string"],"sources":["../../../src/organism/brand-form/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowLeft as ArrowLeft} from '@coorpacademy/nova-icons';\nimport BrandFormGroup from '../../molecule/brand-form-group';\nimport Provider from '../../atom/provider';\nimport Button from '../../atom/button';\nimport Link from '../../atom/link';\nimport Loader from '../../atom/loader';\nimport style from './style.css';\n\nconst buildButtonSection = (\n onSubmit,\n submitValue,\n onReset,\n resetValue,\n tooltip,\n disabled,\n isModified,\n isPending,\n darkColor\n) => {\n if (!onSubmit && !onReset) {\n return null;\n }\n\n const disabledSubmit = disabled || isPending || !isModified;\n const submitButton = onSubmit ? (\n <div data-tip={tooltip.title} data-for=\"submitButton\" className={style.saveButton}>\n <Button type=\"submit\" disabled={disabledSubmit} submitValue={submitValue} />\n </div>\n ) : null;\n\n const cancelBackground = {backgroundColor: darkColor};\n\n const resetButton = onReset ? (\n <div className={style.resetButton}>\n <Button type=\"reset\" submitValue={resetValue} style={cancelBackground} />\n </div>\n ) : null;\n\n return (\n <div className={style.buttons}>\n {submitButton}\n {resetButton}\n </div>\n );\n};\n\nfunction BrandForm(props, context) {\n const {\n groups,\n disabled,\n isModified,\n isPending,\n onSubmit,\n submitValue,\n onReset,\n resetValue,\n back,\n tooltip,\n isLoading\n } = props;\n const {skin} = context;\n const darkColor = get('common.dark', skin);\n\n const backView = back ? (\n <p className={style.back}>\n <ArrowLeft style={{color: darkColor}} className={style.arrowBack} />\n <Link href={back.link} className={style.backDesc}>\n {back.desc}\n </Link>\n </p>\n ) : null;\n\n const brandGroups = groups.map((group, index) => {\n return (\n <div className={style.group} key={index}>\n <BrandFormGroup {...group} />\n </div>\n );\n });\n\n const buttonSection = buildButtonSection(\n onSubmit,\n submitValue,\n onReset,\n resetValue,\n tooltip,\n disabled,\n isModified,\n isPending,\n darkColor\n );\n\n const handleSubmit = useMemo(\n () => e => {\n e.preventDefault();\n return onSubmit(e);\n },\n [onSubmit]\n );\n\n const handleReset = useMemo(\n () => e => {\n e.preventDefault();\n return onReset(e);\n },\n [onReset]\n );\n\n return (\n <div>\n {backView}\n {isLoading ? (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n ) : (\n <form onSubmit={handleSubmit} onReset={handleReset} className={style.form}>\n {brandGroups}\n {buttonSection}\n </form>\n )}\n </div>\n );\n}\n\nBrandForm.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nBrandForm.defaultProps = {\n tooltip: {\n title: '',\n place: 'top'\n }\n};\n\nBrandForm.propTypes = {\n groups: PropTypes.arrayOf(PropTypes.shape(BrandFormGroup.propTypes)).isRequired,\n disabled: PropTypes.bool,\n isModified: PropTypes.bool,\n isPending: PropTypes.bool,\n onSubmit: PropTypes.func,\n submitValue: Button.propTypes.submitValue,\n onReset: PropTypes.func,\n resetValue: Button.propTypes.submitValue,\n back: PropTypes.shape({\n desc: Link.propTypes.children,\n link: Link.propTypes.href\n }),\n tooltip: PropTypes.shape({\n title: PropTypes.string,\n place: PropTypes.string\n }),\n isLoading: PropTypes.bool\n};\n\nexport default BrandForm;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","NovaCompositionNavigationArrowLeft","ArrowLeft","BrandFormGroup","Provider","Button","ButtonLink","Link","Loader","style","buildButtonSection","onSubmit","submitValue","onReset","resetValue","tooltip","disabled","isModified","isPending","darkColor","theme","disabledSubmit","submitButton","title","saveButton","cancelBackground","backgroundColor","resetButton","buttons","BrandForm","props","context","groups","back","isLoading","skin","backView","color","arrowBack","link","backDesc","desc","brandGroups","map","group","index","buttonSection","handleSubmit","e","preventDefault","handleReset","loaderContainer","loader","form","contextTypes","childContextTypes","defaultProps","place","propTypes","arrayOf","shape","isRequired","bool","func","children","href","string"],"sources":["../../../src/organism/brand-form/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport {NovaCompositionNavigationArrowLeft as ArrowLeft} from '@coorpacademy/nova-icons';\nimport BrandFormGroup from '../../molecule/brand-form-group';\nimport Provider from '../../atom/provider';\nimport Button from '../../atom/button';\nimport ButtonLink from '../../atom/button-link';\nimport Link from '../../atom/link';\nimport Loader from '../../atom/loader';\nimport style from './style.css';\n\nconst buildButtonSection = (\n onSubmit,\n submitValue,\n onReset,\n resetValue,\n tooltip,\n disabled,\n isModified,\n isPending,\n darkColor,\n theme\n) => {\n if (!onSubmit && !onReset) {\n return null;\n }\n\n const disabledSubmit = disabled || isPending || !isModified;\n const submitButton = onSubmit ? (\n <div data-tip={tooltip.title} data-for=\"submitButton\" className={style.saveButton}>\n {theme === 'coorpmanager' ? (\n <ButtonLink\n type=\"primary\"\n label={submitValue}\n disabled={disabledSubmit}\n data-testid=\"submit-button\"\n buttonType=\"submit\"\n onClick={onSubmit}\n />\n ) : (\n <Button type=\"submit\" disabled={disabledSubmit} submitValue={submitValue} />\n )}\n </div>\n ) : null;\n\n const cancelBackground = {backgroundColor: darkColor};\n\n const resetButton = onReset ? (\n <div className={style.resetButton}>\n <Button type=\"reset\" submitValue={resetValue} style={cancelBackground} />\n </div>\n ) : null;\n\n return (\n <div className={style.buttons}>\n {submitButton}\n {resetButton}\n </div>\n );\n};\nconst BrandForm = (props, context) => {\n const {\n groups,\n disabled,\n isModified,\n isPending,\n onSubmit,\n submitValue,\n onReset,\n resetValue,\n back,\n tooltip,\n isLoading,\n theme\n } = props;\n const {skin} = context;\n const darkColor = get('common.dark', skin);\n\n const backView = back ? (\n <p className={style.back}>\n <ArrowLeft style={{color: darkColor}} className={style.arrowBack} />\n <Link href={back.link} className={style.backDesc}>\n {back.desc}\n </Link>\n </p>\n ) : null;\n\n const brandGroups = groups.map((group, index) => {\n return (\n <div className={style.group} key={index}>\n <BrandFormGroup {...group} />\n </div>\n );\n });\n\n const buttonSection = buildButtonSection(\n onSubmit,\n submitValue,\n onReset,\n resetValue,\n tooltip,\n disabled,\n isModified,\n isPending,\n darkColor,\n theme\n );\n\n const handleSubmit = useMemo(\n () => e => {\n e.preventDefault();\n return onSubmit(e);\n },\n [onSubmit]\n );\n\n const handleReset = useMemo(\n () => e => {\n e.preventDefault();\n return onReset(e);\n },\n [onReset]\n );\n\n return (\n <div>\n {backView}\n {isLoading ? (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n ) : (\n <form onSubmit={handleSubmit} onReset={handleReset} className={style.form}>\n {brandGroups}\n {buttonSection}\n </form>\n )}\n </div>\n );\n};\n\nBrandForm.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nBrandForm.defaultProps = {\n tooltip: {\n title: '',\n place: 'top'\n }\n};\n\nBrandForm.propTypes = {\n groups: PropTypes.arrayOf(PropTypes.shape(BrandFormGroup.propTypes)).isRequired,\n disabled: PropTypes.bool,\n isModified: PropTypes.bool,\n isPending: PropTypes.bool,\n onSubmit: PropTypes.func,\n submitValue: Button.propTypes.submitValue,\n onReset: PropTypes.func,\n resetValue: Button.propTypes.submitValue,\n back: PropTypes.shape({\n desc: Link.propTypes.children,\n link: Link.propTypes.href\n }),\n tooltip: PropTypes.shape({\n title: PropTypes.string,\n place: PropTypes.string\n }),\n isLoading: PropTypes.bool,\n theme: PropTypes.string\n};\n\nexport default BrandForm;\n"],"mappings":"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"}
@@ -25,7 +25,9 @@ const Settings = (props, legacyContext) => {
25
25
 
26
26
  return /*#__PURE__*/React.createElement("div", {
27
27
  className: style.settings
28
- }, /*#__PURE__*/React.createElement(InputSwitch, settings), /*#__PURE__*/React.createElement("span", {
28
+ }, /*#__PURE__*/React.createElement(InputSwitch, _extends({}, settings, {
29
+ 'aria-label': label
30
+ })), /*#__PURE__*/React.createElement("span", {
29
31
  className: style.label,
30
32
  tabIndex: 0
31
33
  }, label), isEmpty(description) ? null : /*#__PURE__*/React.createElement(ToolTip, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","isEmpty","map","Provider","GetTranslateFromContext","ToolTip","InputSwitch","style","Settings","props","legacyContext","translate","label","description","moreInfoAriaLabel","settings","infoIconTooltip","propTypes","string","isRequired","contextTypes","childContextTypes","UserPreferences","preferences","groupAriaLabel","arrayOf","shape"],"sources":["../../../src/organism/user-preferences/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport map from 'lodash/fp/map';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport ToolTip from '../../atom/tooltip';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst Settings = (props, legacyContext) => {\n const translate = GetTranslateFromContext(legacyContext);\n const {label, description, moreInfoAriaLabel, ...settings} = props;\n return (\n <div className={style.settings}>\n <InputSwitch {...settings} />\n <span className={style.label} tabIndex={0}>\n {label}\n </span>\n {isEmpty(description) ? null : (\n <ToolTip\n TooltipContent={description}\n closeToolTipInformationTextAriaLabel={translate(\n 'Press the escape key to close the information text'\n )}\n data-testid=\"user-preferences-tooltip\"\n aria-label={moreInfoAriaLabel}\n iconContainerClassName={style.infoIconTooltip}\n fontSize={12}\n />\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n ...InputSwitch.propTypes,\n label: PropTypes.string.isRequired,\n description: PropTypes.string\n};\n\nSettings.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nconst UserPreferences = props => {\n const {preferences, moreInfoAriaLabel, groupAriaLabel} = props;\n\n return (\n <form>\n <div className={style.preferences} role=\"group\" aria-label={groupAriaLabel} tabIndex={0}>\n {map(\n settings => (\n <Settings {...settings} key={settings.label} moreInfoAriaLabel={moreInfoAriaLabel} />\n ),\n preferences\n )}\n </div>\n </form>\n );\n};\n\nUserPreferences.propTypes = {\n preferences: PropTypes.arrayOf(PropTypes.shape(Settings.propTypes)),\n moreInfoAriaLabel: PropTypes.string,\n groupAriaLabel: PropTypes.string\n};\n\nexport default UserPreferences;\n"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,QAAP,IAAkBC,uBAAlB,QAAgD,qBAAhD;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAMC,SAAS,GAAGP,uBAAuB,CAACM,aAAD,CAAzC;;EACA,MAAM;IAACE,KAAD;IAAQC,WAAR;IAAqBC;EAArB,IAAuDL,KAA7D;EAAA,MAAiDM,QAAjD,iCAA6DN,KAA7D;;EACA,oBACE;IAAK,SAAS,EAAEF,KAAK,CAACQ;EAAtB,gBACE,oBAAC,WAAD,EAAiBA,QAAjB,CADF,eAEE;IAAM,SAAS,EAAER,KAAK,CAACK,KAAvB;IAA8B,QAAQ,EAAE;EAAxC,GACGA,KADH,CAFF,EAKGX,OAAO,CAACY,WAAD,CAAP,GAAuB,IAAvB,gBACC,oBAAC,OAAD;IACE,cAAc,EAAEA,WADlB;IAEE,oCAAoC,EAAEF,SAAS,CAC7C,oDAD6C,CAFjD;IAKE,eAAY,0BALd;IAME,cAAYG,iBANd;IAOE,sBAAsB,EAAEP,KAAK,CAACS,eAPhC;IAQE,QAAQ,EAAE;EARZ,EANJ,CADF;AAoBD,CAvBD;;AAyBAR,QAAQ,CAACS,SAAT,wDACKX,WAAW,CAACW,SADjB;EAEEL,KAAK,EAAEZ,SAAS,CAACkB,MAAV,CAAiBC,UAF1B;EAGEN,WAAW,EAAEb,SAAS,CAACkB;AAHzB;AAMAV,QAAQ,CAACY,YAAT,GAAwB;EACtBT,SAAS,EAAER,QAAQ,CAACkB,iBAAT,CAA2BV;AADhB,CAAxB;;AAIA,MAAMW,eAAe,GAAGb,KAAK,IAAI;EAC/B,MAAM;IAACc,WAAD;IAAcT,iBAAd;IAAiCU;EAAjC,IAAmDf,KAAzD;EAEA,oBACE,+CACE;IAAK,SAAS,EAAEF,KAAK,CAACgB,WAAtB;IAAmC,IAAI,EAAC,OAAxC;IAAgD,cAAYC,cAA5D;IAA4E,QAAQ,EAAE;EAAtF,GACGtB,GAAG,CACFa,QAAQ,iBACN,oBAAC,QAAD,eAAcA,QAAd;IAAwB,GAAG,EAAEA,QAAQ,CAACH,KAAtC;IAA6C,iBAAiB,EAAEE;EAAhE,GAFA,EAIFS,WAJE,CADN,CADF,CADF;AAYD,CAfD;;AAiBAD,eAAe,CAACL,SAAhB,2CAA4B;EAC1BM,WAAW,EAAEvB,SAAS,CAACyB,OAAV,CAAkBzB,SAAS,CAAC0B,KAAV,CAAgBlB,QAAQ,CAACS,SAAzB,CAAlB,CADa;EAE1BH,iBAAiB,EAAEd,SAAS,CAACkB,MAFH;EAG1BM,cAAc,EAAExB,SAAS,CAACkB;AAHA,CAA5B;AAMA,eAAeI,eAAf"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","isEmpty","map","Provider","GetTranslateFromContext","ToolTip","InputSwitch","style","Settings","props","legacyContext","translate","label","description","moreInfoAriaLabel","settings","infoIconTooltip","propTypes","string","isRequired","contextTypes","childContextTypes","UserPreferences","preferences","groupAriaLabel","arrayOf","shape"],"sources":["../../../src/organism/user-preferences/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport map from 'lodash/fp/map';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport ToolTip from '../../atom/tooltip';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst Settings = (props, legacyContext) => {\n const translate = GetTranslateFromContext(legacyContext);\n const {label, description, moreInfoAriaLabel, ...settings} = props;\n return (\n <div className={style.settings}>\n <InputSwitch {...{...settings, 'aria-label': label}} />\n <span className={style.label} tabIndex={0}>\n {label}\n </span>\n {isEmpty(description) ? null : (\n <ToolTip\n TooltipContent={description}\n closeToolTipInformationTextAriaLabel={translate(\n 'Press the escape key to close the information text'\n )}\n data-testid=\"user-preferences-tooltip\"\n aria-label={moreInfoAriaLabel}\n iconContainerClassName={style.infoIconTooltip}\n fontSize={12}\n />\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n ...InputSwitch.propTypes,\n label: PropTypes.string.isRequired,\n description: PropTypes.string\n};\n\nSettings.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nconst UserPreferences = props => {\n const {preferences, moreInfoAriaLabel, groupAriaLabel} = props;\n\n return (\n <form>\n <div className={style.preferences} role=\"group\" aria-label={groupAriaLabel} tabIndex={0}>\n {map(\n settings => (\n <Settings {...settings} key={settings.label} moreInfoAriaLabel={moreInfoAriaLabel} />\n ),\n preferences\n )}\n </div>\n </form>\n );\n};\n\nUserPreferences.propTypes = {\n preferences: PropTypes.arrayOf(PropTypes.shape(Settings.propTypes)),\n moreInfoAriaLabel: PropTypes.string,\n groupAriaLabel: PropTypes.string\n};\n\nexport default UserPreferences;\n"],"mappings":";;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,OAAP,MAAoB,mBAApB;AACA,OAAOC,GAAP,MAAgB,eAAhB;AACA,OAAOC,QAAP,IAAkBC,uBAAlB,QAAgD,qBAAhD;AACA,OAAOC,OAAP,MAAoB,oBAApB;AACA,OAAOC,WAAP,MAAwB,yBAAxB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAMC,SAAS,GAAGP,uBAAuB,CAACM,aAAD,CAAzC;;EACA,MAAM;IAACE,KAAD;IAAQC,WAAR;IAAqBC;EAArB,IAAuDL,KAA7D;EAAA,MAAiDM,QAAjD,iCAA6DN,KAA7D;;EACA,oBACE;IAAK,SAAS,EAAEF,KAAK,CAACQ;EAAtB,gBACE,oBAAC,WAAD,eAAqBA,QAArB;IAA+B,cAAcH;EAA7C,GADF,eAEE;IAAM,SAAS,EAAEL,KAAK,CAACK,KAAvB;IAA8B,QAAQ,EAAE;EAAxC,GACGA,KADH,CAFF,EAKGX,OAAO,CAACY,WAAD,CAAP,GAAuB,IAAvB,gBACC,oBAAC,OAAD;IACE,cAAc,EAAEA,WADlB;IAEE,oCAAoC,EAAEF,SAAS,CAC7C,oDAD6C,CAFjD;IAKE,eAAY,0BALd;IAME,cAAYG,iBANd;IAOE,sBAAsB,EAAEP,KAAK,CAACS,eAPhC;IAQE,QAAQ,EAAE;EARZ,EANJ,CADF;AAoBD,CAvBD;;AAyBAR,QAAQ,CAACS,SAAT,wDACKX,WAAW,CAACW,SADjB;EAEEL,KAAK,EAAEZ,SAAS,CAACkB,MAAV,CAAiBC,UAF1B;EAGEN,WAAW,EAAEb,SAAS,CAACkB;AAHzB;AAMAV,QAAQ,CAACY,YAAT,GAAwB;EACtBT,SAAS,EAAER,QAAQ,CAACkB,iBAAT,CAA2BV;AADhB,CAAxB;;AAIA,MAAMW,eAAe,GAAGb,KAAK,IAAI;EAC/B,MAAM;IAACc,WAAD;IAAcT,iBAAd;IAAiCU;EAAjC,IAAmDf,KAAzD;EAEA,oBACE,+CACE;IAAK,SAAS,EAAEF,KAAK,CAACgB,WAAtB;IAAmC,IAAI,EAAC,OAAxC;IAAgD,cAAYC,cAA5D;IAA4E,QAAQ,EAAE;EAAtF,GACGtB,GAAG,CACFa,QAAQ,iBACN,oBAAC,QAAD,eAAcA,QAAd;IAAwB,GAAG,EAAEA,QAAQ,CAACH,KAAtC;IAA6C,iBAAiB,EAAEE;EAAhE,GAFA,EAIFS,WAJE,CADN,CADF,CADF;AAYD,CAfD;;AAiBAD,eAAe,CAACL,SAAhB,2CAA4B;EAC1BM,WAAW,EAAEvB,SAAS,CAACyB,OAAV,CAAkBzB,SAAS,CAAC0B,KAAV,CAAgBlB,QAAQ,CAACS,SAAzB,CAAlB,CADa;EAE1BH,iBAAiB,EAAEd,SAAS,CAACkB,MAFH;EAG1BM,cAAc,EAAExB,SAAS,CAACkB;AAHA,CAA5B;AAMA,eAAeI,eAAf"}
@@ -80,11 +80,13 @@ declare namespace WizardContents {
80
80
  required: PropTypes.Requireable<boolean>;
81
81
  modified: PropTypes.Requireable<boolean>;
82
82
  error: PropTypes.Requireable<boolean>;
83
+ errorMessage: PropTypes.Requireable<string>;
83
84
  suggestions: PropTypes.Requireable<(PropTypes.InferProps<{
84
85
  name: PropTypes.Requireable<string>;
85
86
  value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
86
87
  }> | null | undefined)[]>;
87
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
88
+ theme: PropTypes.Requireable<string>;
89
+ onInput: PropTypes.Requireable<(...args: any[]) => any>;
88
90
  onFetch: PropTypes.Requireable<(...args: any[]) => any>;
89
91
  onClear: PropTypes.Requireable<(...args: any[]) => any>;
90
92
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -526,6 +528,7 @@ declare namespace WizardContents {
526
528
  place: PropTypes.Requireable<string>;
527
529
  }>>;
528
530
  isLoading: PropTypes.Requireable<boolean>;
531
+ theme: PropTypes.Requireable<string>;
529
532
  }> | PropTypes.InferProps<{
530
533
  type: PropTypes.Requireable<string>;
531
534
  languageTabs: PropTypes.Requireable<(PropTypes.InferProps<{
@@ -165,11 +165,13 @@ declare namespace BrandUpdate {
165
165
  required: PropTypes.Requireable<boolean>;
166
166
  modified: PropTypes.Requireable<boolean>;
167
167
  error: PropTypes.Requireable<boolean>;
168
+ errorMessage: PropTypes.Requireable<string>;
168
169
  suggestions: PropTypes.Requireable<(PropTypes.InferProps<{
169
170
  name: PropTypes.Requireable<string>;
170
171
  value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
171
172
  }> | null | undefined)[]>;
172
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
173
+ theme: PropTypes.Requireable<string>;
174
+ onInput: PropTypes.Requireable<(...args: any[]) => any>;
173
175
  onFetch: PropTypes.Requireable<(...args: any[]) => any>;
174
176
  onClear: PropTypes.Requireable<(...args: any[]) => any>;
175
177
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -611,6 +613,7 @@ declare namespace BrandUpdate {
611
613
  place: PropTypes.Requireable<string>;
612
614
  }>>;
613
615
  isLoading: PropTypes.Requireable<boolean>;
616
+ theme: PropTypes.Requireable<string>;
614
617
  }> | PropTypes.InferProps<{
615
618
  key: PropTypes.Requireable<string>;
616
619
  type: PropTypes.Requireable<string>;
@@ -9,11 +9,13 @@ declare namespace Autocomplete {
9
9
  const required: PropTypes.Requireable<boolean>;
10
10
  const modified: PropTypes.Requireable<boolean>;
11
11
  const error: PropTypes.Requireable<boolean>;
12
+ const errorMessage: PropTypes.Requireable<string>;
12
13
  const suggestions: PropTypes.Requireable<(PropTypes.InferProps<{
13
14
  name: PropTypes.Requireable<string>;
14
15
  value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
15
16
  }> | null | undefined)[]>;
16
- const onChange: PropTypes.Requireable<(...args: any[]) => any>;
17
+ const theme: PropTypes.Requireable<string>;
18
+ const onInput: PropTypes.Requireable<(...args: any[]) => any>;
17
19
  const onFetch: PropTypes.Requireable<(...args: any[]) => any>;
18
20
  const onClear: PropTypes.Requireable<(...args: any[]) => any>;
19
21
  const onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/autocomplete/index.js"],"names":[],"mappings":";AAUA,uDAoEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/autocomplete/index.js"],"names":[],"mappings":";AAmBA,uDA8GC"}
@@ -3,6 +3,10 @@
3
3
  exports.__esModule = true;
4
4
  exports.default = void 0;
5
5
 
6
+ var _keys2 = _interopRequireDefault(require("lodash/fp/keys"));
7
+
8
+ var _isEmpty2 = _interopRequireDefault(require("lodash/fp/isEmpty"));
9
+
6
10
  var _isNil2 = _interopRequireDefault(require("lodash/fp/isNil"));
7
11
 
8
12
  var _noop2 = _interopRequireDefault(require("lodash/fp/noop"));
@@ -15,6 +19,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
19
 
16
20
  var _classnames = _interopRequireDefault(require("classnames"));
17
21
 
22
+ var _novaIcons = require("@coorpacademy/nova-icons");
23
+
18
24
  var _getClassState = _interopRequireDefault(require("../../util/get-class-state"));
19
25
 
20
26
  var _style = _interopRequireDefault(require("./style.css"));
@@ -25,6 +31,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
25
31
 
26
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
33
 
34
+ const THEME_STYLE = {
35
+ coorpmanager: _style.default.coorpmanager,
36
+ default: _style.default.default
37
+ };
38
+
28
39
  const renderSuggestion = suggestion => /*#__PURE__*/_react.default.createElement("span", null, suggestion.name);
29
40
 
30
41
  const Autocomplete = props => {
@@ -35,32 +46,61 @@ const Autocomplete = props => {
35
46
  required,
36
47
  modified = false,
37
48
  error = false,
49
+ errorMessage,
38
50
  suggestions = [],
39
- onChange = _noop2.default,
51
+ onInput = _noop2.default,
40
52
  onFetch = _noop2.default,
41
53
  onClear = _noop2.default,
42
54
  onBlur = _noop2.default,
43
55
  onSuggestionSelected = _noop2.default,
44
- title: propsTitle
56
+ title: propsTitle,
57
+ theme = 'default'
45
58
  } = props;
46
- const title = `${propsTitle}${required ? ' *' : ''}`;
47
- const className = (0, _getClassState.default)(_style.default.default, _style.default.modified, _style.default.error, modified, error);
48
- const handleChange = (0, _react.useMemo)(() => e => onChange(e), [onChange]);
49
- const handleBlur = (0, _react.useMemo)(() => (e, selectedSuggestion) => onBlur(e, selectedSuggestion), [onBlur]);
50
- const handleSuggestionsFetchRequested = (0, _react.useMemo)(() => e => onFetch(e), [onFetch]);
51
- const handleSuggestionsClearRequested = (0, _react.useMemo)(() => e => onClear(e), [onClear]);
52
- const handleSuggestionsSelected = (0, _react.useMemo)(() => (e, data) => onSuggestionSelected(data), [onSuggestionSelected]);
59
+ const mainClass = THEME_STYLE[theme];
60
+ const title = (0, _react.useMemo)(() => `${propsTitle}${required ? '*' : ''}`, [propsTitle, required]);
61
+ const className = (0, _react.useMemo)(() => (0, _getClassState.default)(_style.default.default, _style.default.modified, _style.default.error, modified, error), [modified, error]);
62
+ const handleInput = (0, _react.useCallback)(e => {
63
+ onInput(e);
64
+ }, [onInput]);
65
+ const handleBlur = (0, _react.useCallback)((e, selectedSuggestion) => onBlur(e, selectedSuggestion), [onBlur]);
66
+ const handleSuggestionsFetchRequested = (0, _react.useCallback)(e => onFetch(e), [onFetch]);
67
+ const handleSuggestionsClearRequested = (0, _react.useCallback)(e => onClear(e), [onClear]);
68
+ const handleSuggestionsSelected = (0, _react.useCallback)((e, data) => onSuggestionSelected(data), [onSuggestionSelected]);
53
69
  const inputProps = {
54
70
  placeholder,
55
71
  value,
56
- onChange: handleChange,
57
- onBlur: handleBlur
72
+ onChange: _noop2.default,
73
+ onBlur: handleBlur,
74
+ onInput: handleInput,
75
+ 'data-testid': 'autocomplete-input'
58
76
  };
77
+ const descriptionView = description && theme !== 'coorpmanager' ? /*#__PURE__*/_react.default.createElement("div", {
78
+ className: _style.default.description
79
+ }, description) : null;
80
+ const toolTipView = description && theme === 'coorpmanager' ? /*#__PURE__*/_react.default.createElement("div", {
81
+ className: _style.default.infoIconWrapper
82
+ }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyInformationIcon, {
83
+ className: _style.default.infoIcon
84
+ }), /*#__PURE__*/_react.default.createElement("div", {
85
+ className: _style.default.descriptionLabel
86
+ }, description)) : null;
87
+ const errorIconView = theme === 'coorpmanager' && error ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusClose, {
88
+ className: _style.default.leftIcon
89
+ }) : null;
90
+ const errorText = theme === 'coorpmanager' && error ? /*#__PURE__*/_react.default.createElement("div", {
91
+ className: _style.default.errorText // eslint-disable-next-line react/no-danger
92
+ ,
93
+ dangerouslySetInnerHTML: {
94
+ __html: errorMessage
95
+ }
96
+ }) : null;
59
97
  return /*#__PURE__*/_react.default.createElement("div", {
60
- className: (0, _classnames.default)(className, (0, _isNil2.default)(title) && _style.default.isNoTitle)
98
+ className: (0, _classnames.default)(mainClass, className, (0, _isNil2.default)(propsTitle) && _style.default.isNoTitle)
61
99
  }, /*#__PURE__*/_react.default.createElement("label", null, /*#__PURE__*/_react.default.createElement("span", {
62
- className: _style.default.title
63
- }, title), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactAutosuggest.default, {
100
+ className: (0, _classnames.default)(_style.default.title, (0, _isEmpty2.default)(value) && _style.default.noValue)
101
+ }, title, toolTipView), /*#__PURE__*/_react.default.createElement("div", {
102
+ className: _style.default.inputContainer
103
+ }, /*#__PURE__*/_react.default.createElement(_reactAutosuggest.default, {
64
104
  theme: {
65
105
  container: _style.default.container,
66
106
  input: _style.default.input,
@@ -78,9 +118,7 @@ const Autocomplete = props => {
78
118
  inputProps: inputProps,
79
119
  focusInputOnSuggestionClick: false,
80
120
  onSuggestionSelected: handleSuggestionsSelected
81
- }))), /*#__PURE__*/_react.default.createElement("div", {
82
- className: _style.default.description
83
- }, description));
121
+ }), errorIconView, errorText)), descriptionView);
84
122
  };
85
123
 
86
124
  Autocomplete.propTypes = process.env.NODE_ENV !== "production" ? {
@@ -91,11 +129,13 @@ Autocomplete.propTypes = process.env.NODE_ENV !== "production" ? {
91
129
  required: _propTypes.default.bool,
92
130
  modified: _propTypes.default.bool,
93
131
  error: _propTypes.default.bool,
132
+ errorMessage: _propTypes.default.string,
94
133
  suggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
95
134
  name: _propTypes.default.string,
96
135
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
97
136
  })),
98
- onChange: _propTypes.default.func,
137
+ theme: _propTypes.default.oneOf((0, _keys2.default)(THEME_STYLE)),
138
+ onInput: _propTypes.default.func,
99
139
  onFetch: _propTypes.default.func,
100
140
  onClear: _propTypes.default.func,
101
141
  onBlur: _propTypes.default.func,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["renderSuggestion","suggestion","name","Autocomplete","props","placeholder","value","description","required","modified","error","suggestions","onChange","onFetch","onClear","onBlur","onSuggestionSelected","title","propsTitle","className","getClassState","style","default","handleChange","useMemo","e","handleBlur","selectedSuggestion","handleSuggestionsFetchRequested","handleSuggestionsClearRequested","handleSuggestionsSelected","data","inputProps","classnames","isNoTitle","container","input","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionHighlighted","propTypes","PropTypes","string","bool","arrayOf","shape","oneOfType","number","func"],"sources":["../../../src/atom/autocomplete/index.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {noop, isNil} from 'lodash/fp';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst renderSuggestion = suggestion => <span>{suggestion.name}</span>;\n\nconst Autocomplete = props => {\n const {\n placeholder = '',\n value,\n description,\n required,\n modified = false,\n error = false,\n suggestions = [],\n onChange = noop,\n onFetch = noop,\n onClear = noop,\n onBlur = noop,\n onSuggestionSelected = noop,\n title: propsTitle\n } = props;\n\n const title = `${propsTitle}${required ? ' *' : ''}`;\n const className = getClassState(style.default, style.modified, style.error, modified, error);\n\n const handleChange = useMemo(() => e => onChange(e), [onChange]);\n const handleBlur = useMemo(\n () => (e, selectedSuggestion) => onBlur(e, selectedSuggestion),\n [onBlur]\n );\n const handleSuggestionsFetchRequested = useMemo(() => e => onFetch(e), [onFetch]);\n const handleSuggestionsClearRequested = useMemo(() => e => onClear(e), [onClear]);\n const handleSuggestionsSelected = useMemo(\n () => (e, data) => onSuggestionSelected(data),\n [onSuggestionSelected]\n );\n\n const inputProps = {\n placeholder,\n value,\n onChange: handleChange,\n onBlur: handleBlur\n };\n\n return (\n <div className={classnames(className, isNil(title) && style.isNoTitle)}>\n <label>\n <span className={style.title}>{title}</span>\n <div>\n <Autosuggest\n theme={{\n container: style.container,\n input: style.input,\n suggestionsContainer: style.suggestionsContainer,\n suggestionsContainerOpen: style.suggestionsContainerOpen,\n suggestionsList: style.suggestionsList,\n suggestion: style.suggestion,\n suggestionHighlighted: style.suggestionHighlighted\n }}\n suggestions={suggestions}\n onSuggestionsFetchRequested={handleSuggestionsFetchRequested}\n onSuggestionsClearRequested={handleSuggestionsClearRequested}\n getSuggestionValue={noop}\n renderSuggestion={renderSuggestion}\n inputProps={inputProps}\n focusInputOnSuggestionClick={false}\n onSuggestionSelected={handleSuggestionsSelected}\n />\n </div>\n </label>\n <div className={style.description}>{description}</div>\n </div>\n );\n};\n\nAutocomplete.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n description: PropTypes.string,\n required: PropTypes.bool,\n modified: PropTypes.bool,\n error: PropTypes.bool,\n suggestions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n })\n ),\n onChange: PropTypes.func,\n onFetch: PropTypes.func,\n onClear: PropTypes.func,\n onBlur: PropTypes.func,\n onSuggestionSelected: PropTypes.func\n};\n\nexport default Autocomplete;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["THEME_STYLE","coorpmanager","style","default","renderSuggestion","suggestion","name","Autocomplete","props","placeholder","value","description","required","modified","error","errorMessage","suggestions","onInput","onFetch","onClear","onBlur","onSuggestionSelected","title","propsTitle","theme","mainClass","useMemo","className","getClassState","handleInput","useCallback","e","handleBlur","selectedSuggestion","handleSuggestionsFetchRequested","handleSuggestionsClearRequested","handleSuggestionsSelected","data","inputProps","onChange","descriptionView","toolTipView","infoIconWrapper","infoIcon","descriptionLabel","errorIconView","leftIcon","errorText","__html","classnames","isNoTitle","noValue","inputContainer","container","input","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionHighlighted","propTypes","PropTypes","string","bool","arrayOf","shape","oneOfType","number","oneOf","func"],"sources":["../../../src/atom/autocomplete/index.js"],"sourcesContent":["import React, {useCallback, useMemo} from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {noop, isNil, isEmpty, keys} from 'lodash/fp';\nimport {\n NovaSolidStatusClose as ErrorIcon,\n NovaCompositionCoorpacademyInformationIcon as InfoIcon\n} from '@coorpacademy/nova-icons';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst THEME_STYLE = {\n coorpmanager: style.coorpmanager,\n default: style.default\n};\n\nconst renderSuggestion = suggestion => <span>{suggestion.name}</span>;\n\nconst Autocomplete = props => {\n const {\n placeholder = '',\n value,\n description,\n required,\n modified = false,\n error = false,\n errorMessage,\n suggestions = [],\n onInput = noop,\n onFetch = noop,\n onClear = noop,\n onBlur = noop,\n onSuggestionSelected = noop,\n title: propsTitle,\n theme = 'default'\n } = props;\n\n const mainClass = THEME_STYLE[theme];\n const title = useMemo(() => `${propsTitle}${required ? '*' : ''}`, [propsTitle, required]);\n const className = useMemo(\n () => getClassState(style.default, style.modified, style.error, modified, error),\n [modified, error]\n );\n\n const handleInput = useCallback(\n e => {\n onInput(e);\n },\n [onInput]\n );\n const handleBlur = useCallback(\n (e, selectedSuggestion) => onBlur(e, selectedSuggestion),\n [onBlur]\n );\n const handleSuggestionsFetchRequested = useCallback(e => onFetch(e), [onFetch]);\n const handleSuggestionsClearRequested = useCallback(e => onClear(e), [onClear]);\n const handleSuggestionsSelected = useCallback(\n (e, data) => onSuggestionSelected(data),\n [onSuggestionSelected]\n );\n\n const inputProps = {\n placeholder,\n value,\n onChange: noop,\n onBlur: handleBlur,\n onInput: handleInput,\n 'data-testid': 'autocomplete-input'\n };\n\n const descriptionView =\n description && theme !== 'coorpmanager' ? (\n <div className={style.description}>{description}</div>\n ) : null;\n\n const toolTipView =\n description && theme === 'coorpmanager' ? (\n <div className={style.infoIconWrapper}>\n <InfoIcon className={style.infoIcon} />\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n ) : null;\n\n const errorIconView =\n theme === 'coorpmanager' && error ? <ErrorIcon className={style.leftIcon} /> : null;\n\n const errorText =\n theme === 'coorpmanager' && error ? (\n <div\n className={style.errorText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: errorMessage}}\n />\n ) : null;\n return (\n <div className={classnames(mainClass, className, isNil(propsTitle) && style.isNoTitle)}>\n <label>\n <span className={classnames(style.title, isEmpty(value) && style.noValue)}>\n {title}\n {toolTipView}\n </span>\n <div className={style.inputContainer}>\n <Autosuggest\n theme={{\n container: style.container,\n input: style.input,\n suggestionsContainer: style.suggestionsContainer,\n suggestionsContainerOpen: style.suggestionsContainerOpen,\n suggestionsList: style.suggestionsList,\n suggestion: style.suggestion,\n suggestionHighlighted: style.suggestionHighlighted\n }}\n suggestions={suggestions}\n onSuggestionsFetchRequested={handleSuggestionsFetchRequested}\n onSuggestionsClearRequested={handleSuggestionsClearRequested}\n getSuggestionValue={noop}\n renderSuggestion={renderSuggestion}\n inputProps={inputProps}\n focusInputOnSuggestionClick={false}\n onSuggestionSelected={handleSuggestionsSelected}\n />\n {errorIconView}\n {errorText}\n </div>\n </label>\n {descriptionView}\n </div>\n );\n};\n\nAutocomplete.propTypes = {\n title: PropTypes.string,\n placeholder: PropTypes.string,\n value: PropTypes.string,\n description: PropTypes.string,\n required: PropTypes.bool,\n modified: PropTypes.bool,\n error: PropTypes.bool,\n errorMessage: PropTypes.string,\n suggestions: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n })\n ),\n theme: PropTypes.oneOf(keys(THEME_STYLE)),\n onInput: PropTypes.func,\n onFetch: PropTypes.func,\n onClear: PropTypes.func,\n onBlur: PropTypes.func,\n onSuggestionSelected: PropTypes.func\n};\n\nexport default Autocomplete;\n"],"mappings":"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"}