/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 - 2 0 2 1 ĠA ur ora , ĠK ir ill ĠGro uch nik ov Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// 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 Ġorg . push ing pixels . aur ora . component . model Ċ Ċ import Ġandroidx . compose . foundation . layout . Padding Values Ċ import Ġandroidx . compose . ui . text . TextStyle Ċ import Ġandroidx . compose . ui . unit . Dp Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġorg . push ing pixels . aur ora . the ming . Background Appearance Strategy Ċ import Ġorg . push ing pixels . aur ora . the ming . Icon Filter Strategy Ċ import Ġorg . push ing pixels . aur ora . the ming . Popup Placement Strategy Ċ Ċ object ĠCommand Button S izing Constants Ġ{ ĊĠĠĠ Ġval ĠWide Button Content Padding Ġ= ĠPadding Values ( start Ġ= Ġ 1 0 . dp , Ġtop Ġ= Ġ 3 . dp , Ġend Ġ= Ġ 1 0 . dp , Ġbottom Ġ= Ġ 4 . dp ) ĊĠĠĠ Ġval ĠComp act Button Content Padding Ġ= ĠPadding Values ( start Ġ= Ġ 6 . dp , Ġtop Ġ= Ġ 3 . dp , Ġend Ġ= Ġ 6 . dp , Ġbottom Ġ= Ġ 4 . dp ) Ċ } Ċ Ċ object ĠCommand Button Interaction Constants Ġ{ ĊĠĠĠ Ġconst Ġval ĠDefault Auto Repeat Initial Interval Millis Ġ= Ġ 5 0 0 L ĊĠĠĠ Ġconst Ġval ĠDefault Auto Repeat Sub sequent Interval Millis Ġ= Ġ 1 0 0 L Ċ } Ċ Ċ enum Ġclass ĠAction Fire Trigger Ġ{ ĊĠĠĠ Ġ/** ĠFire Ġaction Ġon Ġrol lover Ġ*/ ĊĠĠĠ ĠOn R ollo ver , ĊĊĠĠĠ Ġ/** ĠFire Ġaction Ġon Ġpress . Ġ*/ ĊĠĠĠ ĠOn Pressed , ĊĊĠĠĠ Ġ/** ĠFire Ġaction Ġon Ġpress Ġrelease . Ġ*/ ĊĠĠĠ ĠOn Press Released Ċ } Ċ Ċ data Ġclass ĠCommand Button Presentation Model ( ĊĠĠĠ Ġval Ġpresentation State : ĠCommand Button Presentation State Ġ= ĠCommand Button Presentation State . Medium , ĊĠĠĠ Ġval Ġbackground Appearance Strategy : ĠBackground Appearance Strategy Ġ= ĠBackground Appearance Strategy . Always , ĊĠĠĠ Ġval Ġhorizontal Alignment : ĠHorizontal Alignment Ġ= ĠHorizontal Alignment . Center , ĊĠĠĠ Ġval Ġicon Dimension : ĠD p ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġicon Disabled Filter Strategy : ĠIcon Filter Strategy Ġ= ĠIcon Filter Strategy . The med Follow Color Scheme , ĊĠĠĠ Ġval Ġicon Enabled Filter Strategy : ĠIcon Filter Strategy Ġ= ĠIcon Filter Strategy . Original , ĊĠĠĠ Ġval Ġicon Active Filter Strategy : ĠIcon Filter Strategy Ġ= ĠIcon Filter Strategy . Original , ĊĠĠĠ Ġval Ġforce Allocate Space For Icon : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġval Ġtext Style : ĠTextStyle ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġpopup Placement Strategy : ĠPopup Placement Strategy Ġ= ĠPopup Placement Strategy . Down ward , ĊĠĠĠ Ġval Ġto Dismiss Pop ups On Activation : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġval Ġauto Repeat Action : ĠBoolean Ġ= Ġfalse , ĊĠĠĠ Ġval Ġauto Repeat Initial Interval : ĠLong Ġ= ĠCommand Button Interaction Constants . Default Auto Repeat Initial Interval Millis , ĊĠĠĠ Ġval Ġauto Repeat Sub sequent Interval : ĠLong Ġ= ĠCommand Button Interaction Constants . Default Auto Repeat Sub sequent Interval Millis , ĊĠĠĠ Ġval Ġaction Fire Trigger : ĠAction Fire Trigger Ġ= ĠAction Fire Trigger . On Press Released , ĊĠĠĠ Ġval Ġpopup Menu Presentation Model : ĠCommand PopupMenu Presentation Model Ġ= ĠCommand PopupMenu Presentation Model (), ĊĠĠĠ Ġval Ġtext Click : ĠText Click Ġ= ĠText Click . Action , ĊĠĠĠ Ġval Ġaction Rich Tooltip Presentation Model : ĠRich Tooltip Presentation Model Ġ= ĠRich Tooltip Presentation Model (), ĊĠĠĠ Ġval Ġpopup Rich Tooltip Presentation Model : ĠRich Tooltip Presentation Model Ġ= ĠRich Tooltip Presentation Model (), ĊĠĠĠ Ġval Ġcontent Padding : ĠPadding Values Ġ= ĠCommand Button S izing Constants . Compact Button Content Padding , ĊĠĠĠ Ġval Ġhorizontal Gap Scale Factor : ĠFloat Ġ= Ġ 1 . 0 f , ĊĠĠĠ Ġval Ġvertical Gap Scale Factor : ĠFloat Ġ= Ġ 1 . 0 f , ĊĠĠĠ Ġval ĠminWidth : ĠD p Ġ= Ġ 0 . dp , ĊĠĠĠ Ġval Ġis Menu : ĠBoolean Ġ= Ġfalse Ċ ): ĠPresentation Model Ġ{ ĊĠĠĠ Ġdata Ġclass ĠOverlay ( ĊĠĠĠĠĠĠĠ Ġval Ġpresentation State : ĠCommand Button Presentation State ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġbackground Appearance Strategy : ĠBackground Appearance Strategy ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġhorizontal Alignment : ĠHorizontal Alignment ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġicon Dimension : ĠD p ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġicon Disabled Filter Strategy : ĠIcon Filter Strategy ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġicon Enabled Filter Strategy : ĠIcon Filter Strategy ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġicon Active Filter Strategy : ĠIcon Filter Strategy ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġforce Allocate Space For Icon : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġtext Style : ĠTextStyle ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġpopup Placement Strategy : ĠPopup Placement Strategy ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġto Dismiss Pop ups On Activation : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġauto Repeat Action : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġauto Repeat Initial Interval : ĠLong ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġauto Repeat Sub sequent Interval : ĠLong ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġaction Fire Trigger : ĠAction Fire Trigger ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġpopup Menu Presentation Model : ĠCommand PopupMenu Presentation Model ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġtext Click : ĠText Click ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġcontent Padding : ĠPadding Values ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġhorizontal Gap Scale Factor : ĠFloat ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġvertical Gap Scale Factor : ĠFloat ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġval Ġis Menu : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġfun Ġoverlay With ( overlay : ĠOverlay ): ĠCommand Button Presentation Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCommand Button Presentation Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresentation State Ġ= Ġoverlay . presentation State Ġ?: Ġthis . presentation State , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbackground Appearance Strategy Ġ= Ġoverlay . background Appearance Strategy ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthis . background Appearance Strategy , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= Ġoverlay . horizontal Alignment Ġ?: Ġthis . horizontal Alignment , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Dimension Ġ= Ġoverlay . icon Dimension Ġ?: Ġthis . icon Dimension , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Disabled Filter Strategy Ġ= Ġoverlay . icon Disabled Filter Strategy Ġ?: Ġthis . icon Disabled Filter Strategy , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Enabled Filter Strategy Ġ= Ġoverlay . icon Enabled Filter Strategy Ġ?: Ġthis . icon Enabled Filter Strategy , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġicon Active Filter Strategy Ġ= Ġoverlay . icon Active Filter Strategy Ġ?: Ġthis . icon Active Filter Strategy , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġforce Allocate Space For Icon Ġ= Ġoverlay . force Allocate Space For Icon Ġ?: Ġthis . force Allocate Space For Icon , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Style Ġ= Ġoverlay . text Style Ġ?: Ġthis . text Style , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Placement Strategy Ġ= Ġoverlay . popup Placement Strategy Ġ?: Ġthis . popup Placement Strategy , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġto Dismiss Pop ups On Activation Ġ= Ġoverlay . to Dismiss Pop ups On Activation Ġ?: Ġthis . to Dismiss Pop ups On Activation , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauto Repeat Action Ġ= Ġoverlay . auto Repeat Action Ġ?: Ġthis . auto Repeat Action , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauto Repeat Initial Interval Ġ= Ġoverlay . auto Repeat Initial Interval Ġ?: Ġthis . auto Repeat Initial Interval , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauto Repeat Sub sequent Interval Ġ= Ġoverlay . auto Repeat Sub sequent Interval Ġ?: Ġthis . auto Repeat Sub sequent Interval , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaction Fire Trigger Ġ= Ġoverlay . action Fire Trigger Ġ?: Ġthis . action Fire Trigger , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpopup Menu Presentation Model Ġ= Ġoverlay . popup Menu Presentation Model Ġ?: Ġthis . popup Menu Presentation Model , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Click Ġ= Ġoverlay . text Click Ġ?: Ġthis . text Click , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Padding Ġ= Ġoverlay . content Padding Ġ?: Ġthis . content Padding , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Gap Scale Factor Ġ= Ġoverlay . horizontal Gap Scale Factor Ġ?: Ġthis . horizontal Gap Scale Factor , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Gap Scale Factor Ġ= Ġoverlay . vertical Gap Scale Factor Ġ?: Ġthis . vertical Gap Scale Factor , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Menu Ġ= Ġoverlay . is Menu Ġ?: Ġthis . is Menu ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }