@echoform/echo-ui 0.1.0
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 +86 -0
- package/dist/components/EchoUITest.d.ts +14 -0
- package/dist/components/EchoUITest.d.ts.map +1 -0
- package/dist/components/EchoUITest.js +53 -0
- package/dist/components/EchoUITest.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/package.json +37 -0
package/README.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# @echoform/echo-ui
|
|
2
|
+
|
|
3
|
+
Shared React Native / Expo UI component library by **Echoform Productions**.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Project layout
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
(OnSpace project root)
|
|
11
|
+
├── app/ ← Expo Router host app (preview only)
|
|
12
|
+
│ ├── _layout.tsx
|
|
13
|
+
│ └── (tabs)/
|
|
14
|
+
│ ├── _layout.tsx
|
|
15
|
+
│ └── index.tsx ← Demo screen
|
|
16
|
+
│
|
|
17
|
+
└── packages/
|
|
18
|
+
└── echo-ui/ ← Publishable npm package
|
|
19
|
+
├── package.json ← name: @echoform/echo-ui
|
|
20
|
+
├── tsconfig.json
|
|
21
|
+
└── src/
|
|
22
|
+
├── index.ts ← Public entry point
|
|
23
|
+
└── components/
|
|
24
|
+
└── EchoUITest.tsx
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Building the package
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
cd packages/echo-ui
|
|
33
|
+
npm install # install devDependencies (tsc, @types/*)
|
|
34
|
+
npm run build # emits dist/ (JS + .d.ts + source maps)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The `dist/` directory is produced by `tsc` using `packages/echo-ui/tsconfig.json`.
|
|
38
|
+
It contains plain CommonJS JavaScript and TypeScript declaration files — no raw
|
|
39
|
+
TypeScript, so consuming projects need no special Metro configuration.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Publishing to npm
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
cd packages/echo-ui
|
|
47
|
+
npm run build # always build before publish
|
|
48
|
+
npm publish # requires: npm login, package name available
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The `publishConfig.access` field is set to `"public"` so the scoped package
|
|
52
|
+
publishes to the public registry without an npm Organisation plan.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Consuming in another OnSpace project
|
|
57
|
+
|
|
58
|
+
After publishing:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npx expo install @echoform/echo-ui
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
import { EchoUITest } from '@echoform/echo-ui';
|
|
66
|
+
|
|
67
|
+
<EchoUITest label="Rig Vault – Echo" />
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## OnSpace preview host
|
|
73
|
+
|
|
74
|
+
The host app at `app/(tabs)/index.tsx` imports directly from the **source tree**
|
|
75
|
+
(`../../packages/echo-ui/src`) so the OnSpace Live Preview works without any
|
|
76
|
+
Metro alias or symlink configuration.
|
|
77
|
+
|
|
78
|
+
Consuming projects always import from the compiled npm package.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Version history
|
|
83
|
+
|
|
84
|
+
| Version | Notes |
|
|
85
|
+
|---------|-------|
|
|
86
|
+
| 0.1.0 | Initial scaffold — `EchoUITest` smoke-test component only |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EchoUITest
|
|
3
|
+
*
|
|
4
|
+
* Minimal smoke-test component. Its sole purpose is to confirm that the
|
|
5
|
+
* package build pipeline and import chain are working end-to-end.
|
|
6
|
+
* Replace / delete this component once real Echo UI components exist.
|
|
7
|
+
*/
|
|
8
|
+
import React from 'react';
|
|
9
|
+
export interface EchoUITestProps {
|
|
10
|
+
/** Optional label rendered inside the badge. Defaults to "@echoform/echo-ui". */
|
|
11
|
+
label?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function EchoUITest({ label }: EchoUITestProps): React.JSX.Element;
|
|
14
|
+
//# sourceMappingURL=EchoUITest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EchoUITest.d.ts","sourceRoot":"","sources":["../../src/components/EchoUITest.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,eAAe;IAC9B,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAA2B,EAAE,EAAE,eAAe,qBAS1E"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* EchoUITest
|
|
4
|
+
*
|
|
5
|
+
* Minimal smoke-test component. Its sole purpose is to confirm that the
|
|
6
|
+
* package build pipeline and import chain are working end-to-end.
|
|
7
|
+
* Replace / delete this component once real Echo UI components exist.
|
|
8
|
+
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.EchoUITest = EchoUITest;
|
|
14
|
+
const react_1 = __importDefault(require("react"));
|
|
15
|
+
const react_native_1 = require("react-native");
|
|
16
|
+
function EchoUITest({ label = '@echoform/echo-ui' }) {
|
|
17
|
+
return (<react_native_1.View style={styles.container}>
|
|
18
|
+
<react_native_1.View style={styles.badge}>
|
|
19
|
+
<react_native_1.Text style={styles.packageLabel}>{label}</react_native_1.Text>
|
|
20
|
+
<react_native_1.Text style={styles.statusLabel}>Package import OK</react_native_1.Text>
|
|
21
|
+
</react_native_1.View>
|
|
22
|
+
</react_native_1.View>);
|
|
23
|
+
}
|
|
24
|
+
const styles = react_native_1.StyleSheet.create({
|
|
25
|
+
container: {
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
justifyContent: 'center',
|
|
28
|
+
padding: 16,
|
|
29
|
+
},
|
|
30
|
+
badge: {
|
|
31
|
+
backgroundColor: '#0D0D0D',
|
|
32
|
+
borderWidth: 1,
|
|
33
|
+
borderColor: '#2A2A2A',
|
|
34
|
+
borderRadius: 12,
|
|
35
|
+
paddingVertical: 18,
|
|
36
|
+
paddingHorizontal: 28,
|
|
37
|
+
alignItems: 'center',
|
|
38
|
+
gap: 6,
|
|
39
|
+
},
|
|
40
|
+
packageLabel: {
|
|
41
|
+
color: '#C8FF00',
|
|
42
|
+
fontSize: 15,
|
|
43
|
+
fontWeight: '700',
|
|
44
|
+
letterSpacing: 0.4,
|
|
45
|
+
},
|
|
46
|
+
statusLabel: {
|
|
47
|
+
color: '#888888',
|
|
48
|
+
fontSize: 12,
|
|
49
|
+
fontWeight: '500',
|
|
50
|
+
letterSpacing: 0.2,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=EchoUITest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EchoUITest.js","sourceRoot":"","sources":["../../src/components/EchoUITest.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAUH,gCASC;AAjBD,kDAA0B;AAC1B,+CAAsD;AAOtD,SAAgB,UAAU,CAAC,EAAE,KAAK,GAAG,mBAAmB,EAAmB;IACzE,OAAO,CACL,CAAC,mBAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,mBAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACxB;QAAA,CAAC,mBAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,mBAAI,CAC/C;QAAA,CAAC,mBAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,iBAAiB,EAAE,mBAAI,CAC1D;MAAA,EAAE,mBAAI,CACR;IAAA,EAAE,mBAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,OAAO,EAAE,EAAE;KACZ;IACD,KAAK,EAAE;QACL,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,iBAAiB,EAAE,EAAE;QACrB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;KACP;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,GAAG;KACnB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,GAAG;KACnB;CACF,CAAC,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @echoform/echo-ui
|
|
3
|
+
* Public package entry point.
|
|
4
|
+
*
|
|
5
|
+
* Export every public component and utility from here.
|
|
6
|
+
* Consumers import directly: import { EchoUITest } from '@echoform/echo-ui'
|
|
7
|
+
*/
|
|
8
|
+
export { EchoUITest } from './components/EchoUITest';
|
|
9
|
+
export type { EchoUITestProps } from './components/EchoUITest';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @echoform/echo-ui
|
|
4
|
+
* Public package entry point.
|
|
5
|
+
*
|
|
6
|
+
* Export every public component and utility from here.
|
|
7
|
+
* Consumers import directly: import { EchoUITest } from '@echoform/echo-ui'
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.EchoUITest = void 0;
|
|
11
|
+
var EchoUITest_1 = require("./components/EchoUITest");
|
|
12
|
+
Object.defineProperty(exports, "EchoUITest", { enumerable: true, get: function () { return EchoUITest_1.EchoUITest; } });
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,sDAAqD;AAA5C,wGAAA,UAAU,OAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@echoform/echo-ui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Echoform Productions – shared React Native / Expo UI component library",
|
|
5
|
+
"author": "Echoform Productions",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"module": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsc --project tsconfig.json",
|
|
15
|
+
"build:watch": "tsc --project tsconfig.json --watch",
|
|
16
|
+
"clean": "rm -rf dist"
|
|
17
|
+
},
|
|
18
|
+
"peerDependencies": {
|
|
19
|
+
"react": ">=18.0.0",
|
|
20
|
+
"react-native": ">=0.73.0"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"echoform",
|
|
25
|
+
"echo-ui",
|
|
26
|
+
"react-native",
|
|
27
|
+
"expo",
|
|
28
|
+
"ui-library"
|
|
29
|
+
],
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/echoformproductions/Echo-UI.git"
|
|
33
|
+
},
|
|
34
|
+
"publishConfig": {
|
|
35
|
+
"access": "public"
|
|
36
|
+
}
|
|
37
|
+
}
|