@coorpacademy/components 11.14.22 → 11.15.0

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 (30) 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 +45 -17
  4. package/es/atom/autocomplete/index.js.map +1 -1
  5. package/es/atom/autocomplete/style.css +150 -1
  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/organism/brand-form/index.d.ts +3 -1
  11. package/es/organism/user-preferences/index.js +3 -1
  12. package/es/organism/user-preferences/index.js.map +1 -1
  13. package/es/organism/wizard-contents/index.d.ts +3 -1
  14. package/es/template/back-office/brand-update/index.d.ts +3 -1
  15. package/lib/atom/autocomplete/index.d.ts +3 -1
  16. package/lib/atom/autocomplete/index.d.ts.map +1 -1
  17. package/lib/atom/autocomplete/index.js +48 -16
  18. package/lib/atom/autocomplete/index.js.map +1 -1
  19. package/lib/atom/autocomplete/style.css +150 -1
  20. package/lib/atom/input-switch/index.d.ts.map +1 -1
  21. package/lib/atom/input-switch/index.js +3 -1
  22. package/lib/atom/input-switch/index.js.map +1 -1
  23. package/lib/molecule/brand-form-group/index.d.ts +3 -1
  24. package/lib/organism/brand-form/index.d.ts +3 -1
  25. package/lib/organism/user-preferences/index.js +3 -1
  26. package/lib/organism/user-preferences/index.js.map +1 -1
  27. package/lib/organism/wizard-contents/index.d.ts +3 -1
  28. package/lib/template/back-office/brand-update/index.d.ts +3 -1
  29. package/locales/.mtslconfig.json +1 -0
  30. package/package.json +2 -2
@@ -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":";AAgBA,uDA8FC"}
@@ -1,11 +1,18 @@
1
+ import _keys from "lodash/fp/keys";
2
+ import _isEmpty from "lodash/fp/isEmpty";
1
3
  import _isNil from "lodash/fp/isNil";
2
4
  import _noop from "lodash/fp/noop";
3
- import React, { useMemo } from 'react';
5
+ import React, { useCallback, useMemo } from 'react';
4
6
  import Autosuggest from 'react-autosuggest';
5
7
  import PropTypes from 'prop-types';
6
8
  import classnames from 'classnames';
9
+ import { NovaSolidStatusClose as ErrorIcon } from '@coorpacademy/nova-icons';
7
10
  import getClassState from '../../util/get-class-state';
8
11
  import style from './style.css';
12
+ const THEME_STYLE = {
13
+ coorpmanager: style.coorpmanager,
14
+ default: style.default
15
+ };
9
16
 
10
17
  const renderSuggestion = suggestion => /*#__PURE__*/React.createElement("span", null, suggestion.name);
11
18
 
@@ -17,32 +24,51 @@ const Autocomplete = props => {
17
24
  required,
18
25
  modified = false,
19
26
  error = false,
27
+ errorMessage,
20
28
  suggestions = [],
21
- onChange = _noop,
29
+ onInput = _noop,
22
30
  onFetch = _noop,
23
31
  onClear = _noop,
24
32
  onBlur = _noop,
25
33
  onSuggestionSelected = _noop,
26
- title: propsTitle
34
+ title: propsTitle,
35
+ theme = 'default'
27
36
  } = props;
28
- const title = `${propsTitle}${required ? ' *' : ''}`;
29
- const className = getClassState(style.default, style.modified, style.error, modified, error);
30
- const handleChange = useMemo(() => e => onChange(e), [onChange]);
31
- const handleBlur = useMemo(() => (e, selectedSuggestion) => onBlur(e, selectedSuggestion), [onBlur]);
32
- const handleSuggestionsFetchRequested = useMemo(() => e => onFetch(e), [onFetch]);
33
- const handleSuggestionsClearRequested = useMemo(() => e => onClear(e), [onClear]);
34
- const handleSuggestionsSelected = useMemo(() => (e, data) => onSuggestionSelected(data), [onSuggestionSelected]);
37
+ const mainClass = THEME_STYLE[theme];
38
+ const title = useMemo(() => `${propsTitle}${required ? '*' : ''}`, [propsTitle, required]);
39
+ const className = useMemo(() => getClassState(style.default, style.modified, style.error, modified, error), [modified, error]);
40
+ const handleInput = useCallback(e => {
41
+ onInput(e);
42
+ }, [onInput]);
43
+ const handleBlur = useCallback((e, selectedSuggestion) => onBlur(e, selectedSuggestion), [onBlur]);
44
+ const handleSuggestionsFetchRequested = useCallback(e => onFetch(e), [onFetch]);
45
+ const handleSuggestionsClearRequested = useCallback(e => onClear(e), [onClear]);
46
+ const handleSuggestionsSelected = useCallback((e, data) => onSuggestionSelected(data), [onSuggestionSelected]);
35
47
  const inputProps = {
36
48
  placeholder,
37
49
  value,
38
- onChange: handleChange,
39
- onBlur: handleBlur
50
+ onChange: _noop,
51
+ onBlur: handleBlur,
52
+ onInput: handleInput,
53
+ 'data-testid': 'autocomplete-input'
40
54
  };
