/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . example . jet sn ack . ui . components Ċ Ċ import Ġandroidx . compose . animation . animate Ċ import Ġandroidx . compose . foundation . Icon Ċ import Ġandroidx . compose . foundation . Scroll able Row Ċ import Ġandroidx . compose . foundation . Text Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Spacer Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . preferred Height Ċ import Ġandroidx . compose . foundation . layout . preferred Height In Ċ import Ġandroidx . compose . foundation . layout . preferred Width Ċ import Ġandroidx . compose . foundation . selection . toggle able Ċ import Ġandroidx . compose . foundation . shape . Circle Shape Ċ import Ġandroidx . compose . material . IconButton Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . rounded . Filter List Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Shape Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . example . jet sn ack . model . Filter Ċ import Ġcom . example . jet sn ack . ui . theme . Jet sn ack Theme Ċ Ċ @ Composable Ċ fun ĠFilter Bar ( filters : ĠList < Filter >) Ġ{ ĊĠĠĠ ĠScroll able Row ( modifier Ġ= ĠModifier . preferred Height In ( min Ġ= Ġ 5 6 . dp )) Ġ{ ĊĠĠĠĠĠĠĠ ĠSp acer ( Modifier . preferred Width ( 8 . dp )) ĊĠĠĠĠĠĠĠ ĠIcon Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ Ġ/* Ġtodo Ġ*/ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . align ( Alignment . Center Vert ically ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġasset Ġ= ĠIcons . Rounded . Filter List , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt int Ġ= ĠJet sn ack Theme . colors . brand , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . diagonal Gradient Border ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors Ġ= ĠJet sn ack Theme . colors . interactive Secondary , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshape Ġ= ĠCircle Shape ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfilters . forEach Ġ{ Ġfilter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFilter Chip ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter Ġ= Ġfilter , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . align ( Alignment . Center Vert ically ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( Modifier . preferred Width ( 8 . dp )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠFilter Chip ( ĊĠĠĠ Ġfilter : ĠFilter , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġshape : ĠShape Ġ= ĠMaterial Theme . shapes . small Ċ ) Ġ{ ĊĠĠĠ Ġval Ġ( selected , ĠsetSelected ) Ġ= Ġfilter . enabled ĊĠĠĠ Ġval ĠbackgroundColor Ġ= ĊĠĠĠĠĠĠĠ Ġanimate ( if Ġ( selected ) ĠJet sn ack Theme . colors . brand Ġelse ĠJet sn ack Theme . colors . ui Background ) ĊĠĠĠ Ġval Ġborder Ġ= ĠModifier . fadeIn Diag onal Gradient Border ( ĊĠĠĠĠĠĠĠ Ġshow Border Ġ= Ġ! selected , ĊĠĠĠĠĠĠĠ Ġcolors Ġ= ĠJet sn ack Theme . colors . interactive Secondary , ĊĠĠĠĠĠĠĠ Ġshape Ġ= Ġshape ĊĠĠĠ Ġ) ĊĠĠĠ Ġval ĠtextColor Ġ= Ġanimate ( ĊĠĠĠĠĠĠĠ Ġif Ġ( selected ) ĠJet sn ack Theme . colors . text Interactive Ġelse ĠJet sn ack Theme . colors . text Secondary ĊĠĠĠ Ġ) ĊĠĠĠ ĠJet sn ack Surface ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier . preferred Height ( 2 8 . dp ). then ( border ), ĊĠĠĠĠĠĠĠ Ġcolor Ġ= ĠbackgroundColor , ĊĠĠĠĠĠĠĠ Ġcontent Color Ġ= ĠtextColor , ĊĠĠĠĠĠĠĠ Ġshape Ġ= Ġshape , ĊĠĠĠĠĠĠĠ Ġelevation Ġ= Ġ 2 . dp ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . toggle able ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġselected , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= ĠsetSelected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġfilter . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . caption , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Ġ= Ġ 2 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Ġ= Ġ 6 . dp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