package Ġdev . pet us ka . k mdc . icon . button Ċ Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġdev . pet us ka . k mdc . core . Builder Ċ import Ġdev . pet us ka . k mdc . core . Composable Builder Ċ import Ġdev . pet us ka . k mdc . core . M DC Dsl Ċ import Ġdev . pet us ka . k mdc . core . mdc Ċ import Ġdev . pet us ka . k mdc . ripple . MD CR ipple Ċ import Ġorg . jetbrains . compose . web . dom . A Ċ import Ġorg . jetbrains . compose . web . dom . Attr Builder Context Ċ import Ġorg . jetbrains . compose . web . dom . Button Ċ import Ġorg . jetbrains . compose . web . dom . Element Scope Ċ import Ġorg . jetbrains . compose . web . dom . Span Ċ import Ġorg . w 3 c . dom . Element Ċ import Ġorg . w 3 c . dom . HTML Anchor Element Ċ import Ġorg . w 3 c . dom . HTML Button Element Ċ Ċ @ Js Module ("@ material / icon - button / dist / mdc . icon - button . css ") Ċ private Ġexternal Ġval ĠM DC IconButton Style : Ġdynamic Ċ Ċ @ Js Module ("@ material / icon - button ") Ċ private Ġexternal Ġobject ĠM DC IconButton Module Ġ{ ĊĠ Ġclass ĠM DC IconButton Toggle ( element : ĠElement ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠ Ġfun Ġattach To ( element : ĠElement ): ĠM DC IconButton Toggle ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġdestroy () ĊĠ Ġ} Ċ } Ċ Ċ public Ġdata Ġclass ĠM DC IconButton Opts ( var Ġon : ĠBoolean Ġ= Ġfalse ) Ċ Ċ public Ġclass ĠM DC IconButton Scope ( scope : ĠElement Scope < HTML Button Element >) Ġ: ĠElement Scope < HTML Button Element > Ġby Ġscope Ċ Ċ public Ġclass ĠM DC Icon Link Scope ( scope : ĠElement Scope < HTML Anchor Element >) Ġ: ĠElement Scope < HTML Anchor Element > Ġby Ġscope Ċ Ċ /** Ċ Ġ* Ġ[ JS ĠAPI ]( https :// github . com / material - components / material - components - web / tree / v 1 3 . 0 . 0 / packages / mdc - icon - button ) Ċ Ġ*/ Ċ @ M DC Dsl Ċ @ Composable Ċ public Ġfun ĠM DC IconButton ( ĊĠ Ġopts : ĠBuilder < M DC IconButton Opts >? Ġ= Ġnull , ĊĠ Ġattrs : ĠAttr Builder Context < HTML Button Element >? Ġ= Ġnull , ĊĠ Ġcontent : ĠComp osable Builder < M DC IconButton Scope >? Ġ= Ġnull Ċ ) Ġ{ ĊĠ ĠM DC IconButton Style ĊĠ Ġval Ġoptions Ġ= ĠM DC IconButton Opts (). apply Ġ{ Ġopts ?. invoke ( this ) Ġ} ĊĠ ĠButton ( ĊĠĠĠ Ġattrs Ġ= Ġ{ ĊĠĠĠĠĠ Ġclasses (* listOf NotNull (" mdc - icon - button ", Ġif Ġ( options . on ) Ġ" mdc - icon - button -- on " Ġelse Ġnull ). to Typed Array ()) ĊĠĠĠĠĠ Ġref Ġ{ ĊĠĠĠĠĠĠĠ Ġit . mdc Ġ= ĠM DC IconButton Module . M DC IconButton Toggle . attach To ( it ) ĊĠĠĠĠĠĠĠ Ġon Dispose Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġit . mdc < M DC IconButton Module . M DC IconButton Toggle > Ġ{ Ġdestroy () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġattrs ?. invoke ( this ) ĊĠĠĠ Ġ}, ĊĠ Ġ) Ġ{ ĊĠĠĠ ĠMD CR ipple () ĊĠĠĠ ĠSpan ( attrs Ġ= Ġ{ Ġclasses (" mdc - icon - button __ ripple ") Ġ}) ĊĠĠĠ Ġcontent ?. let Ġ{ ĠM DC IconButton Scope ( this ). it () Ġ} ĊĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* Ġ[ JS ĠAPI ]( https :// github . com / material - components / material - components - web / tree / v 1 3 . 0 . 0 / packages / mdc - icon - button ) Ċ Ġ*/ Ċ @ M DC Dsl Ċ @ Composable Ċ public Ġfun ĠM DC Icon Link ( ĊĠ Ġopts : ĠBuilder < M DC IconButton Opts >? Ġ= Ġnull , ĊĠ Ġattrs : ĠAttr Builder Context < HTML Anchor Element >? Ġ= Ġnull , ĊĠ Ġcontent : ĠComp osable Builder < M DC Icon Link Scope >? Ġ= Ġnull Ċ ) Ġ{ ĊĠ ĠM DC IconButton Style ĊĠ Ġval Ġoptions Ġ= ĠM DC IconButton Opts (). apply Ġ{ Ġopts ?. invoke ( this ) Ġ} ĊĠ ĠA ( ĊĠĠĠ Ġattrs Ġ= Ġ{ ĊĠĠĠĠĠ Ġclasses (* listOf NotNull (" mdc - icon - button ", Ġif Ġ( options . on ) Ġ" mdc - icon - button -- on " Ġelse Ġnull ). to Typed Array ()) ĊĠĠĠĠĠ Ġref Ġ{ ĊĠĠĠĠĠĠĠ Ġit . mdc Ġ= ĠM DC IconButton Module . M DC IconButton Toggle . attach To ( it ) ĊĠĠĠĠĠĠĠ Ġon Dispose Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġit . mdc < M DC IconButton Module . M DC IconButton Toggle > Ġ{ Ġdestroy () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġattrs ?. invoke ( this ) ĊĠĠĠ Ġ}, ĊĠ Ġ) Ġ{ ĊĠĠĠ ĠMD CR ipple () ĊĠĠĠ ĠSpan ( attrs Ġ= Ġ{ Ġclasses (" mdc - icon - button __ ripple ") Ġ}) ĊĠĠĠ Ġcontent ?. let Ġ{ ĠM DC Icon Link Scope ( this ). it () Ġ} ĊĠ Ġ} Ċ } Ċ