@mrshmllw/smores-react 2.14.0 → 2.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 (52) hide show
  1. package/dist/Dropdown/__tests__/Dropdown.d.ts +1 -0
  2. package/dist/Dropdown/__tests__/Dropdown.js +80 -0
  3. package/dist/Dropdown/__tests__/Dropdown.js.map +1 -0
  4. package/dist/Field/Field.d.ts +13 -0
  5. package/dist/Field/Field.js +72 -0
  6. package/dist/Field/Field.js.map +1 -0
  7. package/dist/Field/index.d.ts +3 -0
  8. package/dist/Field/index.js +2 -0
  9. package/dist/Field/index.js.map +1 -0
  10. package/dist/Field/types/commonFieldTypes.d.ts +12 -0
  11. package/dist/Field/types/commonFieldTypes.js +2 -0
  12. package/dist/Field/types/commonFieldTypes.js.map +1 -0
  13. package/dist/Fieldset/Fieldset.d.ts +9 -0
  14. package/dist/Fieldset/Fieldset.js +22 -0
  15. package/dist/Fieldset/Fieldset.js.map +1 -0
  16. package/dist/Fieldset/index.d.ts +1 -0
  17. package/dist/Fieldset/index.js +2 -0
  18. package/dist/Fieldset/index.js.map +1 -0
  19. package/dist/SearchInput/__tests__/SearchInput.d.ts +1 -0
  20. package/dist/SearchInput/__tests__/SearchInput.js +32 -0
  21. package/dist/SearchInput/__tests__/SearchInput.js.map +1 -0
  22. package/dist/Textarea/__tests__/Textarea.d.ts +1 -0
  23. package/dist/Textarea/__tests__/Textarea.js +17 -0
  24. package/dist/Textarea/__tests__/Textarea.js.map +1 -0
  25. package/dist/hooks/index.d.ts +3 -0
  26. package/dist/hooks/index.js +4 -0
  27. package/dist/hooks/index.js.map +1 -0
  28. package/dist/hooks/useClickOutside/index.d.ts +6 -0
  29. package/dist/hooks/useClickOutside/index.js +24 -0
  30. package/dist/hooks/useClickOutside/index.js.map +1 -0
  31. package/dist/hooks/useClickOutside/useClickOutside.test.d.ts +1 -0
  32. package/dist/hooks/useClickOutside/useClickOutside.test.js +46 -0
  33. package/dist/hooks/useClickOutside/useClickOutside.test.js.map +1 -0
  34. package/dist/hooks/useEventListener/index.d.ts +8 -0
  35. package/dist/hooks/useEventListener/index.js +14 -0
  36. package/dist/hooks/useEventListener/index.js.map +1 -0
  37. package/dist/hooks/useEventListener/useEventLitener.test.d.ts +1 -0
  38. package/dist/hooks/useEventListener/useEventLitener.test.js +36 -0
  39. package/dist/hooks/useEventListener/useEventLitener.test.js.map +1 -0
  40. package/dist/hooks/useScript/index.d.ts +4 -0
  41. package/dist/hooks/useScript/index.js +13 -0
  42. package/dist/hooks/useScript/index.js.map +1 -0
  43. package/dist/hooks/useScript/useScript.test.d.ts +1 -0
  44. package/dist/hooks/useScript/useScript.test.js +17 -0
  45. package/dist/hooks/useScript/useScript.test.js.map +1 -0
  46. package/dist/index.d.ts +2 -1
  47. package/dist/index.js +1 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/types.d.ts +5 -0
  50. package/dist/types.js +2 -0
  51. package/dist/types.js.map +1 -0
  52. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,80 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import 'jest-styled-components';
