@proprioo/salatim 18.0.18 → 18.2.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 (66) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/lib/energy/src/Energy.js +1 -1
  3. package/lib/energy/src/Energy.js.map +1 -1
  4. package/lib/forms/src/userForm/UserForm.d.ts +3 -0
  5. package/lib/forms/src/userForm/UserForm.js +3 -2
  6. package/lib/forms/src/userForm/UserForm.js.map +1 -1
  7. package/lib/hooks/index.d.ts +2 -0
  8. package/lib/hooks/index.js +11 -0
  9. package/lib/hooks/index.js.map +1 -0
  10. package/lib/hooks/useDebounce/useDebounce.d.ts +2 -0
  11. package/lib/hooks/useDebounce/useDebounce.js +27 -0
  12. package/lib/hooks/useDebounce/useDebounce.js.map +1 -0
  13. package/lib/hooks/useDebounce/useDebounce.test.d.ts +1 -0
  14. package/lib/hooks/useDebounce/useDebounce.test.js +29 -0
  15. package/lib/hooks/useDebounce/useDebounce.test.js.map +1 -0
  16. package/lib/hooks/useEmailSuggestion/useEmailSuggestion.d.ts +6 -0
  17. package/lib/hooks/useEmailSuggestion/useEmailSuggestion.js +84 -0
  18. package/lib/hooks/useEmailSuggestion/useEmailSuggestion.js.map +1 -0
  19. package/lib/hooks/useEmailSuggestion/useEmailSuggestion.test.d.ts +1 -0
  20. package/lib/hooks/useEmailSuggestion/useEmailSuggestion.test.js +73 -0
  21. package/lib/hooks/useEmailSuggestion/useEmailSuggestion.test.js.map +1 -0
  22. package/lib/index.d.ts +1 -0
  23. package/lib/index.js +2 -2
  24. package/lib/index.js.map +1 -1
  25. package/lib/ui/index.d.ts +2 -0
  26. package/lib/ui/index.js +4 -2
  27. package/lib/ui/index.js.map +1 -1
  28. package/lib/ui/src/buttonRadioGroup/ButtonRadio.styles.js +4 -4
  29. package/lib/ui/src/buttonRadioGroup/ButtonRadio.styles.js.map +1 -1
  30. package/lib/ui/src/emailInput/EmailInput.d.ts +3 -0
  31. package/lib/ui/src/emailInput/EmailInput.interfaces.d.ts +12 -0
  32. package/lib/ui/src/emailInput/EmailInput.interfaces.js +3 -0
  33. package/lib/ui/src/emailInput/EmailInput.interfaces.js.map +1 -0
  34. package/lib/ui/src/emailInput/EmailInput.js +118 -0
  35. package/lib/ui/src/emailInput/EmailInput.js.map +1 -0
  36. package/lib/ui/src/emailInput/EmailInput.stories.d.ts +1 -0
  37. package/lib/ui/src/emailInput/EmailInput.stories.js +44 -0
  38. package/lib/ui/src/emailInput/EmailInput.stories.js.map +1 -0
  39. package/lib/ui/src/emailInput/EmailInput.styles.d.ts +2 -0
  40. package/lib/ui/src/emailInput/EmailInput.styles.js +16 -0
  41. package/lib/ui/src/emailInput/EmailInput.styles.js.map +1 -0
  42. package/lib/ui/src/emailInput/EmailInput.test.d.ts +1 -0
  43. package/lib/ui/src/emailInput/EmailInput.test.js +215 -0
  44. package/lib/ui/src/emailInput/EmailInput.test.js.map +1 -0
  45. package/lib/ui/src/input/Input.js +1 -1
  46. package/lib/ui/src/input/Input.js.map +1 -1
  47. package/lib/ui/src/input/Input.stories.js +2 -0
  48. package/lib/ui/src/input/Input.stories.js.map +1 -1
  49. package/lib/ui/src/inputBase/InputBase.js +1 -1
  50. package/lib/ui/src/inputBase/InputBase.js.map +1 -1
  51. package/lib/ui/src/inputBase/InputBase.styles.d.ts +3 -1
  52. package/lib/ui/src/inputBase/InputBase.styles.js +7 -1
  53. package/lib/ui/src/inputBase/InputBase.styles.js.map +1 -1
  54. package/lib/ui/src/modal/Modal.styles.js +2 -2
  55. package/lib/ui/src/modal/Modal.styles.js.map +1 -1
  56. package/lib/ui/src/selectWrapper/SelectWrapper.styles.js +1 -1
  57. package/lib/ui/src/selectWrapper/SelectWrapper.styles.js.map +1 -1
  58. package/lib/ui/src/textarea/Textarea.d.ts +1 -0
  59. package/lib/ui/src/textarea/Textarea.js +4 -3
  60. package/lib/ui/src/textarea/Textarea.js.map +1 -1
  61. package/lib/ui/src/textarea/Textarea.stories.js +25 -10
  62. package/lib/ui/src/textarea/Textarea.stories.js.map +1 -1
  63. package/lib/ui/src/textarea/Textarea.styles.d.ts +2 -2
  64. package/lib/ui/src/textarea/Textarea.styles.js +7 -4
  65. package/lib/ui/src/textarea/Textarea.styles.js.map +1 -1
  66. package/package.json +4 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  ## Changelog
2
2
 
3
+ **18.2.0**
4
+
5
+ * Add `useDebounce()` hook
6
+ * Add `useEmailSuggestion()` hook with mailcheck feature
7
+ * Add `EmailInput` that leverage on `useEmailSuggestion()` hook
8
+
9
+ **18.1.4**
10
+
11
+ * Fix button border radius display on mobile device
12
+
13
+ **18.1.3**
14
+
15
+ * Add width on SelectWrapper
16
+
17
+ **18.1.2**
18
+
19
+ * Fix Modal on mobile
20
+
21
+ **18.1.1**
22
+
23
+ * Textarea: fix text colors when disabled
24
+ * InputBase: fix label overflow when suffix
25
+
26
+ **18.1.0**
27
+
28
+ * Add customizable border radius to Textarea
29
+ * Fix update blank EPC wording
30
+ * Remove autocomplete on Input
31
+
3
32
  **18.0.18**
4
33
 
5
34
  * Fix Checkbox disabled
@@ -16,7 +16,7 @@ var Energy = function (_a) {
16
16
  // position of the EPC letter on the background gradient :
17
17
  var EPC_LETTER_POS = EPC === 1 ? 0 : (EPC - 1) * ARROW_SIZE + (EPC - 2) * 10;
18
18
  var TEXT_CONTENT = {
19
- blankEPC: 'Diagnostic vierge',
19
+ blankEPC: 'Diagnostic de performance énergétique vierge',
20
20
  EPCTitle: 'Diagnostic de performance énergétique',
21
21
  EPCLegend: "Diagnostic de performance \u00E9nerg\u00E9tique : niveau " + interfaces_1.EnergyLevel[EPC],
22
22
  consumptionTitle: 'Consommation',
@@ -1 +1 @@
1
- {"version":3,"file":"Energy.js","sourceRoot":"","sources":["../../../packages/energy/src/Energy.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Energy.js","sourceRoot":"","sources":["../../../packages/energy/src/Energy.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  import { Dictionary, UserProps } from '@proprioo/hokkaido';
3
+ import { EmailInputI18nLabelProps } from '../../../ui/src/emailInput/EmailInput.interfaces';
3
4
  export interface UserFormLabelProps {
4
5
  firstName: string;
5
6
  lastName: string;
@@ -9,6 +10,8 @@ export interface UserFormLabelProps {
9
10
  export interface UserFormProps {
10
11
  user: UserProps;
11
12
  errors: Dictionary;
13
+ emailSuggestionI18nLabels?: EmailInputI18nLabelProps;
14
+ isEmailSuggestionEnabled?: boolean;
12
15
  labels?: UserFormLabelProps;
13
16
  errorMessages?: Dictionary;
14
17
  phoneWithFlags?: boolean;
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.formatEmail = void 0;
18
18
  var react_1 = __importDefault(require("react"));
19
19
  var Phone_1 = __importDefault(require("../../../phone/src/phoneInput/Phone"));
20
+ var EmailInput_1 = __importDefault(require("../../../ui/src/emailInput/EmailInput"));
20
21
  var Input_1 = require("../../../ui/src/input/Input");
21
22
  var InputBase_1 = __importDefault(require("../../../ui/src/inputBase/InputBase"));
22
23
  var utils_1 = require("../../../utils");
@@ -36,7 +37,7 @@ var DEFAULT_ERROR_MESSAGES = {
36
37
  var formatEmail = function (email) { return email.trim(); };
37
38
  exports.formatEmail = formatEmail;
38
39
  var UserForm = function (_a) {
39
- var user = _a.user, errors = _a.errors, _b = _a.labels, labels = _b === void 0 ? DEFAULT_INPUT_LABELS : _b, _c = _a.errorMessages, errorMessages = _c === void 0 ? {} : _c, updateUser = _a.updateUser, _d = _a.phoneWithFlags, phoneWithFlags = _d === void 0 ? false : _d;
40
+ var user = _a.user, errors = _a.errors, emailSuggestionI18nLabels = _a.emailSuggestionI18nLabels, _b = _a.isEmailSuggestionEnabled, isEmailSuggestionEnabled = _b === void 0 ? true : _b, _c = _a.labels, labels = _c === void 0 ? DEFAULT_INPUT_LABELS : _c, _d = _a.errorMessages, errorMessages = _d === void 0 ? {} : _d, updateUser = _a.updateUser, _e = _a.phoneWithFlags, phoneWithFlags = _e === void 0 ? false : _e;
40
41
  var firstName = user.firstName, lastName = user.lastName, email = user.email, phone = user.phone;
41
42
  var mergedErrorMessages = __assign(__assign({}, DEFAULT_ERROR_MESSAGES), errorMessages);
42
43
  return (react_1.default.createElement(UserForm_styles_1.Layout, null,
@@ -55,7 +56,7 @@ var UserForm = function (_a) {
55
56
  react_1.default.createElement(utils_1.Line, null,
56
57
  react_1.default.createElement(utils_1.Row, null,
57
58
  react_1.default.createElement(UserForm_styles_1.InputWithError, null,
58
- react_1.default.createElement(InputBase_1.default, { dataTest: "customer-email", name: "email", type: Input_1.InputType.EMAIL, disabled: false, error: !!errors.email, label: labels.email, value: email, onChange: function (value) {
59
+ react_1.default.createElement(EmailInput_1.default, { dataTest: "customer-email", name: "email", disabled: false, error: !!errors.email, label: labels.email, isSuggestionEnabled: isEmailSuggestionEnabled, i18nLabels: emailSuggestionI18nLabels, value: email, onChange: function (value) {
59
60
  return updateUser(__assign(__assign({}, user), { email: exports.formatEmail(value) }), 'user.email');
60
61
  } }),
61
62
  errors.email && (react_1.default.createElement(UserForm_styles_1.ErrorLayout, { "data-test": "invalid-email" }, mergedErrorMessages.email))),
@@ -1 +1 @@
1
- {"version":3,"file":"UserForm.js","sourceRoot":"","sources":["../../../../packages/forms/src/userForm/UserForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserForm.js","sourceRoot":"","sources":["../../../../packages/forms/src/userForm/UserForm.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default as useDebounce } from './useDebounce/useDebounce';
2
+ export { default as useEmailSuggestion, UseEmailSuggestionProps } from './useEmailSuggestion/useEmailSuggestion';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useEmailSuggestion = exports.useDebounce = void 0;
7
+ var useDebounce_1 = require("./useDebounce/useDebounce");
8
+ Object.defineProperty(exports, "useDebounce", { enumerable: true, get: function () { return __importDefault(useDebounce_1).default; } });
9
+ var useEmailSuggestion_1 = require("./useEmailSuggestion/useEmailSuggestion");
10
+ Object.defineProperty(exports, "useEmailSuggestion", { enumerable: true, get: function () { return __importDefault(useEmailSuggestion_1).default; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../packages/hooks/index.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAmE;AAA1D,2HAAA,OAAO,OAAe;AAC/B,8EAGiD;AAF/C,yIAAA,OAAO,OAAsB"}
@@ -0,0 +1,2 @@
1
+ declare function useDebounce<T>(value: T, delay: number): T;
2
+ export default useDebounce;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ // Hook from : https://usehooks.com/useDebounce/
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ var react_1 = require("react");
5
+ // T is a generic type for value parameter, our case this will be string
6
+ function useDebounce(value, delay) {
7
+ // State and setters for debounced value
8
+ var _a = react_1.useState(value), debouncedValue = _a[0], setDebouncedValue = _a[1];
9
+ react_1.useEffect(function () {
10
+ if (delay > 0) {
11
+ // Update debounced value after delay
12
+ var handler_1 = setTimeout(function () {
13
+ setDebouncedValue(value);
14
+ }, delay);
15
+ // Cancel the timeout if value changes (also on delay change or unmount)
16
+ // This is how we prevent debounced value from updating if value is changed ...
17
+ // .. within the delay period. Timeout gets cleared and restarted.
18
+ return function () {
19
+ clearTimeout(handler_1);
20
+ };
21
+ }
22
+ }, [value, delay] // Only re-call effect if value or delay changes
23
+ );
24
+ return delay === 0 ? value : debouncedValue;
25
+ }
26
+ exports.default = useDebounce;
27
+ //# sourceMappingURL=useDebounce.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../../../packages/hooks/useDebounce/useDebounce.ts"],"names":[],"mappings":";AAAA,gDAAgD;;AAEhD,+BAA4C;AAE5C,wEAAwE;AACxE,SAAS,WAAW,CAAI,KAAQ,EAAE,KAAa;IAC7C,wCAAwC;IAClC,IAAA,KAAsC,gBAAQ,CAAI,KAAK,CAAC,EAAvD,cAAc,QAAA,EAAE,iBAAiB,QAAsB,CAAC;IAE/D,iBAAS,CACP;QACE,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,qCAAqC;YACrC,IAAM,SAAO,GAAG,UAAU,CAAC;gBACzB,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;YACV,wEAAwE;YACxE,+EAA+E;YAC/E,kEAAkE;YAClE,OAAO;gBACL,YAAY,CAAC,SAAO,CAAC,CAAC;YACxB,CAAC,CAAC;SACH;IACH,CAAC,EACD,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,gDAAgD;KAChE,CAAC;IAEF,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;AAC9C,CAAC;AAED,kBAAe,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_hooks_1 = require("@testing-library/react-hooks");
7
+ var useDebounce_1 = __importDefault(require("./useDebounce"));
8
+ describe('useDebounce', function () {
9
+ beforeAll(function () { return jest.useFakeTimers(); });
10
+ afterEach(function () { return jest.clearAllTimers(); });
11
+ afterAll(function () { return jest.useRealTimers(); });
12
+ it('should change value after given amount of time', function () {
13
+ var _a = react_hooks_1.renderHook(function (value) { return useDebounce_1.default(value, 100); }, { initialProps: 'value' }), result = _a.result, rerender = _a.rerender;
14
+ expect(result.current).toEqual('value');
15
+ rerender('new-value');
16
+ expect(result.current).toEqual('value');
17
+ react_hooks_1.act(function () {
18
+ jest.advanceTimersByTime(100);
19
+ expect(result.current).toEqual('new-value');
20
+ });
21
+ });
22
+ it('should change value immediately', function () {
23
+ var _a = react_hooks_1.renderHook(function (value) { return useDebounce_1.default(value, 0); }, { initialProps: 'value' }), result = _a.result, rerender = _a.rerender;
24
+ expect(result.current).toEqual('value');
25
+ rerender('new-value');
26
+ expect(result.current).toEqual('new-value');
27
+ });
28
+ });
29
+ //# sourceMappingURL=useDebounce.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDebounce.test.js","sourceRoot":"","sources":["../../../packages/hooks/useDebounce/useDebounce.test.ts"],"names":[],"mappings":";;;;;AAAA,4DAA+D;AAE/D,8DAAwC;AAExC,QAAQ,CAAC,aAAa,EAAE;IACtB,SAAS,CAAC,cAAM,OAAA,IAAI,CAAC,aAAa,EAAE,EAApB,CAAoB,CAAC,CAAC;IACtC,SAAS,CAAC,cAAM,OAAA,IAAI,CAAC,cAAc,EAAE,EAArB,CAAqB,CAAC,CAAC;IACvC,QAAQ,CAAC,cAAM,OAAA,IAAI,CAAC,aAAa,EAAE,EAApB,CAAoB,CAAC,CAAC;IAErC,EAAE,CAAC,gDAAgD,EAAE;QAC7C,IAAA,KAAuB,wBAAU,CACrC,UAAC,KAAa,IAAK,OAAA,qBAAW,CAAC,KAAK,EAAE,GAAG,CAAC,EAAvB,CAAuB,EAC1C,EAAE,YAAY,EAAE,OAAO,EAAE,CAC1B,EAHO,MAAM,YAAA,EAAE,QAAQ,cAGvB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExC,iBAAG,CAAC;YACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE;QAC9B,IAAA,KAAuB,wBAAU,CACrC,UAAC,KAAa,IAAK,OAAA,qBAAW,CAAC,KAAK,EAAE,CAAC,CAAC,EAArB,CAAqB,EACxC,EAAE,YAAY,EAAE,OAAO,EAAE,CAC1B,EAHO,MAAM,YAAA,EAAE,QAAQ,cAGvB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAExC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { nullOrString } from '@proprioo/hokkaido';
2
+ export interface UseEmailSuggestionProps {
3
+ debounce?: number;
4
+ email?: nullOrString;
5
+ }
6
+ export default function useEmailSuggestion({ debounce, email }: UseEmailSuggestionProps): string | undefined;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var mailcheck_1 = __importDefault(require("mailcheck"));
7
+ var react_1 = require("react");
8
+ var useDebounce_1 = __importDefault(require("../useDebounce/useDebounce"));
9
+ /**
10
+ * Extracted from BigQuery:
11
+ *
12
+ SELECT
13
+ REGEXP_EXTRACT(email, r'@(.+)') AS domain,
14
+ COUNT(email) AS count
15
+ FROM
16
+ `proprioo-production.events.raw_aws_ses_events`
17
+ WHERE
18
+ DATE(timestamp) <= CURRENT_DATETIME()
19
+ GROUP BY
20
+ domain
21
+ ORDER BY
22
+ count DESC
23
+ */
24
+ var DOMAINS = [
25
+ 'gmail.com',
26
+ 'yahoo.fr',
27
+ 'hotmail.fr',
28
+ 'hotmail.com',
29
+ 'wanadoo.fr',
30
+ 'orange.fr',
31
+ 'free.fr',
32
+ 'yahoo.com',
33
+ 'live.fr',
34
+ 'outlook.fr',
35
+ 'laposte.net',
36
+ 'icloud.com',
37
+ 'sfr.fr',
38
+ 'outlook.com',
39
+ 'me.com',
40
+ 'aol.com',
41
+ 'neuf.fr',
42
+ 'msn.com',
43
+ 'yopmail.com',
44
+ 'ymail.com',
45
+ 'club-internet.fr',
46
+ 'live.com',
47
+ 'bbox.fr'
48
+ ];
49
+ var TOP_LEVEL_DOMAINS = [
50
+ 'com',
51
+ 'net',
52
+ 'org',
53
+ 'edu',
54
+ 'info',
55
+ 'be',
56
+ 'ch',
57
+ 'de',
58
+ 'es',
59
+ 'eu',
60
+ 'fr'
61
+ ];
62
+ function useEmailSuggestion(_a) {
63
+ var _b = _a.debounce, debounce = _b === void 0 ? 500 : _b, email = _a.email;
64
+ var _c = react_1.useState(undefined), suggestedEmail = _c[0], setSuggestedEmail = _c[1];
65
+ var debouncedSuggestedEmail = useDebounce_1.default(suggestedEmail, debounce);
66
+ var checkEmail = function (value) {
67
+ mailcheck_1.default.run({
68
+ email: value,
69
+ domains: DOMAINS,
70
+ topLevelDomains: TOP_LEVEL_DOMAINS,
71
+ suggested: function (suggestion) {
72
+ setSuggestedEmail(suggestion.full);
73
+ }
74
+ });
75
+ };
76
+ react_1.useEffect(function () {
77
+ if (email) {
78
+ checkEmail(email);
79
+ }
80
+ }, [email]);
81
+ return debouncedSuggestedEmail;
82
+ }
83
+ exports.default = useEmailSuggestion;
84
+ //# sourceMappingURL=useEmailSuggestion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEmailSuggestion.js","sourceRoot":"","sources":["../../../packages/hooks/useEmailSuggestion/useEmailSuggestion.ts"],"names":[],"mappings":";;;;;AAAA,wDAAkC;AAClC,+BAA4C;AAI5C,2EAAqD;AAErD;;;;;;;;;;;;;;GAcG;AACH,IAAM,OAAO,GAAG;IACd,WAAW;IACX,UAAU;IACV,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,WAAW;IACX,SAAS;IACT,WAAW;IACX,SAAS;IACT,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,aAAa;IACb,WAAW;IACX,kBAAkB;IAClB,UAAU;IACV,SAAS;CACV,CAAC;AAEF,IAAM,iBAAiB,GAAG;IACxB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC;AAOF,SAAwB,kBAAkB,CAAC,EAGjB;QAFxB,gBAAc,EAAd,QAAQ,mBAAG,GAAG,KAAA,EACd,KAAK,WAAA;IAEC,IAAA,KAAsC,gBAAQ,CAClD,SAAS,CACV,EAFM,cAAc,QAAA,EAAE,iBAAiB,QAEvC,CAAC;IAEF,IAAM,uBAAuB,GAAG,qBAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAEtE,IAAM,UAAU,GAAG,UAAC,KAAa;QAC/B,mBAAS,CAAC,GAAG,CAAC;YACZ,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,iBAAiB;YAClC,SAAS,EAAE,UAAC,UAAuC;gBACjD,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,iBAAS,CAAC;QACR,IAAI,KAAK,EAAE;YACT,UAAU,CAAC,KAAK,CAAC,CAAC;SACnB;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,uBAAuB,CAAC;AACjC,CAAC;AA5BD,qCA4BC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var react_hooks_1 = require("@testing-library/react-hooks");
43
+ var useEmailSuggestion_1 = __importDefault(require("./useEmailSuggestion"));
44
+ describe('useEmailSuggestion()', function () {
45
+ beforeAll(function () { return jest.useFakeTimers(); });
46
+ afterEach(function () { return jest.clearAllTimers(); });
47
+ afterAll(function () { return jest.useRealTimers(); });
48
+ it('should return the correct suggestion after amount of time', function () { return __awaiter(void 0, void 0, void 0, function () {
49
+ var result;
50
+ return __generator(this, function (_a) {
51
+ result = react_hooks_1.renderHook(function () {
52
+ return useEmailSuggestion_1.default({ email: 'leo@gmaul.com', debounce: 100 });
53
+ }).result;
54
+ expect(result.current).toEqual(undefined);
55
+ react_hooks_1.act(function () {
56
+ jest.advanceTimersByTime(100);
57
+ expect(result.current).toEqual('leo@gmail.com');
58
+ });
59
+ return [2 /*return*/];
60
+ });
61
+ }); });
62
+ it('should return the correct suggestion immediately', function () { return __awaiter(void 0, void 0, void 0, function () {
63
+ var result;
64
+ return __generator(this, function (_a) {
65
+ result = react_hooks_1.renderHook(function () {
66
+ return useEmailSuggestion_1.default({ email: 'leo@gmaul.com', debounce: 0 });
67
+ }).result;
68
+ expect(result.current).toEqual('leo@gmail.com');
69
+ return [2 /*return*/];
70
+ });
71
+ }); });
72
+ });
73
+ //# sourceMappingURL=useEmailSuggestion.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEmailSuggestion.test.js","sourceRoot":"","sources":["../../../packages/hooks/useEmailSuggestion/useEmailSuggestion.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA+D;AAE/D,4EAAsD;AAEtD,QAAQ,CAAC,sBAAsB,EAAE;IAC/B,SAAS,CAAC,cAAM,OAAA,IAAI,CAAC,aAAa,EAAE,EAApB,CAAoB,CAAC,CAAC;IACtC,SAAS,CAAC,cAAM,OAAA,IAAI,CAAC,cAAc,EAAE,EAArB,CAAqB,CAAC,CAAC;IACvC,QAAQ,CAAC,cAAM,OAAA,IAAI,CAAC,aAAa,EAAE,EAApB,CAAoB,CAAC,CAAC;IAErC,EAAE,CAAC,2DAA2D,EAAE;;;YACtD,MAAM,GAAK,wBAAU,CAAC;gBAC5B,OAAA,4BAAkB,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;YAA7D,CAA6D,CAC9D,OAFa,CAEZ;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE1C,iBAAG,CAAC;gBACF,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC9B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;;;SACJ,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE;;;YAC7C,MAAM,GAAK,wBAAU,CAAC;gBAC5B,OAAA,4BAAkB,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YAA3D,CAA2D,CAC5D,OAFa,CAEZ;YAEF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;;;SACjD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './date';
2
2
  export * from './energy';
3
3
  export * from './forms';
4
+ export * from './hooks';
4
5
  export * from './phone';
5
6
  export * from './ui';
6
7
  export * from './utils';