@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.
- package/dist/Dropdown/__tests__/Dropdown.d.ts +1 -0
- package/dist/Dropdown/__tests__/Dropdown.js +80 -0
- package/dist/Dropdown/__tests__/Dropdown.js.map +1 -0
- package/dist/Field/Field.d.ts +13 -0
- package/dist/Field/Field.js +72 -0
- package/dist/Field/Field.js.map +1 -0
- package/dist/Field/index.d.ts +3 -0
- package/dist/Field/index.js +2 -0
- package/dist/Field/index.js.map +1 -0
- package/dist/Field/types/commonFieldTypes.d.ts +12 -0
- package/dist/Field/types/commonFieldTypes.js +2 -0
- package/dist/Field/types/commonFieldTypes.js.map +1 -0
- package/dist/Fieldset/Fieldset.d.ts +9 -0
- package/dist/Fieldset/Fieldset.js +22 -0
- package/dist/Fieldset/Fieldset.js.map +1 -0
- package/dist/Fieldset/index.d.ts +1 -0
- package/dist/Fieldset/index.js +2 -0
- package/dist/Fieldset/index.js.map +1 -0
- package/dist/SearchInput/__tests__/SearchInput.d.ts +1 -0
- package/dist/SearchInput/__tests__/SearchInput.js +32 -0
- package/dist/SearchInput/__tests__/SearchInput.js.map +1 -0
- package/dist/Textarea/__tests__/Textarea.d.ts +1 -0
- package/dist/Textarea/__tests__/Textarea.js +17 -0
- package/dist/Textarea/__tests__/Textarea.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useClickOutside/index.d.ts +6 -0
- package/dist/hooks/useClickOutside/index.js +24 -0
- package/dist/hooks/useClickOutside/index.js.map +1 -0
- package/dist/hooks/useClickOutside/useClickOutside.test.d.ts +1 -0
- package/dist/hooks/useClickOutside/useClickOutside.test.js +46 -0
- package/dist/hooks/useClickOutside/useClickOutside.test.js.map +1 -0
- package/dist/hooks/useEventListener/index.d.ts +8 -0
- package/dist/hooks/useEventListener/index.js +14 -0
- package/dist/hooks/useEventListener/index.js.map +1 -0
- package/dist/hooks/useEventListener/useEventLitener.test.d.ts +1 -0
- package/dist/hooks/useEventListener/useEventLitener.test.js +36 -0
- package/dist/hooks/useEventListener/useEventLitener.test.js.map +1 -0
- package/dist/hooks/useScript/index.d.ts +4 -0
- package/dist/hooks/useScript/index.js +13 -0
- package/dist/hooks/useScript/index.js.map +1 -0
- package/dist/hooks/useScript/useScript.test.d.ts +1 -0
- package/dist/hooks/useScript/useScript.test.js +17 -0
- package/dist/hooks/useScript/useScript.test.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- 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":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,MAAM,MAAM,mBAAmB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAahC,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAiBT,EAAE,EAAE;QAjBK,EACpB,QAAQ,EACR,aAAa,EACb,SAAS,GAAG,EAAE,EACd,KAAK,EACL,EAAE,EACF,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,GAAG,KAAK,EAClB,aAAa,OAEF,EADR,WAAW,cAhBM,0LAiBrB,CADe;IAEd,OAAO,CACL,oBAAC,SAAS,kBAAC,SAAS,EAAE,SAAS,IAAM,WAAW;QAC7C,KAAK,IAAI,CACR,0CACG,aAAa,CAAC,CAAC,CAAC,CACf,oBAAC,GAAG,IAAC,EAAE,EAAC,MAAM;YACZ,oBAAC,IAAI,IACH,GAAG,EAAC,OAAO,EACX,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,EAAE,EACX,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAE5C,KAAK,CACD;YAEN,aAAa,IAAI,CAChB,oBAAC,IAAI,IAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,SAAS,IAC1B,aAAa,CACT,CACR,CACG,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,GAAG,IAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACnC,oBAAC,IAAI,IAAC,GAAG,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAE,EAAE;gBACvD,KAAK;gBACL,QAAQ,IAAI,CACX,oBAAC,IAAI,IAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,OAAO,QAEzC,CACR,CACI,CACH,CACP,CACA,CACJ;QAED,oBAAC,OAAO,IACN,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,IAAI;YAEvB,QAAQ;YACR,SAAS,IAAI,CACZ,oBAAC,KAAK,IAAC,QAAQ,EAAE,QAAQ;gBACvB,oBAAC,IAAI,IAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,IAAI,EAAE,EAAE,GAAI,CAC3C,CACT,CACO;QACT,YAAY,IAAI,oBAAC,IAAI,IAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAC,SAAS,GAAG;QAE9D,KAAK,IAAI,CACR,oBAAC,IAAI,IAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAC,EAAE,EAAC,KAAK,IACnD,QAAQ,CACJ,CACR,CACS,CACb,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAuB;;;;;CAKnD,CAAA;AAED,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAKxB;;kBAEgB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC5B,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;sBAC5B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACnC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YACzC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;;;;oBAI1C,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC5B,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;;;IAGhE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACjB,QAAQ;IACR;;;KAGC;;IAED,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CACd,KAAK;IACL,KAAK,IAAI,EAAE;IACX;oBACgB,KAAK,CAAC,MAAM,CAAC,OAAO;KACnC;CACJ,CAAA;AAED,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAuB;;;;WAIpC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;;;CAGrD,CAAA"}
|
@@ -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 @@
|
|
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 @@
|
|
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 @@
|
|
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,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 @@
|
|
1
|
+
export {};
|
@@ -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 @@
|
|
1
|
+
export {};
|
@@ -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,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
|
37
|
+
export * from './hooks';
|
38
|
+
export { MarginProps, PaddingProps, SpacingProp } from './utils/space';
|
package/dist/index.js
CHANGED
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"}
|
package/dist/types.d.ts
ADDED
@@ -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 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|