@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.
Files changed (149) hide show
  1. package/README.md +152 -2
  2. package/dist/cjs/index.js +1 -150
  3. package/dist/cjs/types/components/Avatar/Avatar.d.ts +9 -0
  4. package/dist/cjs/types/{global/overrides/avatar.d.ts → components/Avatar/Avatar.overrides.d.ts} +0 -0
  5. package/dist/cjs/types/components/Avatar/Avatar.stories.d.ts +7 -0
  6. package/dist/cjs/types/components/Avatar/Avatar.test.d.ts +1 -0
  7. package/dist/cjs/types/components/Box/Box.d.ts +5 -0
  8. package/dist/cjs/types/components/Box/Box.stories.d.ts +5 -0
  9. package/dist/cjs/types/components/Box/Box.test.d.ts +1 -0
  10. package/dist/cjs/types/components/Button/Button.d.ts +2 -3
  11. package/dist/cjs/types/components/Checkbox/Checkbox.d.ts +5 -0
  12. package/dist/cjs/types/{global/overrides/form/checkbox.d.ts → components/Checkbox/Checkbox.overrides.d.ts} +0 -0
  13. package/dist/cjs/types/components/Checkbox/Checkbox.stories.d.ts +4 -0
  14. package/dist/cjs/types/components/Checkbox/Checkbox.test.d.ts +1 -0
  15. package/dist/cjs/types/components/Chip/Chip.d.ts +5 -0
  16. package/dist/cjs/types/components/Chip/Chip.overrides.d.ts +2 -0
  17. package/dist/cjs/types/components/Chip/Chip.stories.d.ts +5 -0
  18. package/dist/cjs/types/components/Chip/Chip.test.d.ts +1 -0
  19. package/dist/cjs/types/components/Container/Container.d.ts +27 -0
  20. package/dist/cjs/types/components/Container/Container.overrides.d.ts +2 -0
  21. package/dist/cjs/types/components/Container/Container.stories.d.ts +5 -0
  22. package/dist/cjs/types/components/Container/Container.test.d.ts +1 -0
  23. package/dist/cjs/types/components/FormCheckbox/FormCheckbox.d.ts +13 -0
  24. package/dist/cjs/types/components/FormCheckbox/FormCheckbox.stories.d.ts +8 -0
  25. package/dist/cjs/types/components/FormCheckbox/FormCheckbox.test.d.ts +1 -0
  26. package/dist/cjs/types/components/FormInput/FormInput.d.ts +9 -0
  27. package/dist/cjs/types/components/FormInput/FormInput.stories.d.ts +7 -0
  28. package/dist/cjs/types/components/FormInput/FormInput.test.d.ts +1 -0
  29. package/dist/cjs/types/components/FormRadio/FormRadio.d.ts +14 -0
  30. package/dist/cjs/types/components/FormRadio/FormRadio.stories.d.ts +8 -0
  31. package/dist/cjs/types/components/FormRadio/FormRadio.test.d.ts +1 -0
  32. package/dist/cjs/types/components/FormSelect/FormSelect.d.ts +13 -0
  33. package/dist/cjs/types/components/FormSelect/FormSelect.stories.d.ts +7 -0
  34. package/dist/cjs/types/components/FormSelect/FormSelect.test.d.ts +1 -0
  35. package/dist/cjs/types/components/FormSwitch/FormSwitch.d.ts +8 -0
  36. package/dist/cjs/types/components/FormSwitch/FormSwitch.stories.d.ts +6 -0
  37. package/dist/cjs/types/components/FormSwitch/FormSwitch.test.d.ts +1 -0
  38. package/dist/cjs/types/components/Input/Input.d.ts +7 -0
  39. package/dist/{esm/types/global/overrides/form/input.d.ts → cjs/types/components/Input/Input.overrides.d.ts} +1 -0
  40. package/dist/cjs/types/components/Input/Input.stories.d.ts +6 -0
  41. package/dist/cjs/types/components/Input/Input.test.d.ts +1 -0
  42. package/dist/cjs/types/components/Radio/Radio.d.ts +5 -0
  43. package/dist/cjs/types/{global/overrides/form/radio.d.ts → components/Radio/Radio.overrides.d.ts} +0 -0
  44. package/dist/cjs/types/components/Radio/Radio.stories.d.ts +4 -0
  45. package/dist/cjs/types/components/Radio/Radio.test.d.ts +1 -0
  46. package/dist/cjs/types/components/Select/Select.d.ts +5 -0
  47. package/dist/cjs/types/components/Select/Select.overrides.d.ts +2 -0
  48. package/dist/cjs/types/components/Select/Select.stories.d.ts +6 -0
  49. package/dist/cjs/types/components/Select/Select.test.d.ts +1 -0
  50. package/dist/cjs/types/components/Switch/Switch.d.ts +7 -0
  51. package/dist/cjs/types/{global/overrides/form/switch.d.ts → components/Switch/Switch.overrides.d.ts} +0 -0
  52. package/dist/cjs/types/components/Switch/Switch.stories.d.ts +5 -0
  53. package/dist/cjs/types/components/Switch/Switch.test.d.ts +1 -0
  54. package/dist/cjs/types/components/Typography/Typography.d.ts +2 -3
  55. package/dist/cjs/types/components/index.d.ts +16 -4
  56. package/dist/cjs/types/global/UpComponentsProvider/UpComponentsProvider.d.ts +3 -0
  57. package/dist/cjs/types/global/overrides/index.d.ts +0 -6
  58. package/dist/cjs/types/global/theme.d.ts +1 -2
  59. package/dist/cjs/types/global/tokens/colors/colors.components.d.ts +5 -0
  60. package/dist/cjs/types/global/tokens/components/CodeSnippet.d.ts +6 -0
  61. package/dist/cjs/types/global/tokens/components/CopyToClipboard.d.ts +4 -0
  62. package/dist/cjs/types/global/tokens/components/Header.d.ts +5 -0
  63. package/dist/cjs/types/global/tokens/components/Table.d.ts +9 -0
  64. package/dist/cjs/types/global/tokens/spacing/spacing.components.d.ts +5 -0
  65. package/dist/cjs/types/global/tokens/typogrpahy/typography.components.d.ts +4 -0
  66. package/dist/cjs/types/index.d.ts +6 -4
  67. package/dist/esm/index.js +2 -137
  68. package/dist/esm/types/components/Avatar/Avatar.d.ts +9 -0
  69. package/dist/esm/types/{global/overrides/avatar.d.ts → components/Avatar/Avatar.overrides.d.ts} +0 -0
  70. package/dist/esm/types/components/Avatar/Avatar.stories.d.ts +7 -0
  71. package/dist/esm/types/components/Avatar/Avatar.test.d.ts +1 -0
  72. package/dist/esm/types/components/Box/Box.d.ts +5 -0
  73. package/dist/esm/types/components/Box/Box.stories.d.ts +5 -0
  74. package/dist/esm/types/components/Box/Box.test.d.ts +1 -0
  75. package/dist/esm/types/components/Button/Button.d.ts +2 -3
  76. package/dist/esm/types/components/Checkbox/Checkbox.d.ts +5 -0
  77. package/dist/esm/types/{global/overrides/form/checkbox.d.ts → components/Checkbox/Checkbox.overrides.d.ts} +0 -0
  78. package/dist/esm/types/components/Checkbox/Checkbox.stories.d.ts +4 -0
  79. package/dist/esm/types/components/Checkbox/Checkbox.test.d.ts +1 -0
  80. package/dist/esm/types/components/Chip/Chip.d.ts +5 -0
  81. package/dist/esm/types/components/Chip/Chip.overrides.d.ts +2 -0
  82. package/dist/esm/types/components/Chip/Chip.stories.d.ts +5 -0
  83. package/dist/esm/types/components/Chip/Chip.test.d.ts +1 -0
  84. package/dist/esm/types/components/Container/Container.d.ts +27 -0
  85. package/dist/esm/types/components/Container/Container.overrides.d.ts +2 -0
  86. package/dist/esm/types/components/Container/Container.stories.d.ts +5 -0
  87. package/dist/esm/types/components/Container/Container.test.d.ts +1 -0
  88. package/dist/esm/types/components/FormCheckbox/FormCheckbox.d.ts +13 -0
  89. package/dist/esm/types/components/FormCheckbox/FormCheckbox.stories.d.ts +8 -0
  90. package/dist/esm/types/components/FormCheckbox/FormCheckbox.test.d.ts +1 -0
  91. package/dist/esm/types/components/FormInput/FormInput.d.ts +9 -0
  92. package/dist/esm/types/components/FormInput/FormInput.stories.d.ts +7 -0
  93. package/dist/esm/types/components/FormInput/FormInput.test.d.ts +1 -0
  94. package/dist/esm/types/components/FormRadio/FormRadio.d.ts +14 -0
  95. package/dist/esm/types/components/FormRadio/FormRadio.stories.d.ts +8 -0
  96. package/dist/esm/types/components/FormRadio/FormRadio.test.d.ts +1 -0
  97. package/dist/esm/types/components/FormSelect/FormSelect.d.ts +13 -0
  98. package/dist/esm/types/components/FormSelect/FormSelect.stories.d.ts +7 -0
  99. package/dist/esm/types/components/FormSelect/FormSelect.test.d.ts +1 -0
  100. package/dist/esm/types/components/FormSwitch/FormSwitch.d.ts +8 -0
  101. package/dist/esm/types/components/FormSwitch/FormSwitch.stories.d.ts +6 -0
  102. package/dist/esm/types/components/FormSwitch/FormSwitch.test.d.ts +1 -0
  103. package/dist/esm/types/components/Input/Input.d.ts +7 -0
  104. package/dist/{cjs/types/global/overrides/form/input.d.ts → esm/types/components/Input/Input.overrides.d.ts} +1 -0
  105. package/dist/esm/types/components/Input/Input.stories.d.ts +6 -0
  106. package/dist/esm/types/components/Input/Input.test.d.ts +1 -0
  107. package/dist/esm/types/components/Radio/Radio.d.ts +5 -0
  108. package/dist/esm/types/{global/overrides/form/radio.d.ts → components/Radio/Radio.overrides.d.ts} +0 -0
  109. package/dist/esm/types/components/Radio/Radio.stories.d.ts +4 -0
  110. package/dist/esm/types/components/Radio/Radio.test.d.ts +1 -0
  111. package/dist/esm/types/components/Select/Select.d.ts +5 -0
  112. package/dist/esm/types/components/Select/Select.overrides.d.ts +2 -0
  113. package/dist/esm/types/components/Select/Select.stories.d.ts +6 -0
  114. package/dist/esm/types/components/Select/Select.test.d.ts +1 -0
  115. package/dist/esm/types/components/Switch/Switch.d.ts +7 -0
  116. package/dist/esm/types/{global/overrides/form/switch.d.ts → components/Switch/Switch.overrides.d.ts} +0 -0
  117. package/dist/esm/types/components/Switch/Switch.stories.d.ts +5 -0
  118. package/dist/esm/types/components/Switch/Switch.test.d.ts +1 -0
  119. package/dist/esm/types/components/Typography/Typography.d.ts +2 -3
  120. package/dist/esm/types/components/index.d.ts +16 -4
  121. package/dist/esm/types/global/UpComponentsProvider/UpComponentsProvider.d.ts +3 -0
  122. package/dist/esm/types/global/overrides/index.d.ts +0 -6
  123. package/dist/esm/types/global/theme.d.ts +1 -2
  124. package/dist/esm/types/global/tokens/colors/colors.components.d.ts +5 -0
  125. package/dist/esm/types/global/tokens/components/CodeSnippet.d.ts +6 -0
  126. package/dist/esm/types/global/tokens/components/CopyToClipboard.d.ts +4 -0
  127. package/dist/esm/types/global/tokens/components/Header.d.ts +5 -0
  128. package/dist/esm/types/global/tokens/components/Table.d.ts +9 -0
  129. package/dist/esm/types/global/tokens/spacing/spacing.components.d.ts +5 -0
  130. package/dist/esm/types/global/tokens/typogrpahy/typography.components.d.ts +4 -0
  131. package/dist/esm/types/index.d.ts +6 -4
  132. package/dist/index.d.ts +114 -27
  133. package/package.json +21 -2
  134. package/dist/cjs/index.js.map +0 -1
  135. package/dist/cjs/types/global/UpComponentsProvider/index.d.ts +0 -4
  136. package/dist/cjs/types/global/overrides/container.d.ts +0 -2
  137. package/dist/cjs/types/tokens/colors.stories.d.ts +0 -5
  138. package/dist/cjs/types/tokens/elevation.stories.d.ts +0 -5
  139. package/dist/cjs/types/tokens/grid.stories.d.ts +0 -5
  140. package/dist/cjs/types/tokens/spacing.stories.d.ts +0 -5
  141. package/dist/cjs/types/tokens/typography.stories.d.ts +0 -5
  142. package/dist/esm/index.js.map +0 -1
  143. package/dist/esm/types/global/UpComponentsProvider/index.d.ts +0 -4
  144. package/dist/esm/types/global/overrides/container.d.ts +0 -2
  145. package/dist/esm/types/tokens/colors.stories.d.ts +0 -5
  146. package/dist/esm/types/tokens/elevation.stories.d.ts +0 -5
  147. package/dist/esm/types/tokens/grid.stories.d.ts +0 -5
  148. package/dist/esm/types/tokens/spacing.stories.d.ts +0 -5
  149. package/dist/esm/types/tokens/typography.stories.d.ts +0 -5
package/README.md CHANGED
@@ -1,2 +1,152 @@
1
- [WIP]
2
- # UP Components
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.