@lifesg/web-frontend-engine 1.0.0-alpha.2 → 1.0.0-alpha.3

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 (41) hide show
  1. package/README.md +21 -27
  2. package/cjs/index.js +16 -16
  3. package/cjs/index.js.map +1 -1
  4. package/components/elements/section/index.d.ts +2 -0
  5. package/components/elements/section/section.d.ts +3 -0
  6. package/components/elements/section/types.d.ts +10 -0
  7. package/components/elements/sections/index.d.ts +2 -0
  8. package/components/elements/sections/sections.d.ts +15 -0
  9. package/components/elements/sections/types.d.ts +5 -0
  10. package/components/elements/wrapper/conditional-renderer.d.ts +3 -1
  11. package/components/elements/wrapper/types.d.ts +9 -2
  12. package/components/elements/wrapper/wrapper.d.ts +2 -11
  13. package/components/fields/contact-field/contact-field.d.ts +4 -0
  14. package/components/fields/contact-field/index.d.ts +2 -0
  15. package/components/fields/{contact-number → contact-field}/types.d.ts +3 -3
  16. package/components/fields/date-field/date-field.d.ts +4 -0
  17. package/components/fields/date-field/index.d.ts +2 -0
  18. package/components/fields/{date-input → date-field}/types.d.ts +2 -2
  19. package/components/fields/index.d.ts +4 -4
  20. package/components/fields/text-field/index.d.ts +2 -0
  21. package/components/fields/text-field/text-field.d.ts +4 -0
  22. package/components/fields/text-field/types.d.ts +8 -0
  23. package/components/fields/time-field/index.d.ts +2 -0
  24. package/components/fields/time-field/time-field.d.ts +4 -0
  25. package/components/fields/{time-picker → time-field}/types.d.ts +1 -1
  26. package/components/frontend-engine/frontend-engine.d.ts +2 -8
  27. package/components/frontend-engine/types.d.ts +52 -18
  28. package/index.js +16 -16
  29. package/index.js.map +1 -1
  30. package/package.json +1 -1
  31. package/components/fields/contact-number/contact-number.d.ts +0 -4
  32. package/components/fields/contact-number/index.d.ts +0 -2
  33. package/components/fields/date-input/date-input.d.ts +0 -4
  34. package/components/fields/date-input/index.d.ts +0 -2
  35. package/components/fields/textfield/index.d.ts +0 -2
  36. package/components/fields/textfield/textfield.d.ts +0 -4
  37. package/components/fields/textfield/types.d.ts +0 -8
  38. package/components/fields/time-picker/index.d.ts +0 -2
  39. package/components/fields/time-picker/time-picker.d.ts +0 -4
  40. /package/components/fields/{contact-number → contact-field}/data.d.ts +0 -0
  41. /package/components/fields/{contact-number → contact-field}/utils.d.ts +0 -0
package/README.md CHANGED
@@ -1,9 +1,10 @@
1
- # web-frontend-engine
1
+ # LifeSG Web Frontend Engine [![npm version](https://img.shields.io/npm/v/@lifesg/web-frontend-engine.svg?style=flat)](https://www.npmjs.com/package/@lifesg/web-frontend-engine)
2
2
 
3
3
  Repository for the web frontend engine
4
4
 
5
5
  - UI components based on <a href="https://github.com/LifeSG/react-design-system" target="_blank" rel="noopener noreferrer">React design system</a>
6
6
  - Form generation via JSON schema
7
+ - To see the schema and fields available, visit our <a href="https://designsystem.life.gov.sg/web-frontend-engine/index.html?path=/story/introduction-getting-started--page" target="_blank" rel="noopener noreferrer">Storybook documentation</a>.
7
8
 
8
9
  The intention of frontend engine is to take out the heavy lifting of form development and offer a collection of common fields so engineers can develop forms quickly. The form will be defined through a JSON schema so non-engineers can customise the form as well.
9
10
 
@@ -23,20 +24,25 @@ Developers are expected to have the following packages installed:
23
24
  ## Usage
24
25
 
25
26
  ```tsx
26
- import { FrontendEngine } from "web-frontend-engine";
27
+ import { FrontendEngine } from "@lifesg/web-frontend-engine";
27
28
 
28
29
  const App = () => {
29
30
  return (
30
31
  <FrontendEngine
31
32
  data={{
32
- fields: {
33
- myField: {
34
- fieldType: "text",
35
- label: "My field",
36
- },
37
- submit: {
38
- fieldType: "submit",
39
- label: "Submit",
33
+ sections: {
34
+ mySection: {
35
+ uiType: "section",
36
+ children: {
37
+ myField: {
38
+ uiType: "text-field",
39
+ label: "My field",
40
+ },
41
+ submit: {
42
+ uiType: "submit",
43
+ label: "Submit",
44
+ },
45
+ },
40
46
  },
41
47
  },
42
48
  }}
@@ -47,22 +53,10 @@ const App = () => {
47
53
  export default App;
48
54
  ```
49
55
 
50
- ## Component Documentation
51
-
52
- The components are documented using Storybook. To see the stories, upon pulling this repository to your system, do these steps:
53
-
54
- Install all dependencies
55
-
56
- > `npm ci`
57
-
58
- Run Storybook
59
-
60
- > `npm run storybook`
61
-
62
- If the web page does not load automatically, you may go to this url
63
-
64
- > `http://localhost:6006`
56
+ ## Contributing to the repo
65
57
 
66
- ## Adding Components
58
+ To contribute to the frontend engine
67
59
 
68
- To contribute to the frontend engine, view [Contributing](CONTRIBUTING.md).
60
+ - Refer to [Contributing](CONTRIBUTING.md)
61
+ - Understand [how it works](https://github.com/LifeSG/web-frontend-engine/wiki/How-It-Works)
62
+ - Familiarise with the [JSON schema](https://github.com/LifeSG/web-frontend-engine/wiki/JSON-Schema)