package Ġcom . air bnb . android . show k ase . ui Ċ Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . material . Card Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . composed Ċ import Ġandroidx . compose . ui . text . TextStyle Ċ import Ġandroidx . compose . ui . text . font . Font Family Ċ import Ġandroidx . compose . ui . text . font . Font Weight Ċ import Ġandroidx . compose . ui . unit . sp Ċ import Ġcom . air bnb . android . show k ase . models . Show k ase Browser Component Ċ Ċ @ Composable Ċ fun ĠSimple Text Card ( ĊĠĠĠ Ġtext : ĠString , ĊĠĠĠ ĠonClick : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ ĠCard ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġpadding 4 x , Ġend Ġ= Ġpadding 4 x , Ġtop Ġ= Ġpadding 2 x , Ġbottom Ġ= Ġpadding 2 x ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĠonClick () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġtext , ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( padding 4 x ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 2 0 . sp , ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Ġ= ĠFont Family . Ser if , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontWeight Ġ= ĠFontWeight . Bold ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ internal Ġfun ĠComponent Card Title ( component Name : ĠString ) Ġ{ ĊĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġcomponent Name , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( start Ġ= Ġpadding 4 x , Ġend Ġ= Ġpadding 4 x , Ġtop Ġ= Ġpadding 8 x , ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġpadding 1 x ), ĊĠĠĠĠĠĠĠ Ġstyle Ġ= ĠTextStyle ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 6 . sp , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfontFamily Ġ= ĠFont Family . Ser if , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfontWeight Ġ= ĠFontWeight . Bold ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ internal Ġfun ĠComponent Card ( ĊĠĠĠ Ġmetadata : ĠShow k ase Browser Component , ĊĠĠĠ ĠonClick : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġval Ġcomp osable Modifier Ġ= ĠModifier . generate Composable Modifier ( metadata ) ĊĠĠĠ Ġval Ġcomp osable Container Modifier Ġ= ĠModifier . generate Container Modifier ( onClick ) ĊĠĠĠ ĠCard () Ġ{ ĊĠĠĠĠĠĠĠ ĠBox () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( modifier Ġ= Ġcomp osable Modifier ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmetadata . component () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠNeed Ġto Ġadd Ġthis Ġas Ġpart Ġof Ġthe Ġstack Ġso Ġthat Ġwe Ġcan Ġintercept Ġthe Ġtouch Ġof Ġthe ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcomponent Ġwhen Ġwe Ġare Ġon Ġthe Ġ" Group Ġcomponents " Ġscreen . ĠIf ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcomp osable Container Modifier Ġdoes Ġnot Ġhave Ġany Ġclick able Ġmodifiers , Ġthis Ġcolumn Ġhas Ġno ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġimpact Ġand Ġthe Ġto uches Ġgo Ġthrough Ġto Ġthe Ġcomponent ( this Ġhappens Ġin Ġthe Ġ" Component ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDetail " Ġscreen . ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . match Parent Size (). then ( comp osable Container Modifier ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) {} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠModifier . generate Container Modifier ( onClick : Ġ(() Ġ-> ĠUnit )? ) Ġ= Ġcomposed Ġ{ ĠonClick ?. let Ġ{ ĊĠĠĠ Ġfill Max Width () ĊĠĠĠĠĠĠĠ Ġ. click able ( onClick Ġ= ĠonClick ) Ċ } Ġ?: Ġfill Max Width () Ġ} Ċ