@mrshmllw/smores-react 2.1.22 → 2.1.25
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/README.md +2 -1
- package/dist/ActionDropdown/ActionDropdown.d.ts +1 -3
- package/dist/ActionDropdown/ActionDropdown.js.map +1 -1
- package/dist/Button/Button.js +12 -4
- package/dist/Button/Button.js.map +1 -1
- package/dist/CheckBox/CheckBox.d.ts +1 -1
- package/dist/CheckBox/CheckBox.js +10 -6
- package/dist/CheckBox/CheckBox.js.map +1 -1
- package/dist/CheckBox/index.d.ts +1 -1
- package/dist/CheckBox/index.js.map +1 -1
- package/dist/CheckBoxGroup/CheckBox.js +1 -1
- package/dist/ConfirmationRadioButtons/Confirmation.d.ts +2 -1
- package/dist/ConfirmationRadioButtons/Confirmation.js +9 -2
- package/dist/ConfirmationRadioButtons/Confirmation.js.map +1 -1
- package/dist/ConfirmationRadioButtons/Confirmation.stories.d.ts +1 -0
- package/dist/ConfirmationRadioButtons/Confirmation.stories.js +8 -0
- package/dist/ConfirmationRadioButtons/Confirmation.stories.js.map +1 -1
- package/dist/Datepicker/Datepicker.js +29 -57
- package/dist/Datepicker/Datepicker.js.map +1 -1
- package/dist/Datepicker/DatesList.d.ts +1 -0
- package/dist/Datepicker/DatesList.js +13 -1
- package/dist/Datepicker/DatesList.js.map +1 -1
- package/dist/Datepicker/types.d.ts +0 -4
- package/dist/Dropdown/Dropdown.d.ts +13 -5
- package/dist/Dropdown/Dropdown.js +7 -4
- package/dist/Dropdown/Dropdown.js.map +1 -1
- package/dist/Dropdown/Dropdown.stories.d.ts +44 -2
- package/dist/Dropdown/Dropdown.stories.js +9 -0
- package/dist/Dropdown/Dropdown.stories.js.map +1 -1
- package/dist/Message/Message.d.ts +3 -0
- package/dist/Message/Message.js +14 -5
- package/dist/Message/Message.js.map +1 -1
- package/dist/Message/Message.stories.js +1 -1
- package/dist/Message/Message.stories.js.map +1 -1
- package/dist/NumberInput/NumberInput.d.ts +1 -3
- package/dist/NumberInput/NumberInput.js +3 -1
- package/dist/NumberInput/NumberInput.js.map +1 -1
- package/dist/Pagination/Pagination.js +1 -2
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/RadioButton/RadioButton.d.ts +1 -1
- package/dist/RadioButton/RadioButton.js +9 -5
- package/dist/RadioButton/RadioButton.js.map +1 -1
- package/dist/SearchInput/SearchInput.d.ts +1 -2
- package/dist/SearchInput/SearchInput.js +5 -1
- package/dist/SearchInput/SearchInput.js.map +1 -1
- package/dist/SupportMessage/Collection.d.ts +2 -0
- package/dist/SupportMessage/Collection.js +40 -0
- package/dist/SupportMessage/Collection.js.map +1 -0
- package/dist/SupportMessage/SupportMessage.d.ts +10 -0
- package/dist/SupportMessage/SupportMessage.js +59 -0
- package/dist/SupportMessage/SupportMessage.js.map +1 -0
- package/dist/SupportMessage/SupportMessage.stories.d.ts +9 -0
- package/dist/SupportMessage/SupportMessage.stories.js +17 -0
- package/dist/SupportMessage/SupportMessage.stories.js.map +1 -0
- package/dist/SupportMessage/SupportMessage.test.d.ts +1 -0
- package/dist/SupportMessage/SupportMessage.test.js +30 -0
- package/dist/SupportMessage/SupportMessage.test.js.map +1 -0
- package/dist/SupportMessage/index.d.ts +1 -0
- package/dist/SupportMessage/index.js +2 -0
- package/dist/SupportMessage/index.js.map +1 -0
- package/dist/Text/Text.stories.d.ts +1 -0
- package/dist/Text/Text.stories.js +35 -0
- package/dist/Text/Text.stories.js.map +1 -1
- package/dist/TextInput/TextInput.d.ts +5 -7
- package/dist/TextInput/TextInput.js +18 -13
- package/dist/TextInput/TextInput.js.map +1 -1
- package/dist/TextInput/TextInput.stories.d.ts +2 -1
- package/dist/TextInput/TextInput.stories.js +12 -0
- package/dist/TextInput/TextInput.stories.js.map +1 -1
- package/dist/Textarea/Textarea.d.ts +5 -7
- package/dist/Textarea/Textarea.js +17 -12
- package/dist/Textarea/Textarea.js.map +1 -1
- package/dist/Textarea/Textarea.stories.d.ts +2 -1
- package/dist/Textarea/Textarea.stories.js +10 -0
- package/dist/Textarea/Textarea.stories.js.map +1 -1
- package/dist/Toggle/Toggle.d.ts +1 -1
- package/dist/Toggle/Toggle.stories.d.ts +1 -1
- package/dist/setupTests.d.ts +1 -0
- package/dist/setupTests.js +2 -0
- package/dist/setupTests.js.map +1 -0
- package/dist/utils/date.d.ts +1 -0
- package/dist/utils/date.js +9 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/deprecated.d.ts +9 -0
- package/dist/utils/deprecated.js +30 -0
- package/dist/utils/deprecated.js.map +1 -0
- package/dist/utils/id.d.ts +2 -0
- package/dist/utils/id.js +13 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/id.test.d.ts +1 -0
- package/dist/utils/id.test.js +30 -0
- package/dist/utils/id.test.js.map +1 -0
- package/package.json +10 -7
@@ -1,11 +1,7 @@
|
|
1
|
-
import { FormEvent
|
1
|
+
import React, { FormEvent } from 'react';
|
2
2
|
declare type DefaultProps = {
|
3
|
-
|
4
|
-
id: string;
|
5
|
-
/** className attribute to apply classes from props */
|
3
|
+
id?: string;
|
6
4
|
className?: string;
|
7
|
-
/** ref attribute for input */
|
8
|
-
ref?: RefObject<HTMLInputElement>;
|
9
5
|
/** Input type for proper browser support */
|
10
6
|
type?: 'text' | 'email' | 'password' | 'time' | 'date';
|
11
7
|
/** used to render outlined style */
|
@@ -28,6 +24,8 @@ declare type DefaultProps = {
|
|
28
24
|
trailingIcon?: string;
|
29
25
|
/** Disabled flag */
|
30
26
|
disabled?: boolean;
|
27
|
+
/** Required flag */
|
28
|
+
required?: boolean;
|
31
29
|
};
|
32
30
|
/** on change or on input required */
|
33
31
|
declare type TruncateProps = {
|
@@ -40,5 +38,5 @@ declare type TruncateProps = {
|
|
40
38
|
onInputChange: (e: FormEvent<HTMLInputElement>) => void;
|
41
39
|
};
|
42
40
|
export declare type TextInputProps = DefaultProps & TruncateProps;
|
43
|
-
export declare const TextInput:
|
41
|
+
export declare const TextInput: React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<HTMLInputElement>>;
|
44
42
|
export {};
|
@@ -1,22 +1,27 @@
|
|
1
|
-
import React from 'react';
|
1
|
+
import React, { forwardRef } from 'react';
|
2
2
|
import styled from 'styled-components';
|
3
3
|
import { darken } from 'polished';
|
4
4
|
import { Box } from '../Box';
|
5
5
|
import { Text } from '../Text';
|
6
6
|
import { Icon } from '../Icon';
|
7
7
|
import { theme } from '../theme';
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
React.createElement(
|
12
|
-
React.createElement(
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
8
|
+
import { useUniqueId } from '../utils/id';
|
9
|
+
export const TextInput = forwardRef(function TextInput({ id: idProp, className = '', type = 'text', placeholder, label, name, value, outlined = false, error = false, errorMsg, trailingIcon, onBlur, onChange, onInputChange, disabled = false, required = false, }, ref) {
|
10
|
+
const id = useUniqueId(idProp);
|
11
|
+
return (React.createElement(Container, { className: className, hasLabel: !!label, hasError: !!errorMsg },
|
12
|
+
label && (React.createElement(Box, { mb: outlined ? '4px' : '0px' },
|
13
|
+
React.createElement(Text, { tag: "label", color: "subtext", typo: "label", htmlFor: id }, label),
|
14
|
+
required && (React.createElement(Text, { tag: "label", color: "error", typo: "label" }, "*")))),
|
15
|
+
React.createElement(Content, { value: value, outlined: outlined, error: error },
|
16
|
+
React.createElement(Input, { disabled: disabled, type: type, id: id, name: name, ref: ref, placeholder: placeholder, value: value, error: error, outlined: outlined, autoComplete: "off", onChange: (e) => {
|
17
|
+
onChange && onChange(e.currentTarget.value);
|
18
|
+
onInputChange && onInputChange(e);
|
19
|
+
}, onBlur: (e) => {
|
20
|
+
onBlur && onBlur(e);
|
21
|
+
} }),
|
22
|
+
trailingIcon && React.createElement(Icon, { render: trailingIcon, color: "subtext" })),
|
23
|
+
error && React.createElement(ErrorBox, null, errorMsg)));
|
24
|
+
});
|
20
25
|
const Container = styled.div `
|
21
26
|
display: flex;
|
22
27
|
flex-direction: column;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../src/TextInput/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../src/TextInput/TextInput.tsx"],"names":[],"mappings":"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"}
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
2
2
|
import { TextInputProps } from './TextInput';
|
3
3
|
declare const _default: {
|
4
4
|
title: string;
|
5
|
-
component: React.
|
5
|
+
component: React.ForwardRefExoticComponent<TextInputProps & React.RefAttributes<HTMLInputElement>>;
|
6
6
|
argTypes: {
|
7
7
|
onChange: {
|
8
8
|
action: string;
|
@@ -19,4 +19,5 @@ export declare const WithOutlineError: any;
|
|
19
19
|
export declare const WithLabel: any;
|
20
20
|
export declare const WithIcon: any;
|
21
21
|
export declare const Disabled: any;
|
22
|
+
export declare const Required: any;
|
22
23
|
export declare const WorkingExample: any;
|
@@ -105,6 +105,18 @@ Disabled.args = {
|
|
105
105
|
label: 'label',
|
106
106
|
disabled: true,
|
107
107
|
};
|
108
|
+
export const Required = Template.bind({});
|
109
|
+
Required.args = {
|
110
|
+
id: 'textInput',
|
111
|
+
name: 'textInput',
|
112
|
+
placeholder: 'Enter name',
|
113
|
+
onChange: noop,
|
114
|
+
onInputChange: noop,
|
115
|
+
onBlur: noop,
|
116
|
+
label: 'Please enter your name',
|
117
|
+
outlined: true,
|
118
|
+
required: true,
|
119
|
+
};
|
108
120
|
const WorkingExampleTemplate = () => React.createElement(Container, null);
|
109
121
|
export const WorkingExample = WorkingExampleTemplate.bind({});
|
110
122
|
//# sourceMappingURL=TextInput.stories.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TextInput.stories.js","sourceRoot":"","sources":["../../src/TextInput/TextInput.stories.tsx"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"TextInput.stories.js","sourceRoot":"","sources":["../../src/TextInput/TextInput.stories.tsx"],"names":[],"mappings":"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"}
|
@@ -1,11 +1,7 @@
|
|
1
|
-
import {
|
1
|
+
import React, { FormEvent } from 'react';
|
2
2
|
declare type BaseProps = {
|
3
|
-
|
4
|
-
id: string;
|
5
|
-
/** className attribute to apply classses from props */
|
3
|
+
id?: string;
|
6
4
|
className?: string;
|
7
|
-
/** ref attribute for input */
|
8
|
-
ref?: RefObject<HTMLTextAreaElement>;
|
9
5
|
/** Placeholder */
|
10
6
|
placeholder?: string;
|
11
7
|
/** label displayed above the input */
|
@@ -28,6 +24,8 @@ declare type BaseProps = {
|
|
28
24
|
onBlur?: (e: FormEvent<HTMLTextAreaElement>) => void;
|
29
25
|
/** number of rows of input */
|
30
26
|
rows?: number;
|
27
|
+
/** Required flag */
|
28
|
+
required?: boolean;
|
31
29
|
};
|
32
30
|
/** on change or on input required */
|
33
31
|
declare type TruncateProps = {
|
@@ -40,5 +38,5 @@ declare type TruncateProps = {
|
|
40
38
|
onInputChange: (e: FormEvent<HTMLTextAreaElement>) => void;
|
41
39
|
};
|
42
40
|
export declare type TextareaProps = BaseProps & TruncateProps;
|
43
|
-
export declare const Textarea:
|
41
|
+
export declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
44
42
|
export {};
|
@@ -1,20 +1,25 @@
|
|
1
|
-
import React from 'react';
|
1
|
+
import React, { forwardRef } from 'react';
|
2
2
|
import styled from 'styled-components';
|
3
3
|
import { darken } from 'polished';
|
4
4
|
import { Text } from '../Text';
|
5
5
|
import { Box } from '../Box';
|
6
6
|
import { theme } from '../theme';
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
React.createElement(Box, { flex: true, direction: "column" },
|
11
|
-
React.createElement(
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
7
|
+
import { useUniqueId } from '../utils/id';
|
8
|
+
export const Textarea = forwardRef(function Textarea({ id: idProp, name, label, value, onChange, onInputChange, className, resize = 'none', error = false, errorMsg, placeholder, disabled = false, maxLength, onBlur, rows = 4, required = false, }, ref) {
|
9
|
+
const id = useUniqueId(idProp);
|
10
|
+
return (React.createElement(Box, { flex: true, direction: "column", className: className },
|
11
|
+
label && (React.createElement(Box, { mb: "4px" },
|
12
|
+
React.createElement(Text, { tag: "label", color: "subtext", typo: "label", htmlFor: id }, label),
|
13
|
+
required && (React.createElement(Text, { tag: "label", color: "error", typo: "label" }, "*")))),
|
14
|
+
React.createElement(Box, { flex: true, direction: "column" },
|
15
|
+
React.createElement(Field, { error: error, id: id, name: name, disabled: disabled, resize: resize, placeholder: placeholder, value: value, onChange: (e) => {
|
16
|
+
onChange && onChange(e.currentTarget.value);
|
17
|
+
onInputChange && onInputChange(e);
|
18
|
+
}, maxLength: maxLength, ref: ref, onBlur: (e) => {
|
19
|
+
onBlur && onBlur(e);
|
20
|
+
}, rows: rows })),
|
21
|
+
error && React.createElement(ErrorBox, null, errorMsg)));
|
22
|
+
});
|
18
23
|
const Field = styled.textarea `
|
19
24
|
font-size: 16px;
|
20
25
|
line-height: 20px;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/Textarea/Textarea.tsx"],"names":[],"mappings":"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"}
|
@@ -2,10 +2,11 @@ import React from 'react';
|
|
2
2
|
import { TextareaProps } from './Textarea';
|
3
3
|
declare const _default: {
|
4
4
|
title: string;
|
5
|
-
component: React.
|
5
|
+
component: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
6
6
|
};
|
7
7
|
export default _default;
|
8
8
|
export declare const Default: any;
|
9
9
|
export declare const Disabled: any;
|
10
10
|
export declare const Error: any;
|
11
|
+
export declare const Required: any;
|
11
12
|
export declare const WorkingExample: any;
|
@@ -38,6 +38,16 @@ Error.args = {
|
|
38
38
|
error: true,
|
39
39
|
errorMsg: 'Something really quite terrible has gone wrong here!',
|
40
40
|
};
|
41
|
+
export const Required = Template.bind({});
|
42
|
+
Required.args = {
|
43
|
+
id: 'textarea_id',
|
44
|
+
label: 'Textarea label',
|
45
|
+
value: '',
|
46
|
+
onChange: noop,
|
47
|
+
disabled: false,
|
48
|
+
placeholder: 'Here is some placeholder text.',
|
49
|
+
required: true,
|
50
|
+
};
|
41
51
|
const WorkingExampleTemplate = () => React.createElement(Container, null);
|
42
52
|
export const WorkingExample = WorkingExampleTemplate.bind({});
|
43
53
|
//# sourceMappingURL=Textarea.stories.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Textarea.stories.js","sourceRoot":"","sources":["../../src/Textarea/Textarea.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAA;AAEpD,eAAe;IACb,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,QAAQ;CACpB,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,oBAAC,QAAQ,oBAAK,KAAK,EAAI,CAAA;AAElE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAExC,OAAO,CAAC,IAAI,GAAG;IACb,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,gCAAgC;CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAEzC,QAAQ,CAAC,IAAI,GAAG;IACd,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,gCAAgC;CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAEtC,KAAK,CAAC,IAAI,GAAG;IACX,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,gCAAgC;IAC7C,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,sDAAsD;CACjE,CAAA;AAED,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,oBAAC,SAAS,OAAG,CAAA;AAElD,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA"}
|
1
|
+
{"version":3,"file":"Textarea.stories.js","sourceRoot":"","sources":["../../src/Textarea/Textarea.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAA;AAEpD,eAAe;IACb,KAAK,EAAE,UAAU;IACjB,SAAS,EAAE,QAAQ;CACpB,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,oBAAC,QAAQ,oBAAK,KAAK,EAAI,CAAA;AAElE,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAExC,OAAO,CAAC,IAAI,GAAG;IACb,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,gCAAgC;CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAEzC,QAAQ,CAAC,IAAI,GAAG;IACd,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,gCAAgC;CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAEtC,KAAK,CAAC,IAAI,GAAG;IACX,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,gCAAgC;IAC7C,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,sDAAsD;CACjE,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAEzC,QAAQ,CAAC,IAAI,GAAG;IACd,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,gBAAgB;IACvB,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,gCAAgC;IAC7C,QAAQ,EAAE,IAAI;CACf,CAAA;AAED,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,oBAAC,SAAS,OAAG,CAAA;AAElD,MAAM,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA"}
|
package/dist/Toggle/Toggle.d.ts
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
import '@testing-library/jest-dom';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"setupTests.js","sourceRoot":"","sources":["../src/setupTests.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const convertToUkDate: (date: Date) => Date;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
const ukTimeFormat = new Intl.DateTimeFormat('en-GB', {
|
2
|
+
timeZone: 'Europe/London',
|
3
|
+
});
|
4
|
+
export const convertToUkDate = (date) => {
|
5
|
+
const dateString = ukTimeFormat.format(date);
|
6
|
+
const [day, month, year] = dateString.split('/');
|
7
|
+
return new Date(Number(year), Number(month) - 1, Number(day));
|
8
|
+
};
|
9
|
+
//# sourceMappingURL=date.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;IACpD,QAAQ,EAAE,eAAe;CAC1B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAU,EAAQ,EAAE;IAClD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEhD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;AAC/D,CAAC,CAAA"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export declare const isLocal: boolean;
|
2
|
+
declare type UseDeprecatedWarningParams = {
|
3
|
+
enabled?: boolean;
|
4
|
+
title: string;
|
5
|
+
message: string;
|
6
|
+
componentProps?: Record<string, any>;
|
7
|
+
};
|
8
|
+
export declare const useDeprecatedWarning: ({ enabled, title, message, componentProps, }: UseDeprecatedWarningParams) => void;
|
9
|
+
export {};
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { useEffect } from 'react';
|
2
|
+
const env = process.env.REACT_APP_NODE_ENV || process.env.ENV;
|
3
|
+
export const isLocal = env === 'local';
|
4
|
+
const stripUndefinedProps = (props) => {
|
5
|
+
const propKeys = Object.keys(props);
|
6
|
+
return propKeys.reduce((acc, key) => {
|
7
|
+
if (props[key] !== undefined) {
|
8
|
+
acc[key] = props[key];
|
9
|
+
}
|
10
|
+
return acc;
|
11
|
+
}, {});
|
12
|
+
};
|
13
|
+
export const useDeprecatedWarning = ({ enabled = true, title, message, componentProps, }) => {
|
14
|
+
useEffect(() => {
|
15
|
+
if (isLocal && enabled) {
|
16
|
+
const logs = [
|
17
|
+
`%c[Deprecated] ${title}`,
|
18
|
+
'font-weight:bold;',
|
19
|
+
'\n',
|
20
|
+
'\n',
|
21
|
+
message,
|
22
|
+
];
|
23
|
+
if (componentProps) {
|
24
|
+
logs.push('\n', '\n', 'Component props:', stripUndefinedProps(componentProps));
|
25
|
+
}
|
26
|
+
console.warn(...logs);
|
27
|
+
}
|
28
|
+
}, [enabled]);
|
29
|
+
};
|
30
|
+
//# sourceMappingURL=deprecated.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../src/utils/deprecated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAA;AAE7D,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,KAAK,OAAO,CAAA;AAEtC,MAAM,mBAAmB,GAAG,CAAC,KAA8B,EAAE,EAAE;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAEnC,OAAO,QAAQ,CAAC,MAAM,CAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3D,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YAC5B,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;SACtB;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA;AASD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EACnC,OAAO,GAAG,IAAI,EACd,KAAK,EACL,OAAO,EACP,cAAc,GACa,EAAQ,EAAE;IACrC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,MAAM,IAAI,GAAU;gBAClB,kBAAkB,KAAK,EAAE;gBACzB,mBAAmB;gBACnB,IAAI;gBACJ,IAAI;gBACJ,OAAO;aACR,CAAA;YAED,IAAI,cAAc,EAAE;gBAClB,IAAI,CAAC,IAAI,CACP,IAAI,EACJ,IAAI,EACJ,kBAAkB,EAClB,mBAAmB,CAAC,cAAc,CAAC,CACpC,CAAA;aACF;YAED,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;SACtB;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;AACf,CAAC,CAAA"}
|
package/dist/utils/id.js
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
import { useMemo } from 'react';
|
2
|
+
let idCount = 0;
|
3
|
+
export const smoresIdPrefix = 'MM_SMORES';
|
4
|
+
const createId = () => {
|
5
|
+
const id = `${smoresIdPrefix}_${idCount}`;
|
6
|
+
idCount += 1;
|
7
|
+
return id;
|
8
|
+
};
|
9
|
+
export const useUniqueId = (id) => {
|
10
|
+
const returnedId = useMemo(() => id || createId(), [id]);
|
11
|
+
return returnedId;
|
12
|
+
};
|
13
|
+
//# sourceMappingURL=id.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,IAAI,OAAO,GAAG,CAAC,CAAA;AAEf,MAAM,CAAC,MAAM,cAAc,GAAG,WAAW,CAAA;AAEzC,MAAM,QAAQ,GAAG,GAAW,EAAE;IAC5B,MAAM,EAAE,GAAG,GAAG,cAAc,IAAI,OAAO,EAAE,CAAA;IACzC,OAAO,IAAI,CAAC,CAAA;IAEZ,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAW,EAAE,EAAE;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAExD,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,30 @@
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
|
+
});
|
9
|
+
};
|
10
|
+
import { renderHook } from '@testing-library/react-hooks';
|
11
|
+
import { smoresIdPrefix, useUniqueId } from './id';
|
12
|
+
describe('useUniqueId', () => {
|
13
|
+
it('should persist the same id across render', () => __awaiter(void 0, void 0, void 0, function* () {
|
14
|
+
const hook = renderHook(() => useUniqueId());
|
15
|
+
expect(hook.result.current).toBe(`${smoresIdPrefix}_0`);
|
16
|
+
hook.rerender();
|
17
|
+
expect(hook.result.current).toBe(`${smoresIdPrefix}_0`);
|
18
|
+
}));
|
19
|
+
it('should have different id if called from different instance', () => __awaiter(void 0, void 0, void 0, function* () {
|
20
|
+
const hook1 = renderHook(() => useUniqueId());
|
21
|
+
const hook2 = renderHook(() => useUniqueId());
|
22
|
+
expect(hook1.result.current).not.toBe(hook2.result.current);
|
23
|
+
}));
|
24
|
+
it('should keep to provided id if present', () => __awaiter(void 0, void 0, void 0, function* () {
|
25
|
+
const someRandomId = 'someRandomId';
|
26
|
+
const hook = renderHook(() => useUniqueId(someRandomId));
|
27
|
+
expect(hook.result.current).toBe(someRandomId);
|
28
|
+
}));
|
29
|
+
});
|
30
|
+
//# sourceMappingURL=id.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"id.test.js","sourceRoot":"","sources":["../../src/utils/id.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAElD,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;QACxD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QAE5C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,cAAc,IAAI,CAAC,CAAA;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAA;QACf,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,cAAc,IAAI,CAAC,CAAA;IACzD,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,4DAA4D,EAAE,GAAS,EAAE;QAC1E,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QAE7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC7D,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,GAAS,EAAE;QACrD,MAAM,YAAY,GAAG,cAAc,CAAA;QACnC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAA;QAExD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAChD,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@mrshmllw/smores-react",
|
3
|
-
"version": "2.1.
|
3
|
+
"version": "2.1.25",
|
4
4
|
"main": "./dist/index.js",
|
5
5
|
"description": "Collection of React components used by Marshmallow Technology",
|
6
6
|
"keywords": [
|
@@ -39,11 +39,14 @@
|
|
39
39
|
"@storybook/storybook-deployer": "^2.8.7",
|
40
40
|
"@testing-library/jest-dom": "^5.11.4",
|
41
41
|
"@testing-library/react": "^12.0.0",
|
42
|
-
"@
|
42
|
+
"@testing-library/react-hooks": "^8.0.0",
|
43
|
+
"@types/jest": "^28.1.1",
|
44
|
+
"@types/node": "^17.0.35",
|
43
45
|
"@types/react": "^17.0.0",
|
44
46
|
"@types/react-dom": "^17.0.9",
|
45
47
|
"@types/styled-components": "^5.1.3",
|
46
|
-
"@types/
|
48
|
+
"@types/testing-library__jest-dom": "^5.14.3",
|
49
|
+
"@types/testing-library__react": "^10.2.0",
|
47
50
|
"@typescript-eslint/eslint-plugin": "^4.3.0",
|
48
51
|
"@typescript-eslint/parser": "^4.3.0",
|
49
52
|
"babel-eslint": "^10.1.0",
|
@@ -54,10 +57,11 @@
|
|
54
57
|
"eslint-plugin-jest": "^26.0.0",
|
55
58
|
"eslint-plugin-react": "^7.29.2",
|
56
59
|
"eslint-plugin-react-hooks": "^4.1.2",
|
57
|
-
"husky": "^
|
60
|
+
"husky": "^8.0.1",
|
58
61
|
"jest": "^28.0.3",
|
62
|
+
"jest-environment-jsdom": "^28.1.0",
|
59
63
|
"jest-styled-components": "^7.0.3",
|
60
|
-
"lint-staged": "^
|
64
|
+
"lint-staged": "^13.0.0",
|
61
65
|
"prettier": "^2.1.2",
|
62
66
|
"storybook-addon-performance": "^0.16.1"
|
63
67
|
},
|
@@ -67,8 +71,7 @@
|
|
67
71
|
"react": "^16.8.0",
|
68
72
|
"react-dom": "^16.8.0",
|
69
73
|
"styled-components": "^5.2.1",
|
70
|
-
"typescript": "^4.4.2"
|
71
|
-
"uuid": "^8.3.2"
|
74
|
+
"typescript": "^4.4.2"
|
72
75
|
},
|
73
76
|
"repository": {
|
74
77
|
"type": "git",
|