4
+ import { Dropdown } from '../Dropdown';
5
+ const days = [
6
+ {
7
+ label: 'Monday',
8
+ value: 'MONDAY',
9
+ },
10
+ {
11
+ label: 'Tuesday',
12
+ value: 'TUESDAY',
13
+ },
14
+ {
15
+ label: 'Wednesday',
16
+ value: 'WEDNESDAY',
17
+ },
18
+ {
19
+ label: 'Thursday',
20
+ value: 'THURSDAY',
21
+ },
22
+ {
23
+ label: 'Friday',
24
+ value: 'FRIDAY',
25
+ },
26
+ {
27
+ label: 'Saturday',
28
+ value: 'SATURDAY',
29
+ },
30
+ {
31
+ label: 'Sunday',
32
+ value: 'SUNDAY',
33
+ },
34
+ ];
35
+ const daysWithGroups = [
36
+ {
37
+ label: 'Monday',
38
+ value: 'MONDAY',
39
+ optionGroupLabel: 'Weekday',
40
+ },
41
+ {
42
+ label: 'Tuesday',
43
+ value: 'TUESDAY',
44
+ optionGroupLabel: 'Weekday',
45
+ },
46
+ {
47
+ label: 'Wednesday',
48
+ value: 'WEDNESDAY',
49
+ optionGroupLabel: 'Weekday',
50
+ },
51
+ {
52
+ label: 'Thursday',
53
+ value: 'THURSDAY',
54
+ optionGroupLabel: 'Weekday',
55
+ },
56
+ {
57
+ label: 'Friday',
58
+ value: 'FRIDAY',
59
+ optionGroupLabel: 'Weekday',
60
+ },
61
+ {
62
+ label: 'Saturday',
63
+ value: 'SATURDAY',
64
+ optionGroupLabel: 'Weekend',
65
+ },
66
+ {
67
+ label: 'Sunday',
68
+ value: 'SUNDAY',
69
+ optionGroupLabel: 'Weekend',
70
+ },
71
+ ];
72
+ test('rendersDropdown', () => {
73
+ const { container } = render(React.createElement(Dropdown, { list: days }));
74
+ expect(container.firstChild).toMatchSnapshot();
75
+ });
76
+ test('rendersDropdownWithGroups', () => {
77
+ const { container } = render(React.createElement(Dropdown, { list: daysWithGroups }));
78
+ expect(container.firstChild).toMatchSnapshot();
79
+ });
80
+ //# sourceMappingURL=Dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../src/Dropdown/__tests__/Dropdown.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,wBAAwB,CAAA;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,IAAI,GAAG;IACX;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;KACjB;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;KACnB;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;KAChB;CACF,CAAA;AAED,MAAM,cAAc,GAAG;IACrB;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;QAChB,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,WAAW;QAClB,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,gBAAgB,EAAE,SAAS;KAC5B;IACD;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;QACf,gBAAgB,EAAE,SAAS;KAC5B;CACF,CAAA;AAED,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,CAAC,CAAA;IAEtD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAA;AAChD,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACrC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,oBAAC,QAAQ,IAAC,IAAI,EAAE,cAAc,GAAI,CAAC,CAAA;IAEhE,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAA;AAChD,CAAC,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { CommonFieldTypes } from './types/commonFieldTypes';
3
+ interface FieldProps extends CommonFieldTypes {
4
+ children: React.ReactElement;
5
+ showCaret?: boolean;
6
+ value: string;
7
+ trailingIcon?: string;
8
+ dropdownKey?: string;
9
+ fullHeight?: boolean;
10
+ assistiveText?: string;
11
+ }
12
+ export declare const Field: ({ children, renderAsTitle, className, error, id, label, outlined, value, trailingIcon, errorMsg, dropdownKey, required, showCaret, fullHeight, assistiveText, ...marginProps }: FieldProps) => JSX.Element;
13
+ export {};
@@ -0,0 +1,72 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from 'react';
13
+ import styled from 'styled-components';
14
+ import { darken } from 'polished';
15
+ import { Icon } from '../Icon';
16
+ import { Text } from '../Text';
17
+ import { Box } from '../Box';
18
+ import { theme } from '../theme';
19
+ export const Field = (_a) => {
20
+ var { children, renderAsTitle, className = '', error, id, label, outlined = false, value, trailingIcon, errorMsg, dropdownKey, required, showCaret, fullHeight = false, assistiveText } = _a, marginProps = __rest(_a, ["children", "renderAsTitle", "className", "error", "id", "label", "outlined", "value", "trailingIcon", "errorMsg", "dropdownKey", "required", "showCaret", "fullHeight", "assistiveText"]);
21
+ return (React.createElement(Container, Object.assign({ className: className }, marginProps),
22
+ label && (React.createElement(React.Fragment, null, renderAsTitle ? (React.createElement(Box, { mb: "16px" },
23
+ React.createElement(Text, { tag: "label", typo: "heading-small", htmlFor: id, mb: assistiveText ? { custom: 4 } : undefined }, label),
24
+ assistiveText && (React.createElement(Text, { tag: "p", color: "subtext" }, assistiveText)))) : (React.createElement(Box, { mb: { custom: outlined ? 4 : 0 } },
25
+ React.createElement(Text, { tag: "label", typo: "label", color: "subtext", htmlFor: id },
26
+ label,
27
+ required && (React.createElement(Text, { tag: "span", typo: "body-small", color: "error" }, "*"))))))),
28
+ React.createElement(Content, { fullHeight: fullHeight, value: value, outlined: outlined, error: error, key: dropdownKey !== null && dropdownKey !== void 0 ? dropdownKey : null },
29
+ children,
30
+ showCaret && (React.createElement(Caret, { outlined: outlined },
31
+ React.createElement(Icon, { render: "caret", color: "subtext", size: 24 })))),
32
+ trailingIcon && React.createElement(Icon, { render: trailingIcon, color: "subtext" }),
33
+ error && (React.createElement(Text, { tag: "span", typo: "caption", color: "error", mt: "8px" }, errorMsg))));
34
+ };
35
+ const Container = styled(Box) `
36
+ display: flex;
37
+ flex-direction: column;
38
+ position: relative;
39
+ width: 100%;
40
+ `;
41
+ const Content = styled.div `
42
+ position: relative;
43
+ border-color: ${({ error }) => theme.colors[`${error ? 'error' : 'outline'}`]};
44
+ background-color: ${({ outlined }) => !outlined ? 'transparent' : theme.colors['white']};
45
+ height: ${({ fullHeight }) => (fullHeight ? `100%` : `32px`)};
46
+
47
+ &:hover,
48
+ &:focus-within {
49
+ border-color: ${({ error }) => error ? theme.colors.error : darken(0.1, theme.colors.outline)};
50
+ }
51
+
52
+ ${({ outlined }) => outlined &&
53
+ `
54
+ border-radius: 8px;
55
+ height: auto;
56
+ `}
57
+
58
+ ${({ value }) => value &&
59
+ value != '' &&
60
+ `
61
+ border-color: ${theme.colors.outline};
62
+ `}
63
+ `;
64
+ const Caret = styled.div `
65
+ position: absolute;
66
+ top: 50%;
67
+ z-index: 1;
68
+ right: ${({ outlined }) => (outlined ? '15px' : '0')};
69
+ pointer-events: none;
70
+ transform: translateY(-50%);
71
+ `;
72
+ //# sourceMappingURL=Field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Field.js","sourceRoot":"","sources":["../../src/Field/Field.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CommonFieldTypes } from './types/commonFieldTypes';
2
+ export { Field } from './Field';
3
+ export type { CommonFieldTypes };
@@ -0,0 +1,2 @@
1
+ export { Field } from './Field';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Field/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { MarginProps } from '../../utils/space';
2
+ export interface CommonFieldTypes extends MarginProps {
3
+ label?: string;
4
+ id?: string;
5
+ error?: boolean;
6
+ errorMsg?: string;
7
+ required?: boolean;
8
+ renderAsTitle?: boolean;
9
+ className?: string;
10
+ outlined?: boolean;
11
+ assistiveText?: string;
12
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=commonFieldTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commonFieldTypes.js","sourceRoot":"","sources":["../../../src/Field/types/commonFieldTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { MarginProps } from '../utils/space';
3
+ declare type FieldSetProps = {
4
+ children: React.ReactChild;
5
+ label: string;
6
+ outlined?: boolean;
7
+ } & MarginProps;
8
+ export declare const Fieldset: ({ children, label, outlined, ...marginProps }: FieldSetProps) => JSX.Element;
9
+ export {};
@@ -0,0 +1,22 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React from 'react';
13
+ import { Box } from '../Box';
14
+ import { Text } from '../Text';
15
+ export const Fieldset = (_a) => {
16
+ var { children, label, outlined = false } = _a, marginProps = __rest(_a, ["children", "label", "outlined"]);
17
+ return (React.createElement(Box, Object.assign({ as: "fieldset" }, marginProps),
18
+ React.createElement(Box, { mb: { custom: outlined ? 4 : 0 } },
19
+ React.createElement(Text, { tag: "legend", typo: "heading-small", mb: "16px" }, label)),
20
+ children));
21
+ };
22
+ //# sourceMappingURL=Fieldset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fieldset.js","sourceRoot":"","sources":["../../src/Fieldset/Fieldset.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAQ9B,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,EAKT,EAAE,EAAE;QALK,EACvB,QAAQ,EACR,KAAK,EACL,QAAQ,GAAG,KAAK,OAEF,EADX,WAAW,cAJS,iCAKxB,CADe;IAEd,OAAO,CACL,oBAAC,GAAG,kBAAC,EAAE,EAAC,UAAU,IAAK,WAAW;QAChC,oBAAC,GAAG,IAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACnC,oBAAC,IAAI,IAAC,GAAG,EAAC,QAAQ,EAAC,IAAI,EAAC,eAAe,EAAC,EAAE,EAAC,MAAM,IAC9C,KAAK,CACD,CACH;QAEL,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { Fieldset } from './Fieldset';
@@ -0,0 +1,2 @@
1
+ export { Fieldset } from './Fieldset';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Fieldset/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import 'jest-styled-components';
4
+ import { SearchInput } from '../SearchInput';
5
+ const list = [
6
+ {
7
+ label: 'Monday',
8
+ },
9
+ {
10
+ label: 'Tuesday',
11
+ },
12
+ {
13
+ label: 'Wednesday',
14
+ },
15
+ {
16
+ label: 'Thursday',
17
+ },
18
+ {
19
+ label: 'Friday',
20
+ },
21
+ {
22
+ label: 'Saturday',
23
+ },
24
+ {
25
+ label: 'Sunday',
26
+ },
27
+ ];
28
+ test('renders', () => {
29
+ const { container } = render(React.createElement(SearchInput, { id: "days", label: "Days", searchList: list, onFound: () => { } }));
30
+ expect(container.firstChild).toMatchSnapshot();
31
+ });
32
+ //# sourceMappingURL=SearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/SearchInput/__tests__/SearchInput.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAC9C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,MAAM,IAAI,GAAG;IACX;QACE,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,KAAK,EAAE,SAAS;KACjB;IACD;QACE,KAAK,EAAE,WAAW;KACnB;IACD;QACE,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,QAAQ;KAChB;IACD;QACE,KAAK,EAAE,UAAU;KAClB;IACD;QACE,KAAK,EAAE,QAAQ;KAChB;CACF,CAAC;AAEF,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACnB,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACxB,oBAAC,WAAW,IAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,GAAI,CAC5E,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;AACjD,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import 'jest-styled-components';
4
+ import { Textarea } from '../Textarea';
5
+ test('renders', () => {
6
+ const { container } = render(React.createElement(Textarea, { id: "textarea_id", label: "Textarea label", value: "", onChange: str => { }, resize: "both", disabled: false, placeholder: "Placeholder text!", className: "Textarea" }));
7
+ expect(container.firstChild).toMatchSnapshot();
8
+ });
9
+ test('disabled', () => {
10
+ const { container } = render(React.createElement(Textarea, { id: "textarea_id", label: "Textarea label", value: "", onChange: str => { }, resize: "both", disabled: true, placeholder: "Placeholder text!" }));
11
+ expect(container.firstChild).toMatchSnapshot();
12
+ });
13
+ test('renders with error', () => {
14
+ const { container } = render(React.createElement(Textarea, { id: "textarea_id", label: "Textarea label", value: "", onChange: str => { }, resize: "both", disabled: false, error: true, errorMsg: "Something really quite terrible has gone wrong here!", placeholder: "Placeholder text!" }));
15
+ expect(container.firstChild).toMatchSnapshot();
16
+ });
17
+ //# sourceMappingURL=Textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../src/Textarea/__tests__/Textarea.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAC9C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACnB,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACxB,oBAAC,QAAQ,IACP,EAAE,EAAC,aAAa,EAChB,KAAK,EAAC,gBAAgB,EACtB,KAAK,EAAC,EAAE,EACR,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAE,CAAC,EACnB,MAAM,EAAC,MAAM,EACb,QAAQ,EAAE,KAAK,EACf,WAAW,EAAC,mBAAmB,EAC/B,SAAS,EAAC,UAAU,GACpB,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;IACpB,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACxB,oBAAC,QAAQ,IACP,EAAE,EAAC,aAAa,EAChB,KAAK,EAAC,gBAAgB,EACtB,KAAK,EAAC,EAAE,EACR,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAE,CAAC,EACnB,MAAM,EAAC,MAAM,EACb,QAAQ,EAAE,IAAI,EACd,WAAW,EAAC,mBAAmB,GAC/B,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAC9B,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CACxB,oBAAC,QAAQ,IACP,EAAE,EAAC,aAAa,EAChB,KAAK,EAAC,gBAAgB,EACtB,KAAK,EAAC,EAAE,EACR,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAE,CAAC,EACnB,MAAM,EAAC,MAAM,EACb,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,IAAI,EACX,QAAQ,EAAC,sDAAsD,EAC/D,WAAW,EAAC,mBAAmB,GAC/B,CACH,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,EAAE,CAAC;AACjD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './useEventListener';
2
+ export * from './useClickOutside';
3
+ export * from './useScript';
@@ -0,0 +1,4 @@
1
+ export * from './useEventListener';
2
+ export * from './useClickOutside';
3
+ export * from './useScript';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { RefObject } from 'react';
2
+ import { GenericEventCallback } from 'types';
3
+ export declare const useOnClickOutside: ({ ref, callback, }: {
4
+ ref: RefObject<HTMLElement>;
5
+ callback: GenericEventCallback;
6
+ }) => void;
@@ -0,0 +1,24 @@
1
+ import { useEventListener } from '../useEventListener';
2
+ import { useCallback, useRef } from 'react';
3
+ export const useOnClickOutside = ({ ref, callback, }) => {
4
+ const onClickOutsideListener = useCallback((event) => {
5
+ if (!ref || !ref.current || ref.current.contains(event.target)) {
6
+ return;
7
+ }
8
+ callback(event);
9
+ }, [ref, callback]);
10
+ const documentRef = useRef(document.body);
11
+ useEventListener({
12
+ eventName: 'click',
13
+ ref: documentRef,
14
+ callback: onClickOutsideListener,
15
+ capture: true,
16
+ });
17
+ useEventListener({
18
+ eventName: 'touchend',
19
+ ref: documentRef,
20
+ callback: onClickOutsideListener,
21
+ capture: true,
22
+ });
23
+ };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useClickOutside/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAa,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAGtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,GAAG,EACH,QAAQ,GAIT,EAAE,EAAE;IACH,MAAM,sBAAsB,GAAG,WAAW,CACxC,CAAC,KAAiB,EAAE,EAAE;QACpB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;YACtE,OAAM;SACP;QAED,QAAQ,CAAC,KAAK,CAAC,CAAA;IACjB,CAAC,EAED,CAAC,GAAG,EAAE,QAAQ,CAAC,CAChB,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEzC,gBAAgB,CAAC;QACf,SAAS,EAAE,OAAO;QAClB,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,IAAI;KACd,CAAC,CAAA;IAEF,gBAAgB,CAAC;QACf,SAAS,EAAE,UAAU;QACrB,GAAG,EAAE,WAAW;QAChB,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,IAAI;KACd,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,46 @@
1
+ import { renderHook, cleanup, act } from '@testing-library/react';
2
+ import { fireEvent } from '@testing-library/react';
3
+ import { useOnClickOutside } from '.';
4
+ describe('useClickOutside', () => {
5
+ let element;
6
+ let cb;
7
+ beforeEach(() => {
8
+ cb = jest.fn();
9
+ element = document.createElement('div');
10
+ document.body.appendChild(element);
11
+ renderHook(() => useOnClickOutside({ ref: { current: element }, callback: cb }));
12
+ });
13
+ afterEach(() => {
14
+ element.remove();
15
+ cleanup();
16
+ });
17
+ describe('mouseDown', () => {
18
+ it('should call the callback when click outside the element', () => {
19
+ act(() => {
20
+ fireEvent.click(document.body);
21
+ });
22
+ return expect(cb.mock.calls).toHaveLength(1);
23
+ });
24
+ it('should not call the callback when clicking the element', () => {
25
+ act(() => {
26
+ fireEvent.click(element);
27
+ });
28
+ return expect(cb.mock.calls).toHaveLength(0);
29
+ });
30
+ });
31
+ describe('touchStart', () => {
32
+ it('should call the callback when click outside the element', () => {
33
+ act(() => {
34
+ fireEvent.touchEnd(document.body);
35
+ });
36
+ return expect(cb.mock.calls).toHaveLength(1);
37
+ });
38
+ it('should not call the callback when clicking the element', () => {
39
+ act(() => {
40
+ fireEvent.touchEnd(element);
41
+ });
42
+ return expect(cb.mock.calls).toHaveLength(0);
43
+ });
44
+ });
45
+ });
46
+ //# sourceMappingURL=useClickOutside.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useClickOutside.test.js","sourceRoot":"","sources":["../../../src/hooks/useClickOutside/useClickOutside.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAA;AAErC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,IAAI,OAAoB,CAAA;IACxB,IAAI,EAAa,CAAA;IAEjB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;QACd,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAClC,UAAU,CAAC,GAAG,EAAE,CACd,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC/D,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,MAAM,EAAE,CAAA;QAChB,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,GAAG,CAAC,GAAG,EAAE;gBACP,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;YACF,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,GAAG,CAAC,GAAG,EAAE;gBACP,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;YACF,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,GAAG,CAAC,GAAG,EAAE;gBACP,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACnC,CAAC,CAAC,CAAA;YACF,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,GAAG,CAAC,GAAG,EAAE;gBACP,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;YACF,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { RefObject } from 'react';
2
+ import { GenericEventCallback } from 'types';
3
+ export declare const useEventListener: ({ eventName, callback, ref, capture, }: {
4
+ eventName: keyof HTMLElementEventMap | string;
5
+ callback: GenericEventCallback;
6
+ ref: RefObject<HTMLElement | Document>;
7
+ capture?: boolean | undefined;
8
+ }) => void;
@@ -0,0 +1,14 @@
1
+ import { useEffect } from 'react';
2
+ export const useEventListener = ({ eventName, callback, ref, capture = false, }) => {
3
+ useEffect(() => {
4
+ const refElement = ref && ref.current;
5
+ if (!refElement)
6
+ return;
7
+ const listenerOptions = { capture };
8
+ refElement.addEventListener(eventName, callback, listenerOptions);
9
+ return () => {
10
+ refElement.removeEventListener(eventName, callback, listenerOptions);
11
+ };
12
+ }, [eventName, ref, callback, capture]);
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useEventListener/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,OAAO,CAAA;AAG5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,SAAS,EACT,QAAQ,EACR,GAAG,EACH,OAAO,GAAG,KAAK,GAMhB,EAAQ,EAAE;IACT,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAA;QACrC,IAAI,CAAC,UAAU;YAAE,OAAM;QACvB,MAAM,eAAe,GAAG,EAAE,OAAO,EAAE,CAAA;QAEnC,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;QAEjE,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAA;QACtE,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;AACzC,CAAC,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { renderHook, cleanup, act } from '@testing-library/react';
2
+ import { fireEvent } from '@testing-library/react';
3
+ import { useEventListener } from '.';
4
+ describe('useEventListener', () => {
5
+ let element;
6
+ let cb;
7
+ describe('click', () => {
8
+ beforeEach(() => {
9
+ cb = jest.fn();
10
+ element = document.createElement('div');
11
+ document.body.appendChild(element);
12
+ renderHook(() => useEventListener({
13
+ eventName: 'click',
14
+ ref: { current: element },
15
+ callback: cb,
16
+ }));
17
+ });
18
+ afterEach(() => {
19
+ element.remove();
20
+ cleanup();
21
+ });
22
+ it('should call the callback when clicking', () => {
23
+ act(() => {
24
+ fireEvent.click(element);
25
+ });
26
+ return expect(cb.mock.calls).toHaveLength(1);
27
+ });
28
+ it('should not call callback on a different (not click) event', () => {
29
+ act(() => {
30
+ fireEvent.keyDown(element);
31
+ });
32
+ return expect(cb.mock.calls).toHaveLength(0);
33
+ });
34
+ });
35
+ });
36
+ //# sourceMappingURL=useEventLitener.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEventLitener.test.js","sourceRoot":"","sources":["../../../src/hooks/useEventListener/useEventLitener.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAA;AAEpC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,OAAoB,CAAA;IACxB,IAAI,EAAa,CAAA;IACjB,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,UAAU,CAAC,GAAG,EAAE;YACd,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;YACd,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YACvC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;YAClC,UAAU,CAAC,GAAG,EAAE,CACd,gBAAgB,CAAC;gBACf,SAAS,EAAE,OAAO;gBAClB,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;gBACzB,QAAQ,EAAE,EAAE;aACb,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,SAAS,CAAC,GAAG,EAAE;YACb,OAAO,CAAC,MAAM,EAAE,CAAA;YAChB,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,GAAG,CAAC,GAAG,EAAE;gBACP,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;YACF,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,GAAG,CAAC,GAAG,EAAE;gBACP,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC,CAAC,CAAA;YACF,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const useScript: ({ url, async, }: {
2
+ url: string;
3
+ async?: boolean | undefined;
4
+ }) => void;
@@ -0,0 +1,13 @@
1
+ import { useEffect } from 'react';
2
+ export const useScript = ({ url, async = true, }) => {
3
+ useEffect(() => {
4
+ const script = document.createElement('script');
5
+ script.src = url;
6
+ script.async = async;
7
+ document.body.appendChild(script);
8
+ return () => {
9
+ document.body.removeChild(script);
10
+ };
11
+ }, [url]);
12
+ };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/useScript/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,GAAG,EACH,KAAK,GAAG,IAAI,GAIb,EAAE,EAAE;IACH,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAE/C,MAAM,CAAC,GAAG,GAAG,GAAG,CAAA;QAChB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;QAEpB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAEjC,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;AACX,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ import { renderHook, cleanup } from '@testing-library/react';
2
+ import { useScript } from '.';
3
+ describe('useScript', () => {
4
+ beforeEach(() => {
5
+ renderHook(() => useScript({
6
+ url: 'test',
7
+ }));
8
+ });
9
+ afterEach(() => {
10
+ cleanup();
11
+ });
12
+ it('should append the script with the correct url to the body', () => {
13
+ const script = document.querySelector('script[src="test"]');
14
+ return expect(script).toBeInTheDocument();
15
+ });
16
+ });
17
+ //# sourceMappingURL=useScript.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScript.test.js","sourceRoot":"","sources":["../../../src/hooks/useScript/useScript.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAA;AAE7B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,CAAC,GAAG,EAAE,CACd,SAAS,CAAC;YACR,GAAG,EAAE,MAAM;SACZ,CAAC,CACH,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;QAC3D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAA;IAC3C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -34,4 +34,5 @@ export * from './Toggle';
34
34
  export * from './fields/Field';
35
35
  export * from './fields/Fieldset';
36
36
  export * from './fontStyle';
37
- export { MarginProps, PaddingProps } from './utils/space';
37
+ export * from './hooks';
38
+ export { MarginProps, PaddingProps, SpacingProp } from './utils/space';
package/dist/index.js CHANGED
@@ -34,4 +34,5 @@ export * from './Toggle';
34
34
  export * from './fields/Field';
35
35
  export * from './fields/Fieldset';
36
36
  export * from './fontStyle';
37
+ export * from './hooks';
37
38
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,QAAQ,CAAA;AACtB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,OAAO,CAAA;AACrB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,QAAQ,CAAA;AACtB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export type GeneralEvent = Event | React.UIEvent;
3
+ export type GenericEventCallback = (e: GeneralEvent) => unknown;
4
+ export type KeyboardEventCallback = (e: KeyboardEvent) => unknown;
5
+ export type MouseEventCallBack = (event: React.MouseEvent<HTMLElement>) => void;
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mrshmllw/smores-react",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "main": "./dist/index.js",
5
5
  "description": "Collection of React components used by Marshmallow Technology",
6
6
  "keywords": [