{"id":25636470,"url":"https://github.com/castlecss/castlecss-forms","last_synced_at":"2025-09-08T20:33:30.642Z","repository":{"id":14692007,"uuid":"76872496","full_name":"CastleCSS/castlecss-forms","owner":"CastleCSS","description":"Easy to use forms for CastleCSS","archived":false,"fork":false,"pushed_at":"2023-01-03T23:17:11.000Z","size":631,"stargazers_count":1,"open_issues_count":15,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-08T20:33:01.438Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.castlecss.com","language":"CSS","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/CastleCSS.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-19T15:15:21.000Z","updated_at":"2019-03-19T09:53:13.000Z","dependencies_parsed_at":"2023-01-13T18:04:11.728Z","dependency_job_id":null,"html_url":"https://github.com/CastleCSS/castlecss-forms","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/CastleCSS/castlecss-forms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CastleCSS%2Fcastlecss-forms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CastleCSS%2Fcastlecss-forms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CastleCSS%2Fcastlecss-forms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CastleCSS%2Fcastlecss-forms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CastleCSS","download_url":"https://codeload.github.com/CastleCSS/castlecss-forms/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CastleCSS%2Fcastlecss-forms/sbom","scorecard":{"id":27741,"data":{"date":"2025-08-11","repo":{"name":"github.com/CastleCSS/castlecss-forms","commit":"16e2c3fcabf3f40a56cc087ec8c1e31d2be8eebd"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2,"checks":[{"name":"Code-Review","score":2,"reason":"Found 4/17 approved changesets -- score normalized to 2","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":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","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":-1,"reason":"No tokens found","details":null,"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":"Dangerous-Workflow","score":-1,"reason":"no workflows found","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":"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":"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":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"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":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"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":"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":"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":"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 'master'"],"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 29 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":0,"reason":"59 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-6chw-6frg-f759","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-x9w5-v3q2-3rhw","Warn: Project is vulnerable to: GHSA-c6rq-rjc2-86v2","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-vh7m-p724-62c2","Warn: Project is vulnerable to: GHSA-r9p9-mrjm-926w","Warn: Project is vulnerable to: GHSA-434g-2637-qmqr","Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m","Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw","Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p","Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747","Warn: Project is vulnerable to: GHSA-vjh7-7g9h-fjfh","Warn: Project is vulnerable to: GHSA-4gmj-3p3h-gm8h","Warn: Project is vulnerable to: GHSA-8r6j-v8pm-fqw3","Warn: Project is vulnerable to: MAL-2023-462","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-6c3j-c64m-qhgq","Warn: Project is vulnerable to: GHSA-gxr4-xjj5-5px2","Warn: Project is vulnerable to: GHSA-jpcq-cgw6-v4j6","Warn: Project is vulnerable to: GHSA-2pr6-76vf-7546","Warn: Project is vulnerable to: GHSA-8j8c-7jfh-h6hx","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp","Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq","Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488","Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-4xcv-9jjx-gfj3","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-fhjf-83wg-r2j9","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-4g88-fppr-53pp","Warn: Project is vulnerable to: GHSA-4jqc-8m5r-9rpr","Warn: Project is vulnerable to: GHSA-j44m-qm6p-hp7m","Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9","Warn: Project is vulnerable to: GHSA-r628-mhmh-qjhw","Warn: Project is vulnerable to: GHSA-9r2w-394v-53qc","Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh","Warn: Project is vulnerable to: GHSA-qq89-hq3f-393p","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-c4w7-xm78-47vh","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"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-14T18:18:31.885Z","repository_id":14692007,"created_at":"2025-08-14T18:18:31.885Z","updated_at":"2025-08-14T18:18:31.885Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231509,"owners_count":25245601,"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","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-02-23T00:47:21.964Z","updated_at":"2025-09-08T20:33:30.587Z","avatar_url":"https://github.com/CastleCSS.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CastleCSS Forms\nQuickly add forms with this CastleCSS module.\n\n![CastleCSS logo @CastleCss.com](https://www.doordarius.nl/castlecss-logo-250.png)\n\n## CastleCSS Framework\nThe form files are part of the [CastleCSS Package](https://github.com/CastleCSS/castlecss).\n\n## How to install\n- Download the [CastleCSS Boilerplate](https://www.github.com/CastleCSS/castlecss-boilerplate). All Packages are included + examples and project setup\n- Install via [npm](https://www.npmjs.com/): ```npm install castlecss-forms -S``` (see [below](#getting-started) for a step-by-step guide)\n- Require it in your own npm package\n- Download or clone the package\n\n## Updating files\nCastleCSS is built in such a way that it's easy to update, you can just download and make it your own as long as you don't overwrite the core files. To update the forms module, just run:\n\n```npm update castlecss-forms```\n\n## Documentation and examples\nYou can find the documentation and examples for CastleCSS Forms [here](http://www.castlecss.com/forms.html). You can also download the [CastleCSS Boilerplate](https://github.com/castlecss/castlecss-boilerplate), which includes CastleCSS Forms.\n\n\n## Getting started\n\nYour project should have a setup similar to the example below (included in the [CastleCSS Boilerplate](https://github.com/CastleCSS/castlecss-boilerplate)).\nThis way you make sure your own variables overwrite the castle-core variables and your setup is still updatable.\n\n```\n| Your project directory/\n|\n|-- node_modules/\n| | -- castlecss-core/\n| | -- castlecss-buttons/\n| | -- castlecss-notifications/\n| | -- castlecss-forms/\n| | \n|-- scss/\n| |-- main.scss\n| |-- variables.scss\n| |\n|-- js/\n| | -- scripts.js\n| |\n|-- img/\n|-- dist/\n| |-- styles.min.css\n| |-- styles.min.map\n| |-- scripts.min.js\n| |\n|-- index.html\n|-- Gruntfile.js\n|-- package.json\n```\n\n### 1. Include CastleCSS Forms in your project\nTo do this, run the following command in your CLI (make sure you have [Node.js](https://nodejs.org/en/download/) installed on your computer):\n\n```npm install castlecss-forms -S```\n\nAll dependencies needed in order for CastleCSS Forms to run properly are now available (in the 'node_modules' folder).\n\n\n### 2. Include CastleCSS Forms in your sass structure\nTo enable CastleCSS Forms it is essential that you include the corresponding main.scss file in your project's own sass structure. Essentially, your 'main' sass file should have a setup similar to this (included in the [CastleCSS Boilerplate](https://github.com/CastleCSS/castlecss-boilerplate)): \n\n```\n/*  core variable files */\n@import \"node_modules/castlecss-core/sass/variables\";\n\n/*  Your own variables so they overwrite the core */\n@import \"variables\";\n\n/*  rest of core files */\n@import \"node_modules/castlecss-core/sass/main\";\n@import \"node_modules/castlecss-forms/sass/main\";\n\n \n/*  Include your own files below this line\n    --------------------------------------\n*/\n```\n\n### 3. Include script library\n\n_Please not that **[jQuery](https://jquery.com/download/) is required** in order for CastleCSS Forms to work. Make sure the CastleCSS Forms scripts load after jQuery is loaded_.\n\nWe propose three ways to make use of the CastleCSS Forms script library, which will be listed below. CastleCSS Forms consists of multiple modules, which can be used separately if desired. \n\n#### Include all Forms modules\nTo make use of all the modules, simply include the following scripts (that are located in the 'dist' folder):\n\n```\n\u003cscript type=\"text/javascript\" src=\"/path/to/scripts/Forms.min.js\"\u003e\u003c/script\u003e\n\u003cscript type=\"text/javascript\"\u003e\n\t$(function () {\n\t\tCastleCSS_Forms_Forms();\n\t});\n\u003c/script\u003e\n```\n\n#### Include as separate modules\nTo make use of the modules separately, use the following scripts (that are located in the 'dist' folder):\n\n```\n\u003c!--- The modules of your choice ---\u003e\n\u003cscript type=\"text/javascript\" src=\"/path/to/scripts/Select.min.js\"\u003e\u003c/script\u003e\n\u003cscript type=\"text/javascript\" src=\"/path/to/scripts/FileInput.min.js\"\u003e\u003c/script\u003e\n\u003cscript type=\"text/javascript\" src=\"/path/to/scripts/State.min.js\"\u003e\u003c/script\u003e\n\n\u003cscript type=\"text/javascript\"\u003e\n\t/* For example */\n\t$(function () {\n\t\tCastleCSS_Forms_Select();\n\t});\n\u003c/script\u003e\n```\n\n\n\n#### Require\nIt is possible to require CastleCSS Forms into your project.\n\n```\nvar castlecss_forms = require('castlecss-forms');\n\n/* Use all modules */\ncastlecss_forms.forms();\n\n/* Use separate modules */\ncastlecss_forms.select();\ncastlecss_forms.fileinput();\n```\n\n#### Selectors\nBy default, the CastleCSS Forms library searches for the following elements:\n\n```\n...\n\u003c!--- A wrapping element around the input ---\u003e\n\u003cdiv data-castlecss-field\u003e \n\t\u003cinput type=\"text\"\u003e\u003c/input\u003e\n\u003c/div\u003e\n...\n\n\u003c!--- The select element ---\u003e\n\u003cselect data-castlecss-select\u003e\n...\n\u003c/select\u003e\n```\n\n#### Configuration\nBy default, the CastleCSS Forms library uses the CastleCSS selectors.\nIt is possible to configure selectors of your own choice. Just add the following configuration:\n\n```\nCastleCSS_Forms_Forms({\n\tfileInput: '.yourOwnSelector',\n\tselect: '.yourOwnSelector'\n});\n\nCastleCSS_Forms_Select('.yourOwnSelector');\nCastleCSS_Forms_FileInput('.yourOwnSelector');\n```\n\n## Roadmap\nWe're currently working hard on making the CastleCSS expansions and improvements. CastleCSS is made to serve as lightweight basis for tailor made software but we do want to give you the option to install a few modules to make your life easier.\n\nPlease see the [ROADMAP.MD from the CastleCSS Meta Package](https://github.com/CastleCSS/castlecss/blob/master/ROADMAP.md) for our current plans for the future.\n\n## Contributing\nWant to contribute? We'd love your help, please take a look at the roadmap or submit new suggestions.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcastlecss%2Fcastlecss-forms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcastlecss%2Fcastlecss-forms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcastlecss%2Fcastlecss-forms/lists"}