{"id":16809524,"url":"https://github.com/trixtateam/react-query-builder-semantic","last_synced_at":"2026-01-20T13:02:11.204Z","repository":{"id":42097048,"uuid":"237046734","full_name":"trixtateam/react-query-builder-semantic","owner":"trixtateam","description":"A QueryBuilder component for React","archived":false,"fork":false,"pushed_at":"2022-12-10T16:29:01.000Z","size":910,"stargazers_count":2,"open_issues_count":27,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-10T13:49:58.461Z","etag":null,"topics":["query","query-builder","react","semantic-ui-react"],"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/trixtateam.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":"2020-01-29T17:51:40.000Z","updated_at":"2021-03-20T20:07:56.000Z","dependencies_parsed_at":"2023-01-26T09:31:10.929Z","dependency_job_id":null,"html_url":"https://github.com/trixtateam/react-query-builder-semantic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/trixtateam/react-query-builder-semantic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trixtateam%2Freact-query-builder-semantic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trixtateam%2Freact-query-builder-semantic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trixtateam%2Freact-query-builder-semantic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trixtateam%2Freact-query-builder-semantic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trixtateam","download_url":"https://codeload.github.com/trixtateam/react-query-builder-semantic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trixtateam%2Freact-query-builder-semantic/sbom","scorecard":{"id":899222,"data":{"date":"2025-08-11","repo":{"name":"github.com/trixtateam/react-query-builder-semantic","commit":"333093e22a124efb8b48201060bf968b0ea12d0e"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":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":"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":"Code-Review","score":0,"reason":"Found 0/5 approved changesets -- score normalized to 0","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":"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":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"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":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"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":"Vulnerabilities","score":0,"reason":"158 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-6chw-6frg-f759","Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-whgm-jr23-g3j9","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25","Warn: Project is vulnerable to: GHSA-rvg8-pwq2-xj7q","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-cwfw-4gq5-mrqx","Warn: Project is vulnerable to: GHSA-g95f-p29q-9xw4","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-x9w5-v3q2-3rhw","Warn: Project is vulnerable to: GHSA-257v-vj4p-3w2h","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-p28h-cc7q-c4fg","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-3wcq-x3mq-6r9p","Warn: Project is vulnerable to: GHSA-ff7x-qrg7-qggm","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-6h5x-7c5m-7cr7","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-8mmm-9v2q-x3f9","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-q42p-pg8m-cqh6","Warn: Project is vulnerable to: GHSA-w457-6q6x-cgp9","Warn: Project is vulnerable to: GHSA-62gr-4qp9-h98f","Warn: Project is vulnerable to: GHSA-f52g-6jhx-586p","Warn: Project is vulnerable to: GHSA-2cf5-4w76-r9qv","Warn: Project is vulnerable to: GHSA-3cqr-58rm-57f8","Warn: Project is vulnerable to: GHSA-g9r4-xpmj-mj65","Warn: Project is vulnerable to: GHSA-q2c6-c6pm-g3gh","Warn: Project is vulnerable to: GHSA-765h-qjxv-5f44","Warn: Project is vulnerable to: GHSA-f2jv-r9rf-7988","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-pfq8-rq6v-vf5m","Warn: Project is vulnerable to: GHSA-6x33-pw7p-hmpq","Warn: Project is vulnerable to: GHSA-c7qv-q95q-8v27","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-7r28-3m3f-r2pr","Warn: Project is vulnerable to: GHSA-r8j5-h5cx-65gg","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-896r-f27r-55mw","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-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","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-f9cm-qmx5-m98h","Warn: Project is vulnerable to: GHSA-7wpw-2hjm-89gp","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-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g","Warn: Project is vulnerable to: GHSA-92xj-mqp7-vmcj","Warn: Project is vulnerable to: GHSA-wxgw-qj99-44c2","Warn: Project is vulnerable to: GHSA-5rrq-pxf6-6jx5","Warn: Project is vulnerable to: GHSA-8fr3-hfg3-gpgp","Warn: Project is vulnerable to: GHSA-gf8q-jrpm-jvxq","Warn: Project is vulnerable to: GHSA-2r2c-g63r-vccr","Warn: Project is vulnerable to: GHSA-cfm4-qjh2-4765","Warn: Project is vulnerable to: GHSA-x4jg-mjrx-434g","Warn: Project is vulnerable to: GHSA-5fw9-fq32-wv5p","Warn: Project is vulnerable to: GHSA-rp65-9cf3-cjxr","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-566m-qj78-rww5","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-wvhm-4hhf-97x9","Warn: Project is vulnerable to: GHSA-h4hr-7fg3-h35w","Warn: Project is vulnerable to: GHSA-gj77-59wh-66hg","Warn: Project is vulnerable to: GHSA-hqhp-5p83-hx96","Warn: Project is vulnerable to: GHSA-3949-f494-cm99","Warn: Project is vulnerable to: GHSA-x7hr-w5r2-h6wg","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-5q6m-3h65-w53x","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-4g88-fppr-53pp","Warn: Project is vulnerable to: GHSA-4jqc-8m5r-9rpr","Warn: Project is vulnerable to: GHSA-g4rg-993r-mgx7","Warn: Project is vulnerable to: GHSA-c9g6-9335-x697","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-jgrx-mgxx-jf9v","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-7p7h-4mm5-852v","Warn: Project is vulnerable to: GHSA-662x-fhqg-9p8v","Warn: Project is vulnerable to: GHSA-394c-5j6w-4xmx","Warn: Project is vulnerable to: GHSA-78cj-fxph-m83p","Warn: Project is vulnerable to: GHSA-fhg7-m89q-25r3","Warn: Project is vulnerable to: GHSA-cf4h-3jhx-xvhq","Warn: Project is vulnerable to: GHSA-3329-pjwv-fjpg","Warn: Project is vulnerable to: GHSA-p6j9-7xhc-rhwp","Warn: Project is vulnerable to: GHSA-89gv-h8wf-cg8r","Warn: Project is vulnerable to: GHSA-gcv8-gh4r-25x6","Warn: Project is vulnerable to: GHSA-gmv4-r438-p67f","Warn: Project is vulnerable to: GHSA-8h2f-7jc4-7m3m","Warn: Project is vulnerable to: GHSA-3vjf-82ff-p4r3","Warn: Project is vulnerable to: GHSA-g694-m8vq-gv9h","Warn: Project is vulnerable to: GHSA-46c4-8wrp-j99v","Warn: Project is vulnerable to: GHSA-9m6j-fcg5-2442","Warn: Project is vulnerable to: GHSA-hh27-ffr2-f2jc","Warn: Project is vulnerable to: GHSA-rqff-837h-mm52","Warn: Project is vulnerable to: GHSA-8v38-pw62-9cw2","Warn: Project is vulnerable to: GHSA-hgjh-723h-mx2j","Warn: Project is vulnerable to: GHSA-jf5r-8hm2-f872","Warn: Project is vulnerable to: GHSA-wr3j-pwj9-hqq6","Warn: Project is vulnerable to: GHSA-cf66-xwfp-gvc4","Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h","Warn: Project is vulnerable to: GHSA-g78m-2chm-r7qv","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-24T14:54:31.202Z","repository_id":42097048,"created_at":"2025-08-24T14:54:31.202Z","updated_at":"2025-08-24T14:54:31.202Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28603404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T12:01:53.233Z","status":"ssl_error","status_checked_at":"2026-01-20T12:01:46.545Z","response_time":117,"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":["query","query-builder","react","semantic-ui-react"],"created_at":"2024-10-13T10:13:07.499Z","updated_at":"2026-01-20T13:02:11.178Z","avatar_url":"https://github.com/trixtateam.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-query-builder-semantic\n\n## Credits\nThis component was inspired by prior work from:\n\n- [jQuery QueryBuilder](http://querybuilder.js.org/)\n- [Angular QueryBuilder](https://github.com/mfauveau/angular-query-builder)\n\nThanks to [sapientglobalmarkets](https://github.com/sapientglobalmarkets/react-querybuilder) for providing us this component's code base \u003cbr/\u003e\nThanks to [coryhouse](https://github.com/coryhouse/ps-react) for providing the medium for documentation and deployment\n\n## Getting Started\n```shell\nnpm install react-query-builder-semantic --save\n```\n\n## [Semantic UI React Integration](https://react.semantic-ui.com/)\n- [Setting up Semantic](https://react.semantic-ui.com/usage)\n\n## Documentation\n[Component documentation](https://rebelopsys.github.io/react-query-builder-semantic/)\n\n\u003cdetails\u003e\n\u003csummary\u003eQuery Builder Semantic API\u003c/summary\u003e\n\n## Usage\n\nImport QueryBuilderSemantic with default styles.\n```jsx\nimport 'semantic-ui-css/semantic.min.css';\nimport QueryBuilderSemantic from 'react-query-builder-semantic/lib/QueryBuilderSemantic';\n```\n\nImport QueryBuilderSemantic without styles.\n```jsx\nimport 'semantic-ui-css/semantic.min.css';\nimport QueryBuilderSemantic from 'react-query-builder-semantic/lib/QueryBuilderSemantic/QueryBuilderSemantic';\n```\n## QueryBuilderSemantic\n\n`\u003cQueryBuilderSemantic /\u003e` is the only top-level component exposed from this library. It supports the following properties:\n\n#### ruleSemanticProps *(Required)*\nSemantic Props for valueEditor, fieldSelector, valueSelector, segment, deleteRuleButton on a rule. Default is :\n```js\nruleSemanticProps: {\n    segment: {\n        size: 'tiny',\n        padded: true,\n        compact: true,\n    },\n    valueEditor: {\n        size: 'tiny',\n        type: \"text\"\n    },\n    fieldSelector: {\n        scrolling: true,\n        selection: true,\n        search: true,\n    },\n    operatorSelector: {\n        scrolling: true,\n        selection: true,\n        search: true,\n    },\n    deleteRuleButton: {\n        size: 'tiny',\n        compact: true,\n        circular: true,\n        floated: 'right',\n        icon: 'remove'\n    }\n}\n\n```\n\n#### ruleGroupSemanticProps *(Required)*\nSemantic Props for dropDown, addGroupButton, removeGroupButton, segment, addRuleButton on a group. Default is :\n```js\nruleGroupSemanticProps: {\n    dropDown: {\n        button: true,\n        attached: 'left',\n        className: 'icon',\n        size: 'tiny',\n        labeled: true,\n        scrolling: true,\n        icon: 'filter'\n    },\n    segment: {\n        size: 'tiny',\n    },\n    addGroupButton: {\n        attached: true,\n        size: 'tiny',\n        compact: true,\n        icon: 'plus'\n    },\n    removeGroupButton: {\n        attached: 'right',\n        size: 'tiny',\n        compact: true,\n        icon: 'minus'\n    },\n    addRuleButton: {\n        attached: 'right',\n        size: 'tiny',\n        compact: true,\n        icon: 'plus'\n    },\n}\n\n```\n\n#### fields *(Required)*\n[ {value:String, text:String} ]\n\nThe array of fields that should be used. Each field should be an object with\n\n`{value:String, text:String}`\n\n#### values *(Optional)*\n[ {value:String, text:String} ]\n\nThe array of values that should be used. Each value should be an object with\n\n`{value:String, text:String}`\n\n#### operators *(Optional)*\n[ {value:String, text:String} ]\n\nThe array of operators that should be used. The default operators include:\n\n```js\n[\n    { value: 'null', text: 'Is Null' },\n    { value: 'notNull', text: 'Is Not Null' },\n    { value: 'in', text: 'In' },\n    { value: 'notIn', text: 'Not In' },\n    { value: '=', text: '=' },\n    { value: '!=', text: '!=' },\n    { value: '\u003c', text: '\u003c' },\n    { value: '\u003e', text: '\u003e' },\n    { value: '\u003c=', text: '\u003c=' },\n    { value: '\u003e=', text: '\u003e=' },\n]\n```\n\n#### combinators *(Optional)*\n[ {value:String, text:String},{content:any} ]\n\nThe array of combinators that should be used for RuleGroups.\nThe default set includes:\n\n```js\n[\n    {\n       text: 'AND',\n       value: 'and',\n       content: \u003cLabel color={'purple'} content='AND' circular /\u003e,\n   },\n   {\n       text: 'OR',\n       value: 'or',\n       content: \u003cLabel color={'blue'} content='OR' circular /\u003e,\n   }\n]\n```\n#### combinatorColors\n[ {color:String, combinator:String} ]\n\nThe array of combinator colors to use for the selected combinator that should be used for RuleGroups.\nThe default set includes:\n\n```js\n combinatorColors: [\n        { color: 'purple', combinator: 'and' },\n        { color: 'blue', combinator: 'or' },\n    ]\n```\n\n#### controlElements *(Optional)*\n```js\nReact.PropTypes.shape({\n  fieldSelector: React.PropTypes.func, //returns ReactClass\n  operatorSelector: React.PropTypes.func, //returns ReactClass\n  valueEditor: React.PropTypes.func //returns ReactClass\n})\n```\n\nThis is a custom controls object that allows you to override the control elements used.\nThe following control overrides are supported:\n- `fieldSelector`: By default a `\u003cDropdown scrolling selection search /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    /**\n     * Semantic Props for fieldSelector on a rule\n     */\n    ruleSemanticProps: PropTypes.shape({\n        /**\n         * Semantic Dropdown props on a rule\n         * https://react.semantic-ui.com/modules/dropdown/\n         */\n        fieldSelector: PropTypes.any,\n    }),\n    options: React.PropTypes.array.isRequired, //same as 'fields' passed into QueryBuilderSemantic\n    value: React.PropTypes.string, //selected field from the existing query representation, if any\n    className: React.PropTypes.string, //css classNames to be applied\n    handleOnChange: React.PropTypes.func, //callback function to update query representation\n  }\n  ```\n- `operatorSelector`: By default a `\u003c\u003cDropdown scrolling selection search /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    /**\n    * Semantic Props for valueSelector on a rule\n    */\n   ruleSemanticProps: PropTypes.shape({\n       /**\n        * Semantic Dropdown props on a rule\n        * https://react.semantic-ui.com/modules/dropdown/\n        */\n       operatorSelector: PropTypes.any,\n   }),\n   options: React.PropTypes.array.isRequired, //same as 'fields' passed into QueryBuilderSemantic\n   value: React.PropTypes.string, //selected operator from the existing query representation, if any\n   className: React.PropTypes.string, //css classNames to be applied\n   handleOnChange: React.PropTypes.func, //callback function to update query representation\n  }\n  ```\n- `valueEditor`: By default a `\u003cInput type=\"text\" /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    /**\n     * Semantic Props for valueEditor on a rule\n     */\n    ruleSemanticProps: PropTypes.shape({\n        /**\n         * Semantic Input props on a rule\n         * https://react.semantic-ui.com/elements/input/\n         */\n        valueEditor: PropTypes.any,\n    }),\n    values: React.PropTypes.array //values corresponding to this Rule\n    field: React.PropTypes.string, //field name corresponding to this Rule\n    operator: React.PropTypes.string, //operator name corresponding to this Rule\n    value: React.PropTypes.string, //value from the existing query representation, if any\n    handleOnChange: React.PropTypes.func //callback function to update the query representation\n  }\n  ```\n\n#### getOperators *(Optional)*\nfunction(field):[]\n\nThis is a callback function invoked to get the list of allowed operators\nfor the given field\n\n#### onQueryChange *(Optional)*\nfunction(queryJSON):void\n\nThis is a notification that is invoked anytime the query configuration changes. The\nquery is provided as a JSON structure, as shown below:\n\n```json\n{\n  \"type\": \"group\",\n  \"combinator\": \"and\",\n  \"rules\": [\n    {\n      \"type\": \"rule\",\n      \"field\": \"firstName\",\n      \"operator\": \"null\",\n      \"value\": \"\"\n    },\n    {\n      \"type\": \"rule\",\n      \"field\": \"lastName\",\n      \"operator\": \"null\",\n      \"value\": \"\"\n    },\n    {\n      \"type\": \"group\",\n      \"combinator\": \"and\",\n      \"rules\": [\n        {\n          \"type\": \"rule\",\n          \"field\": \"age\",\n          \"operator\": \"\u003e\",\n          \"value\": \"30\"\n        }\n      ]\n    }\n  ]\n}\n```\n\n#### controlClassnames *(Optional)*\nThis can be used to assign specific `CSS` classes to various controls\nthat are created by the `\u003cQueryBuilderSemantic /\u003e`. This is an object\nwith the following properties:\n\n```js\n{\n     /**\n    *Root \u003cdiv\u003e element\n    */\n   queryBuilder: PropTypes.string,\n   /**\n    *\u003cSegment.Group\u003e containing the RuleGroup\n    */\n   ruleGroup: PropTypes.string,\n   /**\n    *\u003cDropdown\u003e control for combinators\n    */\n   combinators: PropTypes.string,\n   /**\n    *\u003cButton\u003e to add a Rule\n    */\n   addRule: PropTypes.string,\n   /**\n    *\u003cButton\u003e to add a RuleGroup\n    */\n   addGroup: PropTypes.string,\n   /**\n    *\u003cButton\u003e to remove a RuleGroup\n    */\n   removeGroup: PropTypes.string,\n   /**\n    *\u003cSegment\u003e containing the Rule\n    */\n   rule: PropTypes.string,\n   /**\n    *\u003cDropdown\u003e control for fields\n    */\n   fields: PropTypes.string,\n   /**\n    *\u003cDropdown\u003e control for operators\n    */\n   operators: PropTypes.string,\n   /**\n    *\u003cInput\u003e for the field value\n    */\n   value: PropTypes.string,\n   /**\n    *\u003cButton\u003e to remove a Rule\n    */\n   removeRule: PropTypes.string,\n}\n```\n\n#### translations *(Optional)*\nThis can be used to override translatable texts applied to various controls\nthat are created by the `\u003cQueryBuilderSemantic /\u003e`. This is an object\nwith the following properties:\n\n```js\n{\n     fields: {\n        title: \"Fields\",\n    },\n    operators: {\n        title: \"Operators\",\n    },\n    value: {\n        title: \"Value\",\n    },\n    removeRule: {\n        title: \"Remove rule\",\n    },\n    removeGroup: {\n        title: \"Remove group\",\n    },\n    addRule: {\n        title: \"Add rule\",\n    },\n    addGroup: {\n        title: \"Add group\",\n    },\n    combinators: {\n        title: \"Combinators\",\n    }\n}\n```\n\u003c/details\u003e\n\n\n\n\u003cdetails\u003e\n\u003csummary\u003eQuery Builder API\u003c/summary\u003e\n\n## Usage\n\nImport QueryBuilder with default styles.\n```jsx\nimport QueryBuilder from 'react-query-builder-semantic/lib/QueryBuilder';\n```\n\nImport QueryBuilder without styles.\n```jsx\nimport QueryBuilder from 'react-query-builder-semantic/lib/QueryBuilder/QueryBuilder';\n```\n## QueryBuilder\n\n`\u003cQueryBuilder /\u003e` is the only top-level component exposed from this library. It supports the following properties:\n\n#### fields *(Required)*\n[ {name:String, label:String, id:ID} ]\n\nThe array of fields that should be used. Each field should be an object with\n\n`{name:String, label:String, id:ID}` |\n\nThe Id is optional, if you do not provide an id for a field then the name will be used\n\n\n#### operators *(Optional)*\n[ {name:String, label:String} ]\n\nThe array of operators that should be used. The default operators include:\n\n```js\n[\n    {name: 'null', label: 'Is Null'},\n    {name: 'notNull', label: 'Is Not Null'},\n    {name: 'in', label: 'In'},\n    {name: 'notIn', label: 'Not In'},\n    {name: '=', label: '='},\n    {name: '!=', label: '!='},\n    {name: '\u003c', label: '\u003c'},\n    {name: '\u003e', label: '\u003e'},\n    {name: '\u003c=', label: '\u003c='},\n    {name: '\u003e=', label: '\u003e='},\n]\n```\n\n#### combinators *(Optional)*\n[ {name:String, label:String} ]\n\nThe array of combinators that should be used for RuleGroups.\nThe default set includes:\n\n```js\n[\n    {name: 'and', label: 'AND'},\n    {name: 'or', label: 'OR'},\n]\n```\n\n#### controlElements *(Optional)*\n```js\nReact.PropTypes.shape({\n  addGroupAction: React.PropTypes.func, //returns ReactClass\n  removeGroupAction: React.PropTypes.func, //returns ReactClass\n  addRuleAction: React.PropTypes.func, //returns ReactClass\n  removeRuleAction: React.PropTypes.func, //returns ReactClass\n  combinatorSelector: React.PropTypes.func, //returns ReactClass\n  fieldSelector: React.PropTypes.func, //returns ReactClass\n  operatorSelector: React.PropTypes.func, //returns ReactClass\n  valueEditor: React.PropTypes.func //returns ReactClass\n})\n```\n\nThis is a custom controls object that allows you to override the control elements used.\nThe following control overrides are supported:\n- `addGroupAction`: By default a `\u003cbutton /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    label: React.PropTypes.string, //\"+Group\"\n    className: React.PropTypes.string, //css classNames to be applied\n    handleOnClick: React.PropTypes.func, //callback function to invoke adding a \u003cRuleGroup /\u003e\n    rules: React.PropTypes.array, //Provides the number of rules already present for this group,\n    level: React.PropTypes.number //The level of the current group\n  }\n  ```\n- `removeGroupAction`: By default a `\u003cbutton /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    label: React.PropTypes.string, //\"x\"\n    className: React.PropTypes.string, //css classNames to be applied\n    handleOnClick: React.PropTypes.func, //callback function to invoke removing a \u003cRuleGroup /\u003e\n    rules: React.PropTypes.array, //Provides the number of rules already present for this group,\n    level: React.PropTypes.number //The level of the current group\n  }\n  ```\n- `addRuleAction`: By default a `\u003cbutton /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    label: React.PropTypes.string, //\"+Rule\"\n    className: React.PropTypes.string, //css classNames to be applied\n    handleOnClick: React.PropTypes.func, //callback function to invoke adding a \u003cRule /\u003e\n    rules: React.PropTypes.array, //Provides the number of rules already present for this group,\n    level: React.PropTypes.number //The level of the current group\n  }\n  ```\n- `removeRuleAction`: By default a `\u003cbutton /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    label: React.PropTypes.string, //\"x\"\n    className: React.PropTypes.string, //css classNames to be applied\n    handleOnClick: React.PropTypes.func, //callback function to invoke removing a \u003cRule /\u003e\n    level: React.PropTypes.number //The level of the current group\n  }\n  ```\n- `combinatorSelector`: By default a `\u003cselect /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    options: React.PropTypes.array.isRequired, //same as 'combinators' passed into QueryBuilder\n    value: React.PropTypes.string, //selected combinator from the existing query representation, if any\n    className: React.PropTypes.string, //css classNames to be applied\n    handleOnChange: React.PropTypes.func, //callback function to update query representation\n    rules: React.PropTypes.array, //Provides the number of rules already present for this group\n    level: React.PropTypes.number //The level of the current group\n  }\n  ```\n- `fieldSelector`: By default a `\u003cselect /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    options: React.PropTypes.array.isRequired, //same as 'fields' passed into QueryBuilder\n    value: React.PropTypes.string, //selected field from the existing query representation, if any\n    className: React.PropTypes.string, //css classNames to be applied\n    handleOnChange: React.PropTypes.func, //callback function to update query representation\n    level: React.PropTypes.number //The level the group this rule belongs to\n  }\n  ```\n- `operatorSelector`: By default a `\u003cselect /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    field: React.PropTypes.string, //field name corresponding to this Rule\n    options: React.PropTypes.array.isRequired, //return value of getOperators(field)\n    value: React.PropTypes.string, //selected operator from the existing query representation, if any\n    className: React.PropTypes.string, //css classNames to be applied\n    handleOnChange: React.PropTypes.func //callback function to update query representation\n    level: React.PropTypes.number //The level the group this rule belongs to\n  }\n  ```\n- `valueEditor`: By default a `\u003cinput type=\"text\" /\u003e` is used. The following props are passed:\n\n  ```js\n  {\n    field: React.PropTypes.string, //field name corresponding to this Rule\n    operator: React.PropTypes.string, //operator name corresponding to this Rule\n    value: React.PropTypes.string, //value from the existing query representation, if any\n    handleOnChange: React.PropTypes.func //callback function to update the query representation\n    level: React.PropTypes.number //The level the group this rule belongs to\n  }\n  ```\n\n#### getOperators *(Optional)*\nfunction(field):[]\n\nThis is a callback function invoked to get the list of allowed operators\nfor the given field\n\n#### onQueryChange *(Optional)*\nfunction(queryJSON):void\n\nThis is a notification that is invoked anytime the query configuration changes. The\nquery is provided as a JSON structure, as shown below:\n\n```json\n{\n  \"type\": \"group\",\n  \"combinator\": \"and\",\n  \"rules\": [\n    {\n      \"type\": \"rule\",\n      \"field\": \"firstName\",\n      \"operator\": \"null\",\n      \"value\": \"\"\n    },\n    {\n      \"type\": \"rule\",\n      \"field\": \"lastName\",\n      \"operator\": \"null\",\n      \"value\": \"\"\n    },\n    {\n      \"type\": \"group\",\n      \"combinator\": \"and\",\n      \"rules\": [\n        {\n          \"type\": \"rule\",\n          \"field\": \"age\",\n          \"operator\": \"\u003e\",\n          \"value\": \"30\"\n        }\n      ]\n    }\n  ]\n}\n```\n\n#### controlClassnames *(Optional)*\nThis can be used to assign specific `CSS` classes to various controls\nthat are created by the `\u003cQueryBuilder /\u003e`. This is an object\nwith the following properties:\n\n```js\n{\n    /**\n    *Root \u003cdiv\u003e element\n    */\n   queryBuilder: PropTypes.string,\n   /**\n    *\u003cdiv\u003e containing the RuleGroup\n    */\n   ruleGroup: PropTypes.string,\n   /**\n    *\u003cselect\u003e control for combinators\n    */\n   combinators: PropTypes.string,\n   /**\n    *\u003cbutton\u003e to add a Rule\n    */\n   addRule: PropTypes.string,\n   /**\n    *\u003cbutton\u003e to add a RuleGroup\n    */\n   addGroup: PropTypes.string,\n   /**\n    *\u003cbutton\u003e to remove a RuleGroup\n    */\n   removeGroup: PropTypes.string,\n   /**\n    *\u003cdiv\u003e containing the Rule\n    */\n   rule: PropTypes.string,\n   /**\n    *\u003cselect\u003e control for fields\n    */\n   fields: PropTypes.string,\n   /**\n    *\u003cselect\u003e control for operators\n    */\n   operators: PropTypes.string,\n   /**\n    *\u003cinput\u003e for the field value\n    */\n   value: PropTypes.string,\n   /**\n    *\u003cbutton\u003e to remove a Rule\n    */\n   removeRule: PropTypes.string,\n\n}\n```\n\n#### translations *(Optional)*\nThis can be used to override translatable texts applied to various controls\nthat are created by the `\u003cQueryBuilder /\u003e`. This is an object\nwith the following properties:\n\n```js\n{\n    fields: {\n        title: \"Fields\",\n    },\n    operators: {\n        title: \"Operators\",\n    },\n    value: {\n        title: \"Value\",\n    },\n    removeRule: {\n        label: \"x\",\n        title: \"Remove rule\",\n    },\n    removeGroup: {\n        label: \"x\",\n        title: \"Remove group\",\n    },\n    addRule: {\n        label: \"+Rule\",\n        title: \"Add rule\",\n    },\n    addGroup: {\n        label: \"+Group\",\n        title: \"Add group\",\n    },\n    combinators: {\n        title: \"Combinators\",\n    }\n}\n```\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrixtateam%2Freact-query-builder-semantic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrixtateam%2Freact-query-builder-semantic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrixtateam%2Freact-query-builder-semantic/lists"}