package Ġio . cho zzle . compose window st heme Ċ Ċ import Ġandroidx . compose . animation . animate Color As State Ċ import Ġandroidx . compose . animation . core . Linear E asing Ċ import Ġandroidx . compose . animation . core . Tween Spec Ċ import Ġandroidx . compose . foundation . Border Stroke Ċ import Ġandroidx . compose . foundation . hover able Ċ import Ġandroidx . compose . foundation . indic ation Ċ import Ġandroidx . compose . foundation . interaction . Interaction Source Ċ import Ġandroidx . compose . foundation . interaction . Mutable Interaction Source Ċ import Ġandroidx . compose . foundation . interaction . collect Is Hover ed As State Ċ import Ġandroidx . compose . foundation . interaction . collect Is Pressed As State Ċ import Ġandroidx . compose . foundation . layout . Padding Values Ċ import Ġandroidx . compose . foundation . layout . Row Scope Ċ import Ġandroidx . compose . foundation . layout . size In Ċ import Ġandroidx . compose . material .* Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . geometry . Offset Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . graphics . Shape Ċ import Ġandroidx . compose . ui . unit . Dp Ċ import Ġandroidx . compose . ui . unit . dp Ċ Ċ @ Experimental Material Api Ċ @ Composable Ċ fun ĠWindows Button ( ĊĠĠĠ ĠonClick : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġenabled : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġwindows ButtonStyle : ĠWindows ButtonStyle Ġ= ĠWindows ButtonStyle . Button , ĊĠĠĠ Ġinteraction Source : ĠMutable Interaction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ}, ĊĠĠĠ Ġelevation : ĠButton Elevation ? Ġ= ĠZero Button Elevation , ĊĠĠĠ Ġshape : ĠShape Ġ= ĠMaterial Theme . shapes . small , ĊĠĠĠ Ġborder : ĠBorder Stroke ? Ġ= Ġnull , ĊĠĠĠ Ġcolors : ĠWindows Button Colors Ġ= ĠWindows Button Defaults . primary Colors , ĊĠĠĠ Ġcontent Padding : ĠPadding Values Ġ= Ġwindows Button Padding Values ( windows ButtonStyle ), ĊĠĠĠ Ġcontent : Ġ@ Composable ĠRow Scope . () Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġval Ġhover Interaction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ} ĊĠĠĠ Ġval Ġis Pointer Hover ing Ġby Ġhover Interaction Source . collect Is Hover ed As State () ĊĠĠĠ Ġval ĠbackgroundColor Ġby Ġanimate Color As State ( ĊĠĠĠĠĠĠĠ Ġtarget Value Ġ= Ġif Ġ( is Pointer Hover ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . hover Color ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . backgroundColor ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġanimation Spec Ġ= ĠT ween Spec ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Millis Ġ= Ġ 2 5 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġeasing Ġ= ĠLinear E asing ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġ// ĠTODO : ĠRemove Ġthis Ġonce Ġhttps :// issue tracker . google . com / issues / 1 7 9 5 4 3 6 0 3 Ġis Ġfixed ĊĠĠĠ Ġio . cho zzle . compose window st heme . modified official . Button ( ĊĠĠĠĠĠĠĠ ĠonClick Ġ= ĠonClick , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. hover able ( hover Interaction Source ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size In ( windows ButtonStyle . min Width , Ġwindows ButtonStyle . min Height ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMaterial Ġindication Ġinter fer es Ġwith Ġanimated Ġhover Ġcolor Ġchange ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. indic ation ( interaction Source , Ġindication Ġ= Ġnull ), ĊĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġinteraction Source , ĊĠĠĠĠĠĠĠ Ġelevation Ġ= Ġelevation , ĊĠĠĠĠĠĠĠ Ġshape Ġ= Ġshape , ĊĠĠĠĠĠĠĠ Ġborder Ġ= Ġborder , ĊĠĠĠĠĠĠĠ Ġcolors Ġ= ĠButton Defaults . button Colors ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled BackgroundColor Ġ= Ġcolors . disabled BackgroundColor , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Content Color Ġ= Ġcolors . disabled Content Color , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= Ġif Ġ( interaction Source . collect Is Pressed As State (). value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcolors . pressed Color ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Color Ġ= Ġcolors . content Color ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġcontent Padding Ġ= Ġcontent Padding , ĊĠĠĠĠĠĠĠ Ġcontent Ġ= Ġcontent ĊĠĠĠ Ġ) Ċ } Ċ Ċ object ĠWindows Button Defaults Ġ{ ĊĠĠĠ Ġval Ġprimary Colors : ĠWindows Button Colors ĊĠĠĠĠĠĠĠ Ġ@ Composable ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠWindows Button Colors ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled BackgroundColor Ġ= ĠWindows Disabled BackgroundColor , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Content Color Ġ= ĠWindows Disabled Content Color , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠWindows Theme . colors . base Low , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Color Ġ= ĠMaterial Theme . colors . on Background , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhover Color Ġ= ĠWindows Theme . colors . list Low , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpressed Color Ġ= ĠWindows Theme . colors . base Medium Low ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġval Ġaccent Colors : ĠWindows Button Colors ĊĠĠĠĠĠĠĠ Ġ@ Composable ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠWindows Button Colors ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled BackgroundColor Ġ= ĠWindows Disabled BackgroundColor , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Content Color Ġ= ĠWindows Disabled Content Color , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠWindows Theme . colors . accent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Color Ġ= ĠMaterial Theme . colors . on Primary , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhover Color Ġ= ĠWindows Theme . colors . accent Light , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpressed Color Ġ= ĠWindows Theme . colors . accent Dark ĊĠĠĠĠĠĠĠ Ġ) Ċ } Ċ Ċ data Ġclass ĠWindows Button Colors ( ĊĠĠĠ Ġval ĠbackgroundColor : ĠColor , ĊĠĠĠ Ġval Ġdisabled BackgroundColor : ĠColor , ĊĠĠĠ Ġval Ġcontent Color : ĠColor , ĊĠĠĠ Ġval Ġdisabled Content Color : ĠColor , ĊĠĠĠ Ġval Ġhover Color : ĠColor , ĊĠĠĠ Ġval Ġpressed Color : ĠColor Ċ ) Ċ Ċ @ Composable Ċ fun Ġwindows Button Padding Values ( windows ButtonStyle : ĠWindows ButtonStyle ) Ġ= ĊĠĠĠ Ġif Ġ( windows ButtonStyle Ġ== ĠWindows ButtonStyle . Hyper link ) Ġ{ ĊĠĠĠĠĠĠĠ ĠPadding Values ( 1 0 . dp , Ġ 2 . dp , Ġ 1 0 . dp , Ġ 2 . dp ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠPadding Values ( 1 0 . dp , Ġ 6 . dp , Ġ 1 0 . dp , Ġ 6 . dp ) ĊĠĠĠ Ġ} ĊĊ Ċ /* @ Opt In ( Experimental Material Api :: class ) Ċ @ Composable Ċ fun ĠWindows Hyper link Button ( Ġ// ĠTODO ĊĠĠĠ ĠonClick : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġenabled : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġwindows ButtonStyle : ĠWindows ButtonStyle Ġ= ĠWindows ButtonStyle . Hyper link , ĊĠĠĠ Ġinteraction State : ĠInteraction State Ġ= Ġremember Ġ{ ĠInteraction State () Ġ}, ĊĠĠĠ Ġelevation : ĠButton Elevation ? Ġ= ĠButton Defaults . elevation ( ĊĠĠĠĠĠĠĠ Ġdefault Elevation Ġ= Ġ 2 . dp , ĊĠĠĠĠĠĠĠ Ġpressed Elevation Ġ= Ġ 2 . dp , ĊĠĠĠĠĠĠĠ Ġdisabled Elevation Ġ= Ġ 0 . dp ĊĠĠĠ Ġ), ĊĠĠĠ Ġshape : ĠShape Ġ= ĠMaterial Theme . shapes . small , ĊĠĠĠ Ġborder : ĠBorder Stroke ? Ġ= Ġnull , ĊĠĠĠ Ġcolors : ĠButton Colors Ġ= ĠWindows Button Defaults . secondary Button Colors (), ĊĠĠĠ Ġcontent Padding : ĠPadding Values Ġ= Ġwindows Button Padding Values ( windows ButtonStyle ), ĊĠĠĠ Ġcontent : Ġ@ Composable ĠRow Scope . () Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ ĠWindows Button ( ĊĠĠĠĠĠĠĠ ĠonClick Ġ= ĠonClick , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier . size In ( windows ButtonStyle . min Width , Ġwindows ButtonStyle . min Height ), ĊĠĠĠĠĠĠĠ Ġenabled Ġ= Ġenabled , ĊĠĠĠĠĠĠĠ Ġinteraction State Ġ= Ġinteraction State , ĊĠĠĠĠĠĠĠ Ġelevation Ġ= Ġelevation , ĊĠĠĠĠĠĠĠ Ġshape Ġ= Ġshape , ĊĠĠĠĠĠĠĠ Ġborder Ġ= Ġborder , ĊĠĠĠĠĠĠĠ Ġcolors Ġ= Ġcolors , ĊĠĠĠĠĠĠĠ Ġcontent Padding Ġ= Ġcontent Padding , ĊĠĠĠĠĠĠĠ Ġcontent Ġ= Ġcontent ĊĠĠĠ Ġ) Ċ }*/ ĊĊ Ċ sealed Ġclass ĠWindows ButtonStyle ( val ĠminWidth : ĠD p , Ġval ĠminHeight : ĠD p ) Ġ{ ĊĠĠĠ Ġobject ĠButton Ġ: ĠWindows ButtonStyle ( min Width Ġ= Ġ 1 2 0 . dp , ĠminHeight Ġ= Ġ 3 2 . dp ) ĊĠĠĠ Ġobject ĠHyper link Ġ: ĠWindows ButtonStyle ( min Width Ġ= ĠD p . Unspecified , Ġ 3 2 . dp ) Ċ } Ċ Ċ @ Experimental Material Api Ċ object ĠZero Button Elevation Ġ: ĠButton Elevation Ġ{ ĊĊĠĠĠ Ġ@ Composable ĊĠĠĠ Ġoverride Ġfun Ġelevation ( enabled : ĠBoolean , Ġinteraction Source : ĠInteraction Source ): ĠState < Dp > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmutable State Of ( 0 . dp ) ĊĠĠĠ Ġ} Ċ }