package Ġdev . k ri zz u . animation compose . ui Ċ Ċ import Ġandroidx . compose . animation . core . animate Dp As State Ċ import Ġandroidx . compose . animation . core . spring Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . foundation . layout . offset Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . shape . Circle Shape Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . La unched Effect Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . runtime . setValue Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . draw . clip Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . graphics . Color Filter Ċ import Ġandroidx . compose . ui . res . p ainter Resource Ċ import Ġandroidx . compose . ui . text . style . Text Align Ċ import Ġandroidx . compose . ui . unit . Dp Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . unit . sp Ċ import Ġdev . k ri zz u . animation compose . R Ċ import Ġkotlinx . coroutines . delay Ċ Ċ data Ġclass ĠItem Spec ( val Ġtitle : ĠString , Ġval Ġcolor : ĠColor , Ġval Ġres Id : ĠInt ) Ċ Ċ val ĠITEM _ SPE CS Ġ= ĠlistOf ( ĊĠĠĠ ĠItem Spec (" Voice ", ĠColor ( 0 xFF DF E 5 FF ), ĠR . drawable . icon _ voice ), ĊĠĠĠ ĠItem Spec (" Notes ", ĠColor ( 0 xFF D 0 E 8 EB ), ĠR . drawable . icon _ notes ), ĊĠĠĠ ĠItem Spec (" Link ", ĠColor ( 0 xFF A 0 DF BB ), ĠR . drawable . icon _ link ), ĊĠĠĠ ĠItem Spec (" Template ", ĠColor ( 0 xFFFF DF DA ), ĠR . drawable . icon _ template ), ĊĠĠĠ ĠItem Spec (" Notes ", ĠColor ( 0 xFF 8 DC 0 F 8 ), ĠR . drawable . icon _ notes ), ĊĠĠĠ ĠItem Spec (" Scan ", ĠColor ( 0 xFF F EE FD 8 ), ĠR . drawable . icon _ scan ), ĊĠĠĠ ĠItem Spec (" Upload ", ĠColor ( 0 xFFFF 9 7 7 0 ), ĠR . drawable . icon _ upload ), Ċ ) Ċ Ċ @ Composable Ċ fun ĠMy MenuItem ( index : ĠInt , Ġis Menu Visible : ĠBoolean , Ġoffsets : ĠList < Float >) Ġ{ ĊĠĠĠ Ġval Ġanim Spec Ġ= Ġspring < Dp >( d amping Ratio Ġ= Ġ 0 . 8 f , Ġst iff ness Ġ= Ġ 1 0 0 f ) ĊĠĠĠ Ġval Ġ( x Offset , Ġy Offset ) Ġ= Ġremember Ġ{ Ġoffsets Ġ} ĊĊĠĠĠ Ġvar Ġanim Driver Ġby Ġremember Ġ{ Ġmutable State Of ( is Menu Visible ) Ġ} ĊĠĠĠ Ġval Ġspec Ġ= ĠITEM _ SPE CS [ index ] ĊĊĊĠĠĠ ĠLa unched Effect ( is Menu Visible ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Menu Visible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdelay Ġanimation Ġa Ġbit Ġwhen Ġbecoming Ġvisible ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay (( index Ġ+ Ġ 1 ) Ġ* Ġ 1 5 L ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġanim Driver Ġ= Ġis Menu Visible ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġanim X Ġby Ġanimate Dp As State ( ĊĠĠĠĠĠĠĠ Ġif Ġ( anim Driver ) Ġ 0 . dp Ġelse Ġx Offset . dp , Ġanimation Spec Ġ= Ġanim Spec ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġanim Y Ġby Ġanimate Dp As State ( ĊĠĠĠĠĠĠĠ Ġif Ġ( anim Driver ) Ġ 0 . dp Ġelse Ġy Offset . dp , Ġanimation Spec Ġ= Ġanim Spec ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġimg Ġ= Ġpainter Resource ( id Ġ= Ġspec . res Id ) ĊĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ ĠModifier . fill MaxSize (). offset ( x Ġ= Ġanim X , Ġy Ġ= Ġanim Y ), ĊĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= ĠAlignment . Center H orizontally ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModifier . fill MaxSize ( 0 . 7 f ). clip ( Circle Shape ). background ( spec . color ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Alignment Ġ= ĠAlignment . Center ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġimg , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize ( 0 . 4 5 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Filter Ġ= ĠColor Filter . tint ( Color . Black ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill MaxSize (). padding ( top Ġ= Ġ 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġspec . title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor ( 0 xFF A 6 AAB D ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 2 . sp , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠText Align . Center ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }