{"id":18266069,"url":"https://github.com/dokar3/chiptextfield","last_synced_at":"2026-01-25T16:02:30.366Z","repository":{"id":38211333,"uuid":"426517584","full_name":"dokar3/ChipTextField","owner":"dokar3","description":"Editable chip layout for Compose Multiplatform","archived":false,"fork":false,"pushed_at":"2024-10-14T00:27:38.000Z","size":1470,"stargazers_count":102,"open_issues_count":9,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-29T20:08:00.133Z","etag":null,"topics":["android","chip","compose","compose-multiplatform","kotlin","tag"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dokar3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2021-11-10T07:01:41.000Z","updated_at":"2025-02-15T07:36:20.000Z","dependencies_parsed_at":"2023-09-24T09:02:56.924Z","dependency_job_id":"8c579363-dbb6-42b7-9f63-62c56a995262","html_url":"https://github.com/dokar3/ChipTextField","commit_stats":null,"previous_names":[],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokar3%2FChipTextField","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokar3%2FChipTextField/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokar3%2FChipTextField/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dokar3%2FChipTextField/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dokar3","download_url":"https://codeload.github.com/dokar3/ChipTextField/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399874,"owners_count":20932876,"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":["android","chip","compose","compose-multiplatform","kotlin","tag"],"created_at":"2024-11-05T11:21:36.217Z","updated_at":"2026-01-25T16:02:30.360Z","avatar_url":"https://github.com/dokar3.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChipTextField\n\n![Maven Central](https://img.shields.io/maven-central/v/io.github.dokar3/chiptextfield?style=flat-square\u0026color=%23ea197e)\n\nEditable and customizable chips for Compose Multiplatform. Available on these platforms:\n\n- Android (Jetpack Compose)\n- Desktop\n- Browser (wasmJs and canvas)\n\niOS support is currently lacking, see [#131](https://github.com/dokar3/ChipTextField/issues/131).\n\n# Usage\n\nGradle dependency:\n\n```groovy\n// Material 2\nimplementation \"io.github.dokar3:chiptextfield:latest_version\"\n\n// Material 3\nimplementation \"io.github.dokar3:chiptextfield-m3:latest_version\"\n```\n\n**Default (filled style)** \n\n```kotlin\nvar value by remember { mutableStateOf(\"Initial text\") }\nval state = rememberChipTextFieldState\u003cChip\u003e()\nChipTextField(\n    state = state,\n    value = value,\n    onValueChange = { value = it },\n    onSubmit = { text -\u003e Chip(text) },\n)\n```\n\nSimplified version if do not care about the text field value:\n\n```kotlin\nval state = rememberChipTextFieldState\u003cChip\u003e()\nChipTextField(\n    state = state,\n    onSubmit = ::Chip,\n)\n```\n\n![](/images/screenshot_filled.jpg)\n\n**Outlined**\n\n```kotlin\nval state = rememberChipTextFieldState\u003cChip\u003e()\nOutlinedChipTextField(\n    state = state,\n    onSubmit = ::Chip,\n)\n```\n\n![](/images/screenshot_outlined.jpg)\n\n**Need a classic underline style?**\n\n```kotlin\nval state = rememberChipTextFieldState\u003cChip\u003e()\nChipTextField(\n    state = state,\n    onSubmit = ::Chip,\n    colors = TextFieldDefaults.textFieldColors(\n        backgroundColor = Color.Transparent,\n    ),\n    contentPadding = PaddingValues(bottom = 8.dp),\n)\n```\n\n![](/images/screenshot_light.png)\n\n**Checkable chips**\n\n```kotlin\nclass CheckableChip(text: String, isChecked: Boolean = false) : Chip(text) {\n    var isChecked by mutableStateOf(isChecked)\n}\n\nval state = rememberChipTextFieldState(\n    chips = listOf(CheckableChip(\"\"), /*...*/),\n)\nBasicChipTextField(\n    state = state,\n    onSubmit = { null },\n    readOnly = true, // Disable editing\n    chipLeadingIcon = { chip -\u003e CheckIcon(chip) }, // Show check icon if checked\n    chipTrailingIcon = {}, // Hide default close button\n    onChipClick = { chip -\u003e chip.isChecked = !chip.isChecked }\n)\n\n@Composable\nfun CheckIcon(chip: CheckableChip, modifier: Modifier = Modifier) { /*...*/ }\n```\n\n![](/images/screenshot_checkable.jpg)\n\n**Avatar chips**\n\n```kotlin\nclass AvatarChip(text: String, val avatarUrl: String) : Chip(text)\n\nval state = rememberChipTextFieldState\u003cAvatarChip\u003e()\nChipTextField(\n    state = state,\n    onSubmit = { AvatarChip(it.text, AVATAR_URL) },\n    chipLeadingIcon = { chip -\u003e Avatar(chip) } // Load and display avatar\n)\n\n@Composable\nfun Avatar(chip: AvatarChip, modifier: Modifier = Modifier) { /*...*/ }\n```\n\n![](/images/screenshot_avatar.png)\n\n**Material 3**\n\n```diff\n- import com.dokar.chiptextfield.OutlinedChipTextField\n+ import com.dokar.chiptextfield.m3.OutlinedChipTextField\n```\n\n![](/images/screenshot_m3.jpg)\n\n\n# License\n\n```\nCopyright 2021 dokar3\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdokar3%2Fchiptextfield","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdokar3%2Fchiptextfield","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdokar3%2Fchiptextfield/lists"}