reactive-bulma 1.16.0 → 1.18.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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 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) 2022 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,191 +1,193 @@
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
- - [Status](#status)
19
- - [Dependencies](#dependencies)
20
- - [Quick start](#quick-start)
21
- - [Folder structure](#folder-structure)
22
- - [Documentation](#documentation)
23
- - [Usage](#usage)
24
- - [Versioning](#versioning)
25
- - [Roadmap](#roadmap)
26
- - [Changelog](#changelog)
27
- - [Credit](#credit)
28
- - [License](#license)
29
-
30
- ## Status
31
-
32
- ![Npm Version][badge-npm-version]
33
- ![Npm Bundle Size][badge-npm-size]
34
- ![Npm Downloads][badge-npm-downloads]
35
- [![Netlify Status][badge-netlify-status]][link-netlify-status]
36
- [![Code Coverage][badge-code-coverage]][link-code-coverage]
37
- [![Quality Gate Status][badge-soundcloud-quality]][link-soundcloud-status]
38
- [![Maintainability Rating][badge-soundcloud-maintanibility]][link-soundcloud-status]
39
- [![Security Rating][badge-soundcloud-security]][link-soundcloud-status]
40
- [![Technical Debt][badge-soundcloud-tech-debt]][link-soundcloud-status]
41
- [![Known Vulnerabilities][badge-snyk-status]][link-snyk-status]
42
- ![GitHub Repo stars][badge-github-repo-stars]
43
- ![GitHub commit activity][badge-github-commits]
44
- ![GitHub last commit][badge-github-last-commit]
45
- [![Semantic Commits][badge-semantic-commits]][link-semantic-commits]
46
-
47
- [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
48
- [badge-npm-size]: https://img.shields.io/bundlephobia/min/reactive-bulma?label=bundle%20size&labelColor=535353&logo=npm&style=flat
49
- [badge-npm-downloads]: https://img.shields.io/npm/dm/reactive-bulma?label=downloads&labelColor=535353&style=flat&logo=npm
50
- [badge-netlify-status]: https://api.netlify.com/api/v1/badges/3101f2b5-0e28-4734-b749-ebb0e3e413c6/deploy-status
51
- [link-netlify-status]: https://app.netlify.com/sites/reactivebulma/deploys
52
- [badge-code-coverage]: https://img.shields.io/codecov/c/github/nicolasomar/reactive-bulma?label=coverage&labelColor=535353&logo=codecov&style=flat
53
- [link-code-coverage]: https://app.codecov.io/gh/NicolasOmar/reactive-bulma
54
- [badge-soundcloud-quality]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=alert_status
55
- [badge-soundcloud-maintanibility]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=sqale_rating
56
- [badge-soundcloud-security]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=security_rating
57
- [badge-soundcloud-tech-debt]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=sqale_index
58
- [link-soundcloud-status]: https://sonarcloud.io/summary/new_code?id=NicolasOmar_reactive-bulma
59
- [badge-snyk-status]: https://img.shields.io/snyk/vulnerabilities/github/nicolasomar/reactive-bulma?logo=snyk
60
- [link-snyk-status]: https://snyk.io/test/github/nicolasomar/reactive-bulma
61
- [badge-github-repo-stars]: https://img.shields.io/github/stars/nicolasomar/reactive-bulma?label=stars&logo=github&labelColor=535353&style=flat
62
- [badge-github-commits]: https://img.shields.io/github/commit-activity/m/nicolasomar/reactive-bulma?logo=github
63
- [badge-github-last-commit]: https://img.shields.io/github/last-commit/nicolasomar/reactive-bulma?logo=github
64
- [badge-semantic-commits]: https://img.shields.io/badge/using-conventional%20commits-e10079?logo=conventional-commits
65
- [link-semantic-commits]: https://github.com/semantic-release/semantic-release
66
-
67
- ## Dependencies
68
-
69
- ![react dependency][badge-dependency-react]
70
- ![bulma dependency][badge-dependency-bulma]
71
- ![material design dependency][badge-dependency-material-design]
72
- ![typescript dependency][badge-dependency-typescript]
73
- ![rollup dependency][badge-dependency-rollup]
74
- ![storybook dependency][badge-dependency-storybook]
75
- ![semantic release dependency][badge-dependency-semantic-release]
76
- ![babel dependency][badge-dependency-babel]
77
- ![jest dependency][badge-dependency-jest]
78
- ![react testing library dependency][badge-dependency-react-testing]
79
- ![prettier dependency][badge-dependency-prettier]
80
- ![eslint dependency][badge-dependency-eslint]
81
- ![husky dependency][badge-dependency-husky]
82
-
83
- [badge-dependency-react]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/react/main?logo=react
84
- [badge-dependency-bulma]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/bulma/main?logo=bulma
85
- [badge-dependency-material-design]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@mdi/font/main?logo=materialdesignicons
86
- [badge-dependency-typescript]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/typescript/main?logo=typescript
87
- [badge-dependency-rollup]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/rollup/main?logo=rollup.js
88
- [badge-dependency-storybook]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/storybook/main?logo=storybook
89
- [badge-dependency-semantic-release]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/semantic-release/main?logo=semantic-release
90
- [badge-dependency-babel]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@babel/core/main?logo=babel
91
- [badge-dependency-jest]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/jest/main?logo=jest
92
- [badge-dependency-react-testing]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@testing-library/react/main?logo=testing-library
93
- [badge-dependency-prettier]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/prettier/main?logo=prettier
94
- [badge-dependency-eslint]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/eslint/main?logo=eslint
95
- [badge-dependency-husky]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/husky/main?logo=husky
96
-
97
- ## Quick start
98
-
99
- Several quick start options are available:
100
-
101
- - Clone the repo: `git clone https://github.com/NicolasOmar/reactive-bulma.git`
102
- - Install with [npm](https://www.npmjs.com/package/reactive-bulma): `npm install reactive-bulma@latest`
103
- - Before cloning this repo, I recommend installing [Node](https://nodejs.org/en/download/) `>=18` to install packages.
104
-
105
- ## Folder structure
106
-
107
- In case you have cloned the repo, it will show you the following folders:
108
- - `.github:` [Github Actions](https://github.com/features/actions/) files used to run post-merge.commits like unit test coverage collection.
109
- - `.husky:` Dedicated to [Husky](https://typicode.github.io/husky/) configuration files.
110
- - `.storybook:` Dedicated to [Storybook](https://storybook.js.org/) configuration files.
111
- - `src:`
112
- - `components:` Location of all used components, using [Atomic Design hierarchy structure](https://atomicdesign.bradfrost.com/chapter-2/)
113
- - `atoms` (from `v1.0.0`).
114
- - `molecules` (from `v2.0.0`).
115
- - `organisms` (from `v3.0.0`).
116
-
117
- ## Documentation
118
-
119
- 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.
120
-
121
- ### Running documentation locally
122
- - Go to `reactive-bulma` folder (where you cloned the repo before).
123
- - Run `npm install` to install the Node.js dependencies, including Storybook (the site builder).
124
- - Run `npm start`.
125
- - Wait until a new tab opens with url <http://localhost:6006/> in your browser.
126
-
127
- Learn more about using `Storybook` by reading its [documentation](https://storybook.js.org/docs/react/get-started/install).
128
-
129
- ## Usage
130
- ```jsx
131
- import React from 'react'
132
- import { Button } from 'reactive-bulma'
133
-
134
- const App = () => (
135
- <Button text="This is a test" />
136
- );
137
- ```
138
- To see all component's variants and its code snippets, go to [Documentation](#documentation) section
139
-
140
- ## Versioning
141
-
142
- After investigating [semantic-release documentation](https://semantic-release.gitbook.io/semantic-release/) (reffer to [#3](https://github.com/NicolasOmar/reactive-bulma/issues/3)) and having a problematic implementation, I decided to change version meaning for this project with the following:
143
- - Major versions (`1.0.0`, `2.0.0` and beyond) will reffer to milestones/version achievement.
144
- - Minor versions (`1.1.0`, `1.2.0` and so on) will reffer to branch/story completition.
145
- - Patch versions (`1.0.1`, `1.0.2` and so on) will reffer to bugfixes only.
146
-
147
- In case you are interested in check current project's status, you can go to [Roadmap](#roadmap) section.
148
-
149
- ### Branching
150
-
151
- Giving the mentioned release logic, `main` is the only static branch, and each developed feature or fix will have an 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.
152
-
153
- ## Roadmap
154
-
155
- Having in mind the [versioning section](#versioning), repo's status in a glance can be observed in this table.
156
-
157
- | Version | Progress | Open issues | Closed issues
158
- | :---: | :---: | :---: | :---: |
159
- | `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] |
160
- | `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] |
161
- | `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] |
162
- | `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] |
163
-
164
- [badge-progress-100]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=informational
165
- [badge-issues-open-100]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=orange
166
- [badge-issues-closed-100]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=success
167
- [badge-progress-200]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=informational
168
- [badge-issues-open-200]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=orange
169
- [badge-issues-closed-200]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=success
170
- [badge-progress-300]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=informational
171
- [badge-issues-open-300]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=orange
172
- [badge-issues-closed-300]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=success
173
- [badge-progress-400]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=informational
174
- [badge-issues-open-400]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=orange
175
- [badge-issues-closed-400]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=success
176
-
177
- In case you want the short-term status, go to the [project board](https://github.com/users/NicolasOmar/projects/3) (powered by `GitHub Projects`).
178
-
179
- 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).
180
-
181
- ## Changelog
182
-
183
- 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.
184
-
185
- ## Credit
186
-
187
- Bulma was beautifully crafted by [@jgthms](https://github.com/jgthms)
188
-
189
- ## License
190
-
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
+ - [Status](#status)
19
+ - [Dependencies](#dependencies)
20
+ - [Quick start](#quick-start)
21
+ - [Folder structure](#folder-structure)
22
+ - [Documentation](#documentation)
23
+ - [Usage](#usage)
24
+ - [Versioning](#versioning)
25
+ - [Roadmap](#roadmap)
26
+ - [Changelog](#changelog)
27
+ - [Credit](#credit)
28
+ - [License](#license)
29
+
30
+ ## Status
31
+
32
+ ![Npm Version][badge-npm-version]
33
+ ![Npm Bundle Size][badge-npm-size]
34
+ [![Npm Downloads][badge-npm-downloads]][link-npm-downloads]
35
+ [![Netlify Status][badge-netlify-status]][link-netlify-status]
36
+ [![Code Coverage][badge-code-coverage]][link-code-coverage]
37
+ [![Quality Gate Status][badge-soundcloud-quality]][link-soundcloud-status]
38
+ [![Maintainability Rating][badge-soundcloud-maintanibility]][link-soundcloud-status]
39
+ [![Security Rating][badge-soundcloud-security]][link-soundcloud-status]
40
+ [![Technical Debt][badge-soundcloud-tech-debt]][link-soundcloud-status]
41
+ [![Known Vulnerabilities][badge-snyk-status]][link-snyk-status]
42
+ ![GitHub Repo stars][badge-github-repo-stars]
43
+ ![GitHub commit activity][badge-github-commits]
44
+ ![GitHub last commit][badge-github-last-commit]
45
+ [![Semantic Commits][badge-semantic-commits]][link-semantic-commits]
46
+
47
+ [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
48
+ [badge-npm-size]: https://img.shields.io/bundlephobia/min/reactive-bulma?label=bundle%20size&labelColor=535353&logo=npm&style=flat
49
+ [badge-npm-downloads]: https://img.shields.io/npm/dm/reactive-bulma?label=downloads&labelColor=535353&style=flat&logo=npm
50
+ [link-npm-downloads]: https://www.npmjs.com/package/reactive-bulma?activeTab=versions
51
+ [badge-netlify-status]: https://api.netlify.com/api/v1/badges/3101f2b5-0e28-4734-b749-ebb0e3e413c6/deploy-status
52
+ [link-netlify-status]: https://app.netlify.com/sites/reactivebulma/deploys
53
+ [badge-code-coverage]: https://img.shields.io/codecov/c/github/nicolasomar/reactive-bulma?label=coverage&labelColor=535353&logo=codecov&style=flat
54
+ [link-code-coverage]: https://app.codecov.io/gh/NicolasOmar/reactive-bulma
55
+ [badge-soundcloud-quality]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=alert_status
56
+ [badge-soundcloud-maintanibility]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=sqale_rating
57
+ [badge-soundcloud-security]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=security_rating
58
+ [badge-soundcloud-tech-debt]: https://sonarcloud.io/api/project_badges/measure?project=NicolasOmar_reactive-bulma&metric=sqale_index
59
+ [link-soundcloud-status]: https://sonarcloud.io/summary/new_code?id=NicolasOmar_reactive-bulma
60
+ [badge-snyk-status]: https://img.shields.io/snyk/vulnerabilities/github/nicolasomar/reactive-bulma?logo=snyk
61
+ [link-snyk-status]: https://snyk.io/test/github/nicolasomar/reactive-bulma
62
+ [badge-github-repo-stars]: https://img.shields.io/github/stars/nicolasomar/reactive-bulma?label=stars&logo=github&labelColor=535353&style=flat
63
+ [badge-github-commits]: https://img.shields.io/github/commit-activity/m/nicolasomar/reactive-bulma?logo=github
64
+ [badge-github-last-commit]: https://img.shields.io/github/last-commit/nicolasomar/reactive-bulma?logo=github
65
+ [badge-semantic-commits]: https://img.shields.io/badge/using-conventional%20commits-e10079?logo=conventional-commits
66
+ [link-semantic-commits]: https://github.com/semantic-release/semantic-release
67
+
68
+ ## Dependencies
69
+
70
+ ![react dependency][badge-dependency-react]
71
+ ![bulma dependency][badge-dependency-bulma]
72
+ ![material design dependency][badge-dependency-material-design]
73
+ ![typescript dependency][badge-dependency-typescript]
74
+ ![rollup dependency][badge-dependency-rollup]
75
+ ![storybook dependency][badge-dependency-storybook]
76
+ ![semantic release dependency][badge-dependency-semantic-release]
77
+ ![babel dependency][badge-dependency-babel]
78
+ ![jest dependency][badge-dependency-jest]
79
+ ![react testing library dependency][badge-dependency-react-testing]
80
+ ![prettier dependency][badge-dependency-prettier]
81
+ ![eslint dependency][badge-dependency-eslint]
82
+ ![husky dependency][badge-dependency-husky]
83
+
84
+ [badge-dependency-react]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/react/main?logo=react
85
+ [badge-dependency-bulma]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/bulma/main?logo=bulma
86
+ [badge-dependency-material-design]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@mdi/font/main?logo=materialdesignicons
87
+ [badge-dependency-typescript]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/typescript/main?logo=typescript
88
+ [badge-dependency-rollup]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/rollup/main?logo=rollup.js
89
+ [badge-dependency-storybook]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/storybook/main?logo=storybook
90
+ [badge-dependency-semantic-release]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/semantic-release/main?logo=semantic-release
91
+ [badge-dependency-babel]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@babel/core/main?logo=babel
92
+ [badge-dependency-jest]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/jest/main?logo=jest
93
+ [badge-dependency-react-testing]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/@testing-library/react/main?logo=testing-library
94
+ [badge-dependency-prettier]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/prettier/main?logo=prettier
95
+ [badge-dependency-eslint]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/eslint/main?logo=eslint
96
+ [badge-dependency-husky]: https://img.shields.io/github/package-json/dependency-version/nicolasomar/reactive-bulma/dev/husky/main?logo=husky
97
+
98
+ ## Quick start
99
+
100
+ Several quick start options are available:
101
+
102
+ - Clone the repo: `git clone https://github.com/NicolasOmar/reactive-bulma.git`
103
+ - Install with [npm](https://www.npmjs.com/package/reactive-bulma): `npm install reactive-bulma@latest`
104
+ - Before cloning this repo, I recommend installing [Node](https://nodejs.org/en/download/) `>=18` to install packages.
105
+
106
+ ## Folder structure
107
+
108
+ In case you have cloned the repo, it will show you the following folders:
109
+ - `.github:` [Github Actions](https://github.com/features/actions/) files used to run post-merge.commits like unit test coverage collection.
110
+ - `.husky:` Dedicated to [Husky](https://typicode.github.io/husky/) configuration files.
111
+ - `.storybook:` Dedicated to [Storybook](https://storybook.js.org/) configuration files.
112
+ - `src:`
113
+ - `components:` Location of all used components, using [Atomic Design hierarchy structure](https://atomicdesign.bradfrost.com/chapter-2/)
114
+ - `atoms` (from `v1.0.0`).
115
+ - `molecules` (from `v2.0.0`).
116
+ - `organisms` (from `v3.0.0`).
117
+
118
+ ## Documentation
119
+
120
+ 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.
121
+
122
+ ### Running documentation locally
123
+ - Go to `reactive-bulma` folder (where you cloned the repo before).
124
+ - Run `npm install` to install the Node.js dependencies, including Storybook (the site builder).
125
+ - Run `npm start`.
126
+ - Wait until a new tab opens with url <http://localhost:6006/> in your browser.
127
+ - In case you want to initiate it on the background, you can run `npm run start:cli`.
128
+
129
+ Learn more about using `Storybook` by reading its [documentation](https://storybook.js.org/docs/react/get-started/install).
130
+
131
+ ## Usage
132
+ ```jsx
133
+ import React from 'react'
134
+ import { Button } from 'reactive-bulma'
135
+
136
+ const App = () => (
137
+ <Button text="This is a test" />
138
+ );
139
+ ```
140
+ To see all component's variants and its code snippets, go to [Documentation](#documentation) section
141
+
142
+ ## Versioning
143
+
144
+ After investigating [semantic-release documentation](https://semantic-release.gitbook.io/semantic-release/) (reffer to [#3](https://github.com/NicolasOmar/reactive-bulma/issues/3)) and having a problematic implementation, I decided to change version meaning for this project with the following:
145
+ - Major versions (`1.0.0`, `2.0.0` and beyond) will reffer to milestones/version achievement.
146
+ - Minor versions (`1.1.0`, `1.2.0` and so on) will reffer to branch/story completition.
147
+ - Patch versions (`1.0.1`, `1.0.2` and so on) will reffer to bugfixes only.
148
+
149
+ In case you are interested in check current project's status, you can go to [Roadmap](#roadmap) section.
150
+
151
+ ### Branching
152
+
153
+ Giving the mentioned release logic, `main` is the only static branch, and each developed feature or fix will have an 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.
154
+
155
+ ## Roadmap
156
+
157
+ Having in mind the [versioning section](#versioning), repo's status in a glance can be observed in this table.
158
+
159
+ | Version | Progress | Open issues | Closed issues
160
+ | :---: | :---: | :---: | :---: |
161
+ | `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] |
162
+ | `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] |
163
+ | `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] |
164
+ | `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] |
165
+
166
+ [badge-progress-100]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=informational
167
+ [badge-issues-open-100]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=orange
168
+ [badge-issues-closed-100]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/1?label=%20&style=flat&color=success
169
+ [badge-progress-200]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=informational
170
+ [badge-issues-open-200]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=orange
171
+ [badge-issues-closed-200]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/2?label=%20&style=flat&color=success
172
+ [badge-progress-300]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=informational
173
+ [badge-issues-open-300]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=orange
174
+ [badge-issues-closed-300]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/3?label=%20&style=flat&color=success
175
+ [badge-progress-400]: https://img.shields.io/github/milestones/progress-percent/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=informational
176
+ [badge-issues-open-400]: https://img.shields.io/github/milestones/issues-open/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=orange
177
+ [badge-issues-closed-400]: https://img.shields.io/github/milestones/issues-closed/nicolasomar/reactive-bulma/4?label=%20&style=flat&color=success
178
+
179
+ In case you want the short-term status, go to the [project board](https://github.com/users/NicolasOmar/projects/3) (powered by `GitHub Projects`).
180
+
181
+ 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).
182
+
183
+ ## Changelog
184
+
185
+ 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.
186
+
187
+ ## Credit
188
+
189
+ Bulma was beautifully crafted by [@jgthms](https://github.com/jgthms)
190
+
191
+ ## License
192
+
191
193
  Code released under the [MIT License](https://github.com/nicolasomar/reactive-bulma/blob/main/LICENSE).
package/dist/cjs/index.js CHANGED
@@ -2923,21 +2923,21 @@ const Tag = ({ text, testId = null, style = null, color = null, isLight = null,
2923
2923
  });
2924
2924
  return withAddon ? (React.createElement("section", { "data-testid": _testId, style: style !== null && style !== void 0 ? style : undefined, className: tagsWrapperClasses },
2925
2925
  React.createElement("span", { className: tagClasses }, text),
2926
- withDelete ? (React.createElement("a", { "data-testid": `${_testId}-delete`, className: 'tag is-delete', onClick: onDeleteClick || undefined })) : (React.createElement("span", { className: addonTagClasses }, addonText)))) : (React.createElement("span", { "data-testid": _testId, style: style !== null && style !== void 0 ? style : undefined, className: tagClasses },
2926
+ withDelete ? (React.createElement("a", { "data-testid": `${_testId}-delete`, className: 'tag is-delete', onClick: onDeleteClick !== null && onDeleteClick !== void 0 ? onDeleteClick : undefined })) : (React.createElement("span", { className: addonTagClasses }, addonText)))) : (React.createElement("span", { "data-testid": _testId, style: style !== null && style !== void 0 ? style : undefined, className: tagClasses },
2927
2927
  text,
2928
- withDelete ? (React.createElement("button", { "data-testid": `${_testId}-delete`, className: 'delete', onClick: onDeleteClick || undefined })) : null));
2928
+ withDelete ? (React.createElement("button", { "data-testid": `${_testId}-delete`, className: 'delete', onClick: onDeleteClick !== null && onDeleteClick !== void 0 ? onDeleteClick : undefined })) : null));
2929
2929
  };
2930
2930
 
2931
2931
  const Box = ({ testId = 'test-box', style = null, children = null }) => children ? (React.createElement("section", { "data-testid": testId, className: 'box', style: style !== null && style !== void 0 ? style : undefined }, children)) : null;
2932
2932
 
2933
2933
  const renderTitleSection = (section) => {
2934
- var _a, _b;
2934
+ var _a, _b, _c;
2935
2935
  const sectionClasses = parseClasses([
2936
2936
  section === null || section === void 0 ? void 0 : section.prop,
2937
2937
  (_a = section === null || section === void 0 ? void 0 : section.size) !== null && _a !== void 0 ? _a : 'is-6',
2938
2938
  (section === null || section === void 0 ? void 0 : section.prop) === 'title' && (section === null || section === void 0 ? void 0 : section.isSpaced) ? 'is-spaced' : null
2939
2939
  ]);
2940
- return section ? (React.createElement("p", { "data-testid": (_b = section === null || section === void 0 ? void 0 : section.testId) !== null && _b !== void 0 ? _b : `${section === null || section === void 0 ? void 0 : section.prop}-test`, className: sectionClasses, style: section.style || undefined }, section === null || section === void 0 ? void 0 : section.text)) : null;
2940
+ return section ? (React.createElement("p", { "data-testid": (_b = section === null || section === void 0 ? void 0 : section.testId) !== null && _b !== void 0 ? _b : `${section === null || section === void 0 ? void 0 : section.prop}-test`, className: sectionClasses, style: (_c = section.style) !== null && _c !== void 0 ? _c : undefined }, section === null || section === void 0 ? void 0 : section.text)) : null;
2941
2941
  };
2942
2942
  const Title = ({ main, secondary }) => (React.createElement(React.Fragment, null,
2943
2943
  renderTitleSection(main),
@@ -3038,13 +3038,42 @@ const TextArea = ({ testId = null, text = null, cols = null, rows = null, isDisa
3038
3038
  return (React.createElement("textarea", { "data-testid": _testId, defaultValue: text !== null && text !== void 0 ? text : undefined, cols: cols !== null && cols !== void 0 ? cols : undefined, rows: rows !== null && rows !== void 0 ? rows : undefined, disabled: isDisabled, readOnly: isReadonly, style: style !== null && style !== void 0 ? style : undefined, className: textAreaClasses, onClick: onClick !== null && onClick !== void 0 ? onClick : undefined, onChange: onChange !== null && onChange !== void 0 ? onChange : undefined }));
3039
3039
  };
3040
3040
 
3041
+ const Delete = ({ testId = null, style = null, size = null, onClick = null }) => {
3042
+ const deleteClasses = parseClasses(['delete', size]);
3043
+ const _testId = testId !== null && testId !== void 0 ? testId : parseTestId({
3044
+ tag: 'delete',
3045
+ parsedClasses: deleteClasses
3046
+ });
3047
+ return (React.createElement("button", { "data-testid": _testId, style: style !== null && style !== void 0 ? style : undefined, className: deleteClasses, onClick: onClick !== null && onClick !== void 0 ? onClick : undefined }));
3048
+ };
3049
+
3050
+ const Select = ({ testId = null, showOptions = 1, options = [], isMultiple = false, color = null, size = null, isRounded = null, isHovered = null, isFocused = null, onClick = null }) => {
3051
+ const selectClasses = parseClasses([
3052
+ 'select',
3053
+ color,
3054
+ size,
3055
+ isMultiple ? 'is-multiple' : null,
3056
+ isRounded ? 'is-rounded' : null,
3057
+ isHovered ? 'is-hovered' : null,
3058
+ isFocused ? 'is-focused' : null
3059
+ ]);
3060
+ const selectTestId = testId !== null && testId !== void 0 ? testId : parseTestId({
3061
+ tag: 'select',
3062
+ parsedClasses: selectClasses
3063
+ });
3064
+ return (React.createElement("section", { "data-testid": `${selectTestId}-container`, className: selectClasses },
3065
+ React.createElement("select", { multiple: isMultiple, size: showOptions, "data-testid": selectTestId }, options.map(({ id, name, selected }, i) => (React.createElement("option", { "data-testid": `${selectTestId}-option-${i}`, key: id.toString(), selected: selected !== null && selected !== void 0 ? selected : false, onClick: onClick !== null && onClick !== void 0 ? onClick : undefined }, name))))));
3066
+ };
3067
+
3041
3068
  exports.Block = Block;
3042
3069
  exports.Box = Box;
3043
3070
  exports.Button = Button;
3044
3071
  exports.Column = Column;
3072
+ exports.Delete = Delete;
3045
3073
  exports.Icon = Icon;
3046
3074
  exports.Input = Input;
3047
3075
  exports.ProgressBar = ProgressBar;
3076
+ exports.Select = Select;
3048
3077
  exports.Tag = Tag;
3049
3078
  exports.TextArea = TextArea;
3050
3079
  exports.Title = Title;