55
+ const errorIconView = theme === 'coorpmanager' && error ? /*#__PURE__*/React.createElement(ErrorIcon, {
56
+ className: style.leftIcon
57
+ }) : null;
58
+ const errorText = theme === 'coorpmanager' && error ? /*#__PURE__*/React.createElement("div", {
59
+ className: style.errorText // eslint-disable-next-line react/no-danger
60
+ ,
61
+ dangerouslySetInnerHTML: {
62
+ __html: errorMessage
63
+ }
64
+ }) : null;
41
65
  return /*#__PURE__*/React.createElement("div", {
42
- className: classnames(className, _isNil(title) && style.isNoTitle)
66
+ className: classnames(mainClass, className, _isNil(propsTitle) && style.isNoTitle)
43
67
  }, /*#__PURE__*/React.createElement("label", null, /*#__PURE__*/React.createElement("span", {
44
- className: style.title
45
- }, title), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Autosuggest, {
68
+ className: classnames(style.title, _isEmpty(value) && style.noValue)
69
+ }, title), /*#__PURE__*/React.createElement("div", {
70
+ className: style.inputContainer
71
+ }, /*#__PURE__*/React.createElement(Autosuggest, {
46
72
  theme: {
47
73
  container: style.container,
48
74
  input: style.input,
@@ -60,7 +86,7 @@ const Autocomplete = props => {
60
86
  inputProps: inputProps,
61
87
  focusInputOnSuggestionClick: false,
62
88
  onSuggestionSelected: handleSuggestionsSelected
63
- }))), /*#__PURE__*/React.createElement("div", {
89
+ }), errorIconView, errorText)), /*#__PURE__*/React.createElement("div", {
64
90
  className: style.description
65
91
  }, description));
66
92
  };
@@ -73,11 +99,13 @@ Autocomplete.propTypes = process.env.NODE_ENV !== "production" ? {
73
99
  required: PropTypes.bool,
74
100
  modified: PropTypes.bool,
75
101
  error: PropTypes.bool,
102
+ errorMessage: PropTypes.string,
76
103
  suggestions: PropTypes.arrayOf(PropTypes.shape({
77
104
  name: PropTypes.string,
78
105
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
79
106
  })),
80
- onChange: PropTypes.func,
107
+ theme: PropTypes.oneOf(_keys(THEME_STYLE)),
108
+ onInput: PropTypes.func,
81
109
  onFetch: PropTypes.func,
82
110
  onClear: PropTypes.func,
83
111
  onBlur: PropTypes.func,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","Autosuggest","PropTypes","classnames","getClassState","style","renderSuggestion","suggestion","name","Autocomplete","props","placeholder","value","description","required","modified","error","suggestions","onChange","onFetch","onClear","onBlur","onSuggestionSelected","title","propsTitle","className","default","handleChange","e","handleBlur","selectedSuggestion","handleSuggestionsFetchRequested","handleSuggestionsClearRequested","handleSuggestionsSelected","data","inputProps","isNoTitle","container","input","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionHighlighted","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":["React","useCallback","useMemo","Autosuggest","PropTypes","classnames","NovaSolidStatusClose","ErrorIcon","getClassState","style","THEME_STYLE","coorpmanager","default","renderSuggestion","suggestion","name","Autocomplete","props","placeholder","value","description","required","modified","error","errorMessage","suggestions","onInput","onFetch","onClear","onBlur","onSuggestionSelected","title","propsTitle","theme","mainClass","className","handleInput","e","handleBlur","selectedSuggestion","handleSuggestionsFetchRequested","handleSuggestionsClearRequested","handleSuggestionsSelected","data","inputProps","onChange","errorIconView","leftIcon","errorText","__html","isNoTitle","noValue","inputContainer","container","input","suggestionsContainer","suggestionsContainerOpen","suggestionsList","suggestionHighlighted","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 {NovaSolidStatusClose as ErrorIcon} 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 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)}>{title}</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 <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 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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"}
@@ -5,6 +5,12 @@
5
5
  @value dark from colors;
6
6
  @value medium from colors;
7
7
  @value white from colors;
8
+ @value cm_positive_100 from colors;
9
+ @value cm_negative_100 from colors;
10
+ @value cm_grey_100 from colors;
11
+ @value cm_grey_150 from colors;
12
+ @value cm_grey_400 from colors;
13
+ @value cm_grey_700 from colors;
8
14
 
9
15
  .default {
10
16
  display: flex;
@@ -127,4 +133,147 @@
127
133
 
128
134
  .suggestionHighlighted {
129
135
  background-color: #ddd;
130
- }
136
+ }
137
+
138
+ /******************************* coorpmanager theme ***************************************/
139
+
140
+ .coorpmanager {
141
+ width: 100%;
142
+ display: flex;
143
+ align-items: flex-start;
144
+ flex-direction: column;
145
+ flex-wrap: nowrap;
146
+ position: relative;
147
+ }
148
+
149
+ .coorpmanager label {
150
+ width: 100%;
151
+ height: 100%;
152
+ margin-right: 0;
153
+ display: flex;
154
+ align-items: flex-start;
155
+ flex-direction: column;
156
+ position: relative;
157
+ }
158
+
159
+ .coorpmanager .title {
160
+ flex-grow: 0;
161
+ font-family: Gilroy;
162
+ font-size: 10px;
163
+ font-weight: bold;
164
+ font-stretch: normal;
165
+ font-style: normal;
166
+ line-height: 1.2;
167
+ letter-spacing: normal;
168
+ text-align: left;
169
+ z-index: 1;
170
+ color: cm_grey_400;
171
+ width: auto;
172
+ transition: all 0.25s linear;
173
+ pointer-events: none;
174
+ display: flex;
175
+ flex-direction: row;
176
+ flex-wrap: nowrap;
177
+ position: absolute;
178
+ top: 7px;
179
+ left: 16px;
180
+ }
181
+
182
+ .coorpmanager .title.noValue{
183
+ font-size: 14px;
184
+ font-weight: 500;
185
+ color: cm_grey_700;
186
+ top: 14px;
187
+ }
188
+
189
+ .coorpmanager:focus-within .title.noValue {
190
+ font-size: 10px;
191
+ font-weight: bold;
192
+ color: cm_grey_400;
193
+ top: 7px;
194
+ }
195
+
196
+ .coorpmanager .inputContainer {
197
+ width: 100%
198
+ }
199
+
200
+ .coorpmanager input {
201
+ width: 100%;
202
+ height: 44px;
203
+ margin: 0px;
204
+ display: flex;
205
+ align-items: flex-start;
206
+ flex-direction: column;
207
+ flex-grow: 0;
208
+ justify-content: center;
209
+ background-color: cm_grey_100;
210
+ box-sizing: border-box;
211
+ border: none;
212
+ border-radius: 7px;
213
+ color: cm_grey_700;
214
+ font-family: Gilroy;
215
+ font-size: 14px;
216
+ font-weight: 500;
217
+ font-stretch: normal;
218
+ font-style: normal;
219
+ line-height: 44px;
220
+ letter-spacing: normal;
221
+ outline: none;
222
+ padding: 19px 30px 5px 16px;
223
+ text-align: left;
224
+ transition: all 0.25s linear;
225
+ }
226
+
227
+ .coorpmanager .suggestionsContainerOpen {
228
+ width: 100%;
229
+ margin-left: 0;
230
+ border-radius: 7px;
231
+ }
232
+
233
+ .coorpmanager:focus-within input::placeholder {
234
+ color: cm_grey_400;
235
+ }
236
+
237
+ .coorpmanager .suggestionsList {
238
+ border-radius: 7px;
239
+ }
240
+
241
+ .coorpmanager .suggestionHighlighted {
242
+ border-radius: 5px;
243
+ }
244
+
245
+ .coorpmanager input::placeholder {
246
+ color: transparent;
247
+ transition: color 0.25s linear;
248
+ }
249
+
250
+ .coorpmanager input:hover {
251
+ background-color: cm_grey_150;
252
+ }
253
+
254
+ .coorpmanager.error .leftIcon {
255
+ background-color: cm_negative_100;
256
+ color: white;
257
+ border-radius: 50%;
258
+ padding: 2px;
259
+ width: 10px;
260
+ height: 10px;
261
+ position: absolute;
262
+ right: 17px;
263
+ top: 14px;
264
+ }
265
+
266
+ .coorpmanager .errorText {
267
+ flex-grow: 0;
268
+ opacity: 0.5;
269
+ font-family: Gilroy;
270
+ font-size: 10px;
271
+ font-weight: 500;
272
+ font-stretch: normal;
273
+ font-style: normal;
274
+ line-height: 1.2;
275
+ letter-spacing: normal;
276
+ text-align: left;
277
+ padding-top: 8px;
278
+ color: cm_negative_100;
279
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-switch/index.js"],"names":[],"mappings":";AAMA,sDAgFC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-switch/index.js"],"names":[],"mappings":";AAMA,sDAsFC"}
@@ -91,7 +91,9 @@ const InputSwitch = props => {
91
91
  })), /*#__PURE__*/React.createElement("label", {
92
92
  htmlFor: idSwitch,
93
93
  "data-name": "input-switch-label",
94
- tabIndex: 0
94
+ tabIndex: 0,
95
+ "aria-label": ariaLabel,
96
+ title: ariaLabel
95
97
  }))), /*#__PURE__*/React.createElement("div", {
96
98
  className: !details ? style.alignedTextContainer : null
97
99
  }, titlePosition === 'right' ? titleView : null, details ? /*#__PURE__*/React.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","getClassState","style","InputSwitch","props","title","name","id","value","disabled","onChange","description","modified","theme","titlePosition","details","requiredSelection","dataName","ariaLabelledBy","ariaLabel","idSwitch","isDisabled","handleChange","e","target","checked","titleView","descriptionView","getClass","defaultClass","coorpmanager","modifiedClass","coorpmanagerModified","partielUncheck","default","className","btnSwitchContainer","checkbox","alignedTextContainer","detailsTxt","propTypes","string","bool","func","oneOf"],"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 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 } = 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\n const titleView = title ? (\n <span id={`title-view-${dataName}`} className={style.title}>\n {`${title} `}{' '}\n </span>\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 'mooc':\n return {\n defaultClass: style.partielUncheck,\n modifiedClass: style.coorpmanagerModified\n };\n default:\n return {defaultClass: style.default, 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 htmlFor={idSwitch} data-name=\"input-switch-label\" tabIndex={0} />\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']),\n details: PropTypes.string,\n 'data-name': PropTypes.string,\n requiredSelection: PropTypes.bool\n};\nexport default InputSwitch;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","getClassState","style","InputSwitch","props","title","name","id","value","disabled","onChange","description","modified","theme","titlePosition","details","requiredSelection","dataName","ariaLabelledBy","ariaLabel","idSwitch","isDisabled","handleChange","e","target","checked","titleView","descriptionView","getClass","defaultClass","coorpmanager","modifiedClass","coorpmanagerModified","partielUncheck","default","className","btnSwitchContainer","checkbox","alignedTextContainer","detailsTxt","propTypes","string","bool","func","oneOf"],"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 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 } = 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\n const titleView = title ? (\n <span id={`title-view-${dataName}`} className={style.title}>\n {`${title} `}{' '}\n </span>\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 'mooc':\n return {\n defaultClass: style.partielUncheck,\n modifiedClass: style.coorpmanagerModified\n };\n default:\n return {defaultClass: style.default, 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']),\n details: PropTypes.string,\n 'data-name': PropTypes.string,\n requiredSelection: PropTypes.bool\n};\nexport default InputSwitch;\n"],"mappings":"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"}
