package Ġio . rek tpl orer 6 4 . picker kt . ui . component . common čĊč Ċ import Ġandroidx . compose . animation .* č Ċ import Ġandroidx . compose . animation . core . Linear E asing č Ċ import Ġandroidx . compose . animation . core . animate Dp As State č Ċ import Ġandroidx . compose . animation . core . t ween č Ċ import Ġandroidx . compose . foundation . interaction . Mutable Interaction Source č Ċ import Ġandroidx . compose . foundation . layout .* č Ċ import Ġandroidx . compose . foundation . shape . Rounded Corner Shape č Ċ import Ġandroidx . compose . material 3 .* č Ċ import Ġandroidx . compose . runtime . Composable č Ċ import Ġandroidx . compose . runtime . getValue č Ċ import Ġandroidx . compose . runtime . remember č Ċ import Ġandroidx . compose . ui . Alignment č Ċ import Ġandroidx . compose . ui . Modifier č Ċ import Ġandroidx . compose . ui . graphics . Color č Ċ import Ġandroidx . compose . ui . graphics . Shape č Ċ import Ġandroidx . compose . ui . unit . dp čĊčĊč Ċ private Ġval ĠExtended Fab Text Padding Ġ= Ġ 2 4 . dp č Ċ private Ġval ĠF ab Height Ġ= Ġ 5 6 . dp čĊč Ċ @ Composable č Ċ fun ĠAnimated Floating ActionButton ( čĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , čĊĠĠĠ Ġtext : Ġ@ Composable Ġ() Ġ-> ĠUnit , čĊĠĠĠ ĠonClick : Ġ() Ġ-> ĠUnit , čĊĠĠĠ Ġicon : Ġ@ Composable Ġ() Ġ-> ĠUnit , čĊĠĠĠ Ġinteraction Source : ĠMutable Interaction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ}, čĊĠĠĠ Ġshape : ĠShape Ġ= ĠRo unded Corner Shape ( 1 6 . dp ), čĊĠĠĠ Ġexpanded : ĠBoolean Ġ= Ġtrue , čĊĠĠĠ Ġcontainer Color : ĠColor Ġ= ĠMaterial Theme . color Scheme . primary , čĊĠĠĠ Ġcontent Color : ĠColor Ġ= Ġcontent Color For ( container Color ), čĊĠĠĠ Ġelevation : ĠFloating ActionButton Elevation Ġ= ĠFloating ActionButton Defaults . elevation (), č Ċ ) Ġ{ čĊčĊĠĠĠ Ġval ĠminWidth Ġby Ġanimate Dp As State ( target Value Ġ= Ġif Ġ( expanded ) Ġ 8 0 . dp Ġelse ĠF ab Height ) čĊčĊĠĠĠ Ġval Ġstart Padding Ġ= ĠExtended Fab Text Padding Ġ/ Ġ 2 čĊĠĠĠ Ġval Ġend Padding Ġby Ġanimate Dp As State ( target Value Ġ= Ġ( if Ġ( expanded ) Ġ 2 0 . dp Ġelse ĠExtended Fab Text Padding ) Ġ/ Ġ 2 ) čĊčĊĠĠĠ ĠFloating ActionButton ( čĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. animate Content Size ( t ween ( duration Millis Ġ= Ġ 5 0 , Ġeasing Ġ= ĠLinear E asing )) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size In ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠminWidth Ġ= ĠminWidth , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠminHeight Ġ= ĠF ab Height , čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), čĊĠĠĠĠĠĠĠ ĠonClick Ġ= ĠonClick , čĊĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġinteraction Source , čĊĠĠĠĠĠĠĠ Ġshape Ġ= Ġshape , čĊĠĠĠĠĠĠĠ Ġcontainer Color Ġ= Ġcontainer Color , čĊĠĠĠĠĠĠĠ Ġcontent Color Ġ= Ġcontent Color , čĊĠĠĠĠĠĠĠ Ġelevation Ġ= Ġelevation , čĊĠĠĠ Ġ) Ġ{ čĊĠĠĠĠĠĠĠ ĠRow ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. animate Content Size ( t ween ( duration Millis Ġ= Ġ 1 0 0 , Ġeasing Ġ= ĠLinear E asing )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Ġ= Ġstart Padding , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġend Ġ= Ġend Padding čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), čĊĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , čĊĠĠĠĠĠĠĠ Ġ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon () čĊčĊĠĠĠĠĠĠĠĠĠĠĠ ĠAnimated Visibility ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisible Ġ= Ġexpanded , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenter Ġ= ĠfadeIn ( t ween ( 2 0 0 )) Ġ+ Ġslide In H orizontally ( t ween ( duration Millis Ġ= Ġ 2 0 0 )) Ġ+ Ġexpand H orizontally ( t ween ( duration Millis Ġ= Ġ 2 0 0 )) Ġ{ Ġit Ġ/ Ġ 2 Ġ}, čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexit Ġ= Ġfade Out ( t ween ( 2 0 0 )) Ġ+ Ġslide Out H orizontally ( t ween ( duration Millis Ġ= Ġ 2 0 0 )) Ġ+ Ġshrink H orizontally ( t ween ( duration Millis Ġ= Ġ 2 0 0 )) Ġ{ Ġit Ġ/ Ġ 2 Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRow Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( Modifier . width ( 1 2 . dp )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠProvide TextStyle ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= ĠMaterial Theme . typography . label Large , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġtext , čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }