reactive-bulma 4.0.30 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +250 -252
  3. package/package.json +46 -35
  4. package/dist/cjs/index.js +0 -4089
  5. package/dist/cjs/index.js.map +0 -1
  6. package/dist/cjs/types/components/atoms/Block/index.d.ts +0 -4
  7. package/dist/cjs/types/components/atoms/Box/index.d.ts +0 -4
  8. package/dist/cjs/types/components/atoms/BreadcrumbItem/index.d.ts +0 -4
  9. package/dist/cjs/types/components/atoms/Button/index.d.ts +0 -4
  10. package/dist/cjs/types/components/atoms/Checkbox/index.d.ts +0 -4
  11. package/dist/cjs/types/components/atoms/Column/index.d.ts +0 -4
  12. package/dist/cjs/types/components/atoms/Delete/index.d.ts +0 -4
  13. package/dist/cjs/types/components/atoms/DropdownItem/index.d.ts +0 -4
  14. package/dist/cjs/types/components/atoms/DropdownTrigger/index.d.ts +0 -4
  15. package/dist/cjs/types/components/atoms/File/index.d.ts +0 -4
  16. package/dist/cjs/types/components/atoms/Icon/index.d.ts +0 -4
  17. package/dist/cjs/types/components/atoms/Image/index.d.ts +0 -4
  18. package/dist/cjs/types/components/atoms/Input/index.d.ts +0 -4
  19. package/dist/cjs/types/components/atoms/LevelHeader/index.d.ts +0 -4
  20. package/dist/cjs/types/components/atoms/MenuItem/index.d.ts +0 -4
  21. package/dist/cjs/types/components/atoms/NavBarItem/index.d.ts +0 -4
  22. package/dist/cjs/types/components/atoms/PaginationItem/index.d.ts +0 -4
  23. package/dist/cjs/types/components/atoms/ProgressBar/index.d.ts +0 -4
  24. package/dist/cjs/types/components/atoms/RadioButton/index.d.ts +0 -4
  25. package/dist/cjs/types/components/atoms/Select/index.d.ts +0 -4
  26. package/dist/cjs/types/components/atoms/TabItem/index.d.ts +0 -4
  27. package/dist/cjs/types/components/atoms/TableCell/index.d.ts +0 -4
  28. package/dist/cjs/types/components/atoms/TableHeadCell/index.d.ts +0 -4
  29. package/dist/cjs/types/components/atoms/Tag/index.d.ts +0 -4
  30. package/dist/cjs/types/components/atoms/TextArea/index.d.ts +0 -4
  31. package/dist/cjs/types/components/atoms/Tile/index.d.ts +0 -4
  32. package/dist/cjs/types/components/atoms/Title/index.d.ts +0 -4
  33. package/dist/cjs/types/components/atoms/index.d.ts +0 -27
  34. package/dist/cjs/types/components/molecules/Breadcrumbs/index.d.ts +0 -4
  35. package/dist/cjs/types/components/molecules/ButtonGroup/index.d.ts +0 -4
  36. package/dist/cjs/types/components/molecules/ColumnGroup/index.d.ts +0 -4
  37. package/dist/cjs/types/components/molecules/Dropdown/index.d.ts +0 -4
  38. package/dist/cjs/types/components/molecules/Footer/index.d.ts +0 -4
  39. package/dist/cjs/types/components/molecules/InputControl/index.d.ts +0 -4
  40. package/dist/cjs/types/components/molecules/LevelItem/index.d.ts +0 -4
  41. package/dist/cjs/types/components/molecules/Media/index.d.ts +0 -4
  42. package/dist/cjs/types/components/molecules/Menu/index.d.ts +0 -4
  43. package/dist/cjs/types/components/molecules/MenuList/index.d.ts +0 -4
  44. package/dist/cjs/types/components/molecules/Message/index.d.ts +0 -4
  45. package/dist/cjs/types/components/molecules/Modal/index.d.ts +0 -4
  46. package/dist/cjs/types/components/molecules/NavBarBrand/index.d.ts +0 -4
  47. package/dist/cjs/types/components/molecules/NavBarDropdown/index.d.ts +0 -4
  48. package/dist/cjs/types/components/molecules/Notification/index.d.ts +0 -4
  49. package/dist/cjs/types/components/molecules/Pagination/index.d.ts +0 -4
  50. package/dist/cjs/types/components/molecules/PanelBlock/index.d.ts +0 -4
  51. package/dist/cjs/types/components/molecules/PanelTabs/index.d.ts +0 -4
  52. package/dist/cjs/types/components/molecules/Section/index.d.ts +0 -4
  53. package/dist/cjs/types/components/molecules/TableRow/index.d.ts +0 -4
  54. package/dist/cjs/types/components/molecules/Tabs/index.d.ts +0 -4
  55. package/dist/cjs/types/components/molecules/TileBox/index.d.ts +0 -4
  56. package/dist/cjs/types/components/molecules/index.d.ts +0 -22
  57. package/dist/cjs/types/components/organisms/Card/index.d.ts +0 -4
  58. package/dist/cjs/types/components/organisms/FormField/index.d.ts +0 -4
  59. package/dist/cjs/types/components/organisms/Hero/index.d.ts +0 -4
  60. package/dist/cjs/types/components/organisms/Level/index.d.ts +0 -4
  61. package/dist/cjs/types/components/organisms/NavBar/index.d.ts +0 -4
  62. package/dist/cjs/types/components/organisms/Panel/index.d.ts +0 -4
  63. package/dist/cjs/types/components/organisms/Table/index.d.ts +0 -4
  64. package/dist/cjs/types/components/organisms/TileGroup/index.d.ts +0 -4
  65. package/dist/cjs/types/components/organisms/index.d.ts +0 -8
  66. package/dist/cjs/types/functions/generators.d.ts +0 -4
  67. package/dist/cjs/types/functions/jest.d.ts +0 -2
  68. package/dist/cjs/types/functions/parsers.d.ts +0 -14
  69. package/dist/cjs/types/functions/tests/generators.test.d.ts +0 -1
  70. package/dist/cjs/types/functions/tests/parsers.test.d.ts +0 -1
  71. package/dist/cjs/types/index.d.ts +0 -5
  72. package/dist/cjs/types/interfaces/atomProps.d.ts +0 -305
  73. package/dist/cjs/types/interfaces/commonProps.d.ts +0 -25
  74. package/dist/cjs/types/interfaces/functionProps.d.ts +0 -16
  75. package/dist/cjs/types/interfaces/moleculeProps.d.ts +0 -231
  76. package/dist/cjs/types/interfaces/organismProps.d.ts +0 -112
  77. package/dist/cjs/types/types/domTypes.d.ts +0 -16
  78. package/dist/cjs/types/types/styleTypes.d.ts +0 -19
  79. package/dist/esm/index.js +0 -4031
  80. package/dist/esm/index.js.map +0 -1
  81. package/dist/esm/types/components/atoms/Block/index.d.ts +0 -4
  82. package/dist/esm/types/components/atoms/Box/index.d.ts +0 -4
  83. package/dist/esm/types/components/atoms/BreadcrumbItem/index.d.ts +0 -4
  84. package/dist/esm/types/components/atoms/Button/index.d.ts +0 -4
  85. package/dist/esm/types/components/atoms/Checkbox/index.d.ts +0 -4
  86. package/dist/esm/types/components/atoms/Column/index.d.ts +0 -4
  87. package/dist/esm/types/components/atoms/Delete/index.d.ts +0 -4
  88. package/dist/esm/types/components/atoms/DropdownItem/index.d.ts +0 -4
  89. package/dist/esm/types/components/atoms/DropdownTrigger/index.d.ts +0 -4
  90. package/dist/esm/types/components/atoms/File/index.d.ts +0 -4
  91. package/dist/esm/types/components/atoms/Icon/index.d.ts +0 -4
  92. package/dist/esm/types/components/atoms/Image/index.d.ts +0 -4
  93. package/dist/esm/types/components/atoms/Input/index.d.ts +0 -4
  94. package/dist/esm/types/components/atoms/LevelHeader/index.d.ts +0 -4
  95. package/dist/esm/types/components/atoms/MenuItem/index.d.ts +0 -4
  96. package/dist/esm/types/components/atoms/NavBarItem/index.d.ts +0 -4
  97. package/dist/esm/types/components/atoms/PaginationItem/index.d.ts +0 -4
  98. package/dist/esm/types/components/atoms/ProgressBar/index.d.ts +0 -4
  99. package/dist/esm/types/components/atoms/RadioButton/index.d.ts +0 -4
  100. package/dist/esm/types/components/atoms/Select/index.d.ts +0 -4
  101. package/dist/esm/types/components/atoms/TabItem/index.d.ts +0 -4
  102. package/dist/esm/types/components/atoms/TableCell/index.d.ts +0 -4
  103. package/dist/esm/types/components/atoms/TableHeadCell/index.d.ts +0 -4
  104. package/dist/esm/types/components/atoms/Tag/index.d.ts +0 -4
  105. package/dist/esm/types/components/atoms/TextArea/index.d.ts +0 -4
  106. package/dist/esm/types/components/atoms/Tile/index.d.ts +0 -4
  107. package/dist/esm/types/components/atoms/Title/index.d.ts +0 -4
  108. package/dist/esm/types/components/atoms/index.d.ts +0 -27
  109. package/dist/esm/types/components/molecules/Breadcrumbs/index.d.ts +0 -4
  110. package/dist/esm/types/components/molecules/ButtonGroup/index.d.ts +0 -4
  111. package/dist/esm/types/components/molecules/ColumnGroup/index.d.ts +0 -4
  112. package/dist/esm/types/components/molecules/Dropdown/index.d.ts +0 -4
  113. package/dist/esm/types/components/molecules/Footer/index.d.ts +0 -4
  114. package/dist/esm/types/components/molecules/InputControl/index.d.ts +0 -4
  115. package/dist/esm/types/components/molecules/LevelItem/index.d.ts +0 -4
  116. package/dist/esm/types/components/molecules/Media/index.d.ts +0 -4
  117. package/dist/esm/types/components/molecules/Menu/index.d.ts +0 -4
  118. package/dist/esm/types/components/molecules/MenuList/index.d.ts +0 -4
  119. package/dist/esm/types/components/molecules/Message/index.d.ts +0 -4
  120. package/dist/esm/types/components/molecules/Modal/index.d.ts +0 -4
  121. package/dist/esm/types/components/molecules/NavBarBrand/index.d.ts +0 -4
  122. package/dist/esm/types/components/molecules/NavBarDropdown/index.d.ts +0 -4
  123. package/dist/esm/types/components/molecules/Notification/index.d.ts +0 -4
  124. package/dist/esm/types/components/molecules/Pagination/index.d.ts +0 -4
  125. package/dist/esm/types/components/molecules/PanelBlock/index.d.ts +0 -4
  126. package/dist/esm/types/components/molecules/PanelTabs/index.d.ts +0 -4
  127. package/dist/esm/types/components/molecules/Section/index.d.ts +0 -4
  128. package/dist/esm/types/components/molecules/TableRow/index.d.ts +0 -4
  129. package/dist/esm/types/components/molecules/Tabs/index.d.ts +0 -4
  130. package/dist/esm/types/components/molecules/TileBox/index.d.ts +0 -4
  131. package/dist/esm/types/components/molecules/index.d.ts +0 -22
  132. package/dist/esm/types/components/organisms/Card/index.d.ts +0 -4
  133. package/dist/esm/types/components/organisms/FormField/index.d.ts +0 -4
  134. package/dist/esm/types/components/organisms/Hero/index.d.ts +0 -4
  135. package/dist/esm/types/components/organisms/Level/index.d.ts +0 -4
  136. package/dist/esm/types/components/organisms/NavBar/index.d.ts +0 -4
  137. package/dist/esm/types/components/organisms/Panel/index.d.ts +0 -4
  138. package/dist/esm/types/components/organisms/Table/index.d.ts +0 -4
  139. package/dist/esm/types/components/organisms/TileGroup/index.d.ts +0 -4
  140. package/dist/esm/types/components/organisms/index.d.ts +0 -8
  141. package/dist/esm/types/functions/generators.d.ts +0 -4
  142. package/dist/esm/types/functions/jest.d.ts +0 -2
  143. package/dist/esm/types/functions/parsers.d.ts +0 -14
  144. package/dist/esm/types/functions/tests/generators.test.d.ts +0 -1
  145. package/dist/esm/types/functions/tests/parsers.test.d.ts +0 -1
  146. package/dist/esm/types/index.d.ts +0 -5
  147. package/dist/esm/types/interfaces/atomProps.d.ts +0 -305
  148. package/dist/esm/types/interfaces/commonProps.d.ts +0 -25
  149. package/dist/esm/types/interfaces/functionProps.d.ts +0 -16
  150. package/dist/esm/types/interfaces/moleculeProps.d.ts +0 -231
  151. package/dist/esm/types/interfaces/organismProps.d.ts +0 -112
  152. package/dist/esm/types/types/domTypes.d.ts +0 -16
  153. package/dist/esm/types/types/styleTypes.d.ts +0 -19
  154. package/dist/index.d.ts +0 -805
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 Nicolás Omar González Passerino
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Nicolás Omar González Passerino
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,253 +1,251 @@
1
- <p align="center">
2
- <a href="https://reactivebulma.netlify.app">
3
- <img width="75" src="https://cdn.svgporn.com/logos/react.svg">
4
- <img width="50" src="https://cdn.svgporn.com/logos/bulma.svg">
5
- </a>
6
- </p>
7
-
8
- <h1 align="center">Reactive Bulma</h1>
9
-
10
- <div align="center">
11
-
12
- Component library based on React, Bulma, Typescript and Rollup
13
-
14
- <div align="left">
15
-
16
- ## Table of contents
17
-
18
- - [Purpose](#purpose)
19
- - [Status](#status)
20
- - [Dependencies](#dependencies)
21
- - [Quick start](#quick-start)
22
- - [Folder structure](#folder-structure)
23
- - [Documentation](#documentation)
24
- - [Usage](#usage)
25
- - [Versioning](#versioning)
26
- - [Roadmap](#roadmap)
27
- - [Changelog](#changelog)
28
- - [Contributing](#contributing)
29
- - [Credit](#credit)
30
- - [License](#license)
31
-
32
- ## Purpose
33
-
34
- After studying [an Udemy course about Typescript](https://github.com/NicolasOmar/typescript-practice), I wanted to start a new project to practice my new knowledge in a meaningful tool. Therefore, I began this project to understand how to create a component library and investigate the best ways to maintain and nourish it as any professional-level alternatives.
35
-
36
- Now I have finished (Jan 31th) [the last story](https://github.com/NicolasOmar/reactive-bulma/issues/80) related to my proposed roadmap; I will change the repo's objectives to the following:
37
- - Check every new issues raised by users who found new bugs (of any kind) or related to new components or feature improvements of the existing ones.
38
- - Update dependencies every week, creating alongside its related PR, branch, and PR to maintain track of those updates.
39
- - Include ReactiveBulma's components as part of my full-stack app [MyPets](https://github.com/NicolasOmar/my-pets), where I now have code that I can get rid of and, in that process, find new opportunities to enhance components' usability.
40
-
41
- ## Status
42
-
43
- [![Npm Version][badge-npm-version]][link-npm]
44
- [![Npm Bundle Size][badge-npm-size]][link-npm]
45
- [![Npm Downloads][badge-npm-downloads]][link-npm-downloads]
46
- [![Netlify Status][badge-netlify-status]][link-netlify-status]
47
- [![Code Coverage][badge-code-coverage]][link-code-coverage]
48
- [![Quality Gate Status][badge-soundcloud-quality]][link-soundcloud-status]
49
- [![Maintainability Rating][badge-soundcloud-maintanibility]][link-soundcloud-status]
50
- [![Security Rating][badge-soundcloud-security]][link-soundcloud-status]
51
- [![Technical Debt][badge-soundcloud-tech-debt]][link-soundcloud-status]
52
- [![Known Vulnerabilities][badge-snyk-status]][link-snyk-status]
53
- [![GitHub Repo stars][badge-github-repo-stars]][link-github-stars]
54
- [![GitHub commit activity][badge-github-commits]][link-github-commit-activity]
55
- [![GitHub last commit][badge-github-last-commit]][link-github-commit-history]
56
- [![Semantic Commits][badge-semantic-commits]][link-semantic-commits]
57
- [![Contributor Covenant][badge-code-of-conduct]][link-code-of-conduct]
58
-
59
- [badge-npm-version]: https://img.shields.io/github/package-json/v/nicolasomar/reactive-bulma?label=npm%20version&logo=npm&labelColor=535353&color=success&style=flat
60
- [badge-npm-size]: https://img.shields.io/bundlephobia/min/reactive-bulma?label=bundle%20size&labelColor=535353&logo=npm&style=flat
61
- [badge-npm-downloads]: https://img.shields.io/npm/dm/reactive-bulma?label=downloads&labelColor=535353&style=flat&logo=npm
62
- [link-npm]: https://www.npmjs.com/package/reactive-bulma
63
- [link-npm-downloads]: https://www.npmjs.com/package/reactive-bulma?activeTab=versions
64
- [badge-netlify-status]: https://api.netlify.com/api/v1/badges/3101f2b5-0e28-4734-b749-ebb0e3e413c6/deploy-status
65
- [link-netlify-status]: https://app.netlify.com/sites/reactivebulma/deploys
66
- [badge-code-coverage]: https://img.shields.io/codecov/c/github/nicolasomar/reactive-bulma?label=coverage&labelColor=535353&logo=codecov&style=flat
67
- [link-code-coverage]: https://app.codecov.io/gh/NicolasOmar/reactive-bulma
68
- [badge-soundcloud-quality]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=alert_status
69
- [badge-soundcloud-maintanibility]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=sqale_rating
70
- [badge-soundcloud-security]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=security_rating
71
- [badge-soundcloud-tech-debt]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=sqale_index
72
- [link-soundcloud-status]: https://sonarcloud.io/summary/new_code?id=NicolasOmar_reactive-bulma
73
- [badge-snyk-status]: https://snyk.io/test/github/nicolasomar/reactive-bulma/badge.svg
74
- [link-snyk-status]: https://snyk.io/test/github/nicolasomar/reactive-bulma
75
- [badge-github-repo-stars]: https://img.shields.io/github/stars/nicolasomar/reactive-bulma?label=stars&logo=github&labelColor=535353&style=flat
76
- [badge-github-commits]: https://img.shields.io/github/commit-activity/m/nicolasomar/reactive-bulma?logo=github
77
- [badge-github-last-commit]: https://img.shields.io/github/last-commit/nicolasomar/reactive-bulma?logo=github
78
- [link-github-stars]: https://github.com/NicolasOmar/reactive-bulma/activity
79
- [link-github-commit-activity]: https://github.com/NicolasOmar/reactive-bulma/activity
80
- [link-github-commit-history]: https://github.com/NicolasOmar/reactive-bulma/commits/main
81
- [badge-semantic-commits]: https://img.shields.io/badge/using-conventional%20commits-e10079?logo=conventional-commits
82
- [link-semantic-commits]: https://github.com/semantic-release/semantic-release
83
- [badge-code-of-conduct]: https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg
84
- [link-code-of-conduct]: code_of_conduct.md
85
-
86
- ## Dependencies
87
-
88
- [![react dependency][badge-dependency-react]][link-package-dependencies]
89
- [![bulma dependency][badge-dependency-bulma]][link-package-dependencies]
90
- [![material design dependency][badge-dependency-material-design]][link-package-dependencies]
91
- [![typescript dependency][badge-dependency-typescript]][link-package-dependencies]
92
- [![rollup dependency][badge-dependency-rollup]][link-package-dependencies]
93
- [![postcss dependency][badge-dependency-postcss]][link-package-dependencies]
94
- [![storybook dependency][badge-dependency-storybook]][link-package-dependencies]
95
- [![semantic release dependency][badge-dependency-semantic-release]][link-package-dependencies]
96
- [![babel dependency][badge-dependency-babel]][link-package-dependencies]
97
- [![jest dependency][badge-dependency-jest]][link-package-dependencies]
98
- [![react testing library dependency][badge-dependency-react-testing]][link-package-dependencies]
99
- [![lint-staged dependency][badge-dependency-lint-staged]][link-package-dependencies]
100
- [![prettier dependency][badge-dependency-prettier]][link-package-dependencies]
101
- [![eslint dependency][badge-dependency-eslint]][link-package-dependencies]
102
- [![husky dependency][badge-dependency-husky]][link-package-dependencies]
103
- [![hygen dependency][badge-dependency-hygen]][link-package-dependencies]
104
-
105
- [badge-dependency-react]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/react/main?logo=react
106
- [badge-dependency-bulma]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/bulma/main?logo=bulma
107
- [badge-dependency-material-design]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@mdi/font/main?logo=materialdesignicons
108
- [badge-dependency-typescript]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/typescript/main?logo=typescript
109
- [badge-dependency-postcss]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/postcss/main?logo=postcss
110
- [badge-dependency-rollup]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/rollup/main?logo=rollup.js
111
- [badge-dependency-storybook]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/storybook/main?logo=storybook
112
- [badge-dependency-semantic-release]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/semantic-release/main?logo=semantic-release
113
- [badge-dependency-babel]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@babel/core/main?logo=babel
114
- [badge-dependency-jest]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/jest/main?logo=jest
115
- [badge-dependency-react-testing]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@testing-library/react/main?logo=testing-library
116
- [badge-dependency-lint-staged]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/lint-staged/main?logo=lint-staged
117
- [badge-dependency-prettier]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/prettier/main?logo=prettier
118
- [badge-dependency-eslint]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/eslint/main?logo=eslint
119
- [badge-dependency-husky]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/husky/main?logo=husky
120
- [badge-dependency-hygen]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/hygen/main?logo=hygen
121
- [link-package-dependencies]: https://github.com/NicolasOmar/reactive-bulma/blob/main/package.json
122
-
123
- ## Quick start
124
-
125
- Several quick start options are available:
126
-
127
- - Clone the repo: `git clone https://github.com/NicolasOmar/reactive-bulma.git`.
128
- - Install with [npm](https://www.npmjs.com/package/reactive-bulma): `npm install reactive-bulma@latest`
129
- - Before cloning this repo, I recommend installing [Node](https://nodejs.org/en/download/) `>=20.10.0` to install packages.
130
-
131
- ## Folder structure
132
-
133
- In case you have cloned the repo, it will show you the following folders:
134
- - `_templates:` Dedicated to [Hygen](https://www.hygen.io/) configuration and implementation files. Dedicated to creating new components from customizable templates.
135
- - `.github:` [Github Actions](https://github.com/features/actions/) files used to run post-merge. commits like unit test coverage collection.
136
- - `.husky:` Dedicated to [Husky](https://typicode.github.io/husky/) configuration files.
137
- - `.storybook:` Dedicated to [Storybook](https://storybook.js.org/) configuration files.
138
- - `src:`
139
- - `components:` Location of all used components, using [Atomic Design hierarchy structure](https://atomicdesign.bradfrost.com/chapter-2/)
140
- - `atoms` (from `v1.0.0`).
141
- - `molecules` (from `v2.0.0`).
142
- - `organisms` (from `v3.0.0`).
143
- - `design`: Location of common design tokens (coded on `.mdx` files) displayed above components sections in the storybook's instance.
144
- - `functions`: Dedicated to parsers and helper functions for repetitive logic.
145
- - `interfaces`: Dedicated to components and functions typing interfaces.
146
- - `types`: Dedicated to Bulma's style typesetting (part of the component's properties).
147
-
148
- ## Documentation
149
-
150
- Reactive bulma's documentation, included in this repo in the root directory, is built with [Storybook](https://storybook.js.org/) and publicly hosted on `Netlify` at <https://reactivebulma.netlify.app/>. The docs may also be run locally.
151
-
152
- ### Running documentation locally
153
- - Go to the `reactive-bulma` folder (where you cloned the repo before).
154
- - Open a console and run `npm install` to install the Node.js dependencies, including Storybook (the site builder).
155
- - Run `npm start`.
156
- - Wait until a new tab opens with url <http://localhost:6006/> in your browser.
157
- - If you want to initiate it in the background, you can run `npm run start:cli.`
158
-
159
- Learn more about `Storybook` by reading its [documentation](https://storybook.js.org/docs/react/get-started/install).
160
-
161
- ## Usage
162
-
163
- ```jsx
164
- import React from 'react'
165
- import { Button } from 'reactive-bulma'
166
-
167
- const App = () => (
168
- <Button text="This is a test" />
169
- );
170
- ```
171
- To see all component variants and code snippets go to the [Documentation](#documentation) section.
172
-
173
- If you want to create a custom component for your forked Reactive Bulma version, the easiest way is by running the creation script I made, which [instructions are here](#how-to-create-a-template-component).
174
-
175
- ### How to create a template component
176
-
177
- After some time, I understood that creating component files is a repetitive and time-consuming task, so I made issue [#180](https://github.com/NicolasOmar/reactive-bulma/issues/180) to implement a library called [Hygen](https://www.hygen.io), whose function is to provide a way to generate templates for generic files that can consume time at the long term. You can run the script by the following steps:
178
-
179
- - Open a console and run `npm run create` in your console.
180
- - An will assistant will appear asking about how your component will be named. You can answer with text separated with spaces (` `), underscores (`_`), or hyphens (`-`)
181
- - Then, the assistant will ask in which folder you want to create it (based on its type following [Atomic Design hierarchy structure](https://atomicdesign.bradfrost.com/chapter-2/))
182
- - Finally, the script should create all base files to reduce time and focus on custom implementation.
183
-
184
- Learn more about `Hygen` by reading its [documentation](https://www.hygen.io/docs/quick-start).
185
-
186
- ### How to update all dependencies
187
-
188
- In case you want to make your fork, I recommend you to update at least weekly using a custom command `npm run update`, which will run the following commands in order:
189
- - `update:deps`: Using a [npm-check-updates](https://www.npmjs.com/package/npm-check-updates) script, you will be able to choose which dependencies want to update to the latest version
190
- - `update:doctor`: Runs build and test checks to ensure your update will not break any current build.
191
- - `update:storybook`: Updates storybook to the latest version (following its recommended command) followed for a build check (similar to update:doctor, but for Storybook only)
192
-
193
- ## Versioning
194
-
195
- After investigating [semantic-release documentation](https://semantic-release.gitbook.io/semantic-release/) (refer to [#3](https://github.com/NicolasOmar/reactive-bulma/issues/3)) and finishing the last version according to the original roadmap, I decided to give the following meaning to project's versions after `v4.0.0`:
196
- - Major versions (`5.0.0`, `6.0.0` and beyond) will refer to milestones achievement and significant changes on existing components that will need extra attention before the update.
197
- - Minor versions (`4.1.0`, `4.2.0`, and so on) will refer to new components or modifications of existing ones.
198
- - Patch versions (`4.0.1`, `4.0.2`, and so on) will refer to bug fixes or weekly dependencies updates.
199
-
200
- To check the current project's status, go to the [Roadmap](#roadmap) section.
201
-
202
- ### Branching
203
-
204
- Given the mentioned release logic, `main` is the only static branch, and each developed feature or fix will have a unique branch with its PR and a merge commit following [semantic versioning](https://semver.org/) and [semantic commits](https://github.com/semantic-release/semantic-release#commit-message-format) specifications.
205
-
206
- ## Roadmap
207
-
208
- After finishing the last story related to `v4.0.0`, ReactiveBulma's current work is now focused on updating its dependencies in a weekly manner, as well as checking every issue or discussion raised by visitors who are interested in improving the project by proposing new ideas in shape of tickets or issues with its related PR.
209
-
210
- In case you want actual short-term status, go to the [project board](https://github.com/users/NicolasOmar/projects/3) (powered by `GitHub Projects`).
211
-
212
- <details>
213
- <summary>Here is the status table I used to keep track of the worked milestones/versions.</summary>
214
-
215
- | Version | Progress | Open issues | Closed issues
216
- | :---: | :---: | :---: | :---: |
217
- | `v1.0.0` | ![v1.0.0, progress][badge-progress-100] | ![v1.0.0, open][badge-issues-open-100] | ![v1.0.0, closed][badge-issues-closed-100] |
218
- | `v2.0.0` | ![v2.0.0, progress][badge-progress-200] | ![v2.0.0, open][badge-issues-open-200] | ![v2.0.0, closed][badge-issues-closed-200] |
219
- | `v3.0.0` | ![v3.0.0, progress][badge-progress-300] | ![v3.0.0, open][badge-issues-open-300] | ![v3.0.0, closed][badge-issues-closed-300] |
220
- | `v4.0.0` | ![v4.0.0, progress][badge-progress-400] | ![v4.0.0, open][badge-issues-open-400] | ![v4.0.0, closed][badge-issues-closed-400] |
221
-
222
- In case you want the detailed list of current and future features, go to the [roadmap document](https://docs.google.com/document/d/1kWX-dDTD-cQUeB_Vbu0K6xRvtHaSA38h76yQnhiCe9U).
223
- </details>
224
-
225
- [badge-progress-100]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=informational
226
- [badge-issues-open-100]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=orange
227
- [badge-issues-closed-100]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=success
228
- [badge-progress-200]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=informational
229
- [badge-issues-open-200]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=orange
230
- [badge-issues-closed-200]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=success
231
- [badge-progress-300]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=informational
232
- [badge-issues-open-300]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=orange
233
- [badge-issues-closed-300]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=success
234
- [badge-progress-400]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=informational
235
- [badge-issues-open-400]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=orange
236
- [badge-issues-closed-400]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=success
237
-
238
- ## Changelog
239
-
240
- The [changelog](https://github.com/NicolasOmar/reactive-bulma/blob/main/CHANGELOG.md) (powered by `semantic-release`) is regularly updated to reflect what's changed in each new release.
241
-
242
- ## Contributing
243
-
244
- If you're interested in contributing to Reactive Bulma, please read [our contributing docs](./CONTRIBUTING.md) before submitting a pull request.
245
-
246
-
247
- ## Credit
248
-
249
- Bulma was beautifully crafted by [@jgthms](https://github.com/jgthms)
250
-
251
- ## License
252
-
1
+ <p align="center">
2
+ <a href="https://reactivebulma.netlify.app">
3
+ <img width="75" src="https://cdn.svgporn.com/logos/react.svg">
4
+ <img width="50" src="https://cdn.svgporn.com/logos/bulma.svg">
5
+ </a>
6
+ </p>
7
+
8
+ <h1 align="center">Reactive Bulma</h1>
9
+
10
+ <div align="center">
11
+
12
+ Component library based on React, Bulma, Typescript and Rollup
13
+
14
+ <div align="left">
15
+
16
+ ## Table of contents
17
+
18
+ - [Purpose](#purpose)
19
+ - [Status](#status)
20
+ - [Dependencies](#dependencies)
21
+ - [Quick start](#quick-start)
22
+ - [Folder structure](#folder-structure)
23
+ - [Documentation](#documentation)
24
+ - [Usage](#usage)
25
+ - [Versioning](#versioning)
26
+ - [Roadmap](#roadmap)
27
+ - [Changelog](#changelog)
28
+ - [Contributing](#contributing)
29
+ - [Credit](#credit)
30
+ - [License](#license)
31
+
32
+ ## Purpose
33
+
34
+ After studying [an Udemy course about Typescript](https://github.com/NicolasOmar/typescript-practice), I wanted to start a new project to practice my new knowledge in a meaningful tool. Therefore, I began this project to understand how to create a component library and investigate the best ways to maintain and nourish it as any professional-level alternatives.
35
+
36
+ Now I have finished (Jan 31th) [the last story](https://github.com/NicolasOmar/reactive-bulma/issues/80) related to my proposed roadmap; I will change the repo's objectives to the following:
37
+ - Check every new issues raised by users who found new bugs (of any kind) or related to new components or feature improvements of the existing ones.
38
+ - Update dependencies every week, creating alongside its related PR, branch, and PR to maintain track of those updates.
39
+ - Include ReactiveBulma's components as part of my full-stack app [MyPets](https://github.com/NicolasOmar/my-pets), where I now have code that I can get rid of and, in that process, find new opportunities to enhance components' usability.
40
+
41
+ ## Status
42
+
43
+ [![Npm Version][badge-npm-version]][link-npm]
44
+ [![Npm Bundle Size][badge-npm-size]][link-npm]
45
+ [![Npm Downloads][badge-npm-downloads]][link-npm-downloads]
46
+ [![Netlify Status][badge-netlify-status]][link-netlify-status]
47
+ [![Code Coverage][badge-code-coverage]][link-code-coverage]
48
+ [![Quality Gate Status][badge-soundcloud-quality]][link-soundcloud-status]
49
+ [![Maintainability Rating][badge-soundcloud-maintanibility]][link-soundcloud-status]
50
+ [![Security Rating][badge-soundcloud-security]][link-soundcloud-status]
51
+ [![Technical Debt][badge-soundcloud-tech-debt]][link-soundcloud-status]
52
+ [![Known Vulnerabilities][badge-snyk-status]][link-snyk-status]
53
+ [![GitHub Repo stars][badge-github-repo-stars]][link-github-stars]
54
+ [![GitHub commit activity][badge-github-commits]][link-github-commit-activity]
55
+ [![GitHub last commit][badge-github-last-commit]][link-github-commit-history]
56
+ [![Semantic Commits][badge-semantic-commits]][link-semantic-commits]
57
+ [![Contributor Covenant][badge-code-of-conduct]][link-code-of-conduct]
58
+
59
+ [badge-npm-version]: https://img.shields.io/github/package-json/v/nicolasomar/reactive-bulma?label=npm%20version&logo=npm&labelColor=535353&color=success&style=flat
60
+ [badge-npm-size]: https://img.shields.io/bundlephobia/min/reactive-bulma?label=bundle%20size&labelColor=535353&logo=npm&style=flat
61
+ [badge-npm-downloads]: https://img.shields.io/npm/dm/reactive-bulma?label=downloads&labelColor=535353&style=flat&logo=npm
62
+ [link-npm]: https://www.npmjs.com/package/reactive-bulma
63
+ [link-npm-downloads]: https://www.npmjs.com/package/reactive-bulma?activeTab=versions
64
+ [badge-netlify-status]: https://api.netlify.com/api/v1/badges/3101f2b5-0e28-4734-b749-ebb0e3e413c6/deploy-status
65
+ [link-netlify-status]: https://app.netlify.com/sites/reactivebulma/deploys
66
+ [badge-code-coverage]: https://img.shields.io/codecov/c/github/nicolasomar/reactive-bulma?label=coverage&labelColor=535353&logo=codecov&style=flat
67
+ [link-code-coverage]: https://app.codecov.io/gh/NicolasOmar/reactive-bulma
68
+ [badge-soundcloud-quality]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=alert_status
69
+ [badge-soundcloud-maintanibility]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=sqale_rating
70
+ [badge-soundcloud-security]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=security_rating
71
+ [badge-soundcloud-tech-debt]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=sqale_index
72
+ [link-soundcloud-status]: https://sonarcloud.io/summary/new_code?id=NicolasOmar_reactive-bulma
73
+ [badge-snyk-status]: https://snyk.io/test/github/nicolasomar/reactive-bulma/badge.svg
74
+ [link-snyk-status]: https://snyk.io/test/github/nicolasomar/reactive-bulma
75
+ [badge-github-repo-stars]: https://img.shields.io/github/stars/nicolasomar/reactive-bulma?label=stars&logo=github&labelColor=535353&style=flat
76
+ [badge-github-commits]: https://img.shields.io/github/commit-activity/m/nicolasomar/reactive-bulma?logo=github
77
+ [badge-github-last-commit]: https://img.shields.io/github/last-commit/nicolasomar/reactive-bulma?logo=github
78
+ [link-github-stars]: https://github.com/NicolasOmar/reactive-bulma/activity
79
+ [link-github-commit-activity]: https://github.com/NicolasOmar/reactive-bulma/activity
80
+ [link-github-commit-history]: https://github.com/NicolasOmar/reactive-bulma/commits/main
81
+ [badge-semantic-commits]: https://img.shields.io/badge/using-conventional%20commits-e10079?logo=conventional-commits
82
+ [link-semantic-commits]: https://github.com/semantic-release/semantic-release
83
+ [badge-code-of-conduct]: https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg
84
+ [link-code-of-conduct]: code_of_conduct.md
85
+
86
+ ## Dependencies
87
+
88
+ [![react dependency][badge-dependency-react]][link-package-dependencies]
89
+ [![bulma dependency][badge-dependency-bulma]][link-package-dependencies]
90
+ [![material design dependency][badge-dependency-material-design]][link-package-dependencies]
91
+ [![typescript dependency][badge-dependency-typescript]][link-package-dependencies]
92
+ [![vite dependency][badge-dependency-vite]][link-package-dependencies]
93
+ [![storybook dependency][badge-dependency-storybook]][link-package-dependencies]
94
+ [![semantic release dependency][badge-dependency-semantic-release]][link-package-dependencies]
95
+ [![babel dependency][badge-dependency-babel]][link-package-dependencies]
96
+ [![jest dependency][badge-dependency-jest]][link-package-dependencies]
97
+ [![react testing library dependency][badge-dependency-react-testing]][link-package-dependencies]
98
+ [![lint-staged dependency][badge-dependency-lint-staged]][link-package-dependencies]
99
+ [![prettier dependency][badge-dependency-prettier]][link-package-dependencies]
100
+ [![eslint dependency][badge-dependency-eslint]][link-package-dependencies]
101
+ [![husky dependency][badge-dependency-husky]][link-package-dependencies]
102
+ [![hygen dependency][badge-dependency-hygen]][link-package-dependencies]
103
+
104
+ [badge-dependency-react]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/react/main?logo=react
105
+ [badge-dependency-bulma]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/bulma/main?logo=bulma
106
+ [badge-dependency-material-design]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@mdi/font/main?logo=materialdesignicons
107
+ [badge-dependency-typescript]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/typescript/main?logo=typescript
108
+ [badge-dependency-vite]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/vite/main?logo=vite
109
+ [badge-dependency-storybook]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/storybook/main?logo=storybook
110
+ [badge-dependency-semantic-release]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/semantic-release/main?logo=semantic-release
111
+ [badge-dependency-babel]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@babel/core/main?logo=babel
112
+ [badge-dependency-jest]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/jest/main?logo=jest
113
+ [badge-dependency-react-testing]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@testing-library/react/main?logo=testing-library
114
+ [badge-dependency-lint-staged]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/lint-staged/main?logo=lint-staged
115
+ [badge-dependency-prettier]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/prettier/main?logo=prettier
116
+ [badge-dependency-eslint]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/eslint/main?logo=eslint
117
+ [badge-dependency-husky]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/husky/main?logo=husky
118
+ [badge-dependency-hygen]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/hygen/main?logo=hygen
119
+ [link-package-dependencies]: https://github.com/NicolasOmar/reactive-bulma/blob/main/package.json
120
+
121
+ ## Quick start
122
+
123
+ Several quick start options are available:
124
+
125
+ - Clone the repo: `git clone https://github.com/NicolasOmar/reactive-bulma.git`.
126
+ - Install with [npm](https://www.npmjs.com/package/reactive-bulma): `npm install reactive-bulma@latest`
127
+ - Before cloning this repo, I recommend installing [Node](https://nodejs.org/en/download/) `>=20.10.0` to install packages.
128
+
129
+ ## Folder structure
130
+
131
+ In case you have cloned the repo, it will show you the following folders:
132
+ - `_templates:` Dedicated to [Hygen](https://www.hygen.io/) configuration and implementation files. Dedicated to creating new components from customizable templates.
133
+ - `.github:` [Github Actions](https://github.com/features/actions/) files used to run post-merge. commits like unit test coverage collection.
134
+ - `.husky:` Dedicated to [Husky](https://typicode.github.io/husky/) configuration files.
135
+ - `.storybook:` Dedicated to [Storybook](https://storybook.js.org/) configuration files.
136
+ - `src:`
137
+ - `components:` Location of all used components, using [Atomic Design hierarchy structure](https://atomicdesign.bradfrost.com/chapter-2/)
138
+ - `atoms` (from `v1.0.0`).
139
+ - `molecules` (from `v2.0.0`).
140
+ - `organisms` (from `v3.0.0`).
141
+ - `design`: Location of common design tokens (coded on `.mdx` files) displayed above components sections in the storybook's instance.
142
+ - `functions`: Dedicated to parsers and helper functions for repetitive logic.
143
+ - `interfaces`: Dedicated to components and functions typing interfaces.
144
+ - `types`: Dedicated to Bulma's style typesetting (part of the component's properties).
145
+
146
+ ## Documentation
147
+
148
+ Reactive bulma's documentation, included in this repo in the root directory, is built with [Storybook](https://storybook.js.org/) and publicly hosted on `Netlify` at <https://reactivebulma.netlify.app/>. The docs may also be run locally.
149
+
150
+ ### Running documentation locally
151
+ - Go to the `reactive-bulma` folder (where you cloned the repo before).
152
+ - Open a console and run `npm install` to install the Node.js dependencies, including Storybook (the site builder).
153
+ - Run `npm start`.
154
+ - Wait until a new tab opens with url <http://localhost:6006/> in your browser.
155
+ - If you want to initiate it in the background, you can run `npm run start:cli.`
156
+
157
+ Learn more about `Storybook` by reading its [documentation](https://storybook.js.org/docs/react/get-started/install).
158
+
159
+ ## Usage
160
+
161
+ ```jsx
162
+ import React from 'react'
163
+ import { Button } from 'reactive-bulma'
164
+
165
+ const App = () => (
166
+ <Button text="This is a test" />
167
+ );
168
+ ```
169
+ To see all component variants and code snippets go to the [Documentation](#documentation) section.
170
+
171
+ If you want to create a custom component for your forked Reactive Bulma version, the easiest way is by running the creation script I made, which [instructions are here](#how-to-create-a-template-component).
172
+
173
+ ### How to create a template component
174
+
175
+ After some time, I understood that creating component files is a repetitive and time-consuming task, so I made issue [#180](https://github.com/NicolasOmar/reactive-bulma/issues/180) to implement a library called [Hygen](https://www.hygen.io), whose function is to provide a way to generate templates for generic files that can consume time at the long term. You can run the script by the following steps:
176
+
177
+ - Open a console and run `npm run create` in your console.
178
+ - An will assistant will appear asking about how your component will be named. You can answer with text separated with spaces (` `), underscores (`_`), or hyphens (`-`)
179
+ - Then, the assistant will ask in which folder you want to create it (based on its type following [Atomic Design hierarchy structure](https://atomicdesign.bradfrost.com/chapter-2/))
180
+ - Finally, the script should create all base files to reduce time and focus on custom implementation.
181
+
182
+ Learn more about `Hygen` by reading its [documentation](https://www.hygen.io/docs/quick-start).
183
+
184
+ ### How to update all dependencies
185
+
186
+ In case you want to make your fork, I recommend you to update at least weekly using a custom command `npm run update`, which will run the following commands in order:
187
+ - `update:deps`: Using a [npm-check-updates](https://www.npmjs.com/package/npm-check-updates) script, you will be able to choose which dependencies want to update to the latest version
188
+ - `update:doctor`: Runs build and test checks to ensure your update will not break any current build.
189
+ - `update:storybook`: Updates storybook to the latest version (following its recommended command) followed for a build check (similar to update:doctor, but for Storybook only)
190
+
191
+ ## Versioning
192
+
193
+ After investigating [semantic-release documentation](https://semantic-release.gitbook.io/semantic-release/) (refer to [#3](https://github.com/NicolasOmar/reactive-bulma/issues/3)) and finishing the last version according to the original roadmap, I decided to give the following meaning to project's versions after `v4.0.0`:
194
+ - Major versions (`5.0.0`, `6.0.0` and beyond) will refer to milestones achievement and significant changes on existing components that will need extra attention before the update.
195
+ - Minor versions (`4.1.0`, `4.2.0`, and so on) will refer to new components or modifications of existing ones.
196
+ - Patch versions (`4.0.1`, `4.0.2`, and so on) will refer to bug fixes or weekly dependencies updates.
197
+
198
+ To check the current project's status, go to the [Roadmap](#roadmap) section.
199
+
200
+ ### Branching
201
+
202
+ Given the mentioned release logic, `main` is the only static branch, and each developed feature or fix will have a unique branch with its PR and a merge commit following [semantic versioning](https://semver.org/) and [semantic commits](https://github.com/semantic-release/semantic-release#commit-message-format) specifications.
203
+
204
+ ## Roadmap
205
+
206
+ After finishing the last story related to `v4.0.0`, ReactiveBulma's current work is now focused on updating its dependencies in a weekly manner, as well as checking every issue or discussion raised by visitors who are interested in improving the project by proposing new ideas in shape of tickets or issues with its related PR.
207
+
208
+ In case you want actual short-term status, go to the [project board](https://github.com/users/NicolasOmar/projects/3) (powered by `GitHub Projects`).
209
+
210
+ <details>
211
+ <summary>Here is the status table I used to keep track of the worked milestones/versions.</summary>
212
+
213
+ | Version | Progress | Open issues | Closed issues
214
+ | :---: | :---: | :---: | :---: |
215
+ | `v1.0.0` | ![v1.0.0, progress][badge-progress-100] | ![v1.0.0, open][badge-issues-open-100] | ![v1.0.0, closed][badge-issues-closed-100] |
216
+ | `v2.0.0` | ![v2.0.0, progress][badge-progress-200] | ![v2.0.0, open][badge-issues-open-200] | ![v2.0.0, closed][badge-issues-closed-200] |
217
+ | `v3.0.0` | ![v3.0.0, progress][badge-progress-300] | ![v3.0.0, open][badge-issues-open-300] | ![v3.0.0, closed][badge-issues-closed-300] |
218
+ | `v4.0.0` | ![v4.0.0, progress][badge-progress-400] | ![v4.0.0, open][badge-issues-open-400] | ![v4.0.0, closed][badge-issues-closed-400] |
219
+
220
+ In case you want the detailed list of current and future features, go to the [roadmap document](https://docs.google.com/document/d/1kWX-dDTD-cQUeB_Vbu0K6xRvtHaSA38h76yQnhiCe9U).
221
+ </details>
222
+
223
+ [badge-progress-100]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=informational
224
+ [badge-issues-open-100]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=orange
225
+ [badge-issues-closed-100]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=success
226
+ [badge-progress-200]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=informational
227
+ [badge-issues-open-200]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=orange
228
+ [badge-issues-closed-200]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=success
229
+ [badge-progress-300]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=informational
230
+ [badge-issues-open-300]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=orange
231
+ [badge-issues-closed-300]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=success
232
+ [badge-progress-400]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=informational
233
+ [badge-issues-open-400]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=orange
234
+ [badge-issues-closed-400]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=success
235
+
236
+ ## Changelog
237
+
238
+ The [changelog](https://github.com/NicolasOmar/reactive-bulma/blob/main/CHANGELOG.md) (powered by `semantic-release`) is regularly updated to reflect what's changed in each new release.
239
+
240
+ ## Contributing
241
+
242
+ If you're interested in contributing to Reactive Bulma, please read [our contributing docs](./CONTRIBUTING.md) before submitting a pull request.
243
+
244
+
245
+ ## Credit
246
+
247
+ Bulma was beautifully crafted by [@jgthms](https://github.com/jgthms)
248
+
249
+ ## License
250
+
253
251
  Code released under the [MIT License](https://github.com/nicolasomar/reactive-bulma/blob/main/LICENSE).