@@ -33,11 +33,13 @@ declare namespace BrandFormGroup {
33
33
  required: PropTypes.Requireable<boolean>;
34
34
  modified: PropTypes.Requireable<boolean>;
35
35
  error: PropTypes.Requireable<boolean>;
36
+ errorMessage: PropTypes.Requireable<string>;
36
37
  suggestions: PropTypes.Requireable<(PropTypes.InferProps<{
37
38
  name: PropTypes.Requireable<string>;
38
39
  value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
39
40
  }> | null | undefined)[]>;
40
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
41
+ theme: PropTypes.Requireable<string>;
42
+ onInput: PropTypes.Requireable<(...args: any[]) => any>;
41
43
  onFetch: PropTypes.Requireable<(...args: any[]) => any>;
42
44
  onClear: PropTypes.Requireable<(...args: any[]) => any>;
43
45
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -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>;
@@ -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>;
@@ -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>;
@@ -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":";AAgBA,uDA8FC"}
@@ -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,51 @@ 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 errorIconView = theme === 'coorpmanager' && error ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidStatusClose, {
78
+ className: _style.default.leftIcon
79
+ }) : null;
80
+ const errorText = theme === 'coorpmanager' && error ? /*#__PURE__*/_react.default.createElement("div", {
81
+ className: _style.default.errorText // eslint-disable-next-line react/no-danger
82
+ ,
83
+ dangerouslySetInnerHTML: {
84
+ __html: errorMessage
85
+ }
86
+ }) : null;
59
87
  return /*#__PURE__*/_react.default.createElement("div", {
60
- className: (0, _classnames.default)(className, (0, _isNil2.default)(title) && _style.default.isNoTitle)
88
+ className: (0, _classnames.default)(mainClass, className, (0, _isNil2.default)(propsTitle) && _style.default.isNoTitle)
61
89
  }, /*#__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, {
90
+ className: (0, _classnames.default)(_style.default.title, (0, _isEmpty2.default)(value) && _style.default.noValue)
91
+ }, title), /*#__PURE__*/_react.default.createElement("div", {
92
+ className: _style.default.inputContainer
93
+ }, /*#__PURE__*/_react.default.createElement(_reactAutosuggest.default, {
64
94
  theme: {
65
95
  container: _style.default.container,
66
96
  input: _style.default.input,
@@ -78,7 +108,7 @@ const Autocomplete = props => {
78
108
  inputProps: inputProps,
79
109
  focusInputOnSuggestionClick: false,
80
110
  onSuggestionSelected: handleSuggestionsSelected
81
- }))), /*#__PURE__*/_react.default.createElement("div", {
111
+ }), errorIconView, errorText)), /*#__PURE__*/_react.default.createElement("div", {
82
112
  className: _style.default.description
83
113
  }, description));
84
114
  };
@@ -91,11 +121,13 @@ Autocomplete.propTypes = process.env.NODE_ENV !== "production" ? {
91
121
  required: _propTypes.default.bool,
92
122
  modified: _propTypes.default.bool,
93
123
  error: _propTypes.default.bool,
124
+ errorMessage: _propTypes.default.string,
94
125
  suggestions: _propTypes.default.arrayOf(_propTypes.default.shape({
95
126
  name: _propTypes.default.string,
96
127
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number])
97
128
  })),
98
- onChange: _propTypes.default.func,
129
+ theme: _propTypes.default.oneOf((0, _keys2.default)(THEME_STYLE)),
130
+ onInput: _propTypes.default.func,
99
131
  onFetch: _propTypes.default.func,
100
132
  onClear: _propTypes.default.func,
101
133
  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","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 {NovaSolidStatusClose as ErrorIcon} 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 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)}>{title}</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 <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 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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"}
@@ -5,6 +5,12 @@
5
5
  @value dark from colors;
6
6
  @value medium from colors;
7
7
  @value white from colors;
8
+ @value cm_positive_100 from colors;
9
+ @value cm_negative_100 from colors;
10
+ @value cm_grey_100 from colors;
11
+ @value cm_grey_150 from colors;
12
+ @value cm_grey_400 from colors;
13
+ @value cm_grey_700 from colors;
8
14
 
9
15
  .default {
10
16
  display: flex;
@@ -127,4 +133,147 @@
127
133
 
128
134
  .suggestionHighlighted {
129
135
  background-color: #ddd;
130
- }
136
+ }
137
+
138
+ /******************************* coorpmanager theme ***************************************/
139
+
140
+ .coorpmanager {
141
+ width: 100%;
142
+ display: flex;
143
+ align-items: flex-start;
144
+ flex-direction: column;
145
+ flex-wrap: nowrap;
146
+ position: relative;
147
+ }
148
+
149
+ .coorpmanager label {
150
+ width: 100%;
151
+ height: 100%;
152
+ margin-right: 0;
153
+ display: flex;
154
+ align-items: flex-start;
155
+ flex-direction: column;
156
+ position: relative;
157
+ }
158
+
159
+ .coorpmanager .title {
160
+ flex-grow: 0;
161
+ font-family: Gilroy;
162
+ font-size: 10px;
163
+ font-weight: bold;
164
+ font-stretch: normal;
165
+ font-style: normal;
166
+ line-height: 1.2;
167
+ letter-spacing: normal;
168
+ text-align: left;
169
+ z-index: 1;
170
+ color: cm_grey_400;
171
+ width: auto;
172
+ transition: all 0.25s linear;
173
+ pointer-events: none;
174
+ display: flex;
175
+ flex-direction: row;
176
+ flex-wrap: nowrap;
177
+ position: absolute;
178
+ top: 7px;
179
+ left: 16px;
180
+ }
181
+
182
+ .coorpmanager .title.noValue{
183
+ font-size: 14px;
184
+ font-weight: 500;
185
+ color: cm_grey_700;
186
+ top: 14px;
187
+ }
188
+
189
+ .coorpmanager:focus-within .title.noValue {
190
+ font-size: 10px;
191
+ font-weight: bold;
192
+ color: cm_grey_400;
193
+ top: 7px;
194
+ }
195
+
196
+ .coorpmanager .inputContainer {
197
+ width: 100%
198
+ }
199
+
200
+ .coorpmanager input {
201
+ width: 100%;
202
+ height: 44px;
203
+ margin: 0px;
204
+ display: flex;
205
+ align-items: flex-start;
206
+ flex-direction: column;
207
+ flex-grow: 0;
208
+ justify-content: center;
209
+ background-color: cm_grey_100;
210
+ box-sizing: border-box;
211
+ border: none;
212
+ border-radius: 7px;
213
+ color: cm_grey_700;
214
+ font-family: Gilroy;
215
+ font-size: 14px;
216
+ font-weight: 500;
217
+ font-stretch: normal;
218
+ font-style: normal;
219
+ line-height: 44px;
220
+ letter-spacing: normal;
221
+ outline: none;
222
+ padding: 19px 30px 5px 16px;
223
+ text-align: left;
224
+ transition: all 0.25s linear;
225
+ }
226
+
227
+ .coorpmanager .suggestionsContainerOpen {
228
+ width: 100%;
229
+ margin-left: 0;
230
+ border-radius: 7px;
231
+ }
232
+
233
+ .coorpmanager:focus-within input::placeholder {
234
+ color: cm_grey_400;
235
+ }
236
+
237
+ .coorpmanager .suggestionsList {
238
+ border-radius: 7px;
239
+ }
240
+
241
+ .coorpmanager .suggestionHighlighted {
242
+ border-radius: 5px;
243
+ }
244
+
245
+ .coorpmanager input::placeholder {
246
+ color: transparent;
247
+ transition: color 0.25s linear;
248
+ }
249
+
250
+ .coorpmanager input:hover {
251
+ background-color: cm_grey_150;
252
+ }
253
+
254
+ .coorpmanager.error .leftIcon {
255
+ background-color: cm_negative_100;
256
+ color: white;
257
+ border-radius: 50%;
258
+ padding: 2px;
259
+ width: 10px;
260
+ height: 10px;
261
+ position: absolute;
262
+ right: 17px;
263
+ top: 14px;
264
+ }
265
+
266
+ .coorpmanager .errorText {
267
+ flex-grow: 0;
268
+ opacity: 0.5;
269
+ font-family: Gilroy;
270
+ font-size: 10px;
271
+ font-weight: 500;
272
+ font-stretch: normal;
273
+ font-style: normal;
274
+ line-height: 1.2;
275
+ letter-spacing: normal;
276
+ text-align: left;
277
+ padding-top: 8px;
278
+ color: cm_negative_100;
279
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-switch/index.js"],"names":[],"mappings":";AAMA,sDAgFC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/atom/input-switch/index.js"],"names":[],"mappings":";AAMA,sDAsFC"}
@@ -104,7 +104,9 @@ const InputSwitch = props => {
104
104
  })), /*#__PURE__*/_react.default.createElement("label", {
105
105
  htmlFor: idSwitch,
106
106
  "data-name": "input-switch-label",
107
- tabIndex: 0
107
+ tabIndex: 0,
108
+ "aria-label": ariaLabel,
109
+ title: ariaLabel
108
110
  }))), /*#__PURE__*/_react.default.createElement("div", {
109
111
  className: !details ? _style.default.alignedTextContainer : null
110
112
  }, titlePosition === 'right' ? titleView : null, details ? /*#__PURE__*/_react.default.createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["InputSwitch","props","title","name","id","value","disabled","onChange","description","modified","theme","titlePosition","details","requiredSelection","dataName","ariaLabelledBy","ariaLabel","idSwitch","isDisabled","handleChange","useMemo","e","target","checked","titleView","style","descriptionView","getClass","defaultClass","coorpmanager","modifiedClass","coorpmanagerModified","partielUncheck","default","className","getClassState","btnSwitchContainer","checkbox","alignedTextContainer","detailsTxt","propTypes","PropTypes","string","bool","func","oneOf"],"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 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 } = 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\n const titleView = title ? (\n <span id={`title-view-${dataName}`} className={style.title}>\n {`${title} `}{' '}\n </span>\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 'mooc':\n return {\n defaultClass: style.partielUncheck,\n modifiedClass: style.coorpmanagerModified\n };\n default:\n return {defaultClass: style.default, 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 htmlFor={idSwitch} data-name=\"input-switch-label\" tabIndex={0} />\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']),\n details: PropTypes.string,\n 'data-name': PropTypes.string,\n requiredSelection: PropTypes.bool\n};\nexport default InputSwitch;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["InputSwitch","props","title","name","id","value","disabled","onChange","description","modified","theme","titlePosition","details","requiredSelection","dataName","ariaLabelledBy","ariaLabel","idSwitch","isDisabled","handleChange","useMemo","e","target","checked","titleView","style","descriptionView","getClass","defaultClass","coorpmanager","modifiedClass","coorpmanagerModified","partielUncheck","default","className","getClassState","btnSwitchContainer","checkbox","alignedTextContainer","detailsTxt","propTypes","PropTypes","string","bool","func","oneOf"],"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 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 } = 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\n const titleView = title ? (\n <span id={`title-view-${dataName}`} className={style.title}>\n {`${title} `}{' '}\n </span>\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 'mooc':\n return {\n defaultClass: style.partielUncheck,\n modifiedClass: style.coorpmanagerModified\n };\n default:\n return {defaultClass: style.default, 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']),\n details: PropTypes.string,\n 'data-name': PropTypes.string,\n requiredSelection: PropTypes.bool\n};\nexport default InputSwitch;\n"],"mappings":"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"}
@@ -33,11 +33,13 @@ declare namespace BrandFormGroup {
33
33
  required: PropTypes.Requireable<boolean>;
34
34
  modified: PropTypes.Requireable<boolean>;
35
35
  error: PropTypes.Requireable<boolean>;
36
+ errorMessage: PropTypes.Requireable<string>;
36
37
  suggestions: PropTypes.Requireable<(PropTypes.InferProps<{
37
38
  name: PropTypes.Requireable<string>;
38
39
  value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
39
40
  }> | null | undefined)[]>;
40
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
41
+ theme: PropTypes.Requireable<string>;
42
+ onInput: PropTypes.Requireable<(...args: any[]) => any>;
41
43
  onFetch: PropTypes.Requireable<(...args: any[]) => any>;
42
44
  onClear: PropTypes.Requireable<(...args: any[]) => any>;
43
45
  onBlur: PropTypes.Requireable<(...args: any[]) => any>;
@@ -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>;
@@ -43,7 +43,9 @@ const Settings = (props, legacyContext) => {
43
43
 
44
44
  return /*#__PURE__*/_react.default.createElement("div", {
45
45
  className: _style.default.settings
46
- }, /*#__PURE__*/_react.default.createElement(_inputSwitch.default, settings), /*#__PURE__*/_react.default.createElement("span", {
46
+ }, /*#__PURE__*/_react.default.createElement(_inputSwitch.default, _extends({}, settings, {
47
+ 'aria-label': label
48
+ })), /*#__PURE__*/_react.default.createElement("span", {
47
49
  className: _style.default.label,
48
50
  tabIndex: 0
49
51
  }, label), (0, _isEmpty.default)(description) ? null : /*#__PURE__*/_react.default.createElement(_tooltip.default, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Settings","props","legacyContext","translate","GetTranslateFromContext","label","description","moreInfoAriaLabel","settings","style","isEmpty","infoIconTooltip","propTypes","InputSwitch","PropTypes","string","isRequired","contextTypes","Provider","childContextTypes","UserPreferences","preferences","groupAriaLabel","map","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;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAMC,SAAS,GAAG,IAAAC,iCAAA,EAAwBF,aAAxB,CAAlB;;EACA,MAAM;IAACG,KAAD;IAAQC,WAAR;IAAqBC;EAArB,IAAuDN,KAA7D;EAAA,MAAiDO,QAAjD,iCAA6DP,KAA7D;;EACA,oBACE;IAAK,SAAS,EAAEQ,cAAA,CAAMD;EAAtB,gBACE,6BAAC,oBAAD,EAAiBA,QAAjB,CADF,eAEE;IAAM,SAAS,EAAEC,cAAA,CAAMJ,KAAvB;IAA8B,QAAQ,EAAE;EAAxC,GACGA,KADH,CAFF,EAKG,IAAAK,gBAAA,EAAQJ,WAAR,IAAuB,IAAvB,gBACC,6BAAC,gBAAD;IACE,cAAc,EAAEA,WADlB;IAEE,oCAAoC,EAAEH,SAAS,CAC7C,oDAD6C,CAFjD;IAKE,eAAY,0BALd;IAME,cAAYI,iBANd;IAOE,sBAAsB,EAAEE,cAAA,CAAME,eAPhC;IAQE,QAAQ,EAAE;EARZ,EANJ,CADF;AAoBD,CAvBD;;AAyBAX,QAAQ,CAACY,SAAT,wDACKC,oBAAA,CAAYD,SADjB;EAEEP,KAAK,EAAES,kBAAA,CAAUC,MAAV,CAAiBC,UAF1B;EAGEV,WAAW,EAAEQ,kBAAA,CAAUC;AAHzB;AAMAf,QAAQ,CAACiB,YAAT,GAAwB;EACtBd,SAAS,EAAEe,iBAAA,CAASC,iBAAT,CAA2BhB;AADhB,CAAxB;;AAIA,MAAMiB,eAAe,GAAGnB,KAAK,IAAI;EAC/B,MAAM;IAACoB,WAAD;IAAcd,iBAAd;IAAiCe;EAAjC,IAAmDrB,KAAzD;EAEA,oBACE,wDACE;IAAK,SAAS,EAAEQ,cAAA,CAAMY,WAAtB;IAAmC,IAAI,EAAC,OAAxC;IAAgD,cAAYC,cAA5D;IAA4E,QAAQ,EAAE;EAAtF,GACG,IAAAC,YAAA,EACCf,QAAQ,iBACN,6BAAC,QAAD,eAAcA,QAAd;IAAwB,GAAG,EAAEA,QAAQ,CAACH,KAAtC;IAA6C,iBAAiB,EAAEE;EAAhE,GAFH,EAICc,WAJD,CADH,CADF,CADF;AAYD,CAfD;;AAiBAD,eAAe,CAACR,SAAhB,2CAA4B;EAC1BS,WAAW,EAAEP,kBAAA,CAAUU,OAAV,CAAkBV,kBAAA,CAAUW,KAAV,CAAgBzB,QAAQ,CAACY,SAAzB,CAAlB,CADa;EAE1BL,iBAAiB,EAAEO,kBAAA,CAAUC,MAFH;EAG1BO,cAAc,EAAER,kBAAA,CAAUC;AAHA,CAA5B;eAMeK,e"}
1
+ {"version":3,"file":"index.js","names":["Settings","props","legacyContext","translate","GetTranslateFromContext","label","description","moreInfoAriaLabel","settings","style","isEmpty","infoIconTooltip","propTypes","InputSwitch","PropTypes","string","isRequired","contextTypes","Provider","childContextTypes","UserPreferences","preferences","groupAriaLabel","map","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;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAMC,SAAS,GAAG,IAAAC,iCAAA,EAAwBF,aAAxB,CAAlB;;EACA,MAAM;IAACG,KAAD;IAAQC,WAAR;IAAqBC;EAArB,IAAuDN,KAA7D;EAAA,MAAiDO,QAAjD,iCAA6DP,KAA7D;;EACA,oBACE;IAAK,SAAS,EAAEQ,cAAA,CAAMD;EAAtB,gBACE,6BAAC,oBAAD,eAAqBA,QAArB;IAA+B,cAAcH;EAA7C,GADF,eAEE;IAAM,SAAS,EAAEI,cAAA,CAAMJ,KAAvB;IAA8B,QAAQ,EAAE;EAAxC,GACGA,KADH,CAFF,EAKG,IAAAK,gBAAA,EAAQJ,WAAR,IAAuB,IAAvB,gBACC,6BAAC,gBAAD;IACE,cAAc,EAAEA,WADlB;IAEE,oCAAoC,EAAEH,SAAS,CAC7C,oDAD6C,CAFjD;IAKE,eAAY,0BALd;IAME,cAAYI,iBANd;IAOE,sBAAsB,EAAEE,cAAA,CAAME,eAPhC;IAQE,QAAQ,EAAE;EARZ,EANJ,CADF;AAoBD,CAvBD;;AAyBAX,QAAQ,CAACY,SAAT,wDACKC,oBAAA,CAAYD,SADjB;EAEEP,KAAK,EAAES,kBAAA,CAAUC,MAAV,CAAiBC,UAF1B;EAGEV,WAAW,EAAEQ,kBAAA,CAAUC;AAHzB;AAMAf,QAAQ,CAACiB,YAAT,GAAwB;EACtBd,SAAS,EAAEe,iBAAA,CAASC,iBAAT,CAA2BhB;AADhB,CAAxB;;AAIA,MAAMiB,eAAe,GAAGnB,KAAK,IAAI;EAC/B,MAAM;IAACoB,WAAD;IAAcd,iBAAd;IAAiCe;EAAjC,IAAmDrB,KAAzD;EAEA,oBACE,wDACE;IAAK,SAAS,EAAEQ,cAAA,CAAMY,WAAtB;IAAmC,IAAI,EAAC,OAAxC;IAAgD,cAAYC,cAA5D;IAA4E,QAAQ,EAAE;EAAtF,GACG,IAAAC,YAAA,EACCf,QAAQ,iBACN,6BAAC,QAAD,eAAcA,QAAd;IAAwB,GAAG,EAAEA,QAAQ,CAACH,KAAtC;IAA6C,iBAAiB,EAAEE;EAAhE,GAFH,EAICc,WAJD,CADH,CADF,CADF;AAYD,CAfD;;AAiBAD,eAAe,CAACR,SAAhB,2CAA4B;EAC1BS,WAAW,EAAEP,kBAAA,CAAUU,OAAV,CAAkBV,kBAAA,CAAUW,KAAV,CAAgBzB,QAAQ,CAACY,SAAzB,CAAlB,CADa;EAE1BL,iBAAiB,EAAEO,kBAAA,CAAUC,MAFH;EAG1BO,cAAc,EAAER,kBAAA,CAAUC;AAHA,CAA5B;eAMeK,e"}
@@ -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>;
@@ -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>;
@@ -0,0 +1 @@
1
+ {"ignore_dirs":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.14.22",
3
+ "version": "11.15.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -168,5 +168,5 @@
168
168
  "last 2 versions",
169
169
  "IE 11"
170
170
  ],
171
- "gitHead": "5c60b99fca945333f2eff259d2456df0a87cc2ec"
171
+ "gitHead": "dc5b9ac11fcacf0432d48e55be42092c076cc754"
172
172
  }