package Ġcom . je ff pd avid son . kot words . web Ċ Ċ import Ġcom . je ff pd avid son . kot words . K ot words Internal Ċ import Ġcom . je ff pd avid son . kot words . model . J el ly Roll Ċ import Ġcom . je ff pd avid son . kot words . model . P uzzle Ċ import Ġcom . je ff pd avid son . kot words . web . html . Form Fields Ċ import Ġcom . je ff pd avid son . kot words . web . html . Html Ċ import Ġkotlinx . html . InputType Ċ import Ġkotlinx . html . div Ċ import Ġkotlin . js . Promise Ċ Ċ @ Js Export Ċ @ K ot words Internal Ċ class ĠJ el ly Roll Form Ġ{ ĊĠĠĠ Ġprivate Ġval Ġjp z Form Ġ= ĠP uzzle File Form (" jel ly - roll ", Ġ:: create P uzzle ) ĊĠĠĠ Ġprivate Ġval Ġtitle : ĠForm Fields . Input Field Ġ= ĠForm Fields . Input Field (" title ") ĊĠĠĠ Ġprivate Ġval Ġcreator : ĠForm Fields . Input Field Ġ= ĠForm Fields . Input Field (" creator ") ĊĠĠĠ Ġprivate Ġval Ġcopyright : ĠForm Fields . Input Field Ġ= ĠForm Fields . Input Field (" copyright ") ĊĠĠĠ Ġprivate Ġval Ġdescription : ĠForm Fields . TextBox Field Ġ= ĠForm Fields . TextBox Field (" description ") ĊĠĠĠ Ġprivate Ġval Ġjel ly Roll Answers : ĠForm Fields . TextBox Field Ġ= ĠForm Fields . TextBox Field (" jel ly - roll - answers ") ĊĠĠĠ Ġprivate Ġval Ġjel ly Roll Cl ues : ĠForm Fields . TextBox Field Ġ= ĠForm Fields . TextBox Field (" jel ly - roll - cl ues ") ĊĠĠĠ Ġprivate Ġval Ġlight S quares Answers : ĠForm Fields . TextBox Field Ġ= ĠForm Fields . TextBox Field (" light - squares - answers ") ĊĠĠĠ Ġprivate Ġval Ġlight S quares Cl ues : ĠForm Fields . TextBox Field Ġ= ĠForm Fields . TextBox Field (" light - squares - cl ues ") ĊĠĠĠ Ġprivate Ġval Ġlight S quares Color : ĠForm Fields . Input Field Ġ= ĠForm Fields . Input Field (" light - squares - color ") ĊĠĠĠ Ġprivate Ġval Ġdark S quares Answers : ĠForm Fields . TextBox Field Ġ= ĠForm Fields . TextBox Field (" dark - squares - answers ") ĊĠĠĠ Ġprivate Ġval Ġdark S quares Cl ues : ĠForm Fields . TextBox Field Ġ= ĠForm Fields . TextBox Field (" dark - squares - cl ues ") ĊĠĠĠ Ġprivate Ġval Ġdark S quares Color : ĠForm Fields . Input Field Ġ= ĠForm Fields . Input Field (" dark - squares - color ") ĊĠĠĠ Ġprivate Ġval Ġcombine J el ly Roll Cl ues : ĠForm Fields . CheckBox Field Ġ= ĠForm Fields . CheckBox Field (" combine - jel ly - roll - cl ues ") ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠHtml . render Page Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjp z Form . render ( this , Ġbody Block Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ J el ly Roll Form . title . render ( this , Ġ" Title ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreator . render ( this , Ġ" Creator Ġ( optional )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcopyright . render ( this , Ġ" Copyright Ġ( optional )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . render ( this , Ġ" Description Ġ( optional )") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrows Ġ= Ġ" 5 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjel ly Roll Answers . render ( this , Ġ" J el ly Ġroll Ġanswers ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" In Ġsequential Ġorder , Ġseparated Ġby Ġwhitespace . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Non - alphabet ical Ġcharacters Ġare Ġignored ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrows Ġ= Ġ" 5 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjel ly Roll Cl ues . render ( this , Ġ" J el ly Ġroll Ġcl ues ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" One Ġcl ue Ġper Ġrow . ĠO mit Ġcl ue Ġnumbers ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrows Ġ= Ġ" 1 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight S quares Answers . render ( this , Ġ" Light Ġsquares Ġanswers Ġ( first , Ġfourth , Ġf ifth , Ġse vent h , Ġetc .) ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" In Ġsequential Ġorder , Ġseparated Ġby Ġwhitespace . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Non - alphabet ical Ġcharacters Ġare Ġignored ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrows Ġ= Ġ" 5 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight S quares Cl ues . render ( this , Ġ" Light Ġsquares Ġcl ues ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" One Ġcl ue Ġper Ġrow . ĠO mit Ġcl ue Ġnumbers ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrows Ġ= Ġ" 1 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdark S quares Answers . render ( this , Ġ" Dark Ġsquares Ġanswers Ġ( second , Ġthird , Ġsix th , Ġetc .) ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" In Ġsequential Ġorder , Ġseparated Ġby Ġwhitespace . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Non - alphabet ical Ġcharacters Ġare Ġignored ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrows Ġ= Ġ" 5 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdark S quares Cl ues . render ( this , Ġ" Dark Ġsquares Ġcl ues ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġ" One Ġcl ue Ġper Ġrow . ĠO mit Ġcl ue Ġnumbers ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrows Ġ= Ġ" 1 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġadvanced Options Block Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcombine J el ly Roll Cl ues . render ( this , Ġ" Combine ĠJ el ly ĠRoll Ġcl ues Ġinto Ġone Ġlarge Ġcl ue ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdiv ( classes Ġ= Ġ" form - row ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlight S quares Color . render ( this , Ġ" Light Ġsquares Ġcolor ", Ġflex Cols Ġ= Ġ 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠInput Type . color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ"# FFFFFF " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdark S quares Color . render ( this , Ġ" Dark Ġsquares Ġcolor ", Ġflex Cols Ġ= Ġ 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠInput Type . color ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġ"# C 0 C 0 C 0 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate P uzzle (): ĠPromise < P uzzle > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjel ly Roll Ġ= ĠJ el ly Roll ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġtitle . getValue (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreator Ġ= Ġcreator . getValue (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcopyright Ġ= Ġcopyright . getValue (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġdescription . getValue (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjel ly Roll Answers Ġ= Ġjel ly Roll Answers . getValue (). split ("\\ s +". to Regex ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjel ly Roll Cl ues Ġ= Ġjel ly Roll Cl ues . getValue (). split ("\ n "). map Ġ{ Ġit . trim () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlight S quares Answers Ġ= Ġlight S quares Answers . getValue (). split ("\\ s +". to Regex ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlight S quares Cl ues Ġ= Ġlight S quares Cl ues . getValue (). split ("\ n "). map Ġ{ Ġit . trim () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdark S quares Answers Ġ= Ġdark S quares Answers . getValue (). split ("\\ s +". to Regex ()), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdark S quares Cl ues Ġ= Ġdark S quares Cl ues . getValue (). split ("\ n "). map Ġ{ Ġit . trim () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlight Square BackgroundColor Ġ= Ġlight S quares Color . getValue (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdark Square BackgroundColor Ġ= Ġdark S quares Color . getValue (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcombine J el ly Roll Cl ues Ġ= Ġcombine J el ly Roll Cl ues . getValue (), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPromise . resolve ( jel ly Roll . as P uzzle ()) ĊĠĠĠ Ġ} Ċ }