@up42/up-components 0.0.21 → 0.1.2
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 +152 -2
- package/dist/cjs/index.js +1 -150
- package/dist/cjs/types/components/Avatar/Avatar.d.ts +9 -0
- package/dist/cjs/types/{global/overrides/avatar.d.ts → components/Avatar/Avatar.overrides.d.ts} +0 -0
- package/dist/cjs/types/components/Avatar/Avatar.stories.d.ts +7 -0
- package/dist/cjs/types/components/Avatar/Avatar.test.d.ts +1 -0
- package/dist/cjs/types/components/Box/Box.d.ts +5 -0
- package/dist/cjs/types/components/Box/Box.stories.d.ts +5 -0
- package/dist/cjs/types/components/Box/Box.test.d.ts +1 -0
- package/dist/cjs/types/components/Button/Button.d.ts +2 -3
- package/dist/cjs/types/components/Checkbox/Checkbox.d.ts +5 -0
- package/dist/cjs/types/{global/overrides/form/checkbox.d.ts → components/Checkbox/Checkbox.overrides.d.ts} +0 -0
- package/dist/cjs/types/components/Checkbox/Checkbox.stories.d.ts +4 -0
- package/dist/cjs/types/components/Checkbox/Checkbox.test.d.ts +1 -0
- package/dist/cjs/types/components/Chip/Chip.d.ts +5 -0
- package/dist/cjs/types/components/Chip/Chip.overrides.d.ts +2 -0
- package/dist/cjs/types/components/Chip/Chip.stories.d.ts +5 -0
- package/dist/cjs/types/components/Chip/Chip.test.d.ts +1 -0
- package/dist/cjs/types/components/Container/Container.d.ts +27 -0
- package/dist/cjs/types/components/Container/Container.overrides.d.ts +2 -0
- package/dist/cjs/types/components/Container/Container.stories.d.ts +5 -0
- package/dist/cjs/types/components/Container/Container.test.d.ts +1 -0
- package/dist/cjs/types/components/FormCheckbox/FormCheckbox.d.ts +13 -0
- package/dist/cjs/types/components/FormCheckbox/FormCheckbox.stories.d.ts +8 -0
- package/dist/cjs/types/components/FormCheckbox/FormCheckbox.test.d.ts +1 -0
- package/dist/cjs/types/components/FormInput/FormInput.d.ts +9 -0
- package/dist/cjs/types/components/FormInput/FormInput.stories.d.ts +7 -0
- package/dist/cjs/types/components/FormInput/FormInput.test.d.ts +1 -0
- package/dist/cjs/types/components/FormRadio/FormRadio.d.ts +14 -0
- package/dist/cjs/types/components/FormRadio/FormRadio.stories.d.ts +8 -0
- package/dist/cjs/types/components/FormRadio/FormRadio.test.d.ts +1 -0
- package/dist/cjs/types/components/FormSelect/FormSelect.d.ts +13 -0
- package/dist/cjs/types/components/FormSelect/FormSelect.stories.d.ts +7 -0
- package/dist/cjs/types/components/FormSelect/FormSelect.test.d.ts +1 -0
- package/dist/cjs/types/components/FormSwitch/FormSwitch.d.ts +8 -0
- package/dist/cjs/types/components/FormSwitch/FormSwitch.stories.d.ts +6 -0
- package/dist/cjs/types/components/FormSwitch/FormSwitch.test.d.ts +1 -0
- package/dist/cjs/types/components/Input/Input.d.ts +7 -0
- package/dist/{esm/types/global/overrides/form/input.d.ts → cjs/types/components/Input/Input.overrides.d.ts} +1 -0
- package/dist/cjs/types/components/Input/Input.stories.d.ts +6 -0
- package/dist/cjs/types/components/Input/Input.test.d.ts +1 -0
- package/dist/cjs/types/components/Radio/Radio.d.ts +5 -0
- package/dist/cjs/types/{global/overrides/form/radio.d.ts → components/Radio/Radio.overrides.d.ts} +0 -0
- package/dist/cjs/types/components/Radio/Radio.stories.d.ts +4 -0
- package/dist/cjs/types/components/Radio/Radio.test.d.ts +1 -0
- package/dist/cjs/types/components/Select/Select.d.ts +5 -0
- package/dist/cjs/types/components/Select/Select.overrides.d.ts +2 -0
- package/dist/cjs/types/components/Select/Select.stories.d.ts +6 -0
- package/dist/cjs/types/components/Select/Select.test.d.ts +1 -0
- package/dist/cjs/types/components/Switch/Switch.d.ts +7 -0
- package/dist/cjs/types/{global/overrides/form/switch.d.ts → components/Switch/Switch.overrides.d.ts} +0 -0
- package/dist/cjs/types/components/Switch/Switch.stories.d.ts +5 -0
- package/dist/cjs/types/components/Switch/Switch.test.d.ts +1 -0
- package/dist/cjs/types/components/Typography/Typography.d.ts +2 -3
- package/dist/cjs/types/components/index.d.ts +16 -4
- package/dist/cjs/types/global/UpComponentsProvider/UpComponentsProvider.d.ts +3 -0
- package/dist/cjs/types/global/overrides/index.d.ts +0 -6
- package/dist/cjs/types/global/theme.d.ts +1 -2
- package/dist/cjs/types/global/tokens/colors/colors.components.d.ts +5 -0
- package/dist/cjs/types/global/tokens/components/CodeSnippet.d.ts +6 -0
- package/dist/cjs/types/global/tokens/components/CopyToClipboard.d.ts +4 -0
- package/dist/cjs/types/global/tokens/components/Header.d.ts +5 -0
- package/dist/cjs/types/global/tokens/components/Table.d.ts +9 -0
- package/dist/cjs/types/global/tokens/spacing/spacing.components.d.ts +5 -0
- package/dist/cjs/types/global/tokens/typogrpahy/typography.components.d.ts +4 -0
- package/dist/cjs/types/index.d.ts +6 -4
- package/dist/esm/index.js +2 -137
- package/dist/esm/types/components/Avatar/Avatar.d.ts +9 -0
- package/dist/esm/types/{global/overrides/avatar.d.ts → components/Avatar/Avatar.overrides.d.ts} +0 -0
- package/dist/esm/types/components/Avatar/Avatar.stories.d.ts +7 -0
- package/dist/esm/types/components/Avatar/Avatar.test.d.ts +1 -0
- package/dist/esm/types/components/Box/Box.d.ts +5 -0
- package/dist/esm/types/components/Box/Box.stories.d.ts +5 -0
- package/dist/esm/types/components/Box/Box.test.d.ts +1 -0
- package/dist/esm/types/components/Button/Button.d.ts +2 -3
- package/dist/esm/types/components/Checkbox/Checkbox.d.ts +5 -0
- package/dist/esm/types/{global/overrides/form/checkbox.d.ts → components/Checkbox/Checkbox.overrides.d.ts} +0 -0
- package/dist/esm/types/components/Checkbox/Checkbox.stories.d.ts +4 -0
- package/dist/esm/types/components/Checkbox/Checkbox.test.d.ts +1 -0
- package/dist/esm/types/components/Chip/Chip.d.ts +5 -0
- package/dist/esm/types/components/Chip/Chip.overrides.d.ts +2 -0
- package/dist/esm/types/components/Chip/Chip.stories.d.ts +5 -0
- package/dist/esm/types/components/Chip/Chip.test.d.ts +1 -0
- package/dist/esm/types/components/Container/Container.d.ts +27 -0
- package/dist/esm/types/components/Container/Container.overrides.d.ts +2 -0
- package/dist/esm/types/components/Container/Container.stories.d.ts +5 -0
- package/dist/esm/types/components/Container/Container.test.d.ts +1 -0
- package/dist/esm/types/components/FormCheckbox/FormCheckbox.d.ts +13 -0
- package/dist/esm/types/components/FormCheckbox/FormCheckbox.stories.d.ts +8 -0
- package/dist/esm/types/components/FormCheckbox/FormCheckbox.test.d.ts +1 -0
- package/dist/esm/types/components/FormInput/FormInput.d.ts +9 -0
- package/dist/esm/types/components/FormInput/FormInput.stories.d.ts +7 -0
- package/dist/esm/types/components/FormInput/FormInput.test.d.ts +1 -0
- package/dist/esm/types/components/FormRadio/FormRadio.d.ts +14 -0
- package/dist/esm/types/components/FormRadio/FormRadio.stories.d.ts +8 -0
- package/dist/esm/types/components/FormRadio/FormRadio.test.d.ts +1 -0
- package/dist/esm/types/components/FormSelect/FormSelect.d.ts +13 -0
- package/dist/esm/types/components/FormSelect/FormSelect.stories.d.ts +7 -0
- package/dist/esm/types/components/FormSelect/FormSelect.test.d.ts +1 -0
- package/dist/esm/types/components/FormSwitch/FormSwitch.d.ts +8 -0
- package/dist/esm/types/components/FormSwitch/FormSwitch.stories.d.ts +6 -0
- package/dist/esm/types/components/FormSwitch/FormSwitch.test.d.ts +1 -0
- package/dist/esm/types/components/Input/Input.d.ts +7 -0
- package/dist/{cjs/types/global/overrides/form/input.d.ts → esm/types/components/Input/Input.overrides.d.ts} +1 -0
- package/dist/esm/types/components/Input/Input.stories.d.ts +6 -0
- package/dist/esm/types/components/Input/Input.test.d.ts +1 -0
- package/dist/esm/types/components/Radio/Radio.d.ts +5 -0
- package/dist/esm/types/{global/overrides/form/radio.d.ts → components/Radio/Radio.overrides.d.ts} +0 -0
- package/dist/esm/types/components/Radio/Radio.stories.d.ts +4 -0
- package/dist/esm/types/components/Radio/Radio.test.d.ts +1 -0
- package/dist/esm/types/components/Select/Select.d.ts +5 -0
- package/dist/esm/types/components/Select/Select.overrides.d.ts +2 -0
- package/dist/esm/types/components/Select/Select.stories.d.ts +6 -0
- package/dist/esm/types/components/Select/Select.test.d.ts +1 -0
- package/dist/esm/types/components/Switch/Switch.d.ts +7 -0
- package/dist/esm/types/{global/overrides/form/switch.d.ts → components/Switch/Switch.overrides.d.ts} +0 -0
- package/dist/esm/types/components/Switch/Switch.stories.d.ts +5 -0
- package/dist/esm/types/components/Switch/Switch.test.d.ts +1 -0
- package/dist/esm/types/components/Typography/Typography.d.ts +2 -3
- package/dist/esm/types/components/index.d.ts +16 -4
- package/dist/esm/types/global/UpComponentsProvider/UpComponentsProvider.d.ts +3 -0
- package/dist/esm/types/global/overrides/index.d.ts +0 -6
- package/dist/esm/types/global/theme.d.ts +1 -2
- package/dist/esm/types/global/tokens/colors/colors.components.d.ts +5 -0
- package/dist/esm/types/global/tokens/components/CodeSnippet.d.ts +6 -0
- package/dist/esm/types/global/tokens/components/CopyToClipboard.d.ts +4 -0
- package/dist/esm/types/global/tokens/components/Header.d.ts +5 -0
- package/dist/esm/types/global/tokens/components/Table.d.ts +9 -0
- package/dist/esm/types/global/tokens/spacing/spacing.components.d.ts +5 -0
- package/dist/esm/types/global/tokens/typogrpahy/typography.components.d.ts +4 -0
- package/dist/esm/types/index.d.ts +6 -4
- package/dist/index.d.ts +114 -27
- package/package.json +21 -2
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/types/global/UpComponentsProvider/index.d.ts +0 -4
- package/dist/cjs/types/global/overrides/container.d.ts +0 -2
- package/dist/cjs/types/tokens/colors.stories.d.ts +0 -5
- package/dist/cjs/types/tokens/elevation.stories.d.ts +0 -5
- package/dist/cjs/types/tokens/grid.stories.d.ts +0 -5
- package/dist/cjs/types/tokens/spacing.stories.d.ts +0 -5
- package/dist/cjs/types/tokens/typography.stories.d.ts +0 -5
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/types/global/UpComponentsProvider/index.d.ts +0 -4
- package/dist/esm/types/global/overrides/container.d.ts +0 -2
- package/dist/esm/types/tokens/colors.stories.d.ts +0 -5
- package/dist/esm/types/tokens/elevation.stories.d.ts +0 -5
- package/dist/esm/types/tokens/grid.stories.d.ts +0 -5
- package/dist/esm/types/tokens/spacing.stories.d.ts +0 -5
- package/dist/esm/types/tokens/typography.stories.d.ts +0 -5
package/README.md
CHANGED
|
@@ -1,2 +1,152 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# UP Components
|
|
2
|
+
|
|
3
|
+
UP42's Shared Component Library. This is a cross-team collaborative package that enables us to reuse React components across different projects. The package uses [Storybook](https://storybook.js.org/docs/react/get-started/introduction) to organize and document UI components, and is based on [MUI](https://mui.com/getting-started/usage/) for theming and most of the APIs.
|
|
4
|
+
|
|
5
|
+
Up Components library provides react components based on [UP42's design system](https://www.figma.com/file/Qd9QmAdQfcsWe3xSKtJWX9FZ/Design-System)
|
|
6
|
+
|
|
7
|
+
## Getting Started
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
$ npm install @up42/up-components
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
or
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
$ yarn add @up42/up-components
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Using the up-components in your application
|
|
20
|
+
|
|
21
|
+
Make sure to wrap your application with the top-level `UpComponentsProvider`.
|
|
22
|
+
|
|
23
|
+
```tsx
|
|
24
|
+
import { UpComponentsProvider, Button } from '@up42/up-components'
|
|
25
|
+
|
|
26
|
+
const App = () => (
|
|
27
|
+
<UpComponentsProvider>
|
|
28
|
+
<Button>Hello!</Button>
|
|
29
|
+
</UpComponentsProvider>
|
|
30
|
+
)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Available Components
|
|
34
|
+
|
|
35
|
+
To see a list of available components, you can go through Storybook's Component Documentation UI, either at the following links:
|
|
36
|
+
|
|
37
|
+
- Master version at https://up-components.up42.dev/
|
|
38
|
+
- Preview branch at https://up-components--{branch-name}.branch-preview.up42.dev/
|
|
39
|
+
|
|
40
|
+
You can also import components from the `@mui/material` directly from the package, instead of using `@mui`:
|
|
41
|
+
|
|
42
|
+
```diff
|
|
43
|
+
- import { Accordion } from '@mui/material';
|
|
44
|
+
+ import { Accordion } from '@up42/up-components'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Note:** UP Components currently exports all [MUI components](https://mui.com/components/) on top of our custom ones. Which means that the existing MUI documentation can be used for any component not yet documented on our own [Storybook](https://up-components.up42.dev/). In case of conflicts, our custom documentation prevails over MUI.
|
|
48
|
+
|
|
49
|
+
## Developing in the up-components package
|
|
50
|
+
|
|
51
|
+
This package uses [Rollup](https://github.com/rollup/rollup) for building `esm` and `cjs` modules.
|
|
52
|
+
[npm](https://www.npmjs.com/) version 7 or higher is required install and build the components locally. Yarn is not supported for development as it currently does not properly handle peer dependencies.
|
|
53
|
+
|
|
54
|
+
## Developing locally
|
|
55
|
+
|
|
56
|
+
Clone the repository and run.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
$ npm run storybook
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Adding new components
|
|
63
|
+
|
|
64
|
+
Components must be added to the `src/components` folder using the following structure:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
src
|
|
68
|
+
│ index.ts // export { MyComponent } from 'components'
|
|
69
|
+
└─components
|
|
70
|
+
│ index.ts // export { MyComponent } from './MyComponent/MyComponent
|
|
71
|
+
└─MyComponent
|
|
72
|
+
│ MyComponent.tsx // export const MyComponent
|
|
73
|
+
│ MyComponent.test.tsx
|
|
74
|
+
│ MyComponent.overrides.ts
|
|
75
|
+
│ MyComponent.stories.tsx
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- `MyComponent.tsx`: main component structure/logic.
|
|
79
|
+
- `MyComponent.test.tsx`: unit tests for the component.
|
|
80
|
+
- `MyComponent.overrides.ts`: any theme overrides for that component (optional).
|
|
81
|
+
- `MyComponent.stories.tsx`: Storybook documentation.
|
|
82
|
+
|
|
83
|
+
Components and filenames must use the `UpperCamelCase` pattern. For components that already exist on MUI, using the exact same name is preferred so that they override the MUI export.
|
|
84
|
+
|
|
85
|
+
Import paths to internal modules always have to be relative:
|
|
86
|
+
|
|
87
|
+
```diff
|
|
88
|
+
- import { MyUtil } from 'global/utils'
|
|
89
|
+
+ import { MyUtil } from '../../global/utils'
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Testing @up42/up-components locally
|
|
93
|
+
|
|
94
|
+
In order to test the components without publishing a new version, you can use [Yalc](https://github.com/wclr/yalc) to publish the package locally and install it on your app.
|
|
95
|
+
|
|
96
|
+
Install Yalc in your machine by running:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
$ yarn global add yalc
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Inside `up-components` folder, run
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
$ yalc publish
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
In your application, run
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
$ yalc add @up42/up-components
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
This should install the local version of `@up42/up-components` in your application so you can test new components before publishing a new version.
|
|
115
|
+
|
|
116
|
+
### Design System Tokens
|
|
117
|
+
[UP42 tokens](https://github.com/up42/design-system-tokens) are also exposed as part of UpComponents.
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
```diff
|
|
121
|
+
- import tokens from '@up42/constellation-tokens/dist/json/tokens.json'
|
|
122
|
+
+ import { tokens } from "@up42/up-components"
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Publishing new versions
|
|
126
|
+
We are using [Semantic Versioning](https://semver.org/) for controlling each release.
|
|
127
|
+
|
|
128
|
+
- `MAJOR` version when you make incompatible API changes,
|
|
129
|
+
- `MINOR` version when you add functionality in a backwards compatible manner, and
|
|
130
|
+
- `PATCH` version when you make backwards compatible bug fixes.
|
|
131
|
+
|
|
132
|
+
### How should I write my commits?
|
|
133
|
+
We follow the [Conventional Commit](https://www.conventionalcommits.org) specification. The most important prefixes you should have in mind are:
|
|
134
|
+
|
|
135
|
+
- `fix`: which represents bug fixes, and correlates to a SemVer `PATCH`.
|
|
136
|
+
- `feat`: which represents a new feature, and correlates to a SemVer `MINOR`.
|
|
137
|
+
- `feat|fix!`: which represent a breaking change (indicated by the `!`) and will result in a SemVer `MAJOR`.
|
|
138
|
+
|
|
139
|
+
Other prefixes like `chore:`, `refactor:`, `test:`, etc. can be used, but won't be included in the `CHANGELOG.md` file.
|
|
140
|
+
|
|
141
|
+
### Usage
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
$ npm run release
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
This command is going to:
|
|
148
|
+
- bump the version in `package.json` and `package-lock.json`.
|
|
149
|
+
- output changes to `CHANGELOG.md`.
|
|
150
|
+
- commit `package-lock.json` and `package.json` and `CHANGELOG.md`.
|
|
151
|
+
|
|
152
|
+
We use [Standard Version](https://github.com/conventional-changelog/standard-version) for the automated releasing PR commit.
|