@impulse-ui-native/toolkit 2.0.0 → 2.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/README.md +63 -0
- package/package.json +19 -19
package/README.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# @impulse-ui-native/toolkit
|
|
2
|
+
|
|
3
|
+
The complete Impulse UI Native public API from a single package. It combines the theme, primitives, components, overlays, utilities, data helpers, icons, and shared types.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
pnpm add @impulse-ui-native/toolkit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Install the native peer dependencies required by the features you use:
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
pnpm add @shopify/flash-list react-native-gesture-handler react-native-reanimated react-native-safe-area-context react-native-svg react-native-worklets
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Setup
|
|
18
|
+
|
|
19
|
+
At minimum, wrap themed components with `ThemeProvider`. Mount `LayerCenter` once when using registered flyouts such as `Select` and the date/time pickers.
|
|
20
|
+
|
|
21
|
+
```tsx
|
|
22
|
+
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
23
|
+
import { SafeAreaProvider } from "react-native-safe-area-context";
|
|
24
|
+
|
|
25
|
+
import { LayerCenter, ThemeProvider } from "@impulse-ui-native/toolkit";
|
|
26
|
+
|
|
27
|
+
export function App() {
|
|
28
|
+
return (
|
|
29
|
+
<GestureHandlerRootView style={{ flex: 1 }}>
|
|
30
|
+
<SafeAreaProvider>
|
|
31
|
+
<ThemeProvider>
|
|
32
|
+
{/* application */}
|
|
33
|
+
<LayerCenter />
|
|
34
|
+
</ThemeProvider>
|
|
35
|
+
</SafeAreaProvider>
|
|
36
|
+
</GestureHandlerRootView>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Follow the installation instructions for Gesture Handler, Reanimated, and Worklets in your React Native or Expo project as well.
|
|
42
|
+
|
|
43
|
+
## Included APIs
|
|
44
|
+
|
|
45
|
+
- Foundations: `core`, `types`, `theme`, and `primitives`.
|
|
46
|
+
- Inputs: `Input`, `Select`, and `MultiSelect`.
|
|
47
|
+
- Date and time: `DatePicker`, `DateRangePicker`, `DatetimePicker`, `DatetimeRangePicker`, and `TimePicker`.
|
|
48
|
+
- Feedback: `Skeleton`, `DataView`, `LoadingView`, `EmptyView`, and `ErrorView`.
|
|
49
|
+
- Navigation and overlays: `Stepper`, `Flyout`, `LayerCenter`, the flyout registry, and portal primitives.
|
|
50
|
+
- Assets and infrastructure: the icon library, `EchoInstance`, echo hooks, and endpoint factories.
|
|
51
|
+
|
|
52
|
+
All exports come from the package root:
|
|
53
|
+
|
|
54
|
+
```tsx
|
|
55
|
+
import {
|
|
56
|
+
Button,
|
|
57
|
+
Input,
|
|
58
|
+
Select,
|
|
59
|
+
ThemeProvider,
|
|
60
|
+
} from "@impulse-ui-native/toolkit";
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Install an individual `@impulse-ui-native/*` package instead when you need a smaller, more explicit dependency surface.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@impulse-ui-native/toolkit",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.mts",
|
|
@@ -18,22 +18,22 @@
|
|
|
18
18
|
"LICENSE"
|
|
19
19
|
],
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@impulse-ui-native/
|
|
22
|
-
"@impulse-ui-native/
|
|
23
|
-
"@impulse-ui-native/
|
|
24
|
-
"@impulse-ui-native/
|
|
25
|
-
"@impulse-ui-native/endpoint": "2.0.
|
|
26
|
-
"@impulse-ui-native/stepper": "2.0.
|
|
27
|
-
"@impulse-ui-native/
|
|
28
|
-
"@impulse-ui-native/
|
|
29
|
-
"@impulse-ui-native/
|
|
30
|
-
"@impulse-ui-native/
|
|
31
|
-
"@impulse-ui-native/primitives": "2.0.
|
|
32
|
-
"@impulse-ui-native/
|
|
33
|
-
"@impulse-ui-native/
|
|
34
|
-
"@impulse-ui-native/
|
|
35
|
-
"@impulse-ui-native/
|
|
36
|
-
"@impulse-ui-native/
|
|
21
|
+
"@impulse-ui-native/core": "2.0.1",
|
|
22
|
+
"@impulse-ui-native/flyout": "2.0.1",
|
|
23
|
+
"@impulse-ui-native/echo": "2.0.1",
|
|
24
|
+
"@impulse-ui-native/icon": "2.0.1",
|
|
25
|
+
"@impulse-ui-native/endpoint": "2.0.1",
|
|
26
|
+
"@impulse-ui-native/stepper": "2.0.1",
|
|
27
|
+
"@impulse-ui-native/input": "2.0.1",
|
|
28
|
+
"@impulse-ui-native/layers": "2.0.1",
|
|
29
|
+
"@impulse-ui-native/types": "2.0.1",
|
|
30
|
+
"@impulse-ui-native/theme": "2.0.1",
|
|
31
|
+
"@impulse-ui-native/primitives": "2.0.1",
|
|
32
|
+
"@impulse-ui-native/data-state": "2.0.1",
|
|
33
|
+
"@impulse-ui-native/skeleton": "2.0.1",
|
|
34
|
+
"@impulse-ui-native/portal": "2.0.1",
|
|
35
|
+
"@impulse-ui-native/select": "2.0.1",
|
|
36
|
+
"@impulse-ui-native/datetime": "2.0.1"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/react": "~19.2.14",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"react-native": "0.83.6",
|
|
44
44
|
"typescript": "~5.9.2",
|
|
45
45
|
"@impulse-ui-native/eslint-config": "1.0.0",
|
|
46
|
-
"@impulse-ui-native/
|
|
47
|
-
"@impulse-ui-native/
|
|
46
|
+
"@impulse-ui-native/tsconfig": "1.0.0",
|
|
47
|
+
"@impulse-ui-native/prettier-config": "1.0.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@shopify/flash-list": ">=2",
|