@proximus/myproximus-design-system v7.0.4-11
React Native Design System Project
This repository is composed of all common-ui React Native components expo snack code snippets who are integrated to the proximus design system.
Snack anatomy
Each component snack is hosted in a specific folder (ex: /textfields).
The folder contains two files:
App.tsxpackages.json
App.tsx contains snack RN code and packages.json a list of dependencies.
Example of embedded snack
Creating a new snack
Creating a new component snack consists in
- creating a new folder at the project root.
- adding both files
App.tsxandpackage.jsonto it. - adding an entry in global
package.json. - deploy root project on npm
Global package.json modification
Let's consider a new component snack DamienComponent is being created in damien-component folder, the following new target need
to be added to the global package.json
...
"scripts": {
...
"snack-damien-component": "COMPONENT=damien-component node ./scripts/generateSnackLink.js",
...
}The target will give you the embeddable HTML snippet for the snack.
yarn snack-damien-componentExample of snippet
<iframe style="width: 100%;height:500px; border: 1px #aaa;"
src="https://snack.expo.io/embedded?sourceUrl=https://cdn.jsdelivr.net/npm/@proximus/myproximus-design-system@6.0.1-beta1/textfields/App.tsx&dependencies=expo-font%40~8.4.0,%40expo%2Fvector-icons%40%5E12.0.0,react-native-gesture-handler%40~1.8.0,%40proximus%2Freact-native-common-ui%406.0.0-beta1,%40proximus%2Freact-native-font-icons%40%5E2.4.2,react-native-linear-gradient%402.5.6,%40proximus%2Freact-native-common-ui%2Flib%2Finputs%2FPxTextInput%406.0.0-beta1,%40proximus%2Freact-native-font-icons%2Flib%2Fassets%2Ffonts%2FProximus-Regular.ttf%40*,%40proximus%2Freact-native-common-ui%2Flib%2Fstyling%406.0.0-beta1,%40proximus%2Freact-native-font-icons%2Flib%2Fassets%2Ffonts%2FProximus-Bold.ttf%40*&preview=true">
</iframe>Remarks on snack package.json
When creating new snack, it is very likely that snack package.json will be empty.
In that case, launching
yarn snack-damien-componentwill output a snack URL allowing the developer to edit the snack directly on expo.io platform (see next section for more information).
Snack associated package.json is only used when exposing component snack on expo.io platform. it is useless when testing locally with expo.
Example of snack URL
Deploy root project on NPM
In order to make snack files publicly available on the expo.io platform, it is needed to deploy the project on public NPM with the following command
npm run publish-publicDevelopment workflow
Development can be achieved in 2 different ways or in a combination of those 2 ways:
- Locally using local expo
- On
expo.ioplatform
Local Expo setup
In order to develop the component snack locally, just launch the following command
yarn startIt will launch a local expo setup. Just follow standard expo instructions to proceed further.
The local expo app consists of a drawer navigator exposing all snacks available.
snack package.json file is not used in that setup. all dependencies are already defined in global package.json.
It's always a good idea to implement the snack locally as far as possible. It is recommanded to switch to expo.io hosted mode later.
Testing the snack on expo.io platform
Once most of the component snack development is done, it's a good idea to test it on expo.io platform.
It's very likely that at that step, snack's package.json does not exist or is empty. Launching the following command
yarn snack-damien-componentwill output a link where developer can continue development on the snack platform.
From there, expo.io will suggest you to add missing dependencies in the empty package.json.
Once all dependencies are added, just copy/paste it in your local snack folder package.json.
At that point, the newly created snack will work on both local expo and expo.io platform.
Embeddable HTML snippet creation
Once component snack development is over, whole project needs to be published one last time using
npm run publish-publicand HTML snippet can be generated using following command:
yarn snack-damien-componentExport Embeddable HTML for all snacks
Once component snack development is over, whole project needs to be published one last time using
npm run publish-publicand HTML snippets can be generated for all components using using following command:
yarn generateAll3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago