@ornikar/kitt-universal 1.0.0 → 1.0.1
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/package.json +4 -4
- package/CHANGELOG.md +0 -8
- package/src/.eslintrc.json +0 -19
- package/src/Avatar/Avatar.stories.tsx +0 -45
- package/src/Avatar/Avatar.tsx +0 -60
- package/src/Avatar/__snapshots__/Avatar.stories.tsx.snap +0 -1229
- package/src/Button/Button.stories.tsx +0 -301
- package/src/Button/Button.tsx +0 -60
- package/src/Button/ButtonContainer.tsx +0 -32
- package/src/Button/ButtonContent.tsx +0 -133
- package/src/Button/__snapshots__/Button.stories.tsx.snap +0 -7483
- package/src/Button/useButton.ts +0 -14
- package/src/Card/Card.stories.tsx +0 -31
- package/src/Card/Card.tsx +0 -25
- package/src/Card/__snapshots__/Card.stories.tsx.snap +0 -306
- package/src/FullScreenModal/Body.tsx +0 -25
- package/src/FullScreenModal/FullScreenModal.stories.tsx +0 -63
- package/src/FullScreenModal/FullScreenModal.tsx +0 -21
- package/src/FullScreenModal/Header.tsx +0 -129
- package/src/FullScreenModal/__snapshots__/FullScreenModal.stories.tsx.snap +0 -771
- package/src/Icon/Icon.stories.tsx +0 -59
- package/src/Icon/Icon.tsx +0 -37
- package/src/Icon/SpinningIcon.tsx +0 -38
- package/src/Icon/SpinningIcon.web.module.css +0 -13
- package/src/Icon/SpinningIcon.web.module.css.d.ts +0 -6
- package/src/Icon/SpinningIcon.web.tsx +0 -11
- package/src/Icon/__snapshots__/Icon.stories.tsx.snap +0 -5648
- package/src/KittBreakpoints.ts +0 -44
- package/src/ListItem/ListItem.stories.tsx +0 -122
- package/src/ListItem/ListItem.tsx +0 -61
- package/src/ListItem/ListItemContent.tsx +0 -17
- package/src/ListItem/ListItemSideContent.tsx +0 -41
- package/src/ListItem/__snapshots__/ListItem.stories.tsx.snap +0 -1514
- package/src/Loader/LargeLoader.tsx +0 -12
- package/src/Loader/LargeLoader.web.module.css +0 -103
- package/src/Loader/LargeLoader.web.module.css.d.ts +0 -11
- package/src/Loader/LargeLoader.web.test.tsx +0 -10
- package/src/Loader/LargeLoader.web.tsx +0 -18
- package/src/Loader/Loader.stories.tsx +0 -47
- package/src/Loader/Loader.tsx +0 -21
- package/src/Loader/Loader.web.test.tsx +0 -20
- package/src/Loader/Loader.web.tsx +0 -14
- package/src/Loader/__snapshots__/LargeLoader.web.test.tsx.snap +0 -33
- package/src/Loader/__snapshots__/Loader.stories.tsx.snap +0 -607
- package/src/Loader/__snapshots__/Loader.web.test.tsx.snap +0 -103
- package/src/Message/Message.stories.tsx +0 -102
- package/src/Message/Message.tsx +0 -114
- package/src/Message/__snapshots__/Message.stories.tsx.snap +0 -2776
- package/src/Modal/Body.tsx +0 -20
- package/src/Modal/Footer.tsx +0 -18
- package/src/Modal/Header.tsx +0 -66
- package/src/Modal/Modal.stories.tsx +0 -181
- package/src/Modal/Modal.tsx +0 -66
- package/src/Modal/OnCloseContext.ts +0 -3
- package/src/Modal/__snapshots__/Modal.stories.tsx.snap +0 -2960
- package/src/Notification/Notification.stories.tsx +0 -102
- package/src/Notification/Notification.tsx +0 -21
- package/src/Notification/__snapshots__/Notification.stories.tsx.snap +0 -2861
- package/src/Overlay/Overlay.tsx +0 -22
- package/src/Tag/Tag.stories.tsx +0 -18
- package/src/Tag/Tag.tsx +0 -31
- package/src/Tag/__snapshots__/Tag.stories.tsx.snap +0 -303
- package/src/Tooltip/Tooltip.tsx +0 -17
- package/src/__mocks__/react-native-safe-area-context.tsx +0 -26
- package/src/forms/InputFeedback/InputFeedback.stories.tsx +0 -17
- package/src/forms/InputFeedback/InputFeedback.tsx +0 -28
- package/src/forms/InputFeedback/__snapshots__/InputFeedback.stories.tsx.snap +0 -252
- package/src/forms/InputField/InputField.stories.tsx +0 -19
- package/src/forms/InputField/InputField.tsx +0 -45
- package/src/forms/InputField/__snapshots__/InputField.stories.tsx.snap +0 -240
- package/src/forms/InputFormState.ts +0 -1
- package/src/forms/InputText/InputText.stories.tsx +0 -85
- package/src/forms/InputText/InputText.tsx +0 -172
- package/src/forms/InputText/__snapshots__/InputText.stories.tsx.snap +0 -4274
- package/src/forms/InputText/useInputText.ts +0 -19
- package/src/forms/Label/Label.stories.tsx +0 -14
- package/src/forms/Label/Label.tsx +0 -17
- package/src/forms/Label/__snapshots__/Label.stories.tsx.snap +0 -174
- package/src/forms/Radio/Radio.stories.tsx +0 -48
- package/src/forms/Radio/Radio.tsx +0 -81
- package/src/forms/Radio/__snapshots__/Radio.stories.tsx.snap +0 -967
- package/src/forms/TextArea/TextArea.stories.tsx +0 -72
- package/src/forms/TextArea/TextArea.tsx +0 -12
- package/src/forms/TextArea/__snapshots__/TextArea.stories.tsx.snap +0 -2091
- package/src/index.ts +0 -61
- package/src/stories/Block.tsx +0 -24
- package/src/stories/Flex.tsx +0 -16
- package/src/stories/color-tokens.stories.tsx +0 -143
- package/src/stories-list.ts +0 -22
- package/src/story-components/Section.tsx +0 -56
- package/src/story-components/Story.tsx +0 -24
- package/src/story-components/StoryDecorator.tsx +0 -8
- package/src/story-components/StoryGrid.tsx +0 -80
- package/src/story-components/StoryTitle.stories.tsx +0 -12
- package/src/story-components/StoryTitle.tsx +0 -69
- package/src/story-components/__snapshots__/StoryTitle.stories.tsx.snap +0 -155
- package/src/story-components/index.ts +0 -5
- package/src/themes/default.ts +0 -34
- package/src/themes/late-ocean/avatarLateOceanTheme.ts +0 -12
- package/src/themes/late-ocean/buttonLateOceanTheme.ts +0 -37
- package/src/themes/late-ocean/cardLateOceanTheme.ts +0 -19
- package/src/themes/late-ocean/colorsLateOceanTheme.ts +0 -19
- package/src/themes/late-ocean/feedbackMessageLateOceanTheme.ts +0 -10
- package/src/themes/late-ocean/formLateOceanTheme.ts +0 -9
- package/src/themes/late-ocean/fullScreenModalLateOceanTheme.ts +0 -9
- package/src/themes/late-ocean/inputFieldLateOceanTheme.ts +0 -4
- package/src/themes/late-ocean/inputLateOceanTheme.ts +0 -55
- package/src/themes/late-ocean/listItemLateOceanTheme.ts +0 -8
- package/src/themes/late-ocean/radioLateOceanTheme.ts +0 -19
- package/src/themes/late-ocean/shadowsLateOceanTheme.ts +0 -3
- package/src/themes/late-ocean/tagLateOceanTheme.ts +0 -17
- package/src/themes/late-ocean/typographyLateOceanTheme.ts +0 -94
- package/src/themes/palettes/lateOceanColorPalette.ts +0 -24
- package/src/typings/babel-config.d.ts +0 -6
- package/src/typings/metro.d.ts +0 -6
- package/src/typography/Typography.stories.tsx +0 -113
- package/src/typography/Typography.tsx +0 -165
- package/src/typography/TypographyIcon.stories.tsx +0 -31
- package/src/typography/TypographyIcon.tsx +0 -35
- package/src/typography/TypographyLink.stories.tsx +0 -88
- package/src/typography/TypographyLink.tsx +0 -48
- package/src/typography/__snapshots__/Typography.stories.tsx.snap +0 -6118
- package/src/typography/__snapshots__/TypographyIcon.stories.tsx.snap +0 -334
- package/src/typography/__snapshots__/TypographyLink.stories.tsx.snap +0 -10945
- package/src/useKittTheme.tsx +0 -12
- package/src/utils/storybook/decorators/KittThemeDecorator.tsx +0 -27
- package/src/utils/storybook/decorators/SafeAreaProviderDecorator.tsx +0 -11
- package/src/utils/storybook/setup-global-decorators.ts +0 -6
- package/src/utils/tests/renderWithProvidersUtils.tsx +0 -17
- package/src/utils/typeUtils.ts +0 -6
- package/src/utils/windowSize/MatchWindowSize.tsx +0 -14
- package/src/utils/windowSize/__snapshots__/windowSize.stories.tsx.snap +0 -1485
- package/src/utils/windowSize/createWindowSizeHelper.test.ts +0 -11
- package/src/utils/windowSize/createWindowSizeHelper.ts +0 -65
- package/src/utils/windowSize/useMatchWindowSize.ts +0 -14
- package/src/utils/windowSize/useWindowSize.ts +0 -1
- package/src/utils/windowSize/windowSize.stories.tsx +0 -115
- package/tsconfig.build.json +0 -33
- package/tsconfig.json +0 -13
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ReactElement } from 'react';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import type { LoaderProps } from './Loader';
|
|
4
|
-
import { Loader } from './Loader';
|
|
5
|
-
|
|
6
|
-
export interface LargeLoaderProps {
|
|
7
|
-
color?: LoaderProps['color'];
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export function LargeLoader({ color = 'primary' }: LargeLoaderProps): ReactElement {
|
|
11
|
-
return <Loader color={color} size={60} />;
|
|
12
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
@keyframes LargeLoaderInit {
|
|
2
|
-
/**
|
|
3
|
-
* 169.64 is the perimeter of each svg circle with a 27 radius
|
|
4
|
-
* P = 2 * Pi * radius
|
|
5
|
-
*/
|
|
6
|
-
0% {
|
|
7
|
-
stroke-dashoffset: 169.64px;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/* Edges needs a px value */
|
|
11
|
-
100% {
|
|
12
|
-
/* stylelint-disable */
|
|
13
|
-
stroke-dashoffset: 0;
|
|
14
|
-
/* stylelint-enable */
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/** Blaze circle animation **/
|
|
19
|
-
@keyframes LargeLoaderOffset {
|
|
20
|
-
0% {
|
|
21
|
-
stroke-dashoffset: 169.64px;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* 34 equals 20% of this radius and represent the min offset part of the animated circle
|
|
26
|
-
*/
|
|
27
|
-
100% {
|
|
28
|
-
stroke-dashoffset: 34px;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
@keyframes LargeLoaderRotation {
|
|
33
|
-
0% {
|
|
34
|
-
transform: rotate(0deg);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
100% {
|
|
38
|
-
transform: rotate(360deg);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
.LargeLoader {
|
|
43
|
-
width: 60px;
|
|
44
|
-
height: 60px;
|
|
45
|
-
|
|
46
|
-
/* Needed to make the animation starting from the top of the circles */
|
|
47
|
-
transform: scale(-1) rotate(90deg);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.LargeLoader circle,
|
|
51
|
-
.LargeLoader g {
|
|
52
|
-
transform-origin: center center;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.LargeLoader circle {
|
|
56
|
-
stroke-width: 3px;
|
|
57
|
-
stroke-dasharray: 169.64px;
|
|
58
|
-
stroke-dashoffset: 169.64px;
|
|
59
|
-
stroke-linecap: round;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.LargeLoaderFill {
|
|
63
|
-
transform-origin: center center;
|
|
64
|
-
animation: LargeLoaderRotation 1.8s linear 0.5s infinite;
|
|
65
|
-
}
|
|
66
|
-
.LargeLoaderFill circle {
|
|
67
|
-
stroke: #4c34e0;
|
|
68
|
-
animation: LargeLoaderOffset 1.8s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s infinite alternate,
|
|
69
|
-
LargeLoaderRotation 2.16s linear 0.5s infinite;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
.LargeLoaderBase circle {
|
|
73
|
-
stroke: #ccc;
|
|
74
|
-
animation: LargeLoaderInit 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0.5s forwards;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/*
|
|
78
|
-
* Targets IE 11
|
|
79
|
-
*/
|
|
80
|
-
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
|
|
81
|
-
.LargeLoader svg {
|
|
82
|
-
display: none;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
.LargeLoader {
|
|
86
|
-
border-radius: 50%;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.LargeLoader::after {
|
|
90
|
-
content: '';
|
|
91
|
-
left: 0;
|
|
92
|
-
top: 0;
|
|
93
|
-
width: calc(100% - 6px);
|
|
94
|
-
height: calc(100% - 6px);
|
|
95
|
-
border-radius: 50%;
|
|
96
|
-
display: block;
|
|
97
|
-
position: absolute;
|
|
98
|
-
animation: rotation 2s linear 0.5s infinite;
|
|
99
|
-
border: 3px solid #4c34e0;
|
|
100
|
-
border-bottom-color: #ccc;
|
|
101
|
-
transform-origin: center center;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
declare const styles: {
|
|
2
|
-
readonly "LargeLoader": string;
|
|
3
|
-
readonly "LargeLoaderFill": string;
|
|
4
|
-
readonly "LargeLoaderRotation": string;
|
|
5
|
-
readonly "LargeLoaderOffset": string;
|
|
6
|
-
readonly "LargeLoaderBase": string;
|
|
7
|
-
readonly "LargeLoaderInit": string;
|
|
8
|
-
readonly "rotation": string;
|
|
9
|
-
};
|
|
10
|
-
export = styles;
|
|
11
|
-
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { renderWithProviders } from '../utils/tests/renderWithProvidersUtils';
|
|
3
|
-
import { LargeLoader } from './LargeLoader.web';
|
|
4
|
-
|
|
5
|
-
describe('LargeLoader web', () => {
|
|
6
|
-
it('should render LargeLoader', () => {
|
|
7
|
-
const largeLoader = renderWithProviders(<LargeLoader />);
|
|
8
|
-
expect(largeLoader).toMatchSnapshot();
|
|
9
|
-
});
|
|
10
|
-
});
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { ReactElement } from 'react';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import styles from './LargeLoader.web.module.css';
|
|
4
|
-
|
|
5
|
-
export function LargeLoader(props: Record<string, never>): ReactElement {
|
|
6
|
-
return (
|
|
7
|
-
<div className={styles.LargeLoader}>
|
|
8
|
-
<svg width="60" height="60">
|
|
9
|
-
<g className={styles.LargeLoaderBase}>
|
|
10
|
-
<circle cx="30" cy="30" r="27" fill="none" />
|
|
11
|
-
</g>
|
|
12
|
-
<g className={styles.LargeLoaderFill}>
|
|
13
|
-
<circle cx="30" cy="30" r="27" fill="none" />
|
|
14
|
-
</g>
|
|
15
|
-
</svg>
|
|
16
|
-
</div>
|
|
17
|
-
);
|
|
18
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { storiesOf } from '@storybook/react-native';
|
|
2
|
-
import { Section, Story, StoryGrid } from '@ornikar/kitt-universal';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { LargeLoader } from './LargeLoader';
|
|
5
|
-
import { Loader } from './Loader';
|
|
6
|
-
|
|
7
|
-
storiesOf('kitt-universal/Feedback', module).add(
|
|
8
|
-
'Loader',
|
|
9
|
-
() => (
|
|
10
|
-
<Story title="Loader">
|
|
11
|
-
<Section.DemoSection>
|
|
12
|
-
<Loader color="primary" />
|
|
13
|
-
</Section.DemoSection>
|
|
14
|
-
|
|
15
|
-
<Section title="Color">
|
|
16
|
-
<StoryGrid.Row>
|
|
17
|
-
{(['primary', 'black-light'] as const).map((color) => (
|
|
18
|
-
<StoryGrid.Col key={color} title={color}>
|
|
19
|
-
<Loader color={color} />
|
|
20
|
-
</StoryGrid.Col>
|
|
21
|
-
))}
|
|
22
|
-
</StoryGrid.Row>
|
|
23
|
-
</Section>
|
|
24
|
-
|
|
25
|
-
<Section title="Size">
|
|
26
|
-
<StoryGrid.Row>
|
|
27
|
-
{([undefined, 40, 60, 80] as const).map((size) => (
|
|
28
|
-
<StoryGrid.Col key={size || 'default'} title={size ? `${size}` : 'default'}>
|
|
29
|
-
<Loader color="primary" size={size} />
|
|
30
|
-
</StoryGrid.Col>
|
|
31
|
-
))}
|
|
32
|
-
</StoryGrid.Row>
|
|
33
|
-
</Section>
|
|
34
|
-
|
|
35
|
-
<Section title="Large Loader">
|
|
36
|
-
<LargeLoader />
|
|
37
|
-
</Section>
|
|
38
|
-
</Story>
|
|
39
|
-
),
|
|
40
|
-
{
|
|
41
|
-
jest: {
|
|
42
|
-
createBeforeAfterEachCallbacks: () => ({
|
|
43
|
-
before: () => jest.useFakeTimers(),
|
|
44
|
-
}),
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
|
-
);
|
package/src/Loader/Loader.tsx
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { ReactElement } from 'react';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { ActivityIndicator, Platform } from 'react-native';
|
|
4
|
-
import { useTheme } from 'styled-components/native';
|
|
5
|
-
import type { TypographyIconProps } from '../typography/TypographyIcon';
|
|
6
|
-
|
|
7
|
-
export interface LoaderProps {
|
|
8
|
-
color?: TypographyIconProps['color'];
|
|
9
|
-
size?: TypographyIconProps['size'];
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function getActivityIndicatorSize(size: number): number | 'small' | 'large' {
|
|
13
|
-
if (Platform.OS === 'android') return size;
|
|
14
|
-
return size < 36 ? 'small' : 'large';
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export function Loader({ color = 'primary', size = 20 }: LoaderProps): ReactElement {
|
|
18
|
-
const theme = useTheme();
|
|
19
|
-
const colorHex = theme.kitt.typography.colors[color];
|
|
20
|
-
return <ActivityIndicator testID="ActivityIndicator" color={colorHex} size={getActivityIndicatorSize(size)} />;
|
|
21
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { renderWithProviders } from '../utils/tests/renderWithProvidersUtils';
|
|
3
|
-
import { Loader } from './Loader.web';
|
|
4
|
-
|
|
5
|
-
describe('Loader web', () => {
|
|
6
|
-
it('should render Loader with no props', () => {
|
|
7
|
-
const largeLoader = renderWithProviders(<Loader />);
|
|
8
|
-
expect(largeLoader).toMatchSnapshot();
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
it('should render Loader with black color', () => {
|
|
12
|
-
const largeLoader = renderWithProviders(<Loader color="black" />);
|
|
13
|
-
expect(largeLoader).toMatchSnapshot();
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it('should render Loader with 80 size', () => {
|
|
17
|
-
const largeLoader = renderWithProviders(<Loader size={80} />);
|
|
18
|
-
expect(largeLoader).toMatchSnapshot();
|
|
19
|
-
});
|
|
20
|
-
});
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { LoaderIcon } from '@ornikar/kitt-icons';
|
|
2
|
-
import type { ReactElement } from 'react';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import type { TypographyIconProps } from '../typography/TypographyIcon';
|
|
5
|
-
import { TypographyIcon } from '../typography/TypographyIcon';
|
|
6
|
-
|
|
7
|
-
export interface LoaderProps {
|
|
8
|
-
color?: TypographyIconProps['color'];
|
|
9
|
-
size?: TypographyIconProps['size'];
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export function Loader({ color = 'primary', size = 20 }: LoaderProps): ReactElement {
|
|
13
|
-
return <TypographyIcon spin color={color} size={size} icon={<LoaderIcon />} />;
|
|
14
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
-
|
|
3
|
-
exports[`LargeLoader web should render LargeLoader 1`] = `
|
|
4
|
-
<div
|
|
5
|
-
className="LargeLoader"
|
|
6
|
-
>
|
|
7
|
-
<svg
|
|
8
|
-
height="60"
|
|
9
|
-
width="60"
|
|
10
|
-
>
|
|
11
|
-
<g
|
|
12
|
-
className="LargeLoaderBase"
|
|
13
|
-
>
|
|
14
|
-
<circle
|
|
15
|
-
cx="30"
|
|
16
|
-
cy="30"
|
|
17
|
-
fill="none"
|
|
18
|
-
r="27"
|
|
19
|
-
/>
|
|
20
|
-
</g>
|
|
21
|
-
<g
|
|
22
|
-
className="LargeLoaderFill"
|
|
23
|
-
>
|
|
24
|
-
<circle
|
|
25
|
-
cx="30"
|
|
26
|
-
cy="30"
|
|
27
|
-
fill="none"
|
|
28
|
-
r="27"
|
|
29
|
-
/>
|
|
30
|
-
</g>
|
|
31
|
-
</svg>
|
|
32
|
-
</div>
|
|
33
|
-
`;
|