{"id":22155314,"url":"https://github.com/marshmallow-insurance/smores-react","last_synced_at":"2026-03-04T17:01:02.125Z","repository":{"id":38361880,"uuid":"179659325","full_name":"marshmallow-insurance/smores-react","owner":"marshmallow-insurance","description":"🍭 Marshmallow React components ","archived":false,"fork":false,"pushed_at":"2026-02-26T16:51:39.000Z","size":437474,"stargazers_count":40,"open_issues_count":5,"forks_count":5,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-02-26T22:07:00.155Z","etag":null,"topics":["component-library","design-system","react","react-components","storybook","styled-components","typescript"],"latest_commit_sha":null,"homepage":"http://marshmallow-insurance.github.io/smores-react","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marshmallow-insurance.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-04-05T10:06:15.000Z","updated_at":"2026-02-26T16:49:14.000Z","dependencies_parsed_at":"2023-11-13T08:27:29.823Z","dependency_job_id":"a1611c56-a590-4729-81e2-d4918b9b01f7","html_url":"https://github.com/marshmallow-insurance/smores-react","commit_stats":{"total_commits":2807,"total_committers":35,"mean_commits":80.2,"dds":0.6437477734235839,"last_synced_commit":"e25b9a399ecf585200556ebb139557c548a285d5"},"previous_names":["txwkx/smores-style"],"tags_count":502,"template":false,"template_full_name":null,"purl":"pkg:github/marshmallow-insurance/smores-react","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshmallow-insurance%2Fsmores-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshmallow-insurance%2Fsmores-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshmallow-insurance%2Fsmores-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshmallow-insurance%2Fsmores-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marshmallow-insurance","download_url":"https://codeload.github.com/marshmallow-insurance/smores-react/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marshmallow-insurance%2Fsmores-react/sbom","scorecard":{"id":621231,"data":{"date":"2025-08-11","repo":{"name":"github.com/marshmallow-insurance/smores-react","commit":"04507dc6553ede6c7b806795282775d0ba4a133d"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.2,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":4,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Warn: no linked content found","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Code-Review","score":6,"reason":"Found 6/9 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/bump_and_publish.yml:18","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/preview_bump_and_publish.yml:13","Warn: no topLevel permission defined: .github/workflows/auto-merge-dependabot.yml:1","Warn: no topLevel permission defined: .github/workflows/build_and_deploy.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/bump_and_publish.yml:12","Warn: topLevel 'contents' permission set to 'write': .github/workflows/preview_bump_and_publish.yml:7","Warn: no topLevel permission defined: .github/workflows/pull_request.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":5,"reason":"dependency not pinned by hash detected -- score normalized to 5","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/auto-merge-dependabot.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/marshmallow-insurance/smores-react/auto-merge-dependabot.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_and_deploy.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/marshmallow-insurance/smores-react/build_and_deploy.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_and_deploy.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/marshmallow-insurance/smores-react/build_and_deploy.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/bump_and_publish.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/marshmallow-insurance/smores-react/bump_and_publish.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/preview_bump_and_publish.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/marshmallow-insurance/smores-react/preview_bump_and_publish.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/marshmallow-insurance/smores-react/pull_request.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/pull_request.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/marshmallow-insurance/smores-react/pull_request.yml/main?enable=pin","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   2 out of   5 third-party GitHubAction dependencies pinned","Info:   3 out of   3 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'feature/add-rowKey-to-cellData'","Warn: branch protection not enabled for branch 'feature/sticky-modal-title'","Warn: branch protection not enabled for branch 'fix/adding-generic-classname-to-field'","Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Warn: required approving review count is 1 on branch 'main'","Warn: codeowners review is not required on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":7,"reason":"3 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-xffm-g5w8-qvg7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-21T05:16:43.853Z","repository_id":38361880,"created_at":"2025-08-21T05:16:43.854Z","updated_at":"2025-08-21T05:16:43.854Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30086512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T15:40:14.053Z","status":"ssl_error","status_checked_at":"2026-03-04T15:40:13.655Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["component-library","design-system","react","react-components","storybook","styled-components","typescript"],"created_at":"2024-12-02T02:16:32.525Z","updated_at":"2026-03-04T17:01:02.072Z","avatar_url":"https://github.com/marshmallow-insurance.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets/smores-logo-dark.png\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"assets/smores-logo-light.png\"\u003e\n  \u003cimg alt=\"Project Logo\" src=\"assets/smores-logo-light.png\"\u003e\n\u003c/picture\u003e\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@mrshmllw/smores-react\"\u003e\n    \u003cimg alt=\"npm-version-badge\" src=\"https://img.shields.io/npm/v/@mrshmllw/smores-react.svg?style=flat-square\u0026logo=nodedotjs\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/marshmallow-insurance/smores-react/blob/master/LICENSE\"\u003e\n    \u003cimg alt=\"licence-badge\" src=\"https://img.shields.io/github/license/marshmallow-insurance/smores-react.svg?style=flat-square\u0026logo=ReadMe\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://snyk.io/test/github/marshmallow-insurance/smores-react?targetFile=package.json\"\u003e\n    \u003cimg alt=\"snyk-badge\" src=\"https://snyk.io/test/github/marshmallow-insurance/smores-react/badge.svg?targetFile=package.json\u0026style=flat-square\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://prettier.io/\"\u003e\n    \u003cimg alt=\"prettier-badge\" src=\"https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square\u0026logo=prettier\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# Smores React\n\n`smores-react` is a collection of [React](https://facebook.github.io/react/)\ncomponents that conform to Marshmallow's Design System - \"_S'mores_\".\n\n## Install\n\n```bash\n$ yarn add @mrshmllw/smores-react\n# OR\n$ npm install @mrshmllw/smores-react\n```\n\n## Making changes\n\nWhen making changes and creating PR's we use [semantic-releases](https://www.npmjs.com/package/semantic-release) which make use of [conventional-commits](https://www.conventionalcommits.org/en/v1.0.0/). \n\nSo to ensure our CHANGELOG.md is updated automatically and gets the changes we have made, we just need to name our PR's following this convention (casing matters): e.g\n\n1. patch - fix(OPTIONAL bugfix-reference): some bugfix\n2. minor - feat(OPTIONAL feature-reference): some feature\n3. major - BREAKING CHANGE: some breaking change\n\n## Release\n\nOnly the following branches are supported for release:\n- `main`\n- `feature/*`\n- `chore/*`\n- `fix/*`\n\n#### Preview\nBefore releasing, you may want to see the changes that will be included in the next version deployed on NPM, you can do so by:\n\n1. Goto our [github workflows](https://github.com/marshmallow-insurance/smores-react/actions)\n2. Click `Preview Bump and Publish`\n3. Press `Run workflow` and select the `main` branch.\n4. Wait for the `Generate preview CHANGELOG.md` and look at the results!\n\n#### Releasing \u0026 Publishing\nWhen you're happy with your changes, you can release \u0026 publish your changes to NPM in one fell swoop by:\n\n1. Goto our [github workflows](https://github.com/marshmallow-insurance/smores-react/actions)\n2. Click `Bump and Publish`\n3. Press `Run workflow` and select the `main` branch.\n4. Wait for release!\n\nNote: this workflow will fail if the package version is already on the latest, so you dont have to worry about deploying the same changes multiple times.\n\n#### Pre-Releases\nNot too different to your usual workflow!\n\n1. Checkout a new branch with the prefix `(feature|chore|fix)/\u003cyour-branch-name\u003e` e.g. `feature/awesome-new-feature`\n2. Open a PR and create your changes as normal using semantic-commits!\n3. Goto our [github workflows](https://github.com/marshmallow-insurance/smores-react/actions)\n4. Click `Bump and Publish` or `Preview Bump and Publish`\n5. Press `Run workflow` and select `\u003cyour-full-branch-name\u003e` branch.\n6. Wait for release!\n7. This can be done multiple times and it will increment your pre-release package version!\n8. When you're happy with the changes, simply squash and merge the PR and release `main`!\n\n## Running Smores in dev mode \nTo run Smores in dev mode follow the below instructions on installing and using Yalc to link up your project repo with Smores.\n\nInstall yalc on a global level by running\n\n```\nnpm i yalc -g\n```\nThis only needs to be installed once. \n\nTo run Smores in dev mode :\n\n1. Make desired changes in Smores repo\n2. On your Smores branch run\n\n```\nyalc publish\n```\n\nThis will copy all the files that should be published into a remote NPM registry\n\nIn your project repo (not Smores e.g customer portal/sign up flow etc) run \n\n```\nyalc add @mrshmllw/smores-react\n```\n\nthis will copy the current version from the store to your project’s .yalc folder and inject a file: .yalc/@mrshmllw/smores-react dependency into package.json\n\nEvery time you make changes in Smores and you wan’t to see it in local\n\nrun \n\n```\nyalc publish —private\n```\n\nIn your project folder to see your Smores changes run the below to see the changes\n\n\n```\nyalc update\n```\n\nWhen you’ve finished deving run the below in your project folder to remove all packages linked\n\n```\nyalc remove --all\n```\n\n## List of Components\n\n* [Accordion](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Accordion)\n* [ActionDropdown](https://github.com/marshmallow-insurance/smores-react/tree/master/src/ActionDropdown)\n* [Banner](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Banner)\n* [Box](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Box)\n* [Button](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Button)\n* [Card](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Card)\n* [CheckBox](https://github.com/marshmallow-insurance/smores-react/tree/master/src/CheckBox)\n* [CheckBoxGroup](https://github.com/marshmallow-insurance/smores-react/tree/master/src/CheckBoxGroup)\n* [Chip](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Chip)\n* [Datepicker](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Datepicker)\n* [Divider](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Divider)\n* [Dropdown](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Dropdown)\n* [Icon](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Icon)\n* [IconStrict](https://github.com/marshmallow-insurance/smores-react/tree/master/src/IconStrict)\n* [IconWrapper](https://github.com/marshmallow-insurance/smores-react/tree/master/src/IconWrapper)\n* [LabelledText](https://github.com/marshmallow-insurance/smores-react/tree/master/src/LabelledText)\n* [Link](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Link)\n* [Loader](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Loader)\n* [Logo](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Logo)\n* [Modal](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Modal)\n* [NumberInput](https://github.com/marshmallow-insurance/smores-react/tree/master/src/NumberInput)\n* [Pagination](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Pagination)\n* [RadioButton](https://github.com/marshmallow-insurance/smores-react/tree/master/src/RadioButton)\n* [RadioGroup](https://github.com/marshmallow-insurance/smores-react/tree/master/src/RadioGroup)\n* [RichText](https://github.com/marshmallow-insurance/smores-react/tree/master/src/RichText)\n* [RichTextEditor](https://github.com/marshmallow-insurance/smores-react/tree/master/src/RichTextEditor)\n* [Row](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Row)\n* [SearchInput](https://github.com/marshmallow-insurance/smores-react/tree/master/src/SearchInput)\n* [Snackbar](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Snackbar)\n* [SupportMessage](https://github.com/marshmallow-insurance/smores-react/tree/master/src/SupportMessage)\n* [Table](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Table)\n* [Tag](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Tag)\n* [Text](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Text)\n* [Textarea](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Textarea)\n* [TextDateOfBirthInput](https://github.com/marshmallow-insurance/smores-react/tree/master/src/TextDateOfBirthInput)\n* [TextInput](https://github.com/marshmallow-insurance/smores-react/tree/master/src/TextInput)\n* [Toggle](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Toggle)\n* [Tooltip](https://github.com/marshmallow-insurance/smores-react/tree/master/src/Tooltip)\n\n## Usage\n\n```js\nimport React from 'react';\nimport {Text, Button} from '@mrshmllw/smores-react';\n\nconst App = () =\u003e (\n  \u003c\u003e\n    \u003cText\u003eHey you\u003c/Text\u003e\n    \u003cButton\n      onClick={() =\u003e console.log('thanks for clicking :)')}\n    \u003e\n      Click me!\n    \u003c/Button\u003e\n  \u003c/\u003e\n);\n```\n\n## License\n\nMIT © [Marshmallow](https://www.marshmallow.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarshmallow-insurance%2Fsmores-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarshmallow-insurance%2Fsmores-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarshmallow-insurance%2Fsmores-react/lists"}