{"id":17621147,"url":"https://github.com/noeldelgado/parse-css-color","last_synced_at":"2025-04-15T22:53:57.815Z","repository":{"id":42058422,"uuid":"264545081","full_name":"noeldelgado/parse-css-color","owner":"noeldelgado","description":":herb: Parse a CSS color string","archived":false,"fork":false,"pushed_at":"2023-08-28T07:07:00.000Z","size":506,"stargazers_count":15,"open_issues_count":5,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-15T22:53:51.837Z","etag":null,"topics":["alpha","color","css","hex","hsl","hsla","parse","rgb","rgba","string"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/noeldelgado.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-16T23:13:51.000Z","updated_at":"2025-02-14T16:09:09.000Z","dependencies_parsed_at":"2024-06-18T15:35:36.665Z","dependency_job_id":"3d2f9b1f-191d-4104-bad7-c4904e31a9d6","html_url":"https://github.com/noeldelgado/parse-css-color","commit_stats":{"total_commits":96,"total_committers":4,"mean_commits":24.0,"dds":0.125,"last_synced_commit":"3b1825a4c65eed06dcbcfa9976d9053466b9f5f5"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noeldelgado%2Fparse-css-color","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noeldelgado%2Fparse-css-color/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noeldelgado%2Fparse-css-color/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/noeldelgado%2Fparse-css-color/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/noeldelgado","download_url":"https://codeload.github.com/noeldelgado/parse-css-color/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249167439,"owners_count":21223505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["alpha","color","css","hex","hsl","hsla","parse","rgb","rgba","string"],"created_at":"2024-10-22T20:11:18.512Z","updated_at":"2025-04-15T22:53:57.790Z","avatar_url":"https://github.com/noeldelgado.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# parse-css-color\n[![NPM Version][npm-image]][npm-url]\n![](https://img.badgesize.io/noeldelgado/parse-css-color/master/src/index.js.svg?compression=gzip)\n[![License][license-img]][license-url]\n[![codecov][codecov-image]][codecov-url]\n[![Known Vulnerabilities][snyk-img]][snyk-url]\n[![Libraries.io dependency status for latest release][librariesio-img]][librariesio-url]\n[![Total alerts][lgtm-image]][lgtm-url]\n[![Language grade: JavaScript][lgtm-grade-image]][lgtm-grade-url]\n\nParse a CSS color string.\n\n### Supports\n* \\\u003ccolor value\\\u003e\n\t* Hexadecimal RGB value: #RGB #RRGGBB\n\t* #RGBA #RRGGBBAA (4 and 8-digit hexadecimal RGBA notation)\n\t* RGB/A color module level 3 and 4 (number, percentage)\n\t* HSL/A color module level 3 and 4 (number, deg, rad, turn)\n* \\\u003ccolor keyword\\\u003e\n\t* One of the [pre-defined color keywords](https://www.w3.org/wiki/CSS/Properties/color/keywords).\n* transparent\n\t* Shorthand for transparent black, rgba(0,0,0,0).\n\n### Does not support\n* currentColor\n* inherit\n\n## Installation\n\n**NPM**\n\n```sh\nnpm i parse-css-color\n```\n\nOr as a `\u003cscript\u003e` tag from a CDN as `parseCssColor`:\n\n**Unpkg CDN**\n\n```html\n\u003cscript src=\"https://unpkg.com/parse-css-color\"\u003e\u003c/script\u003e\n```\n\n**jsDelivr CDN**\n\n```html\n\u003cscript src=\"https://cdn.jsdelivr.net/npm/parse-css-color\"\u003e\u003c/script\u003e\n```\n\n## Usage\n```js\nimport parse from 'parse-css-color'\n\n// HEX/A\nparse('#00f')\n//\u003e { type: 'rgb', values: [0, 0, 255], alpha: 1 }\nparse('#00f8')\n//\u003e { type: 'rgb', values: [0, 0, 255], alpha: 0.5333333333333333 }\nparse('#0000FF80')\n//\u003e { type: 'rgb', values: [0, 0, 255], alpha: 0.5019607843137255 }\nparse('#00g')\n//\u003e null\n\n// HSL/A\nparse('hsl(270deg 60% 70% / 25%)')\n//\u003e { type: 'hsl', values: [270, 60, 70], alpha: 0.25 }\nparse('hsl(4.71239rad 260% -70% / 0.5)') // clipped to\n//\u003e { type: 'hsl', values: [270, 100, 0], alpha: 0.5 }\nparse('hsla(.75turn, 60%, 70%, 50%)')\n//\u003e { type: 'hsl', values: [270, 60, 70], alpha: 0.5 }\nparse('hsla(100deg 0 0 / 0)') // error: missing percetanges\n//\u003e null\n\n// RGB/A\nparse('rgb(255 0 0 / 0.5)')\n//\u003e { type: 'rgb', values: [255, 0, 0], alpha: 0.5 }\nparse('rgb(500 -100 0 / 200%)') // clipped to\n//\u003e { type: 'rgb', values: [255, 0, 0], alpha: 1 }\nparse('rgba(255, 0, 255, 20%)')\n//\u003e { type: 'rgb', values: [255, 0, 255], alpha: 0.2 }\nparse('rgba(100% 255 100% / 0)') // error: mixed percetange with integer\n//\u003e null\n```\nSee [tests](https://github.com/noeldelgado/parse-css-color/tree/master/test) for more cases.\n\n## Dev\n```sh\nnpm install   # install dependencies\nnpm test      # run the tests (append `-- -w`) to watch\nnpm run dev   # watch for changes and rebuild\n```\n\n## Related\n- [mix-css-color](https://github.com/noeldelgado/mix-css-color) - Mix two CSS colors together in variable proportion. Opacity is included in the calculations.\n- [values.js](https://github.com/noeldelgado/values.js) - Get the tints and shades of a CSS color.\n\n## License\nMIT © [Noel Delgado](http://pixelia.me/)\n\n[npm-image]: https://img.shields.io/npm/v/parse-css-color.svg?logo=npm\u0026label=NPM\n[npm-url]: https://www.npmjs.com/package/parse-css-color\n[license-img]: https://img.shields.io/npm/l/parse-css-color\n[license-url]: https://github.com/noeldelgado/parse-css-color/blob/master/LICENSE\n[codecov-image]: https://codecov.io/gh/noeldelgado/parse-css-color/branch/master/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/noeldelgado/parse-css-color\n[snyk-img]: https://snyk.io/test/npm/parse-css-color/badge.svg\n[snyk-url]: https://snyk.io/test/npm/parse-css-color\n[librariesio-img]: https://img.shields.io/librariesio/release/npm/parse-css-color.svg?logo=librariesdotio\n[librariesio-url]: https://libraries.io/npm/parse-css-color\n[lgtm-image]: https://img.shields.io/lgtm/alerts/g/noeldelgado/parse-css-color.svg?logo=lgtm\u0026logoWidth=18\n[lgtm-url]: https://lgtm.com/projects/g/noeldelgado/parse-css-color/alerts/\n[lgtm-grade-image]: https://img.shields.io/lgtm/grade/javascript/g/noeldelgado/parse-css-color.svg?logo=lgtm\u0026logoWidth=18\n[lgtm-grade-url]: https://lgtm.com/projects/g/noeldelgado/parse-css-color/context:javascript\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoeldelgado%2Fparse-css-color","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnoeldelgado%2Fparse-css-color","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnoeldelgado%2Fparse-css-color/lists